From f7f4fd7c05943df98939b1aa32be35b7e170aeb8 Mon Sep 17 00:00:00 2001 From: Chris Hofstaedtler Date: Thu, 13 Jun 2024 03:08:44 +0200 Subject: [PATCH] New upstream version 4.15.1 --- AUTHORS.md | 9 + ChangeLog | 14 +- Makefile.am | 8 +- Makefile.in | 35 +- NEWS | 14 +- README | 11 + TODO | 127 - aclocal.m4 | 1186 +++ config.h.in | 196 +- configure | 2118 ++--- configure.ac | 194 +- contrib/Makefile.am | 4 +- contrib/Makefile.in | 21 +- contrib/README | 3 - contrib/adduser.c | 4 +- contrib/groupmems.shar | 465 - contrib/pwdauth.c | 308 - contrib/shadow-anonftp.patch | 147 - contrib/udbachk.tgz | Bin 17571 -> 0 bytes doc/Makefile.am | 3 +- doc/Makefile.in | 20 +- doc/README.platforms | 33 - doc/WISHLIST | 39 - doc/console.c.spec.txt | 36 - doc/cracklib26.diff | 340 - etc/Makefile.am | 2 +- etc/Makefile.in | 18 +- etc/login.defs | 5 - etc/pam.d/Makefile.am | 4 +- etc/pam.d/Makefile.in | 21 +- etc/shadow-maint/Makefile.am | 5 + etc/shadow-maint/Makefile.in | 508 ++ .../groupdel-pre.d/01-kill_group_procs.sh | 26 + .../userdel-pre.d/01-kill_user_procs.sh | 31 + lib/Makefile.am | 155 +- lib/Makefile.in | 1388 ++- {libmisc => lib}/addgrps.c | 18 +- lib/adds.c | 15 + lib/adds.h | 86 + {libmisc => lib}/age.c | 17 +- lib/agetpass.c | 145 + lib/agetpass.h | 23 + libmisc/xmalloc.c => lib/alloc.c | 57 +- lib/alloc.h | 116 + lib/atoi/strtoi.c | 15 + lib/atoi/strtoi.h | 96 + lib/atoi/strtou_noneg.c | 18 + lib/atoi/strtou_noneg.h | 68 + lib/attr.h | 33 + {libmisc => lib}/audit_help.c | 10 +- {libmisc => lib}/basename.c | 4 + lib/bit.c | 19 + lib/bit.h | 53 + {libmisc => lib}/btrfs.c | 2 +- lib/cast.h | 21 + {libmisc => lib}/chkname.c | 50 +- {libmisc => lib}/chkname.h | 0 {libmisc => lib}/chowndir.c | 0 {libmisc => lib}/chowntty.c | 2 +- {libmisc => lib}/cleanup.c | 0 {libmisc => lib}/cleanup_group.c | 17 +- {libmisc => lib}/cleanup_user.c | 23 +- lib/commonio.c | 121 +- lib/commonio.h | 10 +- {libmisc => lib}/console.c | 9 +- {libmisc => lib}/copydir.c | 331 +- lib/csrand.c | 142 + lib/defines.h | 183 +- {libmisc => lib}/env.c | 51 +- {libmisc => lib}/failure.c | 128 +- {libmisc => lib}/failure.h | 17 - lib/fd.c | 41 + lib/fields.c | 42 +- {libmisc => lib}/find_new_gid.c | 53 +- {libmisc => lib}/find_new_sub_gids.c | 2 +- {libmisc => lib}/find_new_sub_uids.c | 2 +- {libmisc => lib}/find_new_uid.c | 53 +- lib/fputsx.c | 3 +- lib/freezero.c | 30 + lib/freezero.h | 34 + lib/get_gid.c | 17 +- lib/get_pid.c | 83 +- lib/get_uid.c | 17 +- {libmisc => lib}/getdate.c | 229 +- {libmisc => lib}/getdate.h | 0 {libmisc => lib}/getdate.y | 23 +- lib/getdef.c | 116 +- lib/getdef.h | 2 +- {libmisc => lib}/getgr_nam_gid.c | 8 +- lib/getlong.c | 22 +- lib/getrange.c | 94 + {libmisc => lib}/gettime.c | 13 +- lib/getulong.c | 26 +- lib/groupio.c | 65 +- lib/groupmem.c | 40 +- lib/gshadow.c | 231 +- {libmisc => lib}/hushed.c | 17 +- {libmisc => lib}/idmapping.c | 61 +- {libmisc => lib}/idmapping.h | 0 {libmisc => lib}/isexpired.c | 19 +- {libmisc => lib}/limits.c | 132 +- {libmisc => lib}/list.c | 50 +- lib/lockpw.c | 2 +- {libmisc => lib}/log.c | 38 +- lib/logind.c | 52 + lib/loginprompt.c | 111 + {libmisc => lib}/mail.c | 14 +- lib/memzero.c | 17 + lib/memzero.h | 49 + {libmisc => lib}/motd.c | 4 +- lib/must_be.h | 99 + {libmisc => lib}/myname.c | 0 lib/nscd.c | 2 +- lib/nss.c | 138 +- {libmisc => lib}/obscure.c | 112 +- lib/pam_defs.h | 2 +- {libmisc => lib}/pam_pass.c | 2 +- {libmisc => lib}/pam_pass_non_interactive.c | 20 +- lib/port.c | 34 +- {libmisc => lib}/prefix_flag.c | 98 +- lib/prototypes.h | 156 +- lib/pwauth.c | 64 +- {libmisc => lib}/pwd2spwd.c | 9 +- {libmisc => lib}/pwd_init.c | 27 +- {libmisc => lib}/pwdcheck.c | 8 +- lib/pwio.c | 23 +- lib/pwmem.c | 9 +- lib/readpassphrase.c | 198 + lib/readpassphrase.h | 47 + {libmisc => lib}/remove_tree.c | 0 {libmisc => lib}/rlogin.c | 99 +- {libmisc => lib}/root_flag.c | 8 +- lib/run_part.c | 24 +- {libmisc => lib}/salt.c | 142 +- lib/selinux.c | 4 +- lib/semanage.c | 47 +- {libmisc => lib}/setugid.c | 0 {libmisc => lib}/setupenv.c | 29 +- lib/sgetgrent.c | 70 +- lib/sgetpwent.c | 26 +- lib/sgetspent.c | 56 +- lib/sgroupio.c | 21 +- lib/shadow.c | 301 +- lib/shadowio.c | 7 +- lib/shadowlog_internal.h | 2 +- lib/shadowmem.c | 9 +- {libmisc => lib}/shell.c | 20 +- lib/sizeof.h | 25 + lib/spawn.c | 5 +- lib/sssd.c | 12 +- lib/string/sprintf.c | 24 + lib/string/sprintf.h | 97 + lib/string/stpecpy.c | 20 + lib/string/stpecpy.h | 90 + lib/string/stpeprintf.c | 25 + lib/string/stpeprintf.h | 120 + lib/string/strftime.c | 7 + lib/string/strftime.h | 19 + lib/string/strncpy.h | 21 + lib/string/strtcpy.c | 18 + lib/string/strtcpy.h | 80 + lib/string/zustr2stp.h | 58 + lib/strtoday.c | 76 + {libmisc => lib}/sub.c | 18 +- lib/subordinateio.c | 134 +- {libmisc => lib}/sulog.c | 2 +- lib/tcbfuncs.c | 11 +- lib/time/day_to_str.c | 11 + lib/time/day_to_str.h | 51 + {libmisc => lib}/ttytype.c | 8 +- {libmisc => lib}/tz.c | 7 +- {libmisc => lib}/ulimit.c | 20 +- {libmisc => lib}/user_busy.c | 68 +- lib/utent.c | 70 - lib/utmp.c | 434 + {libmisc => lib}/valid.c | 0 lib/write_full.c | 77 + {libmisc => lib}/xgetXXbyYY.c | 41 +- {libmisc => lib}/xgetgrgid.c | 4 +- {libmisc => lib}/xgetgrnam.c | 4 +- {libmisc => lib}/xgetpwnam.c | 4 +- {libmisc => lib}/xgetpwuid.c | 4 +- {libmisc => lib}/xgetspnam.c | 2 +- lib/xprefix_getpwnam.c | 41 + lib/yesno.c | 87 + libmisc/.indent.pro | 5 - libmisc/Makefile.am | 80 - libmisc/Makefile.in | 927 -- libmisc/date_to_str.c | 46 - libmisc/entry.c | 45 - libmisc/getrange.c | 101 - libmisc/loginprompt.c | 155 - libmisc/strtoday.c | 220 - libmisc/utmp.c | 474 -- libmisc/yesno.c | 56 - libsubid/Makefile.am | 3 - libsubid/Makefile.in | 38 +- libsubid/api.c | 4 +- man/Makefile.am | 23 +- man/Makefile.in | 127 +- man/chage.1.xml | 15 + man/chgpasswd.8.xml | 68 +- man/chpasswd.8.xml | 84 +- man/chsh.1.xml | 45 +- man/config.xml | 2 + man/cs/Makefile.am | 5 +- man/cs/Makefile.in | 39 +- man/da/Makefile.in | 37 +- man/da/man1/chfn.1 | 8 +- man/da/man1/groups.1 | 8 +- man/da/man1/id.1 | 6 +- man/da/man1/newgrp.1 | 6 +- man/da/man1/sg.1 | 6 +- man/da/man5/gshadow.5 | 12 +- man/da/man8/groupdel.8 | 10 +- man/da/man8/logoutd.8 | 8 +- man/da/man8/nologin.8 | 8 +- man/da/man8/vipw.8 | 18 +- man/de/Makefile.am | 5 +- man/de/Makefile.in | 58 +- man/de/man1/chage.1 | 28 +- man/de/man1/chfn.1 | 26 +- man/de/man1/chsh.1 | 28 +- man/de/man1/expiry.1 | 18 +- man/de/man1/gpasswd.1 | 20 +- man/de/man1/groups.1 | 12 +- man/de/man1/id.1 | 8 +- man/de/man1/login.1 | 40 +- man/de/man1/newgrp.1 | 16 +- man/de/man1/passwd.1 | 89 +- man/de/man1/sg.1 | 14 +- man/de/man1/su.1 | 26 +- man/de/man3/shadow.3 | 32 +- man/de/man5/faillog.5 | 14 +- man/de/man5/gshadow.5 | 26 +- man/de/man5/limits.5 | 44 +- man/de/man5/login.access.5 | 14 +- man/de/man5/login.defs.5 | 17 +- man/de/man5/passwd.5 | 22 +- man/de/man5/porttime.5 | 12 +- man/de/man5/shadow.5 | 60 +- man/de/man5/suauth.5 | 28 +- man/de/man8/chgpasswd.8 | 52 +- man/de/man8/chpasswd.8 | 60 +- man/de/man8/faillog.8 | 20 +- man/de/man8/groupadd.8 | 20 +- man/de/man8/groupdel.8 | 18 +- man/de/man8/groupmems.8 | 26 +- man/de/man8/groupmod.8 | 20 +- man/de/man8/grpck.8 | 14 +- man/de/man8/lastlog.8 | 18 +- man/de/man8/logoutd.8 | 14 +- man/de/man8/newusers.8 | 73 +- man/de/man8/nologin.8 | 8 +- man/de/man8/pwck.8 | 34 +- man/de/man8/pwconv.8 | 22 +- man/de/man8/sulogin.8 | 10 +- man/de/man8/useradd.8 | 66 +- man/de/man8/userdel.8 | 28 +- man/de/man8/usermod.8 | 46 +- man/de/man8/vipw.8 | 30 +- man/es/Makefile.in | 16 +- man/fi/Makefile.in | 16 +- man/fr/Makefile.am | 5 +- man/fr/Makefile.in | 64 +- man/fr/man1/chage.1 | 14 +- man/fr/man1/chfn.1 | 8 +- man/fr/man1/chsh.1 | 14 +- man/fr/man1/expiry.1 | 8 +- man/fr/man1/gpasswd.1 | 10 +- man/fr/man1/groups.1 | 10 +- man/fr/man1/id.1 | 8 +- man/fr/man1/login.1 | 12 +- man/fr/man1/newgidmap.1 | 18 +- man/fr/man1/newgrp.1 | 10 +- man/fr/man1/newuidmap.1 | 18 +- man/fr/man1/passwd.1 | 63 +- man/fr/man1/sg.1 | 8 +- man/fr/man1/su.1 | 10 +- man/fr/man3/shadow.3 | 12 +- man/fr/man5/faillog.5 | 6 +- man/fr/man5/gshadow.5 | 14 +- man/fr/man5/limits.5 | 10 +- man/fr/man5/login.access.5 | 6 +- man/fr/man5/login.defs.5 | 9 +- man/fr/man5/passwd.5 | 6 +- man/fr/man5/porttime.5 | 6 +- man/fr/man5/shadow.5 | 24 +- man/fr/man5/suauth.5 | 6 +- man/fr/man5/subgid.5 | 6 +- man/fr/man5/subuid.5 | 8 +- man/fr/man8/chgpasswd.8 | 26 +- man/fr/man8/chpasswd.8 | 36 +- man/fr/man8/faillog.8 | 8 +- man/fr/man8/groupadd.8 | 8 +- man/fr/man8/groupdel.8 | 10 +- man/fr/man8/groupmems.8 | 10 +- man/fr/man8/groupmod.8 | 10 +- man/fr/man8/grpck.8 | 10 +- man/fr/man8/lastlog.8 | 8 +- man/fr/man8/logoutd.8 | 8 +- man/fr/man8/newusers.8 | 21 +- man/fr/man8/nologin.8 | 8 +- man/fr/man8/pwck.8 | 8 +- man/fr/man8/pwconv.8 | 8 +- man/fr/man8/sulogin.8 | 8 +- man/fr/man8/useradd.8 | 34 +- man/fr/man8/userdel.8 | 8 +- man/fr/man8/usermod.8 | 22 +- man/fr/man8/vipw.8 | 10 +- man/generate_mans.mak | 33 +- man/generate_translations.mak | 6 +- man/gpasswd.1.xml | 2 + man/groupmems.8.xml | 2 +- man/hu/Makefile.am | 5 +- man/hu/Makefile.in | 32 +- man/id/Makefile.in | 16 +- man/it/Makefile.am | 5 +- man/it/Makefile.in | 58 +- man/it/man1/chage.1 | 16 +- man/it/man1/chfn.1 | 10 +- man/it/man1/chsh.1 | 16 +- man/it/man1/expiry.1 | 10 +- man/it/man1/gpasswd.1 | 10 +- man/it/man1/groups.1 | 10 +- man/it/man1/id.1 | 8 +- man/it/man1/login.1 | 12 +- man/it/man1/newgrp.1 | 10 +- man/it/man1/passwd.1 | 65 +- man/it/man1/sg.1 | 8 +- man/it/man1/su.1 | 10 +- man/it/man3/shadow.3 | 10 +- man/it/man5/faillog.5 | 6 +- man/it/man5/gshadow.5 | 14 +- man/it/man5/limits.5 | 10 +- man/it/man5/login.access.5 | 6 +- man/it/man5/login.defs.5 | 9 +- man/it/man5/passwd.5 | 6 +- man/it/man5/porttime.5 | 6 +- man/it/man5/shadow.5 | 24 +- man/it/man5/suauth.5 | 6 +- man/it/man8/chgpasswd.8 | 28 +- man/it/man8/chpasswd.8 | 38 +- man/it/man8/faillog.8 | 10 +- man/it/man8/groupadd.8 | 10 +- man/it/man8/groupdel.8 | 10 +- man/it/man8/groupmems.8 | 10 +- man/it/man8/groupmod.8 | 10 +- man/it/man8/grpck.8 | 10 +- man/it/man8/lastlog.8 | 10 +- man/it/man8/logoutd.8 | 8 +- man/it/man8/newusers.8 | 21 +- man/it/man8/nologin.8 | 8 +- man/it/man8/pwck.8 | 10 +- man/it/man8/pwconv.8 | 16 +- man/it/man8/sulogin.8 | 8 +- man/it/man8/useradd.8 | 36 +- man/it/man8/userdel.8 | 10 +- man/it/man8/usermod.8 | 24 +- man/it/man8/vipw.8 | 14 +- man/its.rules | 16 + man/ja/Makefile.am | 5 +- man/ja/Makefile.in | 35 +- man/ko/Makefile.in | 16 +- man/login.1.xml | 2 +- man/login.defs.5.xml | 23 +- man/login.defs.d/BCRYPT_MIN_ROUNDS.xml | 40 + man/login.defs.d/CONSOLE_GROUPS.xml | 2 +- man/login.defs.d/ENCRYPT_METHOD.xml | 6 +- man/login.defs.d/ENV_HZ.xml | 7 +- man/login.defs.d/PASS_WARN_AGE.xml | 4 +- man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml | 2 +- man/login.defs.d/TTYGROUP.xml | 11 +- man/login.defs.d/YESCRYPT_COST_FACTOR.xml | 29 + man/man1/chage.1 | 12 +- man/man1/chfn.1 | 6 +- man/man1/chsh.1 | 12 +- man/man1/expiry.1 | 6 +- man/man1/getsubids.1 | 6 +- man/man1/gpasswd.1 | 8 +- man/man1/groups.1 | 6 +- man/man1/id.1 | 6 +- man/man1/login.1 | 12 +- man/man1/newgidmap.1 | 16 +- man/man1/newgrp.1 | 6 +- man/man1/newuidmap.1 | 16 +- man/man1/passwd.1 | 63 +- 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 | 19 +- man/man5/passwd.5 | 6 +- man/man5/porttime.5 | 6 +- man/man5/shadow.5 | 6 +- man/man5/suauth.5 | 6 +- man/man5/subgid.5 | 6 +- man/man5/subuid.5 | 8 +- man/man8/chgpasswd.8 | 26 +- man/man8/chpasswd.8 | 36 +- man/man8/faillog.8 | 6 +- man/man8/groupadd.8 | 6 +- man/man8/groupdel.8 | 6 +- man/man8/groupmems.8 | 8 +- man/man8/groupmod.8 | 6 +- man/man8/grpck.8 | 6 +- man/man8/lastlog.8 | 6 +- man/man8/logoutd.8 | 6 +- man/man8/newusers.8 | 21 +- man/man8/nologin.8 | 6 +- man/man8/pwck.8 | 8 +- man/man8/pwconv.8 | 8 +- man/man8/sulogin.8 | 6 +- man/man8/useradd.8 | 32 +- man/man8/userdel.8 | 6 +- man/man8/usermod.8 | 20 +- man/man8/vipw.8 | 8 +- man/newgidmap.1.xml | 11 + man/newuidmap.1.xml | 11 + man/newusers.8.xml | 43 +- man/passwd.1.xml | 73 +- man/pl/Makefile.am | 5 +- man/pl/Makefile.in | 50 +- man/pl/man1/chage.1 | 16 +- man/pl/man1/chsh.1 | 16 +- man/pl/man1/expiry.1 | 8 +- man/pl/man1/groups.1 | 8 +- man/pl/man1/id.1 | 8 +- man/pl/man1/newgrp.1 | 8 +- man/pl/man1/sg.1 | 8 +- man/pl/man3/shadow.3 | 8 +- man/pl/man5/faillog.5 | 6 +- man/pl/man5/porttime.5 | 6 +- man/pl/man8/faillog.8 | 10 +- man/pl/man8/groupadd.8 | 10 +- man/pl/man8/groupdel.8 | 10 +- man/pl/man8/groupmems.8 | 10 +- man/pl/man8/groupmod.8 | 10 +- man/pl/man8/grpck.8 | 10 +- man/pl/man8/lastlog.8 | 10 +- man/pl/man8/logoutd.8 | 8 +- man/pl/man8/userdel.8 | 10 +- man/pl/man8/usermod.8 | 24 +- man/pl/man8/vipw.8 | 14 +- man/po/Makefile.in | 54 +- man/po/da.po | 2364 +++--- man/po/de.po | 7473 ++++++++++------- man/po/fr.po | 2421 +++--- man/po/it.po | 2416 +++--- man/po/pl.po | 2273 ++--- man/po/ru.po | 2433 +++--- man/po/shadow-man-pages.pot | 2863 ++++--- man/po/sv.po | 2313 ++--- man/po/uk.po | 2534 +++--- man/po/zh_CN.po | 2380 +++--- man/pt_BR/Makefile.in | 16 +- man/ru/Makefile.am | 5 +- man/ru/Makefile.in | 58 +- man/ru/man1/chage.1 | 16 +- man/ru/man1/chfn.1 | 10 +- man/ru/man1/chsh.1 | 16 +- man/ru/man1/expiry.1 | 10 +- man/ru/man1/gpasswd.1 | 10 +- man/ru/man1/groups.1 | 10 +- man/ru/man1/id.1 | 8 +- man/ru/man1/login.1 | 12 +- man/ru/man1/newgrp.1 | 10 +- man/ru/man1/passwd.1 | 65 +- man/ru/man1/sg.1 | 8 +- man/ru/man1/su.1 | 10 +- man/ru/man3/shadow.3 | 10 +- man/ru/man5/faillog.5 | 6 +- man/ru/man5/gshadow.5 | 14 +- man/ru/man5/limits.5 | 10 +- man/ru/man5/login.access.5 | 6 +- man/ru/man5/login.defs.5 | 9 +- man/ru/man5/passwd.5 | 6 +- man/ru/man5/porttime.5 | 6 +- man/ru/man5/shadow.5 | 24 +- man/ru/man5/suauth.5 | 6 +- man/ru/man8/chgpasswd.8 | 28 +- man/ru/man8/chpasswd.8 | 38 +- man/ru/man8/faillog.8 | 10 +- man/ru/man8/groupadd.8 | 10 +- man/ru/man8/groupdel.8 | 10 +- man/ru/man8/groupmems.8 | 10 +- man/ru/man8/groupmod.8 | 10 +- man/ru/man8/grpck.8 | 10 +- man/ru/man8/lastlog.8 | 10 +- man/ru/man8/logoutd.8 | 8 +- man/ru/man8/newusers.8 | 23 +- man/ru/man8/nologin.8 | 8 +- man/ru/man8/pwck.8 | 10 +- man/ru/man8/pwconv.8 | 16 +- man/ru/man8/sulogin.8 | 8 +- man/ru/man8/useradd.8 | 36 +- man/ru/man8/userdel.8 | 10 +- man/ru/man8/usermod.8 | 24 +- man/ru/man8/vipw.8 | 14 +- man/shadow-man.xsl | 9 + man/su.1.xml | 2 +- man/subuid.5.xml | 2 +- man/sulogin.8.xml | 2 +- man/sv/Makefile.am | 5 +- man/sv/Makefile.in | 52 +- man/sv/man1/chage.1 | 16 +- man/sv/man1/chsh.1 | 16 +- man/sv/man1/expiry.1 | 8 +- man/sv/man1/groups.1 | 10 +- man/sv/man1/id.1 | 8 +- man/sv/man1/newgrp.1 | 10 +- man/sv/man1/passwd.1 | 65 +- man/sv/man1/sg.1 | 8 +- man/sv/man3/shadow.3 | 10 +- man/sv/man5/faillog.5 | 6 +- man/sv/man5/gshadow.5 | 10 +- 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 | 10 +- man/sv/man8/groupadd.8 | 10 +- man/sv/man8/groupdel.8 | 10 +- man/sv/man8/groupmems.8 | 10 +- man/sv/man8/groupmod.8 | 10 +- man/sv/man8/grpck.8 | 10 +- man/sv/man8/lastlog.8 | 10 +- man/sv/man8/logoutd.8 | 8 +- man/sv/man8/nologin.8 | 8 +- man/sv/man8/pwck.8 | 10 +- man/sv/man8/userdel.8 | 10 +- man/sv/man8/vipw.8 | 14 +- man/tr/Makefile.in | 16 +- man/uk/Makefile.am | 5 +- man/uk/Makefile.in | 58 +- man/uk/man1/chage.1 | 141 +- man/uk/man1/chfn.1 | 56 +- man/uk/man1/chsh.1 | 51 +- man/uk/man1/expiry.1 | 19 +- man/uk/man1/gpasswd.1 | 106 +- man/uk/man1/groups.1 | 31 +- man/uk/man1/id.1 | 8 +- man/uk/man1/login.1 | 108 +- man/uk/man1/newgrp.1 | 43 +- man/uk/man1/passwd.1 | 169 +- man/uk/man1/sg.1 | 42 +- man/uk/man1/su.1 | 188 +- man/uk/man3/shadow.3 | 59 +- man/uk/man5/faillog.5 | 10 +- man/uk/man5/gshadow.5 | 35 +- man/uk/man5/login.access.5 | 30 +- man/uk/man5/login.defs.5 | 34 +- man/uk/man5/passwd.5 | 81 +- man/uk/man5/porttime.5 | 42 +- man/uk/man5/shadow.5 | 42 +- man/uk/man5/suauth.5 | 36 +- man/uk/man8/chgpasswd.8 | 59 +- man/uk/man8/chpasswd.8 | 91 +- man/uk/man8/faillog.8 | 116 +- man/uk/man8/groupadd.8 | 144 +- man/uk/man8/groupdel.8 | 51 +- man/uk/man8/groupmems.8 | 86 +- man/uk/man8/groupmod.8 | 130 +- man/uk/man8/grpck.8 | 94 +- man/uk/man8/lastlog.8 | 79 +- man/uk/man8/logoutd.8 | 20 +- man/uk/man8/newusers.8 | 94 +- man/uk/man8/nologin.8 | 23 +- man/uk/man8/pwck.8 | 100 +- man/uk/man8/pwconv.8 | 116 +- man/uk/man8/sulogin.8 | 12 +- man/uk/man8/useradd.8 | 403 +- man/uk/man8/userdel.8 | 114 +- man/uk/man8/usermod.8 | 260 +- man/uk/man8/vipw.8 | 48 +- man/useradd.8.xml | 29 +- man/usermod.8.xml | 19 +- man/vipw.8.xml | 2 +- man/zh_CN/Makefile.am | 5 +- man/zh_CN/Makefile.in | 58 +- man/zh_CN/man1/chage.1 | 16 +- man/zh_CN/man1/chfn.1 | 10 +- man/zh_CN/man1/chsh.1 | 16 +- man/zh_CN/man1/expiry.1 | 10 +- man/zh_CN/man1/gpasswd.1 | 10 +- man/zh_CN/man1/groups.1 | 10 +- man/zh_CN/man1/id.1 | 8 +- man/zh_CN/man1/login.1 | 12 +- man/zh_CN/man1/newgrp.1 | 8 +- man/zh_CN/man1/passwd.1 | 65 +- man/zh_CN/man1/sg.1 | 8 +- man/zh_CN/man1/su.1 | 10 +- man/zh_CN/man3/shadow.3 | 8 +- man/zh_CN/man5/faillog.5 | 6 +- man/zh_CN/man5/gshadow.5 | 14 +- man/zh_CN/man5/limits.5 | 6 +- man/zh_CN/man5/login.access.5 | 6 +- man/zh_CN/man5/login.defs.5 | 9 +- man/zh_CN/man5/passwd.5 | 6 +- man/zh_CN/man5/porttime.5 | 6 +- man/zh_CN/man5/shadow.5 | 24 +- man/zh_CN/man5/suauth.5 | 6 +- man/zh_CN/man8/chgpasswd.8 | 28 +- man/zh_CN/man8/chpasswd.8 | 38 +- man/zh_CN/man8/faillog.8 | 10 +- man/zh_CN/man8/groupadd.8 | 10 +- man/zh_CN/man8/groupdel.8 | 10 +- man/zh_CN/man8/groupmems.8 | 10 +- man/zh_CN/man8/groupmod.8 | 10 +- man/zh_CN/man8/grpck.8 | 10 +- man/zh_CN/man8/lastlog.8 | 10 +- man/zh_CN/man8/logoutd.8 | 8 +- man/zh_CN/man8/newusers.8 | 21 +- man/zh_CN/man8/nologin.8 | 8 +- man/zh_CN/man8/pwck.8 | 10 +- man/zh_CN/man8/pwconv.8 | 16 +- man/zh_CN/man8/sulogin.8 | 8 +- man/zh_CN/man8/useradd.8 | 36 +- man/zh_CN/man8/userdel.8 | 10 +- man/zh_CN/man8/usermod.8 | 24 +- man/zh_CN/man8/vipw.8 | 14 +- man/zh_TW/Makefile.in | 16 +- po/POTFILES.in | 116 +- po/bs.po | 635 +- po/ca.gmo | Bin 66042 -> 64976 bytes po/ca.po | 742 +- po/cs.gmo | Bin 69417 -> 67409 bytes po/cs.po | 752 +- po/da.gmo | Bin 61675 -> 60646 bytes po/da.po | 730 +- po/de.gmo | Bin 67706 -> 66523 bytes po/de.po | 754 +- po/dz.gmo | Bin 32468 -> 30906 bytes po/dz.po | 681 +- po/el.gmo | Bin 82996 -> 81634 bytes po/el.po | 745 +- po/es.gmo | Bin 59443 -> 58487 bytes po/es.po | 728 +- po/eu.gmo | Bin 46950 -> 46078 bytes po/eu.po | 723 +- po/fi.gmo | Bin 18790 -> 18037 bytes po/fi.po | 684 +- po/fr.gmo | Bin 82156 -> 85418 bytes po/fr.po | 977 ++- po/gl.gmo | Bin 18898 -> 18133 bytes po/gl.po | 687 +- po/he.po | 638 +- po/hu.gmo | Bin 18576 -> 17828 bytes po/hu.po | 683 +- po/id.gmo | Bin 15773 -> 15311 bytes po/id.po | 680 +- po/it.gmo | Bin 21104 -> 20307 bytes po/it.po | 689 +- po/ja.gmo | Bin 71049 -> 69894 bytes po/ja.po | 732 +- po/ka.gmo | Bin 124859 -> 127184 bytes po/ka.po | 748 +- po/kk.gmo | Bin 82687 -> 80984 bytes po/kk.po | 740 +- po/km.gmo | Bin 28070 -> 26823 bytes po/km.po | 679 +- po/ko.gmo | Bin 31161 -> 30191 bytes po/ko.po | 696 +- po/nb.gmo | Bin 65335 -> 64005 bytes po/nb.po | 749 +- po/ne.gmo | Bin 27914 -> 26796 bytes po/ne.po | 683 +- po/nl.gmo | Bin 84933 -> 82086 bytes po/nl.po | 782 +- po/nn.gmo | Bin 12505 -> 12273 bytes po/nn.po | 671 +- po/pl.gmo | Bin 18986 -> 18204 bytes po/pl.po | 683 +- po/pt.gmo | Bin 65517 -> 64469 bytes po/pt.po | 745 +- po/pt_BR.gmo | Bin 56515 -> 55589 bytes po/pt_BR.po | 720 +- po/ro.gmo | Bin 18755 -> 17974 bytes po/ro.po | 685 +- po/ru.gmo | Bin 89001 -> 87223 bytes po/ru.po | 750 +- po/shadow.pot | 602 +- po/sk.gmo | Bin 43041 -> 42134 bytes po/sk.po | 702 +- po/sq.po | 625 +- po/sv.gmo | Bin 54072 -> 53103 bytes po/sv.po | 710 +- po/tl.gmo | Bin 18837 -> 18024 bytes po/tl.po | 687 +- po/tr.gmo | Bin 20505 -> 19708 bytes po/tr.po | 690 +- po/uk.gmo | Bin 105763 -> 102203 bytes po/uk.po | 775 +- po/vi.gmo | Bin 73832 -> 72304 bytes po/vi.po | 746 +- po/zh_CN.gmo | Bin 62731 -> 69139 bytes po/zh_CN.po | 1158 +-- po/zh_TW.gmo | Bin 66576 -> 65288 bytes po/zh_TW.po | 724 +- shadow.spec.in | 93 - src/Makefile.am | 42 +- src/Makefile.in | 114 +- src/chage.c | 188 +- src/check_subid_range.c | 14 +- src/chfn.c | 94 +- src/chgpasswd.c | 36 +- src/chpasswd.c | 48 +- src/chsh.c | 147 +- src/expiry.c | 24 +- src/faillog.c | 220 +- src/free_subid_range.c | 3 +- src/get_subid_owners.c | 3 +- src/getsubids.c | 3 +- src/gpasswd.c | 198 +- src/groupadd.c | 56 +- src/groupdel.c | 61 +- src/groupmems.c | 32 +- src/groupmod.c | 145 +- src/groups.c | 11 +- src/grpck.c | 14 +- src/grpconv.c | 12 +- src/grpunconv.c | 9 +- src/id.c | 15 +- src/lastlog.c | 47 +- src/login.c | 262 +- src/login_nopam.c | 68 +- src/logoutd.c | 96 +- src/new_subid_range.c | 3 +- src/newgidmap.c | 48 +- src/newgrp.c | 127 +- src/newuidmap.c | 47 +- src/newusers.c | 191 +- src/passwd.c | 427 +- src/pwck.c | 24 +- src/pwconv.c | 11 +- src/pwunconv.c | 6 +- src/su.c | 115 +- src/suauth.c | 9 +- src/sulogin.c | 182 +- src/useradd.c | 876 +- src/userdel.c | 156 +- src/usermod.c | 295 +- src/vipw.c | 113 +- test-driver | 153 + tests/unit/Makefile.am | 159 + tests/unit/Makefile.in | 1780 ++++ tests/unit/test_adds.c | 105 + tests/unit/test_atoi_strtoi.c | 157 + tests/unit/test_atoi_strtou_noneg.c | 76 + tests/unit/test_chkname.c | 149 + tests/unit/test_logind.c | 69 + tests/unit/test_sprintf.c | 66 + tests/unit/test_strncpy.c | 85 + tests/unit/test_strtcpy.c | 67 + tests/unit/test_xasprintf.c | 114 + tests/unit/test_zustr2stp.c | 53 + 759 files changed, 53132 insertions(+), 39788 deletions(-) delete mode 100644 TODO delete mode 100644 contrib/groupmems.shar delete mode 100644 contrib/pwdauth.c delete mode 100644 contrib/shadow-anonftp.patch delete mode 100644 contrib/udbachk.tgz delete mode 100644 doc/README.platforms delete mode 100644 doc/WISHLIST delete mode 100644 doc/console.c.spec.txt delete mode 100644 doc/cracklib26.diff create mode 100644 etc/shadow-maint/Makefile.am create mode 100644 etc/shadow-maint/Makefile.in create mode 100644 etc/shadow-maint/groupdel-pre.d/01-kill_group_procs.sh create mode 100755 etc/shadow-maint/userdel-pre.d/01-kill_user_procs.sh rename {libmisc => lib}/addgrps.c (84%) create mode 100644 lib/adds.c create mode 100644 lib/adds.h rename {libmisc => lib}/age.c (96%) create mode 100644 lib/agetpass.c create mode 100644 lib/agetpass.h rename libmisc/xmalloc.c => lib/alloc.c (51%) create mode 100644 lib/alloc.h create mode 100644 lib/atoi/strtoi.c create mode 100644 lib/atoi/strtoi.h create mode 100644 lib/atoi/strtou_noneg.c create mode 100644 lib/atoi/strtou_noneg.h create mode 100644 lib/attr.h rename {libmisc => lib}/audit_help.c (89%) rename {libmisc => lib}/basename.c (94%) create mode 100644 lib/bit.c create mode 100644 lib/bit.h rename {libmisc => lib}/btrfs.c (98%) create mode 100644 lib/cast.h rename {libmisc => lib}/chkname.c (68%) rename {libmisc => lib}/chkname.h (100%) rename {libmisc => lib}/chowndir.c (100%) rename {libmisc => lib}/chowntty.c (96%) rename {libmisc => lib}/cleanup.c (100%) rename {libmisc => lib}/cleanup_group.c (93%) rename {libmisc => lib}/cleanup_user.c (80%) rename {libmisc => lib}/console.c (92%) rename {libmisc => lib}/copydir.c (78%) create mode 100644 lib/csrand.c rename {libmisc => lib}/env.c (84%) rename {libmisc => lib}/failure.c (71%) rename {libmisc => lib}/failure.h (71%) create mode 100644 lib/fd.c rename {libmisc => lib}/find_new_gid.c (91%) rename {libmisc => lib}/find_new_sub_gids.c (95%) rename {libmisc => lib}/find_new_sub_uids.c (95%) rename {libmisc => lib}/find_new_uid.c (91%) create mode 100644 lib/freezero.c create mode 100644 lib/freezero.h rename {libmisc => lib}/getdate.c (96%) rename {libmisc => lib}/getdate.h (100%) rename {libmisc => lib}/getdate.y (98%) rename {libmisc => lib}/getgr_nam_gid.c (88%) create mode 100644 lib/getrange.c rename {libmisc => lib}/gettime.c (87%) rename {libmisc => lib}/hushed.c (84%) rename {libmisc => lib}/idmapping.c (85%) rename {libmisc => lib}/idmapping.h (100%) rename {libmisc => lib}/isexpired.c (91%) rename {libmisc => lib}/limits.c (85%) rename {libmisc => lib}/list.c (80%) rename {libmisc => lib}/log.c (74%) create mode 100644 lib/logind.c create mode 100644 lib/loginprompt.c rename {libmisc => lib}/mail.c (84%) create mode 100644 lib/memzero.c create mode 100644 lib/memzero.h rename {libmisc => lib}/motd.c (98%) create mode 100644 lib/must_be.h rename {libmisc => lib}/myname.c (100%) rename {libmisc => lib}/obscure.c (69%) rename {libmisc => lib}/pam_pass.c (95%) rename {libmisc => lib}/pam_pass_non_interactive.c (88%) rename {libmisc => lib}/prefix_flag.c (78%) rename {libmisc => lib}/pwd2spwd.c (85%) rename {libmisc => lib}/pwd_init.c (74%) rename {libmisc => lib}/pwdcheck.c (76%) create mode 100644 lib/readpassphrase.c create mode 100644 lib/readpassphrase.h rename {libmisc => lib}/remove_tree.c (100%) rename {libmisc => lib}/rlogin.c (68%) rename {libmisc => lib}/root_flag.c (94%) rename {libmisc => lib}/salt.c (79%) rename {libmisc => lib}/setugid.c (100%) rename {libmisc => lib}/setupenv.c (92%) rename {libmisc => lib}/shell.c (82%) create mode 100644 lib/sizeof.h create mode 100644 lib/string/sprintf.c create mode 100644 lib/string/sprintf.h create mode 100644 lib/string/stpecpy.c create mode 100644 lib/string/stpecpy.h create mode 100644 lib/string/stpeprintf.c create mode 100644 lib/string/stpeprintf.h create mode 100644 lib/string/strftime.c create mode 100644 lib/string/strftime.h create mode 100644 lib/string/strncpy.h create mode 100644 lib/string/strtcpy.c create mode 100644 lib/string/strtcpy.h create mode 100644 lib/string/zustr2stp.h create mode 100644 lib/strtoday.c rename {libmisc => lib}/sub.c (77%) rename {libmisc => lib}/sulog.c (98%) create mode 100644 lib/time/day_to_str.c create mode 100644 lib/time/day_to_str.h rename {libmisc => lib}/ttytype.c (90%) rename {libmisc => lib}/tz.c (85%) rename {libmisc => lib}/ulimit.c (59%) rename {libmisc => lib}/user_busy.c (83%) delete mode 100644 lib/utent.c create mode 100644 lib/utmp.c rename {libmisc => lib}/valid.c (100%) create mode 100644 lib/write_full.c rename {libmisc => lib}/xgetXXbyYY.c (78%) rename {libmisc => lib}/xgetgrgid.c (90%) rename {libmisc => lib}/xgetgrnam.c (90%) rename {libmisc => lib}/xgetpwnam.c (90%) rename {libmisc => lib}/xgetpwuid.c (90%) rename {libmisc => lib}/xgetspnam.c (94%) create mode 100644 lib/xprefix_getpwnam.c create mode 100644 lib/yesno.c delete mode 100644 libmisc/.indent.pro delete mode 100644 libmisc/Makefile.am delete mode 100644 libmisc/Makefile.in delete mode 100644 libmisc/date_to_str.c delete mode 100644 libmisc/entry.c delete mode 100644 libmisc/getrange.c delete mode 100644 libmisc/loginprompt.c delete mode 100644 libmisc/strtoday.c delete mode 100644 libmisc/utmp.c delete mode 100644 libmisc/yesno.c create mode 100644 man/config.xml create mode 100644 man/its.rules create mode 100644 man/login.defs.d/BCRYPT_MIN_ROUNDS.xml create mode 100644 man/login.defs.d/YESCRYPT_COST_FACTOR.xml create mode 100644 man/shadow-man.xsl delete mode 100644 shadow.spec.in create mode 100755 test-driver create mode 100644 tests/unit/Makefile.am create mode 100644 tests/unit/Makefile.in create mode 100644 tests/unit/test_adds.c create mode 100644 tests/unit/test_atoi_strtoi.c create mode 100644 tests/unit/test_atoi_strtou_noneg.c create mode 100644 tests/unit/test_chkname.c create mode 100644 tests/unit/test_logind.c create mode 100644 tests/unit/test_sprintf.c create mode 100644 tests/unit/test_strncpy.c create mode 100644 tests/unit/test_strtcpy.c create mode 100644 tests/unit/test_xasprintf.c create mode 100644 tests/unit/test_zustr2stp.c diff --git a/AUTHORS.md b/AUTHORS.md index 288768d0..ef057328 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -3,11 +3,20 @@ reports and various comments. This list may be incomplete, I received a lot of mail... # Maintainers +* Marek Michałkiewicz (1995-2000) * Tomasz Kłoczko (2000-2007) * Nicolas François (2007-2014) * Serge E. Hallyn (2014-now) * Christian Brauner (2019-now) * Iker Pedrosa (2022-now) +* Alejandro Colomar (2023-now) (4.14 stable) + +To verify signatures on releases, use the following keys under keys/ : + +* Serge Hallyn: keys/66D0387DB85D320F8408166DB175CFA98F192AF2.asc +* Christian Brauner: keys/4880B8C9BD0E5106FC070F4F7B3C391EFEA93624.asc +* Iker Pedrosa: keys/4E80EF49C7987B6DE2F81F5005079C6C3A653E57.asc +* Alejandro Colomar: keys/A9348594CE31283A826FBDD8D57633D441E25BB5.asc # Authors and contributors * Adam Rudnicki diff --git a/ChangeLog b/ChangeLog index cee7dfdc..3c96dde4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9558,7 +9558,7 @@ * NEWS: release date corrected. * NEWS, src/su.c: - fixed set enviroment too early when using PAM, so move it to !USE_PAM + fixed set environment too early when using PAM, so move it to !USE_PAM (patch submitted by Mike Frysinger ). 2006-07-30 Tomasz Kłoczko @@ -10245,7 +10245,7 @@ * NEWS: cleanups. * autogen.sh: - by default in development enviroment use CFLAGS="-O2 -Wall". + by default in development environment use CFLAGS="-O2 -Wall". * src/chgpasswd.c (main): remove two unused variables (newgr and now). @@ -11654,7 +11654,7 @@ in OPTIONS section). Describe -a and -k options. * NEWS, src/su.c: - fixed twice copy enviroment which causes auth problems (bug was introduced in 4.0.12; + fixed twice copy environment which causes auth problems (bug was introduced in 4.0.12; fix by Nicolas François ). * src/passwd.c, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po: @@ -12584,7 +12584,7 @@ http://bugs.debian.org/48002 * src/login.c, NEWS: - fixed loggin of username on succesful login (was using the normal username, + fixed loggin of username on successful login (was using the normal username, when it should have used pam_user) http://bugs.debian.org/47819 2005-06-02 Tomasz Kłoczko @@ -13029,7 +13029,7 @@ * man/pl/usermod.8: finish sync with english version. * man/hu/login.1, man/pl/login.1, NEWS, man/Attic/login.1, man/de/login.1: - removed fragment about abilities pass enviroment variables in login prompt. + removed fragment about abilities pass environment variables in login prompt. * man/Attic/gpasswd.1, man/Attic/newgrp.1: fixes by Nicolas Nicolas François (not all @@ -13508,7 +13508,7 @@ removed not used translations. * NEWS, src/su.c: - fix adding of pam_env env variables to enviroment (Martin Schlemmer ). + fix adding of pam_env env variables to environment (Martin Schlemmer ). * NEWS, configure.in: fixed filling MAIL_SPOOL_DIR and MAIL_SPOOL_FILE variables which was allways @@ -13605,7 +13605,7 @@ * NEWS, src/su.c: add pam_open_session() support. If builded without PAM support - propagate $DISPLAY and $XAUTHORITY enviroment variables. + propagate $DISPLAY and $XAUTHORITY environment variables. Based on http://www.gentoo.org/cgi-bin/viewcvs.cgi/sys-apps/shadow/files/shadow-4.0.4.1-su-pam_open_session.patch?rev=1.1 2004-10-23 Tomasz Kłoczko diff --git a/Makefile.am b/Makefile.am index 630e2aa9..8f489073 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,15 +1,17 @@ ## Process this file with automake to produce Makefile.in -EXTRA_DIST = NEWS README TODO shadow.spec.in +EXTRA_DIST = NEWS README -SUBDIRS = libmisc lib +SUBDIRS = lib if ENABLE_SUBIDS SUBDIRS += libsubid endif -SUBDIRS += src po contrib doc etc +SUBDIRS += src po contrib doc etc tests/unit if ENABLE_REGENERATE_MAN SUBDIRS += man endif + +CLEANFILES = man/8.out man/po/remove-potcdate.* man/*/login.defs.d man/*/*.mo diff --git a/Makefile.in b/Makefile.in index f4de2e39..ed99a126 100644 --- a/Makefile.in +++ b/Makefile.in @@ -108,7 +108,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = man/po/Makefile shadow.spec +CONFIG_CLEAN_FILES = man/po/Makefile CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -163,12 +163,11 @@ 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 = libmisc lib libsubid src po contrib doc etc man +DIST_SUBDIRS = lib libsubid src po contrib doc etc tests/unit man am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(srcdir)/shadow.spec.in $(top_srcdir)/man/po/Makefile.in \ - ABOUT-NLS AUTHORS.md COPYING ChangeLog NEWS README TODO \ - compile config.guess config.rpath config.sub install-sh \ - ltmain.sh missing + $(top_srcdir)/man/po/Makefile.in ABOUT-NLS AUTHORS.md COPYING \ + ChangeLog NEWS README compile config.guess config.rpath \ + config.sub install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -224,6 +223,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -257,9 +258,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -275,6 +282,7 @@ 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@ @@ -283,6 +291,8 @@ 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@ @@ -305,6 +315,9 @@ 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@ @@ -376,9 +389,10 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -EXTRA_DIST = NEWS README TODO shadow.spec.in -SUBDIRS = libmisc lib $(am__append_1) src po contrib doc etc \ +EXTRA_DIST = NEWS README +SUBDIRS = lib $(am__append_1) src po contrib doc etc tests/unit \ $(am__append_2) +CLEANFILES = man/8.out man/po/remove-potcdate.* man/*/login.defs.d man/*/*.mo all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -433,8 +447,6 @@ distclean-hdr: -rm -f config.h stamp-h1 man/po/Makefile: $(top_builddir)/config.status $(top_srcdir)/man/po/Makefile.in cd $(top_builddir) && $(SHELL) ./config.status $@ -shadow.spec: $(top_builddir)/config.status $(srcdir)/shadow.spec.in - cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo @@ -773,6 +785,7 @@ install-strip: mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) diff --git a/NEWS b/NEWS index 7cfd1b7f..4b2cd999 100644 --- a/NEWS +++ b/NEWS @@ -696,7 +696,7 @@ shadow-4.0.18 -> shadow-4.0.18.1 03-08-2006 shadow-4.0.17 -> shadow-4.0.18 01-08-2006 *** general: -- su: fixed set enviroment too early when using PAM, so move it to !USE_PAM +- su: fixed set environment too early when using PAM, so move it to !USE_PAM (patch submitted by Mike Frysinger ), - groupadd, groupmod, useradd, usermod: fixed UID/GID overflow (fixed http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=198920) @@ -855,7 +855,7 @@ shadow-4.0.14 -> shadow-4.0.15 13-03-2006 - su: move exit() outside libmisc/shell.c::shell() for handle shell() errors on higher level (now is better visable where some programs exit with 126 and 127 exit codes); added new shell() parameter (char *const envp[]) - which allow fix preserving enviroment in su on using -p, (patch by + which allow fix preserving environment in su on using -p, (patch by Alexander Gattin ), - su: added handle -c,--command option for GNU su compliance (merge 437_su_-c_option Debian patch), @@ -966,7 +966,7 @@ shadow-4.0.12 -> shadow-4.0.13 10-10-2005 to example described in ident(1) man page (modern compilers like latest GCC removes not used functions by global optimization). So "ident /usr/bin/passwd" will show again some useable informations -- su: fixed twice copy enviroment which causes auth problems +- su: fixed twice copy environment which causes auth problems (bug was introduced in 4.0.12; fix by Nicolas François ), - chage: differentiate the different failure causes by the exit value This will permit to adduser Debian script to detect if chage failed because the @@ -1133,7 +1133,7 @@ shadow-4.0.9 -> shadow-4.0.10 28-06-2005 http://bugs.debian.org/53702 - login: check for hushed login and pass PAM_SILENT if true, http://bugs.debian.org/48002 -- login: fixed username on succesful login (was using the normal username, +- login: fixed username on successful login (was using the normal username, when it should have used pam_user) http://bugs.debian.org/47819 - remove using SHADOWPWD #define so now shadow is always built with shadow password support, @@ -1212,7 +1212,7 @@ shadow-4.0.7 -> shadow-4.0.8 26-04-2005 (without gshadow) doesn't permit to use newgrp, - newgrp(1): newgrp uses /bin/sh (not bash), - faillog(8): updated after rewritten faillog command for use getopt_long(), -- login(1): removed fragment about abilities pass enviroment variables in login prompt, +- login(1): removed fragment about abilities pass environment variables in login prompt, - gshadow(5): new file (by Nicolas Nicolas François ), - usermod(8): fixed #302388 Debian bug: added separated -o option description, @@ -1242,7 +1242,7 @@ shadow-4.0.6 -> shadow-4.0.7 26-01-2005 shadow-4.0.5 -> shadow-4.0.6 08-11-2004 -- su: fixed adding of pam_env env variables to enviroment +- su: fixed adding of pam_env env variables to environment (Martin Schlemmer ), - autoconf: fixed filling MAIL_SPOOL_DIR and MAIL_SPOOL_FILE variables which was always empty (Gregorio Guidi ), @@ -1275,7 +1275,7 @@ shadow-4.0.4.1 -> shadow-4.0.5 27-10-2004 including symlinks placed into /etc/skel/public_html for example. http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=66819 - su: add pam_open_session() support. If built without PAM support - propagate $DISPLAY and $XAUTHORITY enviroment variables. + propagate $DISPLAY and $XAUTHORITY environment variables. Based on http://www.gentoo.org/cgi-bin/viewcvs.cgi/sys-apps/shadow/files/shadow-4.0.4.1-su-pam_open_session.patch?rev=1.1 - applied 036_pam_access_with_preauth.patch Debian patch submited by Bjorn Torkelsson : add support for PAM account diff --git a/README b/README index 3c035ef6..1f79c8fa 100644 --- a/README +++ b/README @@ -17,6 +17,12 @@ are used for managing group accounts. * [Issue tracker](https://github.com/shadow-maint/shadow/issues) * [Releases](https://github.com/shadow-maint/shadow/releases) +## Code + +The main development branch is at [https://github.com/shadow-maint/shadow.git](https://github.com/shadow-maint/shadow) + +See [STABLE.md](https://github.com/shadow-maint/shadow/blob/master/STABLE.md) for a list of supported stable branches. + ## Contacts There are several ways to contact us: * [the general discussion mailing list]( @@ -31,6 +37,11 @@ There are several ways to contact us: https://alioth-lists-archive.debian.net/pipermail/pkg-shadow-commits/), only used for historical purposes +## Contributions + +Contributions are welcome. Follow the +[guidelines](doc/contributions/introduction.md) before posting any patches. + ## Authors and maintainers Authors and maintainers are listed in [AUTHORS.md]( https://github.com/shadow-maint/shadow/blob/master/AUTHORS.md). diff --git a/TODO b/TODO deleted file mode 100644 index 8783ccd1..00000000 --- a/TODO +++ /dev/null @@ -1,127 +0,0 @@ - * Create a common usage function that'd take the array of - long options and an array of descriptions and output that so things would - be standardized across the utils. - Usage strings should be normalized and split first. - Investigate optparse. - - -/etc/default/useradd - * GROUP=1000 should accept a group name. - -Check when RLOGIN is enabled if ruserok() exists - -Move selinux_file_context out of libmisc/copydir.c - -Review hardcoded root account? - -review all call to strto - -libmisc/cleanup_user.c - cleanup needed (cleanup_report_add_user* not used) - - -libxcrypt support - * http://wiki.linuxfromscratch.org/patches/browser/trunk/shadow/shadow-4.0.18.1-owl_blowfish-1.patch - -implement getlong, getulong. - avoid atoi, atol, atoul, strtol, strtoul, ... - -manpages: comment the RLOGIN parts - -Replace build_list (in lib/gshadow.c) and list (in lib/sgetgrent.c) by -comma_to_list() - -Revert the modified files if all files could not be changed. - * or warn and indicate which files were modified and which were not. - * check the order the files are modified. - -report nscd_flush_cache failures? -call nscd from the programs or from lib (commonio?) - -PAM: check if a non-interactive conversation function could be used to set -the password in chpasswd and newusers - -WITH_SELINUX - - review all tools to check that the strategies are consistent - -chage, chfn, chsh: same change needed as in passwd. - - probably need moving check_selinux_access to a separate file. - -testsuite - - newgrp - - test with unknown user's GID - -newusers - - add logging to SYSLOG & AUDIT - - use CREATE_HOME - - Add a -Z option (see useradd / usermod) - -Document when/where option appeared, document whether an option is standard -or not. - -Check all the expiry semantics - -ALL: -- move base passwd/shadow/group/gshadow operation to module for allow write - different backend modules for db, NIS, LDAP and others. Default backend it - will be goot if will be chosen depending on /etc/nsswitch.conf and allow - override this by -r options (where the can be - file, db, nis nisplus, ldap .. like on /etc/nsswitch.conf in service column). - passwd have old piece of code with handling -r option and it will be good - finish this and propagate on other shadow tools for allow operate on other - user databases by well known tools. -- Protect against signals. Register do_cleanups in a signal handler. - -- login.defs - - generate depending on configuration - -- useradd: - - add handle create user mail spool in maildir format. - - Add support for -k in -D mode - - Add support for -K in -D mode - - Add option to create or not the mail spool (and set the default in -D - mode) - - Change -l to reset the entry if an entry was already there - - set the mask in mkdir? - -- userdel: - - add backup option for the removal of user resources, - - user_busy: check that the user is not running any processes. - - missing "deleting group" FAILED - - home dir removed, but userdel may fail and may leave the user - => warning needed - -- usermod - - add an option equivalent to useradd's -l (only when uid is changed) - - the mode of new home directories should be set according to the - original mode. Does copy_tree does this? - - user renamed, order is not kept in /etc/group (see - 47_usermod-l_no_shadow_file). This is a problem when the first user is - considered as the admin. - - see mail "user ID change" on April, 15 - + fix call to chown (combination of -m and -u/-g) - + add tests - -- passwd: - - check combination of options (e.g. -u/-l) - - when -u refuse to unlock because it would create an empty password, it - should not display "Password changed." - exit instead? - -- newgrp: check the USE_PAM section. - -- pwck - - Add check to move passwd passwords to shadow if there is a shadow - entry (with a password). - - Add check to move passwd passwords to shadow if there is a shadow - file. - - Support an alternative /etc/tcb directory as second parameter. - - add options -g / -G to specify alternative group / gshadow files - -- su - - add a login.defs configuration parameter to add variables to keep in - the environment with "su -l" (TERM/TERMCOLOR/...) - -- vipw - - set ACLs and XATTRs on the temporary file (and backups?) - - vipw + selinux -> use lib/selinux.c diff --git a/aclocal.m4 b/aclocal.m4 index ea764bc6..aee8bf2f 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -20,6 +20,1192 @@ You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. 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. +# 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 + +# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE]) +# ------------------------------------------ +# DIRECTORY contains the libltdl sources. It is okay to call this +# function multiple times, as long as the same DIRECTORY is always given. +AC_DEFUN([LT_CONFIG_LTDL_DIR], +[AC_BEFORE([$0], [LTDL_INIT]) +_$0($*) +])# LT_CONFIG_LTDL_DIR + +# We break this out into a separate macro, so that we can call it safely +# internally without being caught accidentally by the sed scan in libtoolize. +m4_defun([_LT_CONFIG_LTDL_DIR], +[dnl remove trailing slashes +m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$])) +m4_case(_LTDL_DIR, + [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply '.' + m4_if(_ARG_DIR, [.], + [], + [m4_define([_LTDL_DIR], _ARG_DIR) + _LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])], + [m4_if(_ARG_DIR, _LTDL_DIR, + [], + [m4_fatal([multiple libltdl directories: ']_LTDL_DIR[', ']_ARG_DIR['])])]) +m4_popdef([_ARG_DIR]) +])# _LT_CONFIG_LTDL_DIR + +# Initialise: +m4_define([_LTDL_DIR], []) + + +# _LT_BUILD_PREFIX +# ---------------- +# If Autoconf is new enough, expand to '$(top_build_prefix)', otherwise +# to '$(top_builddir)/'. +m4_define([_LT_BUILD_PREFIX], +[m4_ifdef([AC_AUTOCONF_VERSION], + [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]), + [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX], + [$(top_build_prefix)], + [$(top_builddir)/])], + [$(top_build_prefix)])], + [$(top_builddir)/])[]dnl +]) + + +# LTDL_CONVENIENCE +# ---------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. LIBLTDL will be prefixed with +# '$(top_build_prefix)' if available, otherwise with '$(top_builddir)/', +# and LTDLINCL will be prefixed with '$(top_srcdir)/' (note the single +# quotes!). If your package is not flat and you're not using automake, +# define top_build_prefix, top_builddir, and top_srcdir appropriately +# in your Makefiles. +AC_DEFUN([LTDL_CONVENIENCE], +[AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +])# LTDL_CONVENIENCE + +# AC_LIBLTDL_CONVENIENCE accepted a directory argument in older libtools, +# now we have LT_CONFIG_LTDL_DIR: +AU_DEFUN([AC_LIBLTDL_CONVENIENCE], +[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_CONVENIENCE]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBLTDL_CONVENIENCE], []) + + +# _LTDL_CONVENIENCE +# ----------------- +# Code shared by LTDL_CONVENIENCE and LTDL_INIT([convenience]). +m4_defun([_LTDL_CONVENIENCE], +[case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; +esac +LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la" +LTDLDEPS=$LIBLTDL +LTDLINCL='-I$(top_srcdir)'"${lt_ltdl_dir+/$lt_ltdl_dir}" + +AC_SUBST([LIBLTDL]) +AC_SUBST([LTDLDEPS]) +AC_SUBST([LTDLINCL]) + +# For backwards non-gettext consistent compatibility... +INCLTDL=$LTDLINCL +AC_SUBST([INCLTDL]) +])# _LTDL_CONVENIENCE + + +# LTDL_INSTALLABLE +# ---------------- +# sets LIBLTDL to the link flags for the libltdl installable library +# and LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called from here. If an installed libltdl +# is not found, LIBLTDL will be prefixed with '$(top_build_prefix)' if +# available, otherwise with '$(top_builddir)/', and LTDLINCL will be +# prefixed with '$(top_srcdir)/' (note the single quotes!). If your +# package is not flat and you're not using automake, define top_build_prefix, +# top_builddir, and top_srcdir appropriately in your Makefiles. +# In the future, this macro may have to be called after LT_INIT. +AC_DEFUN([LTDL_INSTALLABLE], +[AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +])# LTDL_INSTALLABLE + +# AC_LIBLTDL_INSTALLABLE accepted a directory argument in older libtools, +# now we have LT_CONFIG_LTDL_DIR: +AU_DEFUN([AC_LIBLTDL_INSTALLABLE], +[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_INSTALLABLE]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBLTDL_INSTALLABLE], []) + + +# _LTDL_INSTALLABLE +# ----------------- +# Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]). +m4_defun([_LTDL_INSTALLABLE], +[if test -f "$prefix/lib/libltdl.la"; then + lt_save_LDFLAGS=$LDFLAGS + LDFLAGS="-L$prefix/lib $LDFLAGS" + AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes]) + LDFLAGS=$lt_save_LDFLAGS + if test yes = "${lt_lib_ltdl-no}"; then + if test yes != "$enable_ltdl_install"; then + # Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install + AC_MSG_WARN([not overwriting libltdl at $prefix, force with '--enable-ltdl-install']) + enable_ltdl_install=no + fi + elif test no = "$enable_ltdl_install"; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + fi +fi + +# If configure.ac declared an installable ltdl, and the user didn't override +# with --disable-ltdl-install, we will install the shipped libltdl. +case $enable_ltdl_install in + no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL=-lltdl + LTDLDEPS= + LTDLINCL= + ;; + *) enable_ltdl_install=yes + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la" + LTDLDEPS=$LIBLTDL + LTDLINCL='-I$(top_srcdir)'"${lt_ltdl_dir+/$lt_ltdl_dir}" + ;; +esac + +AC_SUBST([LIBLTDL]) +AC_SUBST([LTDLDEPS]) +AC_SUBST([LTDLINCL]) + +# For backwards non-gettext consistent compatibility... +INCLTDL=$LTDLINCL +AC_SUBST([INCLTDL]) +])# LTDL_INSTALLABLE + + +# _LTDL_MODE_DISPATCH +# ------------------- +m4_define([_LTDL_MODE_DISPATCH], +[dnl If _LTDL_DIR is '.', then we are configuring libltdl itself: +m4_if(_LTDL_DIR, [], + [], + dnl if _LTDL_MODE was not set already, the default value is 'subproject': + [m4_case(m4_default(_LTDL_MODE, [subproject]), + [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR) + _LT_SHELL_INIT([lt_dlopen_dir=$lt_ltdl_dir])], + [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir=$lt_ltdl_dir; lt_libobj_prefix=$lt_ltdl_dir/])], + [recursive], [], + [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl +dnl Be careful not to expand twice: +m4_define([$0], []) +])# _LTDL_MODE_DISPATCH + + +# _LT_LIBOBJ(MODULE_NAME) +# ----------------------- +# Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead +# of into LIBOBJS. +AC_DEFUN([_LT_LIBOBJ], [ + m4_pattern_allow([^_LT_LIBOBJS$]) + _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" +])# _LT_LIBOBJS + + +# LTDL_INIT([OPTIONS]) +# -------------------- +# Clients of libltdl can use this macro to allow the installer to +# choose between a shipped copy of the ltdl sources or a preinstalled +# version of the library. If the shipped ltdl sources are not in a +# subdirectory named libltdl, the directory name must be given by +# LT_CONFIG_LTDL_DIR. +AC_DEFUN([LTDL_INIT], +[dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +dnl We need to keep our own list of libobjs separate from our parent project, +dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while +dnl we look for our own LIBOBJs. +m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) +m4_pushdef([AC_LIBSOURCES]) + +dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: +m4_if(_LTDL_MODE, [], + [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) + m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], + [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) + +AC_ARG_WITH([included_ltdl], + [AS_HELP_STRING([--with-included-ltdl], + [use the GNU ltdl sources included here])]) + +if test yes != "$with_included_ltdl"; then + # We are not being forced to use the included libltdl sources, so + # decide whether there is a useful installed version we can use. + AC_CHECK_HEADER([ltdl.h], + [AC_CHECK_DECL([lt_dlinterface_register], + [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], + [with_included_ltdl=no], + [with_included_ltdl=yes])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT + #include ])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT] + ) +fi + +dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE +dnl was called yet, then for old times' sake, we assume libltdl is in an +dnl eponymous directory: +AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) + +AC_ARG_WITH([ltdl_include], + [AS_HELP_STRING([--with-ltdl-include=DIR], + [use the ltdl headers installed in DIR])]) + +if test -n "$with_ltdl_include"; then + if test -f "$with_ltdl_include/ltdl.h"; then : + else + AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) + fi +else + with_ltdl_include=no +fi + +AC_ARG_WITH([ltdl_lib], + [AS_HELP_STRING([--with-ltdl-lib=DIR], + [use the libltdl.la installed in DIR])]) + +if test -n "$with_ltdl_lib"; then + if test -f "$with_ltdl_lib/libltdl.la"; then : + else + AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) + fi +else + with_ltdl_lib=no +fi + +case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in + ,yes,no,no,) + m4_case(m4_default(_LTDL_TYPE, [convenience]), + [convenience], [_LTDL_CONVENIENCE], + [installable], [_LTDL_INSTALLABLE], + [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) + ;; + ,no,no,no,) + # If the included ltdl is not to be used, then use the + # preinstalled libltdl we found. + AC_DEFINE([HAVE_LTDL], [1], + [Define this if a modern libltdl is already installed]) + LIBLTDL=-lltdl + LTDLDEPS= + LTDLINCL= + ;; + ,no*,no,*) + AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) + ;; + *) with_included_ltdl=no + LIBLTDL="-L$with_ltdl_lib -lltdl" + LTDLDEPS= + LTDLINCL=-I$with_ltdl_include + ;; +esac +INCLTDL=$LTDLINCL + +# Report our decision... +AC_MSG_CHECKING([where to find libltdl headers]) +AC_MSG_RESULT([$LTDLINCL]) +AC_MSG_CHECKING([where to find libltdl library]) +AC_MSG_RESULT([$LIBLTDL]) + +_LTDL_SETUP + +dnl restore autoconf definition. +m4_popdef([AC_LIBOBJ]) +m4_popdef([AC_LIBSOURCES]) + +AC_CONFIG_COMMANDS_PRE([ + _ltdl_libobjs= + _ltdl_ltlibobjs= + 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 + _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" + _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" + done + fi + AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) + AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) +]) + +# Only expand once: +m4_define([LTDL_INIT]) +])# LTDL_INIT + +# Old names: +AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) +AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) +AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIB_LTDL], []) +dnl AC_DEFUN([AC_WITH_LTDL], []) +dnl AC_DEFUN([LT_WITH_LTDL], []) + + +# _LTDL_SETUP +# ----------- +# Perform all the checks necessary for compilation of the ltdl objects +# -- including compiler checks and header checks. This is a public +# interface mainly for the benefit of libltdl's own configure.ac, most +# other users should call LTDL_INIT instead. +AC_DEFUN([_LTDL_SETUP], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl +AC_REQUIRE([LT_SYS_MODULE_PATH])dnl +AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl +AC_REQUIRE([LT_LIB_DLLOAD])dnl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl +AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl +AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl +AC_REQUIRE([LT_FUNC_ARGZ])dnl + +m4_require([_LT_CHECK_OBJDIR])dnl +m4_require([_LT_HEADER_DLFCN])dnl +m4_require([_LT_CHECK_DLPREOPEN])dnl +m4_require([_LT_DECL_SED])dnl + +dnl Don't require this, or it will be expanded earlier than the code +dnl that sets the variables it relies on: +_LT_ENABLE_INSTALL + +dnl _LTDL_MODE specific code must be called at least once: +_LTDL_MODE_DISPATCH + +# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS +# the user used. This is so that ltdl.h can pick up the parent projects +# config.h file, The first file in AC_CONFIG_HEADERS must contain the +# definitions required by ltdl.c. +# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). +AC_CONFIG_COMMANDS_PRE([dnl +m4_pattern_allow([^LT_CONFIG_H$])dnl +m4_ifset([AH_HEADER], + [LT_CONFIG_H=AH_HEADER], + [m4_ifset([AC_LIST_HEADERS], + [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], + [])])]) +AC_SUBST([LT_CONFIG_H]) + +AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], + [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) +AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) + +m4_pattern_allow([LT_LIBEXT])dnl +AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) + +name= +eval "lt_libprefix=\"$libname_spec\"" +m4_pattern_allow([LT_LIBPREFIX])dnl +AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) + +name=ltdl +eval "LTDLOPEN=\"$libname_spec\"" +AC_SUBST([LTDLOPEN]) +])# _LTDL_SETUP + + +# _LT_ENABLE_INSTALL +# ------------------ +m4_define([_LT_ENABLE_INSTALL], +[AC_ARG_ENABLE([ltdl-install], + [AS_HELP_STRING([--enable-ltdl-install], [install libltdl])]) + +case ,$enable_ltdl_install,$enable_ltdl_convenience in + *yes*) ;; + *) enable_ltdl_convenience=yes ;; +esac + +m4_ifdef([AM_CONDITIONAL], +[AM_CONDITIONAL(INSTALL_LTDL, test no != "${enable_ltdl_install-no}") + AM_CONDITIONAL(CONVENIENCE_LTDL, test no != "${enable_ltdl_convenience-no}")]) +])# _LT_ENABLE_INSTALL + + +# LT_SYS_DLOPEN_DEPLIBS +# --------------------- +AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_CACHE_CHECK([whether deplibs are loaded by dlopen], + [lt_cv_sys_dlopen_deplibs], + [# PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + lt_cv_sys_dlopen_deplibs=unknown + case $host_os in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this 'case' here to explicitly catch those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + aix[[4-9]]*) + lt_cv_sys_dlopen_deplibs=yes + ;; + amigaos*) + case $host_cpu in + powerpc) + lt_cv_sys_dlopen_deplibs=no + ;; + esac + ;; + bitrig*) + lt_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + lt_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly*) + lt_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + lt_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + lt_cv_sys_dlopen_deplibs=yes + ;; + interix*) + lt_cv_sys_dlopen_deplibs=yes + ;; + irix[[12345]]*|irix6.[[01]]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + lt_cv_sys_dlopen_deplibs=yes + ;; + netbsd* | netbsdelf*-gnu) + lt_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + osf[[1234]]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explicitly say 'no'. + lt_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to 'yes'. Without it, it would be 'no'. + lt_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say 'yes'. + lt_cv_sys_dlopen_deplibs=yes + ;; + qnx*) + lt_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + lt_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + ]) +if test yes != "$lt_cv_sys_dlopen_deplibs"; then + AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], + [Define if the OS needs help to load dependent libraries for dlopen().]) +fi +])# LT_SYS_DLOPEN_DEPLIBS + +# Old name: +AU_ALIAS([AC_LTDL_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], []) + + +# LT_SYS_MODULE_EXT +# ----------------- +AC_DEFUN([LT_SYS_MODULE_EXT], +[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([what extension is used for runtime loadable modules], + [libltdl_cv_shlibext], +[ +module=yes +eval libltdl_cv_shlibext=$shrext_cmds +module=no +eval libltdl_cv_shrext=$shrext_cmds + ]) +if test -n "$libltdl_cv_shlibext"; then + m4_pattern_allow([LT_MODULE_EXT])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], + [Define to the extension used for runtime loadable modules, say, ".so".]) +fi +if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then + m4_pattern_allow([LT_SHARED_EXT])dnl + AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], + [Define to the shared library suffix, say, ".dylib".]) +fi +if test -n "$shared_archive_member_spec"; then + m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl + AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], + [Define to the shared archive member specification, say "(shr.o)".]) +fi +])# LT_SYS_MODULE_EXT + +# Old name: +AU_ALIAS([AC_LTDL_SHLIBEXT], [LT_SYS_MODULE_EXT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_SHLIBEXT], []) + + +# LT_SYS_MODULE_PATH +# ------------------ +AC_DEFUN([LT_SYS_MODULE_PATH], +[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([what variable specifies run-time module search path], + [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) +if test -n "$lt_cv_module_path_var"; then + m4_pattern_allow([LT_MODULE_PATH_VAR])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], + [Define to the name of the environment variable that determines the run-time module search path.]) +fi +])# LT_SYS_MODULE_PATH + +# Old name: +AU_ALIAS([AC_LTDL_SHLIBPATH], [LT_SYS_MODULE_PATH]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_SHLIBPATH], []) + + +# LT_SYS_DLSEARCH_PATH +# -------------------- +AC_DEFUN([LT_SYS_DLSEARCH_PATH], +[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([for the default library search path], + [lt_cv_sys_dlsearch_path], + [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) +if test -n "$lt_cv_sys_dlsearch_path"; then + sys_dlsearch_path= + for dir in $lt_cv_sys_dlsearch_path; do + if test -z "$sys_dlsearch_path"; then + sys_dlsearch_path=$dir + else + sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir + fi + done + m4_pattern_allow([LT_DLSEARCH_PATH])dnl + AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], + [Define to the system default library search path.]) +fi +])# LT_SYS_DLSEARCH_PATH + +# Old name: +AU_ALIAS([AC_LTDL_SYSSEARCHPATH], [LT_SYS_DLSEARCH_PATH]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_SYSSEARCHPATH], []) + + +# _LT_CHECK_DLPREOPEN +# ------------------- +m4_defun([_LT_CHECK_DLPREOPEN], +[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen], + [libltdl_cv_preloaded_symbols], + [if test -n "$lt_cv_sys_global_symbol_pipe"; then + libltdl_cv_preloaded_symbols=yes + else + libltdl_cv_preloaded_symbols=no + fi + ]) +if test yes = "$libltdl_cv_preloaded_symbols"; then + AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1], + [Define if libtool can extract symbol lists from object files.]) +fi +])# _LT_CHECK_DLPREOPEN + + +# LT_LIB_DLLOAD +# ------------- +AC_DEFUN([LT_LIB_DLLOAD], +[m4_pattern_allow([^LT_DLLOADERS$]) +LT_DLLOADERS= +AC_SUBST([LT_DLLOADERS]) + +AC_LANG_PUSH([C]) +lt_dlload_save_LIBS=$LIBS + +LIBADD_DLOPEN= +AC_SEARCH_LIBS([dlopen], [dl], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl + fi + libltdl_cv_lib_dl_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H +# include +#endif + ]], [[dlopen(0, 0);]])], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_CHECK_LIB([svld], [dlopen], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" +then + lt_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + AC_CHECK_FUNCS([dlerror]) + LIBS=$lt_save_LIBS +fi +AC_SUBST([LIBADD_DLOPEN]) + +LIBADD_SHL_LOAD= +AC_CHECK_FUNC([shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], + [AC_CHECK_LIB([dld], [shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" + LIBADD_SHL_LOAD=-ldld])]) +AC_SUBST([LIBADD_SHL_LOAD]) + +case $host_os in +darwin[[1567]].*) +# We only want this for pre-Mac OS X 10.4. + AC_CHECK_FUNC([_dyld_func_lookup], + [AC_DEFINE([HAVE_DYLD], [1], + [Define if you have the _dyld_func_lookup function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) + ;; +beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +cygwin* | mingw* | pw32*) + AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +esac + +AC_CHECK_LIB([dld], [dld_link], + [AC_DEFINE([HAVE_DLD], [1], + [Define if you have the GNU dld library.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) +AC_SUBST([LIBADD_DLD_LINK]) + +m4_pattern_allow([^LT_DLPREOPEN$]) +LT_DLPREOPEN= +if test -n "$LT_DLLOADERS" +then + for lt_loader in $LT_DLLOADERS; do + LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " + done + AC_DEFINE([HAVE_LIBDLLOADER], [1], + [Define if libdlloader will be built on this platform]) +fi +AC_SUBST([LT_DLPREOPEN]) + +dnl This isn't used anymore, but set it for backwards compatibility +LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" +AC_SUBST([LIBADD_DL]) + +LIBS=$lt_dlload_save_LIBS +AC_LANG_POP +])# LT_LIB_DLLOAD + +# Old name: +AU_ALIAS([AC_LTDL_DLLIB], [LT_LIB_DLLOAD]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_DLLIB], []) + + +# LT_SYS_SYMBOL_USCORE +# -------------------- +# does the compiler prefix global symbols with an underscore? +AC_DEFUN([LT_SYS_SYMBOL_USCORE], +[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +AC_CACHE_CHECK([for _ prefix in compiled symbols], + [lt_cv_sys_symbol_underscore], + [lt_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <<_LT_EOF +void nm_test_func(){} +int main(){nm_test_func;return 0;} +_LT_EOF + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + lt_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.c >&AS_MESSAGE_LOG_FD + fi + rm -rf conftest* + ]) + sys_symbol_underscore=$lt_cv_sys_symbol_underscore + AC_SUBST([sys_symbol_underscore]) +])# LT_SYS_SYMBOL_USCORE + +# Old name: +AU_ALIAS([AC_LTDL_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], []) + + +# LT_FUNC_DLSYM_USCORE +# -------------------- +AC_DEFUN([LT_FUNC_DLSYM_USCORE], +[AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext +if test yes = "$lt_cv_sys_symbol_underscore"; then + if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then + AC_CACHE_CHECK([whether we have to add an underscore for dlsym], + [libltdl_cv_need_uscore], + [libltdl_cv_need_uscore=unknown + dlsym_uscore_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + libname=conftmod # stay within 8.3 filename limits! + cat >$libname.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; }] +_LT_EOF + + # ltfn_module_cmds module_cmds + # Execute tilde-delimited MODULE_CMDS with environment primed for + # $module_cmds or $archive_cmds type content. + ltfn_module_cmds () + {( # subshell avoids polluting parent global environment + module_cmds_save_ifs=$IFS; IFS='~' + for cmd in @S|@1; do + IFS=$module_cmds_save_ifs + libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext + rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. + major=; versuffix=; verstring=; deplibs= + ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= + eval $cmd + done + IFS=$module_cmds_save_ifs + )} + + # Compile a loadable module using libtool macro expansion results. + $CC $pic_flag -c $libname.$ac_ext + ltfn_module_cmds "${module_cmds:-$archive_cmds}" + + # Try to fetch fnord with dlsym(). + libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 + cat >conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include +#endif +#include +#ifndef RTLD_GLOBAL +# ifdef DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL +# else +# define RTLD_GLOBAL 0 +# endif +#endif +#ifndef RTLD_NOW +# ifdef DL_NOW +# define RTLD_NOW DL_NOW +# else +# define RTLD_NOW 0 +# endif +#endif +int main () { + void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); + int status = $libltdl_dlunknown; + if (handle) { + if (dlsym (handle, "fnord")) + status = $libltdl_dlnouscore; + else { + if (dlsym (handle, "_fnord")) + status = $libltdl_dluscore; + else + puts (dlerror ()); + } + dlclose (handle); + } else + puts (dlerror ()); + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + libltdl_status=$? + case x$libltdl_status in + x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; + x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; + x*) libltdl_cv_need_uscore=unknown ;; + esac + fi + rm -rf conftest* $libname* + LIBS=$dlsym_uscore_save_LIBS + ]) + fi +fi + +if test yes = "$libltdl_cv_need_uscore"; then + AC_DEFINE([NEED_USCORE], [1], + [Define if dlsym() requires a leading underscore in symbol names.]) +fi +])# LT_FUNC_DLSYM_USCORE + +# Old name: +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 12 (pkg-config-0.29.2) + +dnl Copyright © 2004 Scott James Remnant . +dnl Copyright © 2012-2015 Dan Nicholson +dnl +dnl This program is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl This program is distributed in the hope that it will be useful, but +dnl WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program; if not, write to the Free Software +dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +dnl 02111-1307, USA. +dnl +dnl As a special exception to the GNU General Public License, if you +dnl distribute this file as part of a program that contains a +dnl configuration script generated by Autoconf, you may include it under +dnl the same distribution terms that you use for the rest of that +dnl program. + +dnl PKG_PREREQ(MIN-VERSION) +dnl ----------------------- +dnl Since: 0.29 +dnl +dnl Verify that the version of the pkg-config macros are at least +dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's +dnl installed version of pkg-config, this checks the developer's version +dnl of pkg.m4 when generating configure. +dnl +dnl To ensure that this macro is defined, also add: +dnl m4_ifndef([PKG_PREREQ], +dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) +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.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 + +dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) +dnl ---------------------------------- +dnl Since: 0.16 +dnl +dnl Search for the pkg-config tool and set the PKG_CONFIG variable to +dnl first found in the path. Checks that the version of pkg-config found +dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is +dnl used since that's the first version where most current features of +dnl pkg-config existed. +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi +fi[]dnl +])dnl PKG_PROG_PKG_CONFIG + +dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ------------------------------------------------------------------- +dnl Since: 0.18 +dnl +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 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], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_default([$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + +dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +dnl --------------------------------------------- +dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting +dnl pkg_failed based on the result. +m4_define([_PKG_CONFIG], +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes ], + [pkg_failed=yes]) + else + pkg_failed=untried +fi[]dnl +])dnl _PKG_CONFIG + +dnl _PKG_SHORT_ERRORS_SUPPORTED +dnl --------------------------- +dnl Internal check to see if pkg-config supports short errors. +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])dnl _PKG_SHORT_ERRORS_SUPPORTED + + +dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +dnl [ACTION-IF-NOT-FOUND]) +dnl -------------------------------------------------------------- +dnl Since: 0.4.0 +dnl +dnl Note that if there is a possibility the first call to +dnl PKG_CHECK_MODULES might not happen, you should be sure to include an +dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +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 $2]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +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]) + _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` + fi + # 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( +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +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( +[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. + +_PKG_TEXT + +To get pkg-config, see .])[]dnl + ]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + $3 +fi[]dnl +])dnl PKG_CHECK_MODULES + + +dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +dnl [ACTION-IF-NOT-FOUND]) +dnl --------------------------------------------------------------------- +dnl Since: 0.29 +dnl +dnl Checks for existence of MODULES and gathers its build flags with +dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags +dnl and VARIABLE-PREFIX_LIBS from --libs. +dnl +dnl Note that if there is a possibility the first call to +dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to +dnl include an explicit call to PKG_PROG_PKG_CONFIG in your +dnl configure.ac. +AC_DEFUN([PKG_CHECK_MODULES_STATIC], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +_save_PKG_CONFIG=$PKG_CONFIG +PKG_CONFIG="$PKG_CONFIG --static" +PKG_CHECK_MODULES($@) +PKG_CONFIG=$_save_PKG_CONFIG[]dnl +])dnl PKG_CHECK_MODULES_STATIC + + +dnl PKG_INSTALLDIR([DIRECTORY]) +dnl ------------------------- +dnl Since: 0.27 +dnl +dnl Substitutes the variable pkgconfigdir as the location where a module +dnl should install pkg-config .pc files. By default the directory is +dnl $libdir/pkgconfig, but the default can be changed by passing +dnl DIRECTORY. The user can override through the --with-pkgconfigdir +dnl parameter. +AC_DEFUN([PKG_INSTALLDIR], +[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) +m4_pushdef([pkg_description], + [pkg-config installation directory @<:@]pkg_default[@:>@]) +AC_ARG_WITH([pkgconfigdir], + [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, + [with_pkgconfigdir=]pkg_default) +AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) +m4_popdef([pkg_default]) +m4_popdef([pkg_description]) +])dnl PKG_INSTALLDIR + + +dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) +dnl -------------------------------- +dnl Since: 0.27 +dnl +dnl Substitutes the variable noarch_pkgconfigdir as the location where a +dnl module should install arch-independent pkg-config .pc files. By +dnl default the directory is $datadir/pkgconfig, but the default can be +dnl changed by passing DIRECTORY. The user can override through the +dnl --with-noarch-pkgconfigdir parameter. +AC_DEFUN([PKG_NOARCH_INSTALLDIR], +[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) +m4_pushdef([pkg_description], + [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) +AC_ARG_WITH([noarch-pkgconfigdir], + [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, + [with_noarch_pkgconfigdir=]pkg_default) +AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) +m4_popdef([pkg_default]) +m4_popdef([pkg_description]) +])dnl PKG_NOARCH_INSTALLDIR + + +dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, +dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +dnl ------------------------------------------- +dnl Since: 0.28 +dnl +dnl Retrieves the value of the pkg-config variable for the given module. +AC_DEFUN([PKG_CHECK_VAR], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl + +_PKG_CONFIG([$1], [variable="][$3]["], [$2]) +AS_VAR_COPY([$1], [pkg_cv_][$1]) + +AS_VAR_IF([$1], [""], [$5], [$4])dnl +])dnl PKG_CHECK_VAR + # Copyright (C) 2002-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation diff --git a/config.h.in b/config.h.in index 99908686..37a15b30 100644 --- a/config.h.in +++ b/config.h.in @@ -4,6 +4,12 @@ authenticate the callers */ #undef ACCT_TOOLS_SETUID +/* Define to support lastlog. */ +#undef ENABLE_LASTLOG + +/* Define to manage session support with logind. */ +#undef ENABLE_LOGIND + /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS @@ -54,6 +60,10 @@ */ #undef HAVE_DCGETTEXT +/* Define to 1 if you have the declaration of `cygwin_conv_path', and to 0 if + you don't. */ +#undef HAVE_DECL_CYGWIN_CONV_PATH + /* Define to 1 if you have the declaration of `PAM_DATA_SILENT', and to 0 if you don't. */ #undef HAVE_DECL_PAM_DATA_SILENT @@ -70,26 +80,23 @@ if you don't. */ #undef HAVE_DECL_PAM_NEW_AUTHTOK_REQD +/* Define if you have the GNU dld library. */ +#undef HAVE_DLD + +/* Define to 1 if you have the `dlerror' function. */ +#undef HAVE_DLERROR + /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H -/* Define to 1 if you have the header file. */ -#undef HAVE_ERRNO_H +/* Define if you have the _dyld_func_lookup function. */ +#undef HAVE_DYLD /* Define to 1 if you have the `explicit_bzero' function. */ #undef HAVE_EXPLICIT_BZERO -/* Define to 1 if you have the `fchmod' function. */ -#undef HAVE_FCHMOD - -/* Define to 1 if you have the `fchown' function. */ -#undef HAVE_FCHOWN - -/* Define to 1 if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the `fsync' function. */ -#undef HAVE_FSYNC +/* 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 @@ -97,18 +104,6 @@ /* Define to 1 if you have the `getentropy' function. */ #undef HAVE_GETENTROPY -/* Define to 1 if you have the `getgrgid_r' function. */ -#undef HAVE_GETGRGID_R - -/* Define to 1 if you have the `getgrnam_r' function. */ -#undef HAVE_GETGRNAM_R - -/* Define to 1 if you have the `getpwnam_r' function. */ -#undef HAVE_GETPWNAM_R - -/* Define to 1 if you have the `getpwuid_r' function. */ -#undef HAVE_GETPWUID_R - /* Define to 1 if you have the `getrandom' function. */ #undef HAVE_GETRANDOM @@ -124,9 +119,6 @@ /* Define to 1 if you have the `getusershell' function. */ #undef HAVE_GETUSERSHELL -/* Define to 1 if you have the `getutent' function. */ -#undef HAVE_GETUTENT - /* Define to 1 if you have the header file. */ #undef HAVE_GSHADOW_H @@ -142,26 +134,17 @@ /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the `l64a' function. */ -#undef HAVE_L64A - /* Define to 1 if you have the header file. */ #undef HAVE_LASTLOG_H /* Define to 1 if you have the `lckpwdf' function. */ #undef HAVE_LCKPWDF -/* Defined if you have libcrack. */ -#undef HAVE_LIBCRACK +/* Define if you have the libdl library or equivalent. */ +#undef HAVE_LIBDL -/* Defined if you have the ts&szs cracklib. */ -#undef HAVE_LIBCRACK_HIST - -/* Defined if it includes *Pw functions. */ -#undef HAVE_LIBCRACK_PW - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIMITS_H +/* Define if libdlloader will be built on this platform */ +#undef HAVE_LIBDLLOADER /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_BTRFS_TREE_H @@ -172,24 +155,15 @@ /* Define if struct lastlog has ll_host */ #undef HAVE_LL_HOST -/* Define to 1 if you have the header file. */ -#undef HAVE_LOCALE_H - /* Define to 1 if you have the `lutimes' function. */ #undef HAVE_LUTIMES -/* Define to 1 if you have the `memset_s' function. */ -#undef HAVE_MEMSET_S +/* Define to 1 if you have the `memset_explicit' function. */ +#undef HAVE_MEMSET_EXPLICIT /* Define to 1 if you have the header file. */ #undef HAVE_MINIX_CONFIG_H -/* Define to 1 if you have the `mkdir' function. */ -#undef HAVE_MKDIR - -/* Define to 1 if you have the header file. */ -#undef HAVE_NETDB_H - /* Define to 1 if you have the header file. */ #undef HAVE_PATHS_H @@ -202,15 +176,15 @@ /* Define to 1 if you have the `putspent' function. */ #undef HAVE_PUTSPENT -/* Define to 1 if you have the `rename' function. */ -#undef HAVE_RENAME - -/* Define to 1 if you have the `rmdir' function. */ -#undef HAVE_RMDIR +/* Define to 1 if you have the header file. */ +#undef HAVE_READPASSPHRASE_H /* Define to 1 if you have the header file. */ #undef HAVE_RPC_KEY_PROT_H +/* Define to 1 if you have the `rpmatch' function. */ +#undef HAVE_RPMATCH + /* Define to 1 if you have the header file. */ #undef HAVE_SECURITY_OPENPAM_H @@ -241,11 +215,8 @@ /* Have working shadow group support in libc */ #undef HAVE_SHADOWGRP -/* Define to 1 if you have the `snprintf' function. */ -#undef HAVE_SNPRINTF - -/* Define to 1 if stdbool.h conforms to C99. */ -#undef HAVE_STDBOOL_H +/* Define if you have the shl_load function. */ +#undef HAVE_SHL_LOAD /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H @@ -256,14 +227,11 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H -/* Define to 1 if you have the `strcasecmp' function. */ -#undef HAVE_STRCASECMP +/* Define to 1 if you have the `stpecpy' function. */ +#undef HAVE_STPECPY -/* Define to 1 if you have the `strdup' function. */ -#undef HAVE_STRDUP - -/* Define to 1 if you have the `strerror' function. */ -#undef HAVE_STRERROR +/* Define to 1 if you have the `stpeprintf' function. */ +#undef HAVE_STPEPRINTF /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H @@ -271,21 +239,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if `st_atim' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIM - -/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIMENSEC - -/* Define to 1 if `st_mtim' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_MTIM - -/* Define to 1 if `st_mtimensec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_MTIMENSEC - /* Define to 1 if `ut_addr' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_ADDR @@ -307,42 +260,6 @@ /* Define to 1 if `ut_xtime' is a member of `struct utmpx'. */ #undef HAVE_STRUCT_UTMPX_UT_XTIME -/* Define to 1 if `ut_addr' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_ADDR - -/* Define to 1 if `ut_addr_v6' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_ADDR_V6 - -/* Define to 1 if `ut_host' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_HOST - -/* Define to 1 if `ut_id' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_ID - -/* Define to 1 if `ut_name' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_NAME - -/* Define to 1 if `ut_syslen' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_SYSLEN - -/* Define to 1 if `ut_time' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_TIME - -/* Define to 1 if `ut_tv' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_TV - -/* Define to 1 if `ut_type' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_TYPE - -/* Define to 1 if `ut_user' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_USER - -/* Define to 1 if `ut_xtime' is a member of `struct utmp'. */ -#undef HAVE_STRUCT_UTMP_UT_XTIME - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYSLOG_H - /* Define to 1 if you have the header file. */ #undef HAVE_SYS_CAPABILITY_H @@ -352,39 +269,24 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_RANDOM_H -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_RESOURCE_H - /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STATFS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TIME_H - /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_TCB_H -/* Define to 1 if you have the header file. */ -#undef HAVE_TERMIOS_H - /* Define to 1 if you have the header file. */ #undef HAVE_TERMIO_H -/* Define to 1 if you have the header file. */ -#undef HAVE_ULIMIT_H - /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Define to 1 if you have the `updwtmp' function. */ -#undef HAVE_UPDWTMP - /* Define to 1 if you have the `updwtmpx' function. */ #undef HAVE_UPDWTMPX @@ -394,18 +296,15 @@ /* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */ #undef HAVE_UTIME_NULL -/* Define to 1 if you have the header file. */ -#undef HAVE_UTMPX_H - /* Define to 1 if you have the header file. */ #undef HAVE_UTMP_H +/* Define to support vendor settings. */ +#undef HAVE_VENDORDIR + /* Define to 1 if you have the header file. */ #undef HAVE_WCHAR_H -/* Define to 1 if the system has the type `_Bool'. */ -#undef HAVE__BOOL - /* Path for lastlog file. */ #undef LASTLOG_FILE @@ -477,9 +376,6 @@ /* Define to support /etc/suauth su access control. */ #undef SU_ACCESS -/* Define to 1 if your declares `struct tm'. */ -#undef TM_IN_SYS_TIME - /* Define to allow the bcrypt password encryption algorithm */ #undef USE_BCRYPT @@ -495,9 +391,6 @@ /* Define to support flushing of sssd caches */ #undef USE_SSSD -/* Define to use syslog(). */ -#undef USE_SYSLOG - /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE @@ -586,12 +479,12 @@ #endif -/* Define if utmpx should be used */ -#undef USE_UTMPX - /* Define to allow the yescrypt password encryption algorithm */ #undef USE_YESCRYPT +/* Directory for distribution provided configuration files */ +#undef VENDORDIR + /* Version number of package */ #undef VERSION @@ -607,6 +500,9 @@ /* Build shadow with BtrFS support */ #undef WITH_BTRFS +/* Build shadow without libbsd support */ +#undef WITH_LIBBSD + /* Build shadow with SELinux support */ #undef WITH_SELINUX diff --git a/configure b/configure index 58c90c10..27940b96 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.13. +# Generated by GNU Autoconf 2.71 for shadow 4.15.1. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='shadow' PACKAGE_TARNAME='shadow' -PACKAGE_VERSION='4.13' -PACKAGE_STRING='shadow 4.13' +PACKAGE_VERSION='4.15.1' +PACKAGE_STRING='shadow 4.15.1' PACKAGE_BUGREPORT='pkg-shadow-devel@lists.alioth.debian.org' PACKAGE_URL='https://github.com/shadow-maint/shadow' @@ -681,6 +681,10 @@ GMSGFMT MSGFMT GETTEXT_MACRO_VERSION USE_NLS +HAVE_CMOCKA_FALSE +HAVE_CMOCKA_TRUE +CMOCKA_LIBS +CMOCKA_CFLAGS LIBMD LIBSKEY capcmd @@ -698,12 +702,24 @@ LIBSEMANAGE LIBSELINUX WITH_BTRFS_FALSE WITH_BTRFS_TRUE -LIBCRACK LIBAUDIT LIBATTR LIBACL +WITH_LIBBSD_FALSE +WITH_LIBBSD_TRUE +LIBBSD_LIBS +LIBBSD_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +LIBBSD LIYESCRYPT LIBCRYPT +ENABLE_LOGIND_FALSE +ENABLE_LOGIND_TRUE +LIBSYSTEMD +ENABLE_LASTLOG_FALSE +ENABLE_LASTLOG_TRUE ENABLE_SUBIDS_FALSE ENABLE_SUBIDS_TRUE ENABLE_REGENERATE_MAN_FALSE @@ -729,6 +745,12 @@ USE_SHA_CRYPT_TRUE GROUP_NAME_MAX_LENGTH LIBOBJS CPP +LIBADD_DL +LT_DLPREOPEN +LIBADD_DLD_LINK +LIBADD_SHL_LOAD +LIBADD_DLOPEN +LT_DLLOADERS LT_SYS_LIBRARY_PATH OTOOL64 OTOOL @@ -872,8 +894,9 @@ enable_largefile enable_shadowgrp enable_man enable_account_tools_setuid -enable_utmpx enable_subordinate_ids +enable_lastlog +enable_logind with_audit with_libpam with_btrfs @@ -882,7 +905,6 @@ with_acl with_attr with_skey with_tcb -with_libcrack with_sha_crypt with_bcrypt with_yescrypt @@ -890,6 +912,7 @@ with_nscd with_sssd with_group_name_max_length with_su +with_libbsd enable_vendordir with_xml_catalog with_fcaps @@ -909,7 +932,14 @@ CPPFLAGS YACC YFLAGS LT_SYS_LIBRARY_PATH -CPP' +CPP +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +LIBBSD_CFLAGS +LIBBSD_LIBS +CMOCKA_CFLAGS +CMOCKA_LIBS' # Initialize some variables set by options. @@ -1458,7 +1488,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.13 to adapt to many kinds of systems. +\`configure' configures shadow 4.15.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1529,7 +1559,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of shadow 4.13:";; + short | recursive ) echo "Configuration of shadow 4.15.1:";; esac cat <<\_ACEOF @@ -1558,9 +1588,10 @@ Optional Features: Install the user and group management tools setuid and authenticate the callers. This requires --with-libpam. - --enable-utmpx enable loggin in utmpx / wtmpx [default=no] --enable-subordinate-ids support subordinate ids [default=yes] + --enable-lastlog enable lastlog [default=no] + --enable-logind enable logind [default=yes] --enable-vendordir=DIR Directory for distribution provided configuration files --disable-nls do not use Native Language Support @@ -1586,7 +1617,6 @@ Optional Packages: found] --with-skey use S/Key support [default=no] --with-tcb use tcb support (incomplete) [default=yes if found] - --with-libcrack use libcrack [default=no] --with-sha-crypt allow the SHA256 and SHA512 password encryption algorithms [default=yes] --with-bcrypt allow the bcrypt password encryption algorithm @@ -1600,6 +1630,7 @@ Optional Packages: set max group name length [default=32] --with-su build and install su program and man page [default=yes] + --with-libbsd use libbsd support [default=yes if found] --with-xml-catalog=CATALOG path to xml catalog to use --with-fcaps use file capabilities instead of suid binaries for @@ -1627,6 +1658,17 @@ Some influential environment variables: LT_SYS_LIBRARY_PATH User-defined run-time library search path. CPP C preprocessor + PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path + LIBBSD_CFLAGS + C compiler flags for LIBBSD, overriding pkg-config + LIBBSD_LIBS linker flags for LIBBSD, overriding pkg-config + CMOCKA_CFLAGS + C compiler flags for CMOCKA, overriding pkg-config + CMOCKA_LIBS linker flags for CMOCKA, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -1696,7 +1738,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -shadow configure 4.13 +shadow configure 4.15.1 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1891,62 +1933,57 @@ printf "%s\n" "$ac_res" >&6; } } # ac_fn_c_check_func -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () +# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR +# ------------------------------------------------------------------ +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR. +ac_fn_check_decl () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -printf %s "checking for $2... " >&6; } + as_decl_name=`echo $2|sed 's/ *(.*//'` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +printf %s "checking whether $as_decl_name is declared... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 else $as_nop - eval "$3=no" + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + eval ac_save_FLAGS=\$$6 + as_fn_append $6 " $5" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main (void) { -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main (void) -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif +#endif -else $as_nop + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : eval "$3=yes" +else $as_nop + eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + eval $6=\$ac_save_FLAGS + fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -} # ac_fn_c_check_type +} # ac_fn_check_decl # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES # ---------------------------------------------------- @@ -2277,58 +2314,6 @@ rm -f conftest.val as_fn_set_status $ac_retval } # ac_fn_c_compute_int - -# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR -# ------------------------------------------------------------------ -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR. -ac_fn_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -printf %s "checking whether $as_decl_name is declared... " >&6; } -if eval test \${$3+y} -then : - printf %s "(cached) " >&6 -else $as_nop - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - eval ac_save_FLAGS=\$$6 - as_fn_append $6 " $5" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main (void) -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$3=yes" -else $as_nop - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - eval $6=\$ac_save_FLAGS - -fi -eval ac_res=\$$3 - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_check_decl ac_configure_args_raw= for ac_arg do @@ -2353,7 +2338,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.13, which was +It was created by shadow $as_me 4.15.1, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3626,7 +3611,7 @@ fi # Define the identity of the package. PACKAGE='shadow' - VERSION='4.13' + VERSION='4.15.1' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -14226,128 +14211,50 @@ CC=$lt_save_CC # Only expand once: - - -ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = xyes -then : - -printf "%s\n" "#define HAVE__BOOL 1" >>confdefs.h - - -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 -printf %s "checking for stdbool.h that conforms to C99... " >&6; } -if test ${ac_cv_header_stdbool_h+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 +printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } +if test ${ac_cv_c_undeclared_builtin_options+y} then : printf %s "(cached) " >&6 else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ac_save_CFLAGS=$CFLAGS + ac_cv_c_undeclared_builtin_options='cannot detect' + for ac_arg in '' -fno-builtin; do + CFLAGS="$ac_save_CFLAGS $ac_arg" + # This test program should *not* compile successfully. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - - #ifndef __bool_true_false_are_defined - #error "__bool_true_false_are_defined is not defined" - #endif - char a[__bool_true_false_are_defined == 1 ? 1 : -1]; - - /* Regardless of whether this is C++ or "_Bool" is a - valid type name, "true" and "false" should be usable - in #if expressions and integer constant expressions, - and "bool" should be a valid type name. */ - - #if !true - #error "'true' is not true" - #endif - #if true != 1 - #error "'true' is not equal to 1" - #endif - char b[true == 1 ? 1 : -1]; - char c[true]; - - #if false - #error "'false' is not false" - #endif - #if false != 0 - #error "'false' is not equal to 0" - #endif - char d[false == 0 ? 1 : -1]; - - enum { e = false, f = true, g = false * true, h = true * 256 }; - - char i[(bool) 0.5 == true ? 1 : -1]; - char j[(bool) 0.0 == false ? 1 : -1]; - char k[sizeof (bool) > 0 ? 1 : -1]; - - struct sb { bool s: 1; bool t; } s; - char l[sizeof s.t > 0 ? 1 : -1]; - - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - bool m[h]; - char n[sizeof m == h * sizeof m[0] ? 1 : -1]; - char o[-1 - (bool) 0 < 0 ? 1 : -1]; - /* Catch a bug in an HP-UX C compiler. See - https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - https://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - bool p = true; - bool *pp = &p; - - /* C 1999 specifies that bool, true, and false are to be - macros, but C++ 2011 and later overrule this. */ - #if __cplusplus < 201103 - #ifndef bool - #error "bool is not defined" - #endif - #ifndef false - #error "false is not defined" - #endif - #ifndef true - #error "true is not defined" - #endif - #endif - - /* If _Bool is available, repeat with it all the tests - above that used bool. */ - #ifdef HAVE__BOOL - struct sB { _Bool s: 1; _Bool t; } t; - - char q[(_Bool) 0.5 == true ? 1 : -1]; - char r[(_Bool) 0.0 == false ? 1 : -1]; - char u[sizeof (_Bool) > 0 ? 1 : -1]; - char v[sizeof t.t > 0 ? 1 : -1]; - - _Bool w[h]; - char x[sizeof m == h * sizeof m[0] ? 1 : -1]; - char y[-1 - (_Bool) 0 < 0 ? 1 : -1]; - _Bool z = true; - _Bool *pz = &p; - #endif int main (void) { +(void) strchr; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : - bool ps = &s; - *pp |= p; - *pp |= ! p; +else $as_nop + # This test program should compile successfully. + # No library function is consistently available on + # freestanding implementations, so test against a dummy + # declaration. Include always-available headers on the + # off chance that they somehow elicit warnings. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +extern void ac_decl (int, char *); - #ifdef HAVE__BOOL - _Bool pt = &t; - *pz |= z; - *pz |= ! z; - #endif - - /* Refer to every declared value, so they cannot be - discarded as unused. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !j + !k - + !l + !m + !n + !o + !p + !pp + !ps - #ifdef HAVE__BOOL - + !q + !r + !u + !v + !w + !x + !y + !z + !pt - #endif - ); +int +main (void) +{ +(void) ac_decl (0, (char *) 0); + (void) ac_decl; ; return 0; @@ -14355,20 +14262,356 @@ main (void) _ACEOF if ac_fn_c_try_compile "$LINENO" then : - ac_cv_header_stdbool_h=yes + if test x"$ac_arg" = x +then : + ac_cv_c_undeclared_builtin_options='none needed' else $as_nop - ac_cv_header_stdbool_h=no + ac_cv_c_undeclared_builtin_options=$ac_arg +fi + break fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 -printf "%s\n" "$ac_cv_header_stdbool_h" >&6; } - -if test $ac_cv_header_stdbool_h = yes; then - -printf "%s\n" "#define HAVE_STDBOOL_H 1" >>confdefs.h +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done + CFLAGS=$ac_save_CFLAGS fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 +printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; } + case $ac_cv_c_undeclared_builtin_options in #( + 'cannot detect') : + { { 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 $? "cannot make $CC report undeclared builtins +See \`config.log' for more details" "$LINENO" 5; } ;; #( + 'none needed') : + ac_c_undeclared_builtin_options='' ;; #( + *) : + ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;; +esac + + +LT_DLLOADERS= + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +lt_dlload_save_LIBS=$LIBS + +LIBADD_DLOPEN= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 +printf %s "checking for library containing dlopen... " >&6; } +if test ${ac_cv_search_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dl +do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO" +then : + ac_cv_search_dlopen=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_dlopen+y} +then : + break +fi +done +if test ${ac_cv_search_dlopen+y} +then : + +else $as_nop + ac_cv_search_dlopen=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlopen" >&5 +printf "%s\n" "$ac_cv_search_dlopen" >&6; } +ac_res=$ac_cv_search_dlopen +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +printf "%s\n" "#define HAVE_LIBDL 1" >>confdefs.h + + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl + fi + libltdl_cv_lib_dl_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if HAVE_DLFCN_H +# include +#endif + +int +main (void) +{ +dlopen(0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + +printf "%s\n" "#define HAVE_LIBDL 1" >>confdefs.h + + libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +printf %s "checking for dlopen in -lsvld... " >&6; } +if test ${ac_cv_lib_svld_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_svld_dlopen=yes +else $as_nop + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes +then : + +printf "%s\n" "#define HAVE_LIBDL 1" >>confdefs.h + + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la" +fi + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi + +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" +then + lt_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + ac_fn_c_check_func "$LINENO" "dlerror" "ac_cv_func_dlerror" +if test "x$ac_cv_func_dlerror" = xyes +then : + printf "%s\n" "#define HAVE_DLERROR 1" >>confdefs.h + +fi + + LIBS=$lt_save_LIBS +fi + + +LIBADD_SHL_LOAD= +ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes +then : + +printf "%s\n" "#define HAVE_SHL_LOAD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +printf %s "checking for shl_load in -ldld... " >&6; } +if test ${ac_cv_lib_dld_shl_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char shl_load (); +int +main (void) +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dld_shl_load=yes +else $as_nop + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes +then : + +printf "%s\n" "#define HAVE_SHL_LOAD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" + LIBADD_SHL_LOAD=-ldld +fi + +fi + + + +case $host_os in +darwin[1567].*) +# We only want this for pre-Mac OS X 10.4. + ac_fn_c_check_func "$LINENO" "_dyld_func_lookup" "ac_cv_func__dyld_func_lookup" +if test "x$ac_cv_func__dyld_func_lookup" = xyes +then : + +printf "%s\n" "#define HAVE_DYLD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la" +fi + + ;; +beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +cygwin* | mingw* | pw32*) + ac_fn_check_decl "$LINENO" "cygwin_conv_path" "ac_cv_have_decl_cygwin_conv_path" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_cygwin_conv_path" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_CYGWIN_CONV_PATH $ac_have_decl" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +printf %s "checking for dld_link in -ldld... " >&6; } +if test ${ac_cv_lib_dld_dld_link+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dld_link (); +int +main (void) +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dld_dld_link=yes +else $as_nop + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes +then : + +printf "%s\n" "#define HAVE_DLD 1" >>confdefs.h + + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la" +fi + + + + +LT_DLPREOPEN= +if test -n "$LT_DLLOADERS" +then + for lt_loader in $LT_DLLOADERS; do + LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " + done + +printf "%s\n" "#define HAVE_LIBDLLOADER 1" >>confdefs.h + +fi + + +LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" + + +LIBS=$lt_dlload_save_LIBS +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ac_fn_c_check_header_compile "$LINENO" "crypt.h" "ac_cv_header_crypt_h" "$ac_includes_default" @@ -14376,54 +14619,12 @@ if test "x$ac_cv_header_crypt_h" = xyes then : printf "%s\n" "#define HAVE_CRYPT_H 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "errno.h" "ac_cv_header_errno_h" "$ac_includes_default" -if test "x$ac_cv_header_errno_h" = xyes -then : - printf "%s\n" "#define HAVE_ERRNO_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default" -if test "x$ac_cv_header_fcntl_h" = xyes -then : - printf "%s\n" "#define HAVE_FCNTL_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default" -if test "x$ac_cv_header_limits_h" = xyes -then : - printf "%s\n" "#define HAVE_LIMITS_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" -if test "x$ac_cv_header_unistd_h" = xyes -then : - printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_time_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_TIME_H 1" >>confdefs.h - fi ac_fn_c_check_header_compile "$LINENO" "utmp.h" "ac_cv_header_utmp_h" "$ac_includes_default" if test "x$ac_cv_header_utmp_h" = xyes then : printf "%s\n" "#define HAVE_UTMP_H 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "utmpx.h" "ac_cv_header_utmpx_h" "$ac_includes_default" -if test "x$ac_cv_header_utmpx_h" = xyes -then : - printf "%s\n" "#define HAVE_UTMPX_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "termios.h" "ac_cv_header_termios_h" "$ac_includes_default" -if test "x$ac_cv_header_termios_h" = xyes -then : - printf "%s\n" "#define HAVE_TERMIOS_H 1" >>confdefs.h - fi ac_fn_c_check_header_compile "$LINENO" "termio.h" "ac_cv_header_termio_h" "$ac_includes_default" if test "x$ac_cv_header_termio_h" = xyes @@ -14442,30 +14643,12 @@ if test "x$ac_cv_header_sys_ioctl_h" = xyes then : printf "%s\n" "#define HAVE_SYS_IOCTL_H 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "syslog.h" "ac_cv_header_syslog_h" "$ac_includes_default" -if test "x$ac_cv_header_syslog_h" = xyes -then : - printf "%s\n" "#define HAVE_SYSLOG_H 1" >>confdefs.h - fi ac_fn_c_check_header_compile "$LINENO" "paths.h" "ac_cv_header_paths_h" "$ac_includes_default" if test "x$ac_cv_header_paths_h" = xyes then : printf "%s\n" "#define HAVE_PATHS_H 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "utime.h" "ac_cv_header_utime_h" "$ac_includes_default" -if test "x$ac_cv_header_utime_h" = xyes -then : - printf "%s\n" "#define HAVE_UTIME_H 1" >>confdefs.h - -fi -ac_fn_c_check_header_compile "$LINENO" "ulimit.h" "ac_cv_header_ulimit_h" "$ac_includes_default" -if test "x$ac_cv_header_ulimit_h" = xyes -then : - printf "%s\n" "#define HAVE_ULIMIT_H 1" >>confdefs.h - fi ac_fn_c_check_header_compile "$LINENO" "sys/capability.h" "ac_cv_header_sys_capability_h" "$ac_includes_default" if test "x$ac_cv_header_sys_capability_h" = xyes @@ -14478,12 +14661,6 @@ if test "x$ac_cv_header_sys_random_h" = xyes then : printf "%s\n" "#define HAVE_SYS_RANDOM_H 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_resource_h" = xyes -then : - printf "%s\n" "#define HAVE_SYS_RESOURCE_H 1" >>confdefs.h - fi ac_fn_c_check_header_compile "$LINENO" "gshadow.h" "ac_cv_header_gshadow_h" "$ac_includes_default" if test "x$ac_cv_header_gshadow_h" = xyes @@ -14496,24 +14673,12 @@ if test "x$ac_cv_header_lastlog_h" = xyes then : printf "%s\n" "#define HAVE_LASTLOG_H 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default" -if test "x$ac_cv_header_locale_h" = xyes -then : - printf "%s\n" "#define HAVE_LOCALE_H 1" >>confdefs.h - fi ac_fn_c_check_header_compile "$LINENO" "rpc/key_prot.h" "ac_cv_header_rpc_key_prot_h" "$ac_includes_default" if test "x$ac_cv_header_rpc_key_prot_h" = xyes then : printf "%s\n" "#define HAVE_RPC_KEY_PROT_H 1" >>confdefs.h -fi -ac_fn_c_check_header_compile "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" -if test "x$ac_cv_header_netdb_h" = xyes -then : - printf "%s\n" "#define HAVE_NETDB_H 1" >>confdefs.h - fi ac_fn_c_check_header_compile "$LINENO" "acl/libacl.h" "ac_cv_header_acl_libacl_h" "$ac_includes_default" if test "x$ac_cv_header_acl_libacl_h" = xyes @@ -14549,30 +14714,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" "l64a" "ac_cv_func_l64a" -if test "x$ac_cv_func_l64a" = xyes -then : - printf "%s\n" "#define HAVE_L64A 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "fchmod" "ac_cv_func_fchmod" -if test "x$ac_cv_func_fchmod" = xyes -then : - printf "%s\n" "#define HAVE_FCHMOD 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "fchown" "ac_cv_func_fchown" -if test "x$ac_cv_func_fchown" = xyes -then : - printf "%s\n" "#define HAVE_FCHOWN 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "fsync" "ac_cv_func_fsync" -if test "x$ac_cv_func_fsync" = xyes -then : - printf "%s\n" "#define HAVE_FSYNC 1" >>confdefs.h - fi ac_fn_c_check_func "$LINENO" "futimes" "ac_cv_func_futimes" if test "x$ac_cv_func_futimes" = xyes @@ -14603,12 +14744,6 @@ 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" "getutent" "ac_cv_func_getutent" -if test "x$ac_cv_func_getutent" = xyes -then : - printf "%s\n" "#define HAVE_GETUTENT 1" >>confdefs.h - fi ac_fn_c_check_func "$LINENO" "initgroups" "ac_cv_func_initgroups" if test "x$ac_cv_func_initgroups" = xyes @@ -14633,12 +14768,6 @@ if test "x$ac_cv_func_setgroups" = xyes then : printf "%s\n" "#define HAVE_SETGROUPS 1" >>confdefs.h -fi -ac_fn_c_check_func "$LINENO" "updwtmp" "ac_cv_func_updwtmp" -if test "x$ac_cv_func_updwtmp" = xyes -then : - printf "%s\n" "#define HAVE_UPDWTMP 1" >>confdefs.h - fi ac_fn_c_check_func "$LINENO" "updwtmpx" "ac_cv_func_updwtmpx" if test "x$ac_cv_func_updwtmpx" = xyes @@ -14651,30 +14780,6 @@ if test "x$ac_cv_func_innetgr" = xyes then : printf "%s\n" "#define HAVE_INNETGR 1" >>confdefs.h -fi -ac_fn_c_check_func "$LINENO" "getpwnam_r" "ac_cv_func_getpwnam_r" -if test "x$ac_cv_func_getpwnam_r" = xyes -then : - printf "%s\n" "#define HAVE_GETPWNAM_R 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "getpwuid_r" "ac_cv_func_getpwuid_r" -if test "x$ac_cv_func_getpwuid_r" = xyes -then : - printf "%s\n" "#define HAVE_GETPWUID_R 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "getgrnam_r" "ac_cv_func_getgrnam_r" -if test "x$ac_cv_func_getgrnam_r" = xyes -then : - printf "%s\n" "#define HAVE_GETGRNAM_R 1" >>confdefs.h - -fi -ac_fn_c_check_func "$LINENO" "getgrgid_r" "ac_cv_func_getgrgid_r" -if test "x$ac_cv_func_getgrgid_r" = xyes -then : - printf "%s\n" "#define HAVE_GETGRGID_R 1" >>confdefs.h - fi ac_fn_c_check_func "$LINENO" "getspnam_r" "ac_cv_func_getspnam_r" if test "x$ac_cv_func_getspnam_r" = xyes @@ -14682,10 +14787,16 @@ then : printf "%s\n" "#define HAVE_GETSPNAM_R 1" >>confdefs.h fi -ac_fn_c_check_func "$LINENO" "memset_s" "ac_cv_func_memset_s" -if test "x$ac_cv_func_memset_s" = xyes +ac_fn_c_check_func "$LINENO" "rpmatch" "ac_cv_func_rpmatch" +if test "x$ac_cv_func_rpmatch" = xyes then : - printf "%s\n" "#define HAVE_MEMSET_S 1" >>confdefs.h + printf "%s\n" "#define HAVE_RPMATCH 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "memset_explicit" "ac_cv_func_memset_explicit" +if test "x$ac_cv_func_memset_explicit" = xyes +then : + printf "%s\n" "#define HAVE_MEMSET_EXPLICIT 1" >>confdefs.h fi ac_fn_c_check_func "$LINENO" "explicit_bzero" "ac_cv_func_explicit_bzero" @@ -14693,6 +14804,18 @@ if test "x$ac_cv_func_explicit_bzero" = xyes then : printf "%s\n" "#define HAVE_EXPLICIT_BZERO 1" >>confdefs.h +fi +ac_fn_c_check_func "$LINENO" "stpecpy" "ac_cv_func_stpecpy" +if test "x$ac_cv_func_stpecpy" = xyes +then : + printf "%s\n" "#define HAVE_STPECPY 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "stpeprintf" "ac_cv_func_stpeprintf" +if test "x$ac_cv_func_stpeprintf" = xyes +then : + printf "%s\n" "#define HAVE_STPEPRINTF 1" >>confdefs.h + fi # Check whether --enable-largefile was given. @@ -14900,180 +15023,6 @@ rm -rf conftest* fi -ac_fn_c_check_member "$LINENO" "struct stat" "st_atim" "ac_cv_member_struct_stat_st_atim" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_atim" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIM 1" >>confdefs.h - - -fi - -ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1" >>confdefs.h - - -fi - -ac_fn_c_check_member "$LINENO" "struct stat" "st_mtim" "ac_cv_member_struct_stat_st_mtim" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_mtim" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_STAT_ST_MTIM 1" >>confdefs.h - - -fi - -ac_fn_c_check_member "$LINENO" "struct stat" "st_mtimensec" "ac_cv_member_struct_stat_st_mtimensec" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_mtimensec" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_STAT_ST_MTIMENSEC 1" >>confdefs.h - - -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -printf %s "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test ${ac_cv_struct_tm+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main (void) -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_struct_tm=time.h -else $as_nop - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -printf "%s\n" "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -printf "%s\n" "#define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - - -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_type" "ac_cv_member_struct_utmp_ut_type" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_type" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_UTMP_UT_TYPE 1" >>confdefs.h - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_id" "ac_cv_member_struct_utmp_ut_id" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_id" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_UTMP_UT_ID 1" >>confdefs.h - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_name" "ac_cv_member_struct_utmp_ut_name" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_name" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_UTMP_UT_NAME 1" >>confdefs.h - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_user" "ac_cv_member_struct_utmp_ut_user" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_user" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_UTMP_UT_USER 1" >>confdefs.h - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_host" "ac_cv_member_struct_utmp_ut_host" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_host" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_UTMP_UT_HOST 1" >>confdefs.h - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_syslen" "ac_cv_member_struct_utmp_ut_syslen" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_syslen" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_UTMP_UT_SYSLEN 1" >>confdefs.h - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_addr" "ac_cv_member_struct_utmp_ut_addr" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_addr" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_UTMP_UT_ADDR 1" >>confdefs.h - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_addr_v6" "ac_cv_member_struct_utmp_ut_addr_v6" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_addr_v6" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_UTMP_UT_ADDR_V6 1" >>confdefs.h - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_time" "ac_cv_member_struct_utmp_ut_time" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_time" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_UTMP_UT_TIME 1" >>confdefs.h - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_xtime" "ac_cv_member_struct_utmp_ut_xtime" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_xtime" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_UTMP_UT_XTIME 1" >>confdefs.h - - -fi -ac_fn_c_check_member "$LINENO" "struct utmp" "ut_tv" "ac_cv_member_struct_utmp_ut_tv" "#include -" -if test "x$ac_cv_member_struct_utmp_ut_tv" = xyes -then : - -printf "%s\n" "#define HAVE_STRUCT_UTMP_UT_TV 1" >>confdefs.h - - -fi - ac_fn_c_check_member "$LINENO" "struct utmpx" "ut_name" "ac_cv_member_struct_utmpx_ut_name" "#include " @@ -15140,45 +15089,6 @@ printf "%s\n" "#define HAVE_STRUCT_UTMPX_UT_XTIME 1" >>confdefs.h fi -if test "$ac_cv_header_lastlog_h" = "yes"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ll_host in struct lastlog" >&5 -printf %s "checking for ll_host in struct lastlog... " >&6; } -if test ${ac_cv_struct_lastlog_ll_host+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -struct lastlog ll; char *cp = ll.ll_host; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_struct_lastlog_ll_host=yes -else $as_nop - ac_cv_struct_lastlog_ll_host=no - -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_lastlog_ll_host" >&5 -printf "%s\n" "$ac_cv_struct_lastlog_ll_host" >&6; } - - if test "$ac_cv_struct_lastlog_ll_host" = "yes"; then - -printf "%s\n" "#define HAVE_LL_HOST 1" >>confdefs.h - - fi -fi - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -15467,19 +15377,6 @@ printf "%s\n" "#define HAVE_UTIME_NULL 1" >>confdefs.h fi rm -f conftest.data -ac_fn_c_check_func "$LINENO" "mkdir" "ac_cv_func_mkdir" -if test "x$ac_cv_func_mkdir" = xyes -then : - printf "%s\n" "#define HAVE_MKDIR 1" >>confdefs.h - -else $as_nop - case " $LIBOBJS " in - *" mkdir.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS mkdir.$ac_objext" - ;; -esac - -fi ac_fn_c_check_func "$LINENO" "putgrent" "ac_cv_func_putgrent" if test "x$ac_cv_func_putgrent" = xyes then : @@ -15518,32 +15415,6 @@ else $as_nop ;; esac -fi -ac_fn_c_check_func "$LINENO" "rename" "ac_cv_func_rename" -if test "x$ac_cv_func_rename" = xyes -then : - printf "%s\n" "#define HAVE_RENAME 1" >>confdefs.h - -else $as_nop - case " $LIBOBJS " in - *" rename.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS rename.$ac_objext" - ;; -esac - -fi -ac_fn_c_check_func "$LINENO" "rmdir" "ac_cv_func_rmdir" -if test "x$ac_cv_func_rmdir" = xyes -then : - printf "%s\n" "#define HAVE_RMDIR 1" >>confdefs.h - -else $as_nop - case " $LIBOBJS " in - *" rmdir.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS rmdir.$ac_objext" - ;; -esac - fi ac_fn_c_check_func "$LINENO" "sgetgrent" "ac_cv_func_sgetgrent" @@ -15586,72 +15457,6 @@ esac fi -ac_fn_c_check_func "$LINENO" "snprintf" "ac_cv_func_snprintf" -if test "x$ac_cv_func_snprintf" = xyes -then : - printf "%s\n" "#define HAVE_SNPRINTF 1" >>confdefs.h - -else $as_nop - case " $LIBOBJS " in - *" snprintf.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS snprintf.$ac_objext" - ;; -esac - -fi -ac_fn_c_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp" -if test "x$ac_cv_func_strcasecmp" = xyes -then : - printf "%s\n" "#define HAVE_STRCASECMP 1" >>confdefs.h - -else $as_nop - case " $LIBOBJS " in - *" strcasecmp.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strcasecmp.$ac_objext" - ;; -esac - -fi -ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup" -if test "x$ac_cv_func_strdup" = xyes -then : - printf "%s\n" "#define HAVE_STRDUP 1" >>confdefs.h - -else $as_nop - case " $LIBOBJS " in - *" strdup.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strdup.$ac_objext" - ;; -esac - -fi -ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror" -if test "x$ac_cv_func_strerror" = xyes -then : - printf "%s\n" "#define HAVE_STRERROR 1" >>confdefs.h - -else $as_nop - case " $LIBOBJS " in - *" strerror.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strerror.$ac_objext" - ;; -esac - -fi -ac_fn_c_check_func "$LINENO" "strstr" "ac_cv_func_strstr" -if test "x$ac_cv_func_strstr" = xyes -then : - printf "%s\n" "#define HAVE_STRSTR 1" >>confdefs.h - -else $as_nop - case " $LIBOBJS " in - *" strstr.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS strstr.$ac_objext" - ;; -esac - -fi - ac_fn_c_check_func "$LINENO" "setpgrp" "ac_cv_func_setpgrp" if test "x$ac_cv_func_setpgrp" = xyes @@ -15684,6 +15489,10 @@ else $as_nop /* end confdefs.h. */ #include + #ifdef HAVE_GSHADOW_H + #include + #endif + int main() { struct sgrp *sg = sgetsgent("test:x::"); @@ -15818,9 +15627,6 @@ printf "%s\n" "$shadow_cv_passwd_dir" >&6; } printf "%s\n" "#define PASSWD_PROGRAM \"$shadow_cv_passwd_dir/passwd\"" >>confdefs.h - -printf "%s\n" "#define USE_SYSLOG 1" >>confdefs.h - if test "$ac_cv_func_ruserok" = "yes"; then printf "%s\n" "#define RLOGIN 1" >>confdefs.h @@ -15869,20 +15675,6 @@ else $as_nop fi -# Check whether --enable-utmpx was given. -if test ${enable_utmpx+y} -then : - enableval=$enable_utmpx; case "${enableval}" in - yes) enable_utmpx="yes" ;; - no) enable_utmpx="no" ;; - *) as_fn_error $? "bad value ${enableval} for --enable-utmpx" "$LINENO" 5 ;; - esac -else $as_nop - enable_utmpx="no" - -fi - - # Check whether --enable-subordinate-ids was given. if test ${enable_subordinate_ids+y} then : @@ -15893,6 +15685,26 @@ else $as_nop fi +# Check whether --enable-lastlog was given. +if test ${enable_lastlog+y} +then : + enableval=$enable_lastlog; enable_lastlog="${enableval}" +else $as_nop + enable_lastlog="no" + +fi + + +# Check whether --enable-logind was given. +if test ${enable_logind+y} +then : + enableval=$enable_logind; enable_logind="${enableval}" +else $as_nop + enable_logind="yes" + +fi + + # Check whether --with-audit was given. if test ${with_audit+y} @@ -15966,15 +15778,6 @@ else $as_nop fi -# Check whether --with-libcrack was given. -if test ${with_libcrack+y} -then : - withval=$with_libcrack; with_libcrack=$withval -else $as_nop - with_libcrack=no -fi - - # Check whether --with-sha-crypt was given. if test ${with_sha_crypt+y} then : @@ -16038,6 +15841,15 @@ else $as_nop fi +# Check whether --with-libbsd was given. +if test ${with_libbsd+y} +then : + withval=$with_libbsd; with_libbsd=$withval +else $as_nop + with_libbsd=yes +fi + + if test "$with_group_name_max_length" = "no" ; then with_group_name_max_length=0 elif test "$with_group_name_max_length" = "yes" ; then @@ -16133,124 +15945,6 @@ fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing inet_ntoa" >&5 -printf %s "checking for library containing inet_ntoa... " >&6; } -if test ${ac_cv_search_inet_ntoa+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char inet_ntoa (); -int -main (void) -{ -return inet_ntoa (); - ; - return 0; -} -_ACEOF -for ac_lib in '' inet -do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO" -then : - ac_cv_search_inet_ntoa=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext - if test ${ac_cv_search_inet_ntoa+y} -then : - break -fi -done -if test ${ac_cv_search_inet_ntoa+y} -then : - -else $as_nop - ac_cv_search_inet_ntoa=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_ntoa" >&5 -printf "%s\n" "$ac_cv_search_inet_ntoa" >&6; } -ac_res=$ac_cv_search_inet_ntoa -if test "$ac_res" != no -then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5 -printf %s "checking for library containing socket... " >&6; } -if test ${ac_cv_search_socket+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char socket (); -int -main (void) -{ -return socket (); - ; - return 0; -} -_ACEOF -for ac_lib in '' socket -do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO" -then : - ac_cv_search_socket=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext - if test ${ac_cv_search_socket+y} -then : - break -fi -done -if test ${ac_cv_search_socket+y} -then : - -else $as_nop - ac_cv_search_socket=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5 -printf "%s\n" "$ac_cv_search_socket" >&6; } -ac_res=$ac_cv_search_socket -if test "$ac_res" != no -then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 printf %s "checking for library containing gethostbyname... " >&6; } if test ${ac_cv_search_gethostbyname+y} @@ -16354,6 +16048,9 @@ else $as_nop fi if test -n "$LIBECONF"; then + +printf "%s\n" "#define VENDORDIR \"$enable_vendordir\"" >>confdefs.h + ECONF_CPPFLAGS="-DUSE_ECONF=1" # Check whether --enable-vendordir was given. if test ${enable_vendordir+y} @@ -16366,6 +16063,11 @@ fi VENDORDIR=$enable_vendordir +if test "x$enable_vendordir" != x; then + +printf "%s\n" "#define HAVE_VENDORDIR 1" >>confdefs.h + +fi if test "x$enable_vendordir" != x; then HAVE_VENDORDIR_TRUE= HAVE_VENDORDIR_FALSE='#' @@ -16657,6 +16359,117 @@ else fi +if test "$enable_lastlog" = "yes" && test "$ac_cv_header_lastlog_h" = "yes"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ll_host in struct lastlog" >&5 +printf %s "checking for ll_host in struct lastlog... " >&6; } +if test ${ac_cv_struct_lastlog_ll_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +struct lastlog ll; char *cp = ll.ll_host; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_struct_lastlog_ll_host=yes +else $as_nop + ac_cv_struct_lastlog_ll_host=no + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_lastlog_ll_host" >&5 +printf "%s\n" "$ac_cv_struct_lastlog_ll_host" >&6; } + + if test "$ac_cv_struct_lastlog_ll_host" = "yes"; then + +printf "%s\n" "#define HAVE_LL_HOST 1" >>confdefs.h + + +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" + fi +fi + if test "x$enable_lastlog" != "xno"; then + ENABLE_LASTLOG_TRUE= + ENABLE_LASTLOG_FALSE='#' +else + ENABLE_LASTLOG_TRUE='#' + ENABLE_LASTLOG_FALSE= +fi + + + +if test "$enable_logind" = "yes"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sd_session_get_remote_host in -lsystemd" >&5 +printf %s "checking for sd_session_get_remote_host in -lsystemd... " >&6; } +if test ${ac_cv_lib_systemd_sd_session_get_remote_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsystemd $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char sd_session_get_remote_host (); +int +main (void) +{ +return sd_session_get_remote_host (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_systemd_sd_session_get_remote_host=yes +else $as_nop + ac_cv_lib_systemd_sd_session_get_remote_host=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_systemd_sd_session_get_remote_host" >&5 +printf "%s\n" "$ac_cv_lib_systemd_sd_session_get_remote_host" >&6; } +if test "x$ac_cv_lib_systemd_sd_session_get_remote_host" = xyes +then : + enable_logind="yes"; LIBSYSTEMD=-lsystemd; + +printf "%s\n" "#define ENABLE_LOGIND 1" >>confdefs.h + +else $as_nop + enable_logind="no" +fi + +fi + if test "x$enable_logind" != "xno"; then + ENABLE_LOGIND_TRUE= + ENABLE_LOGIND_FALSE='#' +else + ENABLE_LOGIND_TRUE='#' + ENABLE_LOGIND_FALSE= +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5 printf %s "checking for crypt in -lcrypt... " >&6; } @@ -16746,6 +16559,330 @@ fi +if test "$with_libbsd" != "no"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing readpassphrase" >&5 +printf %s "checking for library containing readpassphrase... " >&6; } +if test ${ac_cv_search_readpassphrase+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char readpassphrase (); +int +main (void) +{ +return readpassphrase (); + ; + return 0; +} +_ACEOF +for ac_lib in '' bsd +do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO" +then : + ac_cv_search_readpassphrase=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext + if test ${ac_cv_search_readpassphrase+y} +then : + break +fi +done +if test ${ac_cv_search_readpassphrase+y} +then : + +else $as_nop + ac_cv_search_readpassphrase=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_readpassphrase" >&5 +printf "%s\n" "$ac_cv_search_readpassphrase" >&6; } +ac_res=$ac_cv_search_readpassphrase +if test "$ac_res" != no +then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +else $as_nop + + as_fn_error $? "readpassphrase() is missing, either from libc or libbsd" "$LINENO" 5 + +fi + + + + + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; 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_path_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + 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_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" + 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 + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +printf "%s\n" "$PKG_CONFIG" >&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_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; 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_path_ac_pt_PKG_CONFIG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + 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_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext" + 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 + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + 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 + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { 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; } + PKG_CONFIG="" + fi +fi +if test "$ac_cv_search_readpassphrase" = "-lbsd" +then : + + +pkg_failed=no +{ 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" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libbsd-overlay\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libbsd-overlay") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBBSD_CFLAGS=`$PKG_CONFIG --cflags "libbsd-overlay" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$LIBBSD_LIBS"; then + pkg_cv_LIBBSD_LIBS="$LIBBSD_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libbsd-overlay\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libbsd-overlay") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBBSD_LIBS=`$PKG_CONFIG --libs "libbsd-overlay" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { 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 + _pkg_short_errors_supported=yes +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` + else + 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 + + as_fn_error $? "Package requirements (libbsd-overlay) were not met: + +$LIBBSD_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +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" "no" >&6; } + { { 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 +path to pkg-config. + +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. + +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 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + +fi + +fi + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $LIBBSD_CFLAGS" + ac_fn_c_check_header_compile "$LINENO" "readpassphrase.h" "ac_cv_header_readpassphrase_h" "$ac_includes_default" +if test "x$ac_cv_header_readpassphrase_h" = xyes +then : + printf "%s\n" "#define HAVE_READPASSPHRASE_H 1" >>confdefs.h + +fi + + if test "$ac_cv_header_readpassphrase_h" != "yes" +then : + + as_fn_error $? "readpassphrase.h is missing" "$LINENO" 5 + +fi + CFLAGS="$save_CFLAGS" + +printf "%s\n" "#define WITH_LIBBSD 1" >>confdefs.h + +else + +printf "%s\n" "#define WITH_LIBBSD 0" >>confdefs.h + +fi + if test x$with_libbsd = xyes; then + WITH_LIBBSD_TRUE= + WITH_LIBBSD_FALSE='#' +else + WITH_LIBBSD_TRUE='#' + WITH_LIBBSD_FALSE= +fi + + + if test "$with_acl" != "no"; then for ac_header in acl/libacl.h attr/error_context.h do : @@ -16996,87 +17133,7 @@ fi if test "$audit_header$with_audit" = "noyes" ; then as_fn_error $? "libaudit.h is missing" "$LINENO" 5 elif test "$audit_header" = "yes"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 -printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } -if test ${ac_cv_c_undeclared_builtin_options+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_save_CFLAGS=$CFLAGS - ac_cv_c_undeclared_builtin_options='cannot detect' - for ac_arg in '' -fno-builtin; do - CFLAGS="$ac_save_CFLAGS $ac_arg" - # This test program should *not* compile successfully. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ -(void) strchr; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - -else $as_nop - # This test program should compile successfully. - # No library function is consistently available on - # freestanding implementations, so test against a dummy - # declaration. Include always-available headers on the - # off chance that they somehow elicit warnings. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -extern void ac_decl (int, char *); - -int -main (void) -{ -(void) ac_decl (0, (char *) 0); - (void) ac_decl; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - if test x"$ac_arg" = x -then : - ac_cv_c_undeclared_builtin_options='none needed' -else $as_nop - ac_cv_c_undeclared_builtin_options=$ac_arg -fi - break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - done - CFLAGS=$ac_save_CFLAGS - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 -printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; } - case $ac_cv_c_undeclared_builtin_options in #( - 'cannot detect') : - { { 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 $? "cannot make $CC report undeclared builtins -See \`config.log' for more details" "$LINENO" 5; } ;; #( - 'none needed') : - ac_c_undeclared_builtin_options='' ;; #( - *) : - ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;; -esac - -ac_fn_check_decl "$LINENO" "AUDIT_ADD_USER" "ac_cv_have_decl_AUDIT_ADD_USER" "#include + ac_fn_check_decl "$LINENO" "AUDIT_ADD_USER" "ac_cv_have_decl_AUDIT_ADD_USER" "#include " "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_AUDIT_ADD_USER" = xyes then : @@ -17171,137 +17228,6 @@ printf "%s\n" "#define WITH_AUDIT 1" >>confdefs.h fi fi - -if test "$with_libcrack" = "yes"; then - echo "checking cracklib flavour, don't be surprised by the results" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FascistCheck in -lcrack" >&5 -printf %s "checking for FascistCheck in -lcrack... " >&6; } -if test ${ac_cv_lib_crack_FascistCheck+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrack $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char FascistCheck (); -int -main (void) -{ -return FascistCheck (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_crack_FascistCheck=yes -else $as_nop - ac_cv_lib_crack_FascistCheck=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crack_FascistCheck" >&5 -printf "%s\n" "$ac_cv_lib_crack_FascistCheck" >&6; } -if test "x$ac_cv_lib_crack_FascistCheck" = xyes -then : - LIBCRACK=-lcrack -printf "%s\n" "#define HAVE_LIBCRACK 1" >>confdefs.h - -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FascistHistory in -lcrack" >&5 -printf %s "checking for FascistHistory in -lcrack... " >&6; } -if test ${ac_cv_lib_crack_FascistHistory+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrack $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char FascistHistory (); -int -main (void) -{ -return FascistHistory (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_crack_FascistHistory=yes -else $as_nop - ac_cv_lib_crack_FascistHistory=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crack_FascistHistory" >&5 -printf "%s\n" "$ac_cv_lib_crack_FascistHistory" >&6; } -if test "x$ac_cv_lib_crack_FascistHistory" = xyes -then : - -printf "%s\n" "#define HAVE_LIBCRACK_HIST 1" >>confdefs.h - -fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for FascistHistoryPw in -lcrack" >&5 -printf %s "checking for FascistHistoryPw in -lcrack... " >&6; } -if test ${ac_cv_lib_crack_FascistHistoryPw+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrack $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char FascistHistoryPw (); -int -main (void) -{ -return FascistHistoryPw (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_lib_crack_FascistHistoryPw=yes -else $as_nop - ac_cv_lib_crack_FascistHistoryPw=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crack_FascistHistoryPw" >&5 -printf "%s\n" "$ac_cv_lib_crack_FascistHistoryPw" >&6; } -if test "x$ac_cv_lib_crack_FascistHistoryPw" = xyes -then : - -printf "%s\n" "#define HAVE_LIBCRACK_PW 1" >>confdefs.h - -fi - -fi - if test "$with_btrfs" != "no"; then for ac_header in sys/statfs.h linux/magic.h linux/btrfs_tree.h do : @@ -18031,16 +17957,98 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -if test "$enable_utmpx" = "yes"; then - if test "$ac_cv_header_utmpx_h" != "yes"; then - as_fn_error $? "The utmpx.h header file is required for utmpx support." "$LINENO" 5 - fi -printf "%s\n" "#define USE_UTMPX 1" >>confdefs.h +pkg_failed=no +{ 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" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cmocka\""; } >&5 + ($PKG_CONFIG --exists --print-errors "cmocka") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_CMOCKA_CFLAGS=`$PKG_CONFIG --cflags "cmocka" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$CMOCKA_LIBS"; then + pkg_cv_CMOCKA_LIBS="$CMOCKA_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cmocka\""; } >&5 + ($PKG_CONFIG --exists --print-errors "cmocka") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_CMOCKA_LIBS=`$PKG_CONFIG --libs "cmocka" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { 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 + _pkg_short_errors_supported=yes +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` + else + 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 + + { 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" "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: WARNING: libcmocka not found, cmocka tests will not be built" >&2;} +else + 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" +fi + if test x$have_cmocka = xyes; then + HAVE_CMOCKA_TRUE= + HAVE_CMOCKA_FALSE='#' +else + HAVE_CMOCKA_TRUE='#' + HAVE_CMOCKA_FALSE= +fi + + +ac_fn_c_check_func "$LINENO" "fgetpwent_r" "ac_cv_func_fgetpwent_r" +if test "x$ac_cv_func_fgetpwent_r" = xyes +then : + +printf "%s\n" "#define HAVE_FGETPWENT_R 1" >>confdefs.h fi + printf "%s\n" "#define SHELL \"$SHELL\"" >>confdefs.h @@ -20151,7 +20159,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 libmisc/Makefile lib/Makefile libsubid/Makefile libsubid/subid.h src/Makefile contrib/Makefile etc/Makefile etc/pam.d/Makefile shadow.spec" +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" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -20326,6 +20334,18 @@ if test -z "${ENABLE_SUBIDS_TRUE}" && test -z "${ENABLE_SUBIDS_FALSE}"; then as_fn_error $? "conditional \"ENABLE_SUBIDS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${ENABLE_LASTLOG_TRUE}" && test -z "${ENABLE_LASTLOG_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_LASTLOG\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_LOGIND_TRUE}" && test -z "${ENABLE_LOGIND_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_LOGIND\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WITH_LIBBSD_TRUE}" && test -z "${WITH_LIBBSD_FALSE}"; then + as_fn_error $? "conditional \"WITH_LIBBSD\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${WITH_BTRFS_TRUE}" && test -z "${WITH_BTRFS_FALSE}"; then as_fn_error $? "conditional \"WITH_BTRFS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -20350,6 +20370,10 @@ if test -z "${FCAPS_TRUE}" && test -z "${FCAPS_FALSE}"; then as_fn_error $? "conditional \"FCAPS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_CMOCKA_TRUE}" && test -z "${HAVE_CMOCKA_FALSE}"; then + as_fn_error $? "conditional \"HAVE_CMOCKA\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${USE_NLS_TRUE}" && test -z "${USE_NLS_FALSE}"; then as_fn_error $? "conditional \"USE_NLS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -20744,7 +20768,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.13, which was +This file was extended by shadow $as_me 4.15.1, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20813,7 +20837,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.13 +shadow config.status 4.15.1 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" @@ -21261,7 +21285,6 @@ do "man/uk/Makefile") CONFIG_FILES="$CONFIG_FILES man/uk/Makefile" ;; "man/zh_CN/Makefile") CONFIG_FILES="$CONFIG_FILES man/zh_CN/Makefile" ;; "man/zh_TW/Makefile") CONFIG_FILES="$CONFIG_FILES man/zh_TW/Makefile" ;; - "libmisc/Makefile") CONFIG_FILES="$CONFIG_FILES libmisc/Makefile" ;; "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; "libsubid/Makefile") CONFIG_FILES="$CONFIG_FILES libsubid/Makefile" ;; "libsubid/subid.h") CONFIG_FILES="$CONFIG_FILES libsubid/subid.h" ;; @@ -21269,7 +21292,8 @@ do "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" ;; - "shadow.spec") CONFIG_FILES="$CONFIG_FILES shadow.spec" ;; + "etc/shadow-maint/Makefile") CONFIG_FILES="$CONFIG_FILES etc/shadow-maint/Makefile" ;; + "tests/unit/Makefile") CONFIG_FILES="$CONFIG_FILES tests/unit/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac @@ -22661,7 +22685,6 @@ echo echo "shadow will be compiled with the following features:" echo echo " auditing support: $with_audit" -echo " CrackLib support: $with_libcrack" echo " PAM support: $with_libpam" if test "$with_libpam" = "yes"; then echo " suid account management tools: $enable_acct_tools_setuid" @@ -22679,7 +22702,10 @@ echo " yescrypt passwords encryption: $with_yescrypt" echo " nscd support: $with_nscd" echo " sssd support: $with_sssd" echo " subordinate IDs support: $enable_subids" +echo " enable lastlog: $enable_lastlog" +echo " enable logind: $enable_logind" echo " use file caps: $with_fcaps" echo " install su: $with_su" +echo " enabled vendor dir: $enable_vendordir" echo diff --git a/configure.ac b/configure.ac index 924254a0..9a6103d4 100644 --- a/configure.ac +++ b/configure.ac @@ -4,9 +4,9 @@ m4_define([libsubid_abi_major], 4) 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.13], [pkg-shadow-devel@lists.alioth.debian.org], [], +AC_INIT([shadow], [4.15.1], [pkg-shadow-devel@lists.alioth.debian.org], [], [https://github.com/shadow-maint/shadow]) -AM_INIT_AUTOMAKE([1.11 foreign dist-xz]) +AM_INIT_AUTOMAKE([1.11 foreign dist-xz subdir-objects]) AC_CONFIG_MACRO_DIRS([m4]) AM_SILENT_RULES([yes]) AC_CONFIG_HEADERS([config.h]) @@ -32,47 +32,30 @@ AC_PROG_CC AC_PROG_LN_S AC_PROG_YACC LT_INIT +LT_LIB_DLLOAD dnl Checks for libraries. dnl Checks for header files. -AC_HEADER_STDBOOL - -AC_CHECK_HEADERS(crypt.h errno.h fcntl.h limits.h unistd.h sys/time.h utmp.h \ - utmpx.h termios.h termio.h sgtty.h sys/ioctl.h syslog.h paths.h \ - utime.h ulimit.h sys/capability.h sys/random.h sys/resource.h \ - gshadow.h lastlog.h locale.h rpc/key_prot.h netdb.h acl/libacl.h \ +AC_CHECK_HEADERS(crypt.h utmp.h \ + termio.h sgtty.h sys/ioctl.h paths.h \ + sys/capability.h sys/random.h \ + gshadow.h lastlog.h rpc/key_prot.h acl/libacl.h \ attr/libattr.h attr/error_context.h) 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 l64a fchmod fchown fsync futimes \ +AC_CHECK_FUNCS(arc4random_buf futimes \ getentropy getrandom getspnam getusershell \ - getutent initgroups lckpwdf lutimes \ - setgroups updwtmp updwtmpx innetgr getpwnam_r \ - getpwuid_r getgrnam_r getgrgid_r getspnam_r \ - memset_s explicit_bzero) + initgroups lckpwdf lutimes \ + setgroups updwtmpx innetgr \ + getspnam_r \ + rpmatch \ + memset_explicit explicit_bzero stpecpy stpeprintf) AC_SYS_LARGEFILE dnl Checks for typedefs, structures, and compiler characteristics. -AC_CHECK_MEMBERS([struct stat.st_atim]) -AC_CHECK_MEMBERS([struct stat.st_atimensec]) -AC_CHECK_MEMBERS([struct stat.st_mtim]) -AC_CHECK_MEMBERS([struct stat.st_mtimensec]) -AC_STRUCT_TM - -AC_CHECK_MEMBERS([struct utmp.ut_type, - struct utmp.ut_id, - struct utmp.ut_name, - struct utmp.ut_user, - struct utmp.ut_host, - struct utmp.ut_syslen, - struct utmp.ut_addr, - struct utmp.ut_addr_v6, - struct utmp.ut_time, - struct utmp.ut_xtime, - struct utmp.ut_tv],,,[[#include ]]) AC_CHECK_MEMBERS([struct utmpx.ut_name, struct utmpx.ut_host, @@ -82,29 +65,11 @@ AC_CHECK_MEMBERS([struct utmpx.ut_name, struct utmpx.ut_time, struct utmpx.ut_xtime],,,[[#include ]]) -if test "$ac_cv_header_lastlog_h" = "yes"; then - AC_CACHE_CHECK(for ll_host in struct lastlog, - ac_cv_struct_lastlog_ll_host, - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], - [struct lastlog ll; char *cp = ll.ll_host;] - )], - [ac_cv_struct_lastlog_ll_host=yes], - [ac_cv_struct_lastlog_ll_host=no] - ) - ) - - if test "$ac_cv_struct_lastlog_ll_host" = "yes"; then - AC_DEFINE(HAVE_LL_HOST, 1, - [Define if struct lastlog has ll_host]) - fi -fi - dnl Checks for library functions. AC_TYPE_GETGROUPS AC_FUNC_UTIME_NULL -AC_REPLACE_FUNCS(mkdir putgrent putpwent putspent rename rmdir) +AC_REPLACE_FUNCS(putgrent putpwent putspent) AC_REPLACE_FUNCS(sgetgrent sgetpwent sgetspent) -AC_REPLACE_FUNCS(snprintf strcasecmp strdup strerror strstr) AC_CHECK_FUNC(setpgrp) AC_CHECK_FUNC(secure_getenv, [AC_DEFINE(HAS_SECURE_GETENV, @@ -116,6 +81,10 @@ if test "$ac_cv_header_shadow_h" = "yes"; then ac_cv_libc_shadowgrp, AC_RUN_IFELSE([AC_LANG_SOURCE([ #include + #ifdef HAVE_GSHADOW_H + #include + #endif + int main() { struct sgrp *sg = sgetsgent("test:x::"); @@ -191,7 +160,7 @@ AC_DEFINE_UNQUOTED(PASSWD_PROGRAM, "$shadow_cv_passwd_dir/passwd", [Path to passwd program.]) dnl XXX - quick hack, should disappear before anyone notices :). -AC_DEFINE(USE_SYSLOG, 1, [Define to use syslog().]) +dnl XXX - I just read the above message :). if test "$ac_cv_func_ruserok" = "yes"; then AC_DEFINE(RLOGIN, 1, [Define if login should support the -r flag for rlogind.]) AC_DEFINE(RUSEROK, 0, [Define to the ruserok() "success" return value (0 or 1).]) @@ -226,17 +195,6 @@ AC_ARG_ENABLE(account-tools-setuid, [enable_acct_tools_setuid="no"] ) -AC_ARG_ENABLE(utmpx, - [AS_HELP_STRING([--enable-utmpx], - [enable loggin in utmpx / wtmpx @<:@default=no@:>@])], - [case "${enableval}" in - yes) enable_utmpx="yes" ;; - no) enable_utmpx="no" ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-utmpx) ;; - esac], - [enable_utmpx="no"] -) - AC_ARG_ENABLE(subordinate-ids, [AS_HELP_STRING([--enable-subordinate-ids], [support subordinate ids @<:@default=yes@:>@])], @@ -244,6 +202,20 @@ AC_ARG_ENABLE(subordinate-ids, [enable_subids="maybe"] ) +AC_ARG_ENABLE(lastlog, + [AS_HELP_STRING([--enable-lastlog], + [enable lastlog @<:@default=no@:>@])], + [enable_lastlog="${enableval}"], + [enable_lastlog="no"] +) + +AC_ARG_ENABLE(logind, + [AS_HELP_STRING([--enable-logind], + [enable logind @<:@default=yes@:>@])], + [enable_logind="${enableval}"], + [enable_logind="yes"] +) + AC_ARG_WITH(audit, [AS_HELP_STRING([--with-audit], [use auditing support @<:@default=yes if found@:>@])], [with_audit=$withval], [with_audit=maybe]) @@ -268,9 +240,6 @@ AC_ARG_WITH(skey, AC_ARG_WITH(tcb, [AS_HELP_STRING([--with-tcb], [use tcb support (incomplete) @<:@default=yes if found@:>@])], [with_tcb=$withval], [with_tcb=maybe]) -AC_ARG_WITH(libcrack, - [AS_HELP_STRING([--with-libcrack], [use libcrack @<:@default=no@:>@])], - [with_libcrack=$withval], [with_libcrack=no]) AC_ARG_WITH(sha-crypt, [AS_HELP_STRING([--with-sha-crypt], [allow the SHA256 and SHA512 password encryption algorithms @<:@default=yes@:>@])], [with_sha_crypt=$withval], [with_sha_crypt=yes]) @@ -292,6 +261,9 @@ AC_ARG_WITH(group-name-max-length, AC_ARG_WITH(su, [AS_HELP_STRING([--with-su], [build and install su program and man page @<:@default=yes@:>@])], [with_su=$withval], [with_su=yes]) +AC_ARG_WITH(libbsd, + [AS_HELP_STRING([--with-libbsd], [use libbsd support @<:@default=yes if found@:>@])], + [with_libbsd=$withval], [with_libbsd=yes]) if test "$with_group_name_max_length" = "no" ; then with_group_name_max_length=0 @@ -336,12 +308,12 @@ dnl Check for some functions in libc first, only if not found check for dnl other libraries. This should prevent linking libnsl if not really dnl needed (Linux glibc, Irix), but still link it if needed (Solaris). -AC_SEARCH_LIBS(inet_ntoa, inet) -AC_SEARCH_LIBS(socket, socket) AC_SEARCH_LIBS(gethostbyname, nsl) AC_CHECK_LIB([econf],[econf_readDirs],[LIBECONF="-leconf"],[LIBECONF=""]) if test -n "$LIBECONF"; then + AC_DEFINE_UNQUOTED([VENDORDIR], ["$enable_vendordir"], + [Directory for distribution provided configuration files]) ECONF_CPPFLAGS="-DUSE_ECONF=1" AC_ARG_ENABLE([vendordir], AS_HELP_STRING([--enable-vendordir=DIR], [Directory for distribution provided configuration files]),,[]) @@ -349,6 +321,9 @@ fi AC_SUBST(ECONF_CPPFLAGS) AC_SUBST(LIBECONF) AC_SUBST([VENDORDIR], [$enable_vendordir]) +if test "x$enable_vendordir" != x; then + AC_DEFINE(HAVE_VENDORDIR, 1, [Define to support vendor settings.]) +fi AM_CONDITIONAL([HAVE_VENDORDIR], [test "x$enable_vendordir" != x]) if test "$enable_shadowgrp" = "yes"; then @@ -393,6 +368,39 @@ if test "$enable_subids" != "no"; then fi AM_CONDITIONAL(ENABLE_SUBIDS, test "x$enable_subids" != "xno") +if test "$enable_lastlog" = "yes" && test "$ac_cv_header_lastlog_h" = "yes"; then + AC_CACHE_CHECK(for ll_host in struct lastlog, + ac_cv_struct_lastlog_ll_host, + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [struct lastlog ll; char *cp = ll.ll_host;] + )], + [ac_cv_struct_lastlog_ll_host=yes], + [ac_cv_struct_lastlog_ll_host=no] + ) + ) + + if test "$ac_cv_struct_lastlog_ll_host" = "yes"; then + AC_DEFINE(HAVE_LL_HOST, 1, + [Define if struct lastlog has ll_host]) + AC_DEFINE(ENABLE_LASTLOG, 1, [Define to support lastlog.]) + enable_lastlog="yes" + else + AC_MSG_ERROR([Cannot enable support for lastlog on systems where the data structures aren't available]) + enable_subids="no" + fi +fi +AM_CONDITIONAL(ENABLE_LASTLOG, test "x$enable_lastlog" != "xno") + +AC_SUBST(LIBSYSTEMD) +if test "$enable_logind" = "yes"; then + AC_CHECK_LIB(systemd, sd_session_get_remote_host, + [enable_logind="yes"; [LIBSYSTEMD=-lsystemd]; + AC_DEFINE(ENABLE_LOGIND, 1, + [Define to manage session support with logind.])], + [enable_logind="no"]) +fi +AM_CONDITIONAL(ENABLE_LOGIND, test "x$enable_logind" != "xno") + AC_SUBST(LIBCRYPT) AC_CHECK_LIB(crypt, crypt, [LIBCRYPT=-lcrypt], [AC_MSG_ERROR([crypt() not found])]) @@ -401,6 +409,28 @@ AC_SUBST(LIYESCRYPT) AC_CHECK_LIB(crypt, crypt, [LIYESCRYPT=-lcrypt], [AC_MSG_ERROR([crypt() not found])]) +AC_SUBST(LIBBSD) +if test "$with_libbsd" != "no"; then + AC_SEARCH_LIBS([readpassphrase], [bsd], [], [ + AC_MSG_ERROR([readpassphrase() is missing, either from libc or libbsd]) + ]) + AS_IF([test "$ac_cv_search_readpassphrase" = "-lbsd"], [ + PKG_CHECK_MODULES([LIBBSD], [libbsd-overlay]) + ]) + dnl Make sure either the libc or libbsd provide the header. + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $LIBBSD_CFLAGS" + AC_CHECK_HEADERS([readpassphrase.h]) + AS_IF([test "$ac_cv_header_readpassphrase_h" != "yes"], [ + AC_MSG_ERROR([readpassphrase.h is missing]) + ]) + CFLAGS="$save_CFLAGS" + AC_DEFINE(WITH_LIBBSD, 1, [Build shadow with libbsd support]) +else + AC_DEFINE(WITH_LIBBSD, 0, [Build shadow without libbsd support]) +fi +AM_CONDITIONAL(WITH_LIBBSD, test x$with_libbsd = xyes) + AC_SUBST(LIBACL) if test "$with_acl" != "no"; then AC_CHECK_HEADERS(acl/libacl.h attr/error_context.h, [acl_header="yes"], [acl_header="no"]) @@ -485,17 +515,6 @@ if test "$with_audit" != "no"; then fi fi -AC_SUBST(LIBCRACK) -if test "$with_libcrack" = "yes"; then - echo "checking cracklib flavour, don't be surprised by the results" - AC_CHECK_LIB(crack, FascistCheck, - [LIBCRACK=-lcrack AC_DEFINE(HAVE_LIBCRACK, 1, [Defined if you have libcrack.])]) - AC_CHECK_LIB(crack, FascistHistory, - AC_DEFINE(HAVE_LIBCRACK_HIST, 1, [Defined if you have the ts&szs cracklib.])) - AC_CHECK_LIB(crack, FascistHistoryPw, - AC_DEFINE(HAVE_LIBCRACK_PW, 1, [Defined if it includes *Pw functions.])) -fi - if test "$with_btrfs" != "no"; then AC_CHECK_HEADERS([sys/statfs.h linux/magic.h linux/btrfs_tree.h], \ [btrfs_headers="yes"], [btrfs_headers="no"]) @@ -682,14 +701,11 @@ if test "$with_skey" = "yes"; then ]])],[AC_DEFINE(SKEY_BSD_STYLE, 1, [Define to support newer BSD S/Key API])],[]) fi -if test "$enable_utmpx" = "yes"; then - if test "$ac_cv_header_utmpx_h" != "yes"; then - AC_MSG_ERROR([The utmpx.h header file is required for utmpx support.]) - fi - AC_DEFINE(USE_UTMPX, - 1, - [Define if utmpx should be used]) -fi +PKG_CHECK_MODULES([CMOCKA], [cmocka], [have_cmocka="yes"], + [AC_MSG_WARN([libcmocka not found, cmocka tests will not be built])]) +AM_CONDITIONAL([HAVE_CMOCKA], [test x$have_cmocka = xyes]) + +AC_CHECK_FUNC(fgetpwent_r, [AC_DEFINE(HAVE_FGETPWENT_R, 1, [Defined to 1 if you have the declaration of 'fgetpwent_r'])]) AC_DEFINE_UNQUOTED(SHELL, ["$SHELL"], [The default shell.]) @@ -723,7 +739,6 @@ AC_CONFIG_FILES([ man/uk/Makefile man/zh_CN/Makefile man/zh_TW/Makefile - libmisc/Makefile lib/Makefile libsubid/Makefile libsubid/subid.h @@ -731,7 +746,8 @@ AC_CONFIG_FILES([ contrib/Makefile etc/Makefile etc/pam.d/Makefile - shadow.spec + etc/shadow-maint/Makefile + tests/unit/Makefile ]) AC_OUTPUT @@ -739,7 +755,6 @@ echo echo "shadow will be compiled with the following features:" echo echo " auditing support: $with_audit" -echo " CrackLib support: $with_libcrack" echo " PAM support: $with_libpam" if test "$with_libpam" = "yes"; then echo " suid account management tools: $enable_acct_tools_setuid" @@ -757,6 +772,9 @@ echo " yescrypt passwords encryption: $with_yescrypt" echo " nscd support: $with_nscd" echo " sssd support: $with_sssd" echo " subordinate IDs support: $enable_subids" +echo " enable lastlog: $enable_lastlog" +echo " enable logind: $enable_logind" echo " use file caps: $with_fcaps" echo " install su: $with_su" +echo " enabled vendor dir: $enable_vendordir" echo diff --git a/contrib/Makefile.am b/contrib/Makefile.am index 5c45cb7c..dc3ccd26 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -1,6 +1,4 @@ # 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 \ - atudel groupmems.shar pwdauth.c shadow-anonftp.patch \ - udbachk.tgz +EXTRA_DIST = README adduser.c adduser.sh adduser2.sh diff --git a/contrib/Makefile.in b/contrib/Makefile.in index 84f3e309..ad2d07a3 100644 --- a/contrib/Makefile.in +++ b/contrib/Makefile.in @@ -141,6 +141,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -174,9 +176,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -192,6 +200,7 @@ 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@ @@ -200,6 +209,8 @@ 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@ @@ -222,6 +233,9 @@ 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@ @@ -293,10 +307,7 @@ 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 \ - atudel groupmems.shar pwdauth.c shadow-anonftp.patch \ - udbachk.tgz - +EXTRA_DIST = README adduser.c adduser.sh adduser2.sh all: all-am .SUFFIXES: diff --git a/contrib/README b/contrib/README index c4d1bc03..6002923a 100644 --- a/contrib/README +++ b/contrib/README @@ -2,9 +2,6 @@ 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. -atudel is a perl script to remove at jobs owned by the specified user -(atrm in at-2.9 for Linux can't do that). - udbachk.tgz is a passwd/group/shadow file integrity checker. --marekm diff --git a/contrib/adduser.c b/contrib/adduser.c index deebd4c6..584e098a 100644 --- a/contrib/adduser.c +++ b/contrib/adduser.c @@ -60,7 +60,7 @@ ** 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 thier initial password forever ;) +** 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 @@ -489,7 +489,7 @@ safeget (char *buf, int maxlen) while ((c = getc (stdin)) != EOF && (c != '\n') && (++i < maxlen)) { bad = (!isalnum (c) && (c != '_') && (c != ' ')); - *(buf++) = (char) c; + *(buf++) = c; } *buf = '\0'; diff --git a/contrib/groupmems.shar b/contrib/groupmems.shar deleted file mode 100644 index 62e9b48a..00000000 --- a/contrib/groupmems.shar +++ /dev/null @@ -1,465 +0,0 @@ -#!/bin/sh -# This is a shell archive (produced by GNU sharutils 4.2.1). -# To extract the files from this archive, save it to some FILE, remove -# everything before the `!/bin/sh' line above, then type `sh FILE'. -# -# Made on 2000-05-25 14:41 CDT by . -# Source directory was `/home/gk4/src/groupmem'. -# -# Existing files will *not* be overwritten unless `-c' is specified. -# -# This shar contains: -# length mode name -# ------ ---------- ------------------------------------------ -# 1960 -rw-r--r-- Makefile -# 6348 -rw-r--r-- groupmems.c -# 3372 -rw------- groupmems.8 -# -save_IFS="${IFS}" -IFS="${IFS}:" -gettext_dir=FAILED -locale_dir=FAILED -first_param="$1" -for dir in $PATH -do - if test "$gettext_dir" = FAILED && test -f $dir/gettext \ - && ($dir/gettext --version >/dev/null 2>&1) - then - set `$dir/gettext --version 2>&1` - if test "$3" = GNU - then - gettext_dir=$dir - fi - fi - if test "$locale_dir" = FAILED && test -f $dir/shar \ - && ($dir/shar --print-text-domain-dir >/dev/null 2>&1) - then - locale_dir=`$dir/shar --print-text-domain-dir` - fi -done -IFS="$save_IFS" -if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED -then - echo=echo -else - TEXTDOMAINDIR=$locale_dir - export TEXTDOMAINDIR - TEXTDOMAIN=sharutils - export TEXTDOMAIN - echo="$gettext_dir/gettext -s" -fi -if touch -am -t 200112312359.59 $$.touch >/dev/null 2>&1 && test ! -f 200112312359.59 -a -f $$.touch; then - shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"' -elif touch -am 123123592001.59 $$.touch >/dev/null 2>&1 && test ! -f 123123592001.59 -a ! -f 123123592001.5 -a -f $$.touch; then - shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"' -elif touch -am 1231235901 $$.touch >/dev/null 2>&1 && test ! -f 1231235901 -a -f $$.touch; then - shar_touch='touch -am $3$4$5$6$2 "$8"' -else - shar_touch=: - echo - $echo 'WARNING: not restoring timestamps. Consider getting and' - $echo "installing GNU \`touch', distributed in GNU File Utilities..." - echo -fi -rm -f 200112312359.59 123123592001.59 123123592001.5 1231235901 $$.touch -# -if mkdir _sh10937; then - $echo 'x -' 'creating lock directory' -else - $echo 'failed to create lock directory' - exit 1 -fi -# ============= Makefile ============== -if test -f 'Makefile' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'Makefile' '(file already exists)' -else - $echo 'x -' extracting 'Makefile' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'Makefile' && -/* -# SPDX-FileCopyrightText: 2000, International Business Machines, Inc. -# SPDX-FileCopyrightText: 2000, George Kraft IV, gk4@us.ibm.com -# SPDX-License-Identifier: BSD-3-Clause -# -X -all: groupmems -X -groupmems: groupmems.c -X cc -g -o groupmems groupmems.c -L. -lshadow -X -install: groupmems -X -/usr/sbin/groupadd groups -X install -o root -g groups -m 4770 groupmems /usr/bin -X -install.man: groupmems.8 -X install -o root -g root -m 644 groupmems.8 /usr/man/man8 -X -SHAR_EOF - (set 20 00 05 25 14 40 28 'Makefile'; eval "$shar_touch") && - chmod 0644 'Makefile' || - $echo 'restore of' 'Makefile' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'Makefile:' 'MD5 check failed' -b46cf7ef8d59149093c011ced3f3103c Makefile -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'Makefile'`" - test 1960 -eq "$shar_count" || - $echo 'Makefile:' 'original size' '1960,' 'current size' "$shar_count!" - fi -fi -# ============= groupmems.c ============== -if test -f 'groupmems.c' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'groupmems.c' '(file already exists)' -else - $echo 'x -' extracting 'groupmems.c' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'groupmems.c' && -/* -X * SPDX-FileCopyrightText: 2000, International Business Machines, Inc. -X * SPDX-FileCopyrightText: 2000, George Kraft IV, gk4@us.ibm.com -X * SPDX-License-Identifier: BSD-3-Clause -X */ -/* -** -** Utility "groupmem" adds and deletes members from a user's group. -** -** Setup (as "root"): -** -** groupadd -r groups -** chmod 2770 groupmems -** chown root.groups groupmems -** groupmems -g groups -a gk4 -** -** Usage (as "gk4"): -** -** groupmems -a olive -** groupmems -a jordan -** groupmems -a meghan -** groupmems -a morgan -** groupmems -a jake -** groupmems -l -** groupmems -d jake -** groupmems -l -*/ -X -#include -#include -#include -#include -#include -#include -#include "defines.h" -#include "groupio.h" -X -/* Exit Status Values */ -X -#define EXIT_SUCCESS 0 /* success */ -#define EXIT_USAGE 1 /* invalid command syntax */ -#define EXIT_GROUP_FILE 2 /* group file access problems */ -#define EXIT_NOT_ROOT 3 /* not superuser */ -#define EXIT_NOT_EROOT 4 /* not effective superuser */ -#define EXIT_NOT_PRIMARY 5 /* not primary owner of group */ -#define EXIT_NOT_MEMBER 6 /* member of group does not exist */ -#define EXIT_MEMBER_EXISTS 7 /* member of group already exists */ -X -#define TRUE 1 -#define FALSE 0 -X -/* Globals */ -X -extern int optind; -extern char *optarg; -static char *adduser = NULL; -static char *deluser = NULL; -static char *thisgroup = NULL; -static int purge = FALSE; -static int list = FALSE; -static int exclusive = 0; -X -static int isroot(void) { -X return getuid() ? FALSE : TRUE; -} -X -static int isgroup(void) { -X gid_t g = getgid(); -X struct group *grp = getgrgid(g); -X -X return TRUE; -} -X -static char *whoami(void) { -X struct group *grp = getgrgid(getgid()); -X struct passwd *usr = getpwuid(getuid()); -X -X if (0 == strcmp(usr->pw_name, grp->gr_name)) { -X return (char *)strdup(usr->pw_name); -X } else { -X return NULL; -X } -} -X -static void -addtogroup(char *user, char **members) { -X int i; -X char **pmembers; -X -X for (i = 0; NULL != members[i]; i++ ) { -X if (0 == strcmp(user, members[i])) { -X fprintf(stderr, "Member already exists\n"); -X exit(EXIT_MEMBER_EXISTS); -X } -X } -X -X if (0 == i) { -X pmembers = (char **)calloc(2, sizeof(char *)); -X } else { -X pmembers = (char **)realloc(members, sizeof(char *)*(i+1)); -X } -X -X *members = *pmembers; -X members[i] = user; -X members[i+1] = NULL; -} -X -static void -rmfromgroup(char *user, char **members) { -X int i; -X int found = FALSE; -X -X i = 0; -X while (!found && NULL != members[i]) { -X if (0 == strcmp(user, members[i])) { -X found = TRUE; -X } else { -X i++; -X } -X } -X -X while (found && NULL != members[i]) { -X members[i] = members[++i]; -X } -X -X if (!found) { -X fprintf(stderr, "Member to remove could not be found\n"); -X exit(EXIT_NOT_MEMBER); -X } -} -X -static void -nomembers(char **members) { -X int i; -X -X for (i = 0; NULL != members[i]; i++ ) { -X members[i] = NULL; -X } -} -X -static void -members(char **members) { -X int i; -X -X for (i = 0; NULL != members[i]; i++ ) { -X printf("%s ", members[i]); -X -X if (NULL == members[i+1]) { -X printf("\n"); -X } else { -X printf(" "); -X } -X } -} -X -static void usage(void) { -X fprintf(stderr, "usage: groupmems -a username | -d username | -D | -l [-g groupname]\n"); -X exit(EXIT_USAGE); -} -X -main(int argc, char **argv) { -X int arg, i; -X char *name; -X struct group *grp; -X -X while ((arg = getopt(argc, argv, "a:d:g:Dl")) != EOF) { -X switch (arg) { -X case 'a': -X adduser = strdup(optarg); -X ++exclusive; -X break; -X case 'd': -X deluser = strdup(optarg); -X ++exclusive; -X break; -X case 'g': -X thisgroup = strdup(optarg); -X break; -X case 'D': -X purge = TRUE; -X ++exclusive; -X break; -X case 'l': -X list = TRUE; -X ++exclusive; -X break; -X default: -X usage(); -X } -X } -X -X if (exclusive > 1 || optind < argc) { -X usage(); -X } -X -X if (!isroot() && NULL != thisgroup) { -X fprintf(stderr, "Only root can add members to different groups\n"); -X exit(EXIT_NOT_ROOT); -X } else if (isroot() && NULL != thisgroup) { -X name = thisgroup; -X } else if (!isgroup()) { -X fprintf(stderr, "Group access is required\n"); -X exit(EXIT_NOT_EROOT); -X } else if (NULL == (name = whoami())) { -X fprintf(stderr, "Not primary owner of current group\n"); -X exit(EXIT_NOT_PRIMARY); -X } -X -X if (!gr_lock()) { -X fprintf(stderr, "Unable to lock group file\n"); -X exit(EXIT_GROUP_FILE); -X } -X -X if (!gr_open(O_RDWR)) { -X fprintf(stderr, "Unable to open group file\n"); -X exit(EXIT_GROUP_FILE); -X } -X -X grp = (struct group *)gr_locate(name); -X -X if (NULL != adduser) { -X addtogroup(adduser, grp->gr_mem); -X gr_update(grp); -X } else if (NULL != deluser) { -X rmfromgroup(deluser, grp->gr_mem); -X gr_update(grp); -X } else if (purge) { -X nomembers(grp->gr_mem); -X gr_update(grp); -X } else if (list) { -X members(grp->gr_mem); -X } -X -X if (!gr_close()) { -X fprintf(stderr, "Cannot close group file\n"); -X exit(EXIT_GROUP_FILE); -X } -X -X gr_unlock(); -X -X exit(EXIT_SUCCESS); -} -X -/* EOF */ -SHAR_EOF - (set 20 00 05 25 14 36 38 'groupmems.c'; eval "$shar_touch") && - chmod 0644 'groupmems.c' || - $echo 'restore of' 'groupmems.c' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'groupmems.c:' 'MD5 check failed' -f0dd68f8d762d89d24d3ce1f4141f981 groupmems.c -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'groupmems.c'`" - test 6348 -eq "$shar_count" || - $echo 'groupmems.c:' 'original size' '6348,' 'current size' "$shar_count!" - fi -fi -# ============= groupmems.8 ============== -if test -f 'groupmems.8' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'groupmems.8' '(file already exists)' -else - $echo 'x -' extracting 'groupmems.8' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'groupmems.8' && -X.\" -X.\" SPDX-FileCopyrightText: 2000, International Business Machines, Inc. -X.\" SPDX-FileCopyrightText: 2000, George Kraft IV, gk4@us.ibm.com -X.\" SPDX-License-Identifier: BSD-3-Clause -X.\" -X.\" $Id$ -X.\" -X.TH GROUPMEMS 8 -X.SH NAME -groupmems \- Administer members of a user's primary group -X.SH SYNOPSIS -X.B groupmems -\fB-a\fI user_name \fR | -\fB-d\fI user_name \fR | -\fB-l\fR | -\fB-D\fR | -[\fB-g\fI group_name \fR] -X.SH DESCRIPTION -The \fBgroupmems\fR utility allows a user to administer their own -group membership list without the requirement of superuser privileges. -The \fBgroupmems\fR utility is for systems that configure its users to -be in their own name sake primary group (i.e., guest / guest). -X.P -Only the superuser, as administrator, can use \fBgroupmems\fR to alter -the memberships of other groups. -X.IP "\fB-a \fIuser_name\fR" -Add a new user to the group membership list. -X.IP "\fB-d \fIuser_name\fR" -Delete a user from the group membership list. -X.IP "\fB-l\fR" -List the group membership list. -X.IP "\fB-D\fR" -Delete all users from the group membership list. -X.IP "\fB-g \fIgroup_name\fR" -The superuser can specify which group membership list to modify. -X.SH SETUP -The \fBgroupmems\fR executable should be in mode \fB2770\fR as user \fBroot\fR -and in group \fBgroups\fR. The system administrator can add users to -group groups to allow or disallow them using the \fBgroupmems\fR utility -to manager their own group membership list. -X.P -X $ groupadd -r groups -X.br -X $ chmod 2770 groupmems -X.br -X $ chown root.groups groupmems -X.br -X $ groupmems -g groups -a gk4 -X.SH FILES -/etc/group -X.br -/etc/gshadow -X.SH SEE ALSO -X.BR chfn (1), -X.BR chsh (1), -X.BR useradd (8), -X.BR userdel (8), -X.BR usermod (8), -X.BR passwd (1), -X.BR groupadd (8), -X.BR groupdel (8) -X.SH AUTHOR -George Kraft IV (gk4@us.ibm.com) -X.\" EOF -SHAR_EOF - (set 20 00 05 25 14 38 23 'groupmems.8'; eval "$shar_touch") && - chmod 0600 'groupmems.8' || - $echo 'restore of' 'groupmems.8' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'groupmems.8:' 'MD5 check failed' -181e6cd3a3c9d3df320197fa2cde2b4a groupmems.8 -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'groupmems.8'`" - test 3372 -eq "$shar_count" || - $echo 'groupmems.8:' 'original size' '3372,' 'current size' "$shar_count!" - fi -fi -rm -fr _sh10937 -exit 0 diff --git a/contrib/pwdauth.c b/contrib/pwdauth.c deleted file mode 100644 index ca154959..00000000 --- a/contrib/pwdauth.c +++ /dev/null @@ -1,308 +0,0 @@ -/* - * pwdauth.c - program to verify a given username/password pair. - * - * Run it with username in argv[1] (may be omitted - default is the - * current user), and send it the password over a pipe on stdin. - * Exit status: 0 - correct password, 1 - wrong password, >1 - other - * errors. For use with shadow passwords, this program should be - * installed setuid root. - * - * This can be used, for example, by xlock - you don't have to install - * this large and complex (== possibly insecure) program setuid root, - * just modify it to run this simple program to do the authentication. - * - * Recent versions (xlockmore-3.9) are cleaner, and drop privileges as - * soon as possible after getting the user's encrypted password. - * Using this program probably doesn't make it more secure, and has one - * disadvantage: since we don't get the encrypted user's password at - * startup (but at the time the user is authenticated), it is not clear - * how we should handle errors (like getpwnam() returning NULL). - * - fail the authentication? Problem: no way to unlock (other than kill - * the process from somewhere else) if the NIS server stops responding. - * - succeed and unlock? Problem: it's too easy to unlock by unplugging - * the box from the network and waiting until NIS times out... - * - * This program is Copyright (C) 1996 Marek Michalkiewicz - * . - * - * It may be used and distributed freely for any purposes. There is no - * warranty - use at your own risk. I am not liable for any damages etc. - * If you improve it, please send me your changes. - */ - -static char rcsid[] = "$Id$"; - -/* - * Define USE_SYSLOG to use syslog() to log successful and failed - * authentication. This should be safe even if your system has - * the infamous syslog buffer overrun security problem... - */ -#define USE_SYSLOG - -/* - * Define HAVE_GETSPNAM to get shadow passwords using getspnam(). - * Some systems don't have getspnam(), but getpwnam() returns - * encrypted passwords only if running as root. - * - * According to the xlock source (not tested, except Linux) - - * define: Linux, Solaris 2.x, SVR4, ... - * undef: HP-UX with Secured Passwords, FreeBSD, NetBSD, QNX. - * Known not supported (yet): Ultrix, OSF/1, SCO. - */ -#define HAVE_GETSPNAM - -/* - * Define HAVE_PW_ENCRYPT to use pw_encrypt() instead of crypt(). - * pw_encrypt() is like the standard crypt(), except that it may - * support better password hashing algorithms. - * - * Define if linking with libshadow.a from the shadow password - * suite (Linux, SunOS 4.x?). - */ -#undef HAVE_PW_ENCRYPT - -/* - * Define HAVE_AUTH_METHODS to support the shadow suite specific - * extension: the encrypted password field contains a list of - * administrator defined authentication methods, separated by - * semicolons. This program only supports the standard password - * authentication method (a string that doesn't start with '@'). - */ -#undef HAVE_AUTH_METHODS - -/* - * FAIL_DELAY - number of seconds to sleep before exiting if the - * password was wrong, to slow down password guessing attempts. - */ -#define FAIL_DELAY 2 - -/* No user-serviceable parts below :-). */ - -#include -#include -#include -#include -#include -#include -#include - -#ifdef USE_SYSLOG -#include -#ifndef LOG_AUTHPRIV -#define LOG_AUTHPRIV LOG_AUTH -#endif -#endif - -#ifdef HAVE_GETSPNAM -#include -#endif - -#ifdef HAVE_PW_ENCRYPT -extern char *pw_encrypt(); -#define crypt pw_encrypt -#endif - -/* - * Read the password (one line) from fp. We don't turn off echo - * because we expect input from a pipe. - */ -static char * -get_line(fp) - FILE *fp; -{ - static char buf[128]; - char *cp; - int ch; - - cp = buf; - while ((ch = getc(fp)) != EOF && ch != '\0' && ch != '\n') { - if (cp >= buf + sizeof buf - 1) - break; - *cp++ = ch; - } - *cp = '\0'; - return buf; -} - -/* - * Get the password file entry for the current user. If the name - * returned by getlogin() is correct (matches the current real uid), - * return the entry for that user. Otherwise, return the entry (if - * any) matching the current real uid. Return NULL on failure. - */ -static struct passwd * -get_my_pwent() -{ - uid_t uid = getuid(); - char *name = getlogin(); - - if (name && *name) { - struct passwd *pw = getpwnam(name); - - if (pw && pw->pw_uid == uid) - return pw; - } - return getpwuid(uid); -} - -/* - * Verify the password. The system-dependent shadow support is here. - */ -static int -password_auth_ok(pw, pass) - const struct passwd *pw; - const char *pass; -{ - int result; - char *cp; -#ifdef HAVE_AUTH_METHODS - char *buf; -#endif -#ifdef HAVE_GETSPNAM - struct spwd *sp; -#endif - - if (pw) { -#ifdef HAVE_GETSPNAM - sp = getspnam(pw->pw_name); - if (sp) - cp = sp->sp_pwdp; - else -#endif - cp = pw->pw_passwd; - } else - cp = "xx"; - -#ifdef HAVE_AUTH_METHODS - buf = strdup(cp); /* will be modified by strtok() */ - if (!buf) { - fprintf(stderr, "Out of memory.\n"); - exit(13); - } - cp = strtok(buf, ";"); - while (cp && *cp == '@') - cp = strtok(NULL, ";"); - - /* fail if no password authentication for this user */ - if (!cp) - cp = "xx"; -#endif - - if (*pass || *cp) - result = (strcmp(crypt(pass, cp), cp) == 0); - else - result = 1; /* user with no password */ - -#ifdef HAVE_AUTH_METHODS - free(buf); -#endif - return result; -} - -/* - * Main program. - */ -int -main(argc, argv) - int argc; - char **argv; -{ - struct passwd *pw; - char *pass, *name; - char myname[32]; - -#ifdef USE_SYSLOG - openlog("pwdauth", LOG_PID | LOG_CONS, LOG_AUTHPRIV); -#endif - pw = get_my_pwent(); - if (!pw) { -#ifdef USE_SYSLOG - syslog(LOG_ERR, "can't get login name for uid %d.\n", - (int) getuid()); -#endif - fprintf(stderr, "Who are you?\n"); - exit(2); - } - strncpy(myname, pw->pw_name, sizeof myname - 1); - myname[sizeof myname - 1] = '\0'; - name = myname; - - if (argc > 1) { - name = argv[1]; - pw = getpwnam(name); - } - - pass = get_line(stdin); - if (password_auth_ok(pw, pass)) { -#ifdef USE_SYSLOG - syslog(pw->pw_uid ? LOG_INFO : LOG_NOTICE, - "user `%s' entered correct password for `%.32s'.\n", - myname, name); -#endif - exit(0); - } -#ifdef USE_SYSLOG - /* be careful not to overrun the syslog buffer */ - syslog((!pw || pw->pw_uid) ? LOG_NOTICE : LOG_WARNING, - "user `%s' entered incorrect password for `%.32s'.\n", - myname, name); -#endif -#ifdef FAIL_DELAY - sleep(FAIL_DELAY); -#endif - fprintf(stderr, "Wrong password.\n"); - exit(1); -} - -#if 0 -/* - * You can use code similar to the following to run this program. - * Return values: >=0 - program exit status (use the - * macros to get the exit code, it is shifted left by 8 bits), - * -1 - check errno. - */ -int -verify_password(const char *username, const char *password) -{ - int pipe_fd[2]; - int pid, wpid, status; - - if (pipe(pipe_fd)) - return -1; - - if ((pid = fork()) == 0) { - char *arg[3]; - char *env[1]; - - /* child */ - close(pipe_fd[1]); - if (pipe_fd[0] != 0) { - if (dup2(pipe_fd[0], 0) != 0) - _exit(127); - close(pipe_fd[0]); - } - arg[0] = "/usr/bin/pwdauth"; - arg[1] = username; - arg[2] = NULL; - env[0] = NULL; - execve(arg[0], arg, env); - _exit(127); - } else if (pid == -1) { - /* error */ - close(pipe_fd[0]); - close(pipe_fd[1]); - return -1; - } - /* parent */ - close(pipe_fd[0]); - write(pipe_fd[1], password, strlen(password)); - write(pipe_fd[1], "\n", 1); - close(pipe_fd[1]); - - while ((wpid = wait(&status)) != pid) { - if (wpid == -1) - return -1; - } - return status; -} -#endif diff --git a/contrib/shadow-anonftp.patch b/contrib/shadow-anonftp.patch deleted file mode 100644 index e09647dd..00000000 --- a/contrib/shadow-anonftp.patch +++ /dev/null @@ -1,147 +0,0 @@ -Hello Marek, - -I have created a diffile against the 980403 release that adds -functionality to newusers for automatic handling of users with only -anonymous ftp login (using the guestgroup feature in ftpaccess, which -means that the users home directory looks like '/home/user/./'). It also -adds a commandline argument to specify an initial directory structure -for such users, with a tarball normally containing the bin,lib,etc -directories used in the chrooted environment. - -I am using it to automatically create chunks of users with only ftp -access for a webserver. - -I have tried to follow your coding standards and I believe it is bug -free but.. well, who knows. :) It's not much code however. - -I hope you find it useful. Do what you like with it, feel free to ask if -anything is unclear. - -Best rgds, - Calle Karlsson - ckn@kash.se - -diff -uNr shadow-980403.orig/src/newusers.c shadow-980403/src/newusers.c ---- shadow-980403.orig/src/newusers.c Fri Jan 30 00:22:43 1998 -+++ shadow-980403/src/newusers.c Fri Apr 17 16:55:33 1998 -@@ -76,11 +76,35 @@ - static void - usage(void) - { -- fprintf(stderr, "Usage: %s [ input ]\n", Prog); -+ fprintf (stderr, "Usage: %s [-p prototype tarfile] [ input ]\n", Prog); -+ fprintf (stderr, "The prototype tarfile is only used for users\n"); -+ fprintf (stderr, "marked as anonymous ftp users. It must be a full pathname.\n"); - exit(1); - } - - /* -+ * createuserdir - create a directory and chmod it -+ */ -+ -+static int -+createuserdir (char * dir, int uid, int gid, int line) -+{ -+ if (mkdir (dir, 0777 & ~getdef_num("UMASK", 077))) { -+ fprintf (stderr, "%s: line %d: mkdir %s failed\n", -+ Prog, line, dir); -+ return -1; -+ } -+ -+ if (chown (dir, uid, gid)) { -+ fprintf (stderr, "%s: line %d: chown %s failed\n", -+ Prog, line, dir); -+ return -1; -+ } -+ -+ return 0; -+} -+ -+/* - * add_group - create a new group or add a user to an existing group - */ - -@@ -328,6 +352,8 @@ - main(int argc, char **argv) - { - char buf[BUFSIZ]; -+ char anonproto[BUFSIZ]; -+ int flag; - char *fields[8]; - int nfields; - char *cp; -@@ -340,12 +366,23 @@ - - Prog = Basename(argv[0]); - -- if (argc > 1 && argv[1][0] == '-') -- usage (); -+ * anonproto = '\0'; -+ -+ while ((flag = getopt (argc, argv, "p:h")) != EOF) { -+ switch (flag) { -+ case 'p': -+ STRFCPY(anonproto, optarg); -+ break; -+ case 'h': -+ default: -+ usage (); -+ break; -+ } -+ } - -- if (argc == 2) { -- if (! freopen (argv[1], "r", stdin)) { -- snprintf(buf, sizeof buf, "%s: %s", Prog, argv[1]); -+ if (optind < argc) { -+ if (! freopen (argv[optind], "r", stdin)) { -+ snprintf(buf, sizeof buf, "%s: %s", Prog, argv[optind]); - perror (buf); - exit (1); - } -@@ -499,15 +536,36 @@ - if (fields[6][0]) - newpw.pw_shell = fields[6]; - -- if (newpw.pw_dir[0] && access(newpw.pw_dir, F_OK)) { -- if (mkdir (newpw.pw_dir, -- 0777 & ~getdef_num("UMASK", 077))) -- fprintf (stderr, "%s: line %d: mkdir failed\n", -- Prog, line); -- else if (chown (newpw.pw_dir, -- newpw.pw_uid, newpw.pw_gid)) -- fprintf (stderr, "%s: line %d: chown failed\n", -- Prog, line); -+ if (newpw.pw_dir[0]) { -+ char * userdir = strdup (newpw.pw_dir); -+ char * anonpart; -+ int rc; -+ -+ if ((anonpart = strstr (userdir, "/./"))) { -+ * anonpart = '\0'; -+ anonpart += 2; -+ } -+ -+ if (access(userdir, F_OK)) -+ rc = createuserdir (userdir, newpw.pw_uid, newpw.pw_gid, line); -+ else -+ rc = 0; -+ -+ if (rc == 0 && anonpart) { -+ if (* anonproto) { -+ char cmdbuf [BUFSIZ]; -+ snprintf(cmdbuf, sizeof cmdbuf, -+ "cd %s; tar xf %s", -+ userdir, anonproto); -+ system (cmdbuf); -+ } -+ if (strlen (anonpart) > 1) { -+ strcat (userdir, anonpart); -+ if (access (userdir, F_OK)) -+ createuserdir (userdir, newpw.pw_uid, newpw.pw_gid, line); -+ } -+ } -+ free (userdir); - } - - /* diff --git a/contrib/udbachk.tgz b/contrib/udbachk.tgz deleted file mode 100644 index 605ad6396685704d0d3b820d2376227c031186f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17571 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 K%FXQn7y$r@Wh?9e diff --git a/doc/Makefile.am b/doc/Makefile.am index 85f22480..aa8b8709 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,5 +1,4 @@ # This is a dummy Makefile.am to get automake work flawlessly, # and also cooperate to make a distribution for `make dist' -EXTRA_DIST = HOWTO README.limits \ - README.platforms WISHLIST console.c.spec.txt cracklib26.diff +EXTRA_DIST = HOWTO README.limits diff --git a/doc/Makefile.in b/doc/Makefile.in index 1e005447..0eef0de1 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -141,6 +141,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -174,9 +176,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -192,6 +200,7 @@ 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@ @@ -200,6 +209,8 @@ 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@ @@ -222,6 +233,9 @@ 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@ @@ -293,9 +307,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -EXTRA_DIST = HOWTO README.limits \ - README.platforms WISHLIST console.c.spec.txt cracklib26.diff - +EXTRA_DIST = HOWTO README.limits all: all-am .SUFFIXES: diff --git a/doc/README.platforms b/doc/README.platforms deleted file mode 100644 index a069e899..00000000 --- a/doc/README.platforms +++ /dev/null @@ -1,33 +0,0 @@ -# $Id$ -# -# This is the current (still incomplete) list of platforms this -# package has been verified to work on. Additions (preferably -# in the format as described below) are welcome. Thanks! -# -# V: last version reported to work -# H: host type -# L: Linux libc version -# D: Linux distribution, or other OS name and version -# C: changes (if any) -# R: reported by - -V: 980529 -H: sparc-unknown-linux-gnu -L: glibc-2.0.7 -D: Ultrapenguin-1.0.9 -C: had to explicitly disable desrpc. -R: Bjorn Christianson - -V: 980724 -H: i486-pc-linux-gnulibc1 -L: libc-5.4.33 -D: Debian-1.3.1.r6 -C: none (use dpkg-buildpackage) -R: Marek Michalkiewicz - -V: current -H: i686-pc-linux-gnu -L: glibc-2.0.7.19981211 -D: Debian-2.1 -C: none (use dpkg-buildpackage) -R: Marek Michalkiewicz diff --git a/doc/WISHLIST b/doc/WISHLIST deleted file mode 100644 index d9003b11..00000000 --- a/doc/WISHLIST +++ /dev/null @@ -1,39 +0,0 @@ -$Id$ - -This is my wishlist for the shadow suite, in no particular order. Feel -free to do anything from this list and mail me the diffs :-). - -Patches in diff -u format, against the latest version (sometimes in the -"beta" directory) are preferred and make my job easier. Please, no -MIME, base64, quoted-printable, or HTML. For very big patches, or if -your mailer can corrupt them, please use gzip and uuencode. Thanks! - -New ideas to add to this list are welcome, too. --marekm - -- fix all the bugs, of course -- implement "su only" accounts (no logins, only su from other account) -- rewrite getdef.c to be more general? (no hardcoded names) -- patch for rlogind/telnetd to create utmp entry and fill in ut_addr -- option to specify encrypted password in passwd (for yppasswdd, so it - doesn't need to know about shadow/non-shadow); should probably use a pipe - (less insecure than command line arguments) -- add support for changing NIS passwords -- add option to check passwords by piping them to external programs -- add functionality of the contrib/rpasswd.c wrapper to passwd -- option to generate pronounceable passwords (like on SCO), external program? -- poppassd (remote password change for eudora etc.) -- add support for passwd/shadow db files (glibc) -- vipw: check password files for errors after editing -- add "maximum time users allowed to stay logged in" limit option to logoutd -- handle quotes in /etc/environment like the shell does (but sshd doesn't...) -- better utmpx support (logoutd, ...) -- better OPIE support (report number of logins left, etc.) -- new option for /etc/suauth: don't load user's environment (force "su -") - suggested by Ulisses Alonso Camaro -- find out why recent releases won't compile on Solaris -- newusers should be able to copy /etc/skel to the new home directory - (like useradd) -- add directories where other packages can add hooks for package-specific - per-user configuration, to be executed with run-parts. Some hooks should - be executed at package install time for existing users, likewise for - package removal and possibly modification. (Debian Bug#36019) diff --git a/doc/console.c.spec.txt b/doc/console.c.spec.txt deleted file mode 100644 index b7c0d0da..00000000 --- a/doc/console.c.spec.txt +++ /dev/null @@ -1,36 +0,0 @@ -$Id$ - -Specification for console.c source file -- - -input values -- - tty -- character pointer to device name with leading "/dev/" - removed. - -return values -- - 0 -- false - 1 -- true - -int console (char * tty) - if "CONSOLE" string value is not present in login.defs - return true - - if the first character of "CONSOLE" string value is not "/" - treat the string as a ":" delimited list of device - names and search for the value of tty in that - tokenized list. - - if a match is found - return true - - return false - - if the file named by "CONSOLE" cannot be opened - return true - - scan the file looking for a match between the input line - and the value of tty - - if a match is found - return true - - return false diff --git a/doc/cracklib26.diff b/doc/cracklib26.diff deleted file mode 100644 index 09160b8c..00000000 --- a/doc/cracklib26.diff +++ /dev/null @@ -1,340 +0,0 @@ -diff -ur orig/cracklib26_small/cracklib/fascist.c cracklib26_small/cracklib/fascist.c ---- orig/cracklib26_small/cracklib/fascist.c Mon Dec 15 02:56:55 1997 -+++ cracklib26_small/cracklib/fascist.c Sat Apr 4 22:14:45 1998 -@@ -12,6 +12,7 @@ - #include - #include - #include -+#include - - #define ISSKIP(x) (isspace(x) || ispunct(x)) - -@@ -460,28 +461,27 @@ - } - - char * --FascistGecos(password, uid) -+FascistGecosPw(password, pwd) - char *password; -- int uid; -+ struct passwd *pwd; - { - int i; - int j; - int wc; - char *ptr; -- struct passwd *pwp; - char gbuffer[STRINGSIZE]; - char tbuffer[STRINGSIZE]; - char *uwords[STRINGSIZE]; - char longbuffer[STRINGSIZE * 2]; - -- if (!(pwp = getpwuid(uid))) -+ if (!pwd) - { - return ("you are not registered in the password file"); - } - - /* lets get really paranoid and assume a dangerously long gecos entry */ - -- strncpy(tbuffer, pwp->pw_name, STRINGSIZE); -+ strncpy(tbuffer, pwd->pw_name, STRINGSIZE); - tbuffer[STRINGSIZE-1] = '\0'; - if (GTry(tbuffer, password)) - { -@@ -490,12 +490,13 @@ - - /* it never used to be that you got passwd strings > 1024 chars, but now... */ - -- strncpy(tbuffer, pwp->pw_gecos, STRINGSIZE); -+ strncpy(tbuffer, pwd->pw_gecos, STRINGSIZE); - tbuffer[STRINGSIZE-1] = '\0'; - strcpy(gbuffer, Lowercase(tbuffer)); - - wc = 0; - ptr = gbuffer; -+ uwords[0] = (char *) 0; - - while (*ptr) - { -@@ -530,6 +531,8 @@ - *(ptr++) = '\0'; - } - } -+ if (!uwords[0]) -+ return ((char *) 0); /* empty gecos */ - #ifdef DEBUG - for (i = 0; uwords[i]; i++) - { -@@ -586,9 +589,10 @@ - } - - char * --FascistLook(pwp, instring) -+FascistLookPw(pwp, instring, pwd) - PWDICT *pwp; - char *instring; -+ struct passwd *pwd; - { - int i; - char *ptr; -@@ -667,7 +671,7 @@ - return ("it looks like a National Insurance number."); - } - -- if (ptr = FascistGecos(password, getuid())) -+ if (ptr = FascistGecosPw(password, pwd ? pwd : getpwuid(getuid()))) - { - return (ptr); - } -@@ -715,9 +719,10 @@ - } - - char * --FascistCheck(password, path) -+FascistCheckPw(password, path, pwd) - char *password; - char *path; -+ struct passwd *pwd; - { - static char lastpath[STRINGSIZE]; - static PWDICT *pwp; -@@ -750,5 +755,29 @@ - strncpy(lastpath, path, STRINGSIZE); - } - -- return (FascistLook(pwp, pwtrunced)); -+ return (FascistLookPw(pwp, pwtrunced, pwd)); -+} -+ -+char * -+FascistGecos(password, uid) -+ char *password; -+ int uid; -+{ -+ return (FascistGecosPw(password, getpwuid(uid))); -+} -+ -+char * -+FascistLook(pwp, instring) -+ PWDICT *pwp; -+ char *instring; -+{ -+ return (FascistLookPw(pwp, instring, (char *) 0)); -+} -+ -+char * -+FascistCheck(password, path) -+ char *password; -+ char *path; -+{ -+ return (FascistCheckPw(password, path, (char *) 0)); - } -diff -ur orig/cracklib26_small/cracklib/packer.h cracklib26_small/cracklib/packer.h ---- orig/cracklib26_small/cracklib/packer.h Mon Dec 15 00:09:30 1997 -+++ cracklib26_small/cracklib/packer.h Sat Jan 10 22:13:46 1998 -@@ -34,6 +34,7 @@ - FILE *dfp; - FILE *wfp; - -+ int canfree; - int32 flags; - #define PFOR_WRITE 0x0001 - #define PFOR_FLUSH 0x0002 -diff -ur orig/cracklib26_small/cracklib/packlib.c cracklib26_small/cracklib/packlib.c ---- orig/cracklib26_small/cracklib/packlib.c Fri Jul 9 22:22:58 1993 -+++ cracklib26_small/cracklib/packlib.c Sat Jan 10 22:28:49 1998 -@@ -16,7 +16,7 @@ - char *mode; - { - int32 i; -- static PWDICT pdesc; -+ PWDICT *pdesc; - char iname[STRINGSIZE]; - char dname[STRINGSIZE]; - char wname[STRINGSIZE]; -@@ -25,92 +25,94 @@ - FILE *ifp; - FILE *wfp; - -- if (pdesc.header.pih_magic == PIH_MAGIC) -- { -- fprintf(stderr, "%s: another dictionary already open\n", prefix); -+ if ((pdesc = (PWDICT *) malloc(sizeof(PWDICT))) == 0) - return ((PWDICT *) 0); -- } - -- memset(&pdesc, '\0', sizeof(pdesc)); -+ memset(pdesc, '\0', sizeof(*pdesc)); - - sprintf(iname, "%s.pwi", prefix); - sprintf(dname, "%s.pwd", prefix); - sprintf(wname, "%s.hwm", prefix); - -- if (!(pdesc.dfp = fopen(dname, mode))) -+ if (!(pdesc->dfp = fopen(dname, mode))) - { - perror(dname); -+ free(pdesc); - return ((PWDICT *) 0); - } - -- if (!(pdesc.ifp = fopen(iname, mode))) -+ if (!(pdesc->ifp = fopen(iname, mode))) - { -- fclose(pdesc.dfp); -+ fclose(pdesc->dfp); - perror(iname); -+ free(pdesc); - return ((PWDICT *) 0); - } - -- if (pdesc.wfp = fopen(wname, mode)) -+ if (pdesc->wfp = fopen(wname, mode)) - { -- pdesc.flags |= PFOR_USEHWMS; -+ pdesc->flags |= PFOR_USEHWMS; - } - -- ifp = pdesc.ifp; -- dfp = pdesc.dfp; -- wfp = pdesc.wfp; -+ ifp = pdesc->ifp; -+ dfp = pdesc->dfp; -+ wfp = pdesc->wfp; - - if (mode[0] == 'w') - { -- pdesc.flags |= PFOR_WRITE; -- pdesc.header.pih_magic = PIH_MAGIC; -- pdesc.header.pih_blocklen = NUMWORDS; -- pdesc.header.pih_numwords = 0; -+ pdesc->flags |= PFOR_WRITE; -+ pdesc->header.pih_magic = PIH_MAGIC; -+ pdesc->header.pih_blocklen = NUMWORDS; -+ pdesc->header.pih_numwords = 0; - -- fwrite((char *) &pdesc.header, sizeof(pdesc.header), 1, ifp); -+ fwrite((char *) &pdesc->header, sizeof(pdesc->header), 1, ifp); - } else - { -- pdesc.flags &= ~PFOR_WRITE; -+ pdesc->flags &= ~PFOR_WRITE; - -- if (!fread((char *) &pdesc.header, sizeof(pdesc.header), 1, ifp)) -+ if (!fread((char *) &pdesc->header, sizeof(pdesc->header), 1, ifp)) - { - fprintf(stderr, "%s: error reading header\n", prefix); - -- pdesc.header.pih_magic = 0; -+ pdesc->header.pih_magic = 0; - fclose(ifp); - fclose(dfp); -+ free(pdesc); - return ((PWDICT *) 0); - } - -- if (pdesc.header.pih_magic != PIH_MAGIC) -+ if (pdesc->header.pih_magic != PIH_MAGIC) - { - fprintf(stderr, "%s: magic mismatch\n", prefix); - -- pdesc.header.pih_magic = 0; -+ pdesc->header.pih_magic = 0; - fclose(ifp); - fclose(dfp); -+ free(pdesc); - return ((PWDICT *) 0); - } - -- if (pdesc.header.pih_blocklen != NUMWORDS) -+ if (pdesc->header.pih_blocklen != NUMWORDS) - { - fprintf(stderr, "%s: size mismatch\n", prefix); - -- pdesc.header.pih_magic = 0; -+ pdesc->header.pih_magic = 0; - fclose(ifp); - fclose(dfp); -+ free(pdesc); - return ((PWDICT *) 0); - } - -- if (pdesc.flags & PFOR_USEHWMS) -+ if (pdesc->flags & PFOR_USEHWMS) - { -- if (fread(pdesc.hwms, 1, sizeof(pdesc.hwms), wfp) != sizeof(pdesc.hwms)) -+ if (fread(pdesc->hwms, 1, sizeof(pdesc->hwms), wfp) != sizeof(pdesc->hwms)) - { -- pdesc.flags &= ~PFOR_USEHWMS; -+ pdesc->flags &= ~PFOR_USEHWMS; - } - } - } -- -- return (&pdesc); -+ pdesc->canfree = 1; -+ return (pdesc); - } - - int -@@ -159,8 +161,13 @@ - - fclose(pwp->ifp); - fclose(pwp->dfp); -+ if (pwp->wfp) -+ fclose(pwp->wfp); - -- pwp->header.pih_magic = 0; -+ if (pwp->canfree) -+ free(pwp); -+ else -+ pwp->header.pih_magic = 0; - - return (0); - } -@@ -307,6 +314,11 @@ - register char *this; - int idx; - -+/* -+ * comment in npasswd-2.0beta4 says this: -+ * This does not work under all circumstances, so don't bother -+ */ -+#if 0 - if (pwp->flags & PFOR_USEHWMS) - { - idx = string[0] & 0xff; -@@ -317,6 +329,10 @@ - lwm = 0; - hwm = PW_WORDS(pwp) - 1; - } -+#else -+ lwm = 0; -+ hwm = PW_WORDS(pwp); -+#endif - - #ifdef DEBUG - printf("---- %lu, %lu ----\n", lwm, hwm); -diff -ur orig/cracklib26_small/util/mkdict cracklib26_small/util/mkdict ---- orig/cracklib26_small/util/mkdict Fri Jul 9 22:23:03 1993 -+++ cracklib26_small/util/mkdict Sat Apr 4 22:31:45 1998 -@@ -14,9 +14,16 @@ - SORT="sort" - ###SORT="sort -T /tmp" - --cat $* | -+### Use zcat to read compressed (as well as uncompressed) dictionaries. -+### Compressed dictionaries can save quite a lot of disk space. -+ -+CAT="gzip -cdf" -+###CAT="zcat" -+###CAT="cat" -+ -+$CAT $* | - tr '[A-Z]' '[a-z]' | -- tr -cd '[\012a-z0-9]' | -+ tr -cd '\012[a-z][0-9]' | - $SORT | - uniq | - grep -v '^#' | diff --git a/etc/Makefile.am b/etc/Makefile.am index c5c0620b..3f2fa7a2 100644 --- a/etc/Makefile.am +++ b/etc/Makefile.am @@ -20,4 +20,4 @@ EXTRA_DIST = \ $(sysconf_DATA) \ $(default_DATA) -SUBDIRS = pam.d +SUBDIRS = pam.d shadow-maint diff --git a/etc/Makefile.in b/etc/Makefile.in index 5dda0658..8c9751d9 100644 --- a/etc/Makefile.in +++ b/etc/Makefile.in @@ -230,6 +230,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -263,9 +265,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -281,6 +289,7 @@ 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@ @@ -289,6 +298,8 @@ 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@ @@ -311,6 +322,9 @@ 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@ @@ -396,7 +410,7 @@ EXTRA_DIST = \ $(sysconf_DATA) \ $(default_DATA) -SUBDIRS = pam.d +SUBDIRS = pam.d shadow-maint all: all-recursive .SUFFIXES: diff --git a/etc/login.defs b/etc/login.defs index 114dbcd9..33622c29 100644 --- a/etc/login.defs +++ b/etc/login.defs @@ -227,11 +227,6 @@ PASS_WARN_AGE 7 # SU_WHEEL_ONLY no -# -# If compiled with cracklib support, sets the path to the dictionaries -# -CRACKLIB_DICTPATH /var/cache/cracklib/cracklib_dict - # # Min/max values for automatic uid selection in useradd(8) # diff --git a/etc/pam.d/Makefile.am b/etc/pam.d/Makefile.am index 38ff26ae..b8e4321f 100644 --- a/etc/pam.d/Makefile.am +++ b/etc/pam.d/Makefile.am @@ -2,20 +2,20 @@ # and also cooperate to make a distribution for `make dist' pamd_files = \ + chpasswd \ chfn \ chsh \ groupmems \ login \ + newusers \ passwd pamd_acct_tools_files = \ chage \ chgpasswd \ - chpasswd \ groupadd \ groupdel \ groupmod \ - newusers \ useradd \ userdel \ usermod diff --git a/etc/pam.d/Makefile.in b/etc/pam.d/Makefile.in index 187679fe..a8393250 100644 --- a/etc/pam.d/Makefile.in +++ b/etc/pam.d/Makefile.in @@ -173,6 +173,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -206,9 +208,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -224,6 +232,7 @@ 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@ @@ -232,6 +241,8 @@ 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@ @@ -254,6 +265,9 @@ 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@ @@ -325,15 +339,14 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -pamd_files = chfn chsh groupmems login passwd $(am__append_2) +pamd_files = chpasswd chfn chsh groupmems login newusers passwd \ + $(am__append_2) pamd_acct_tools_files = \ chage \ chgpasswd \ - chpasswd \ groupadd \ groupdel \ groupmod \ - newusers \ useradd \ userdel \ usermod diff --git a/etc/shadow-maint/Makefile.am b/etc/shadow-maint/Makefile.am new file mode 100644 index 00000000..f60e4022 --- /dev/null +++ b/etc/shadow-maint/Makefile.am @@ -0,0 +1,5 @@ +shadowmaint_files = \ + groupdel-pre.d/01-kill_group_procs.sh \ + userdel-pre.d/01-kill_user_procs.sh + +EXTRA_DIST = $(shadowmaint_files) diff --git a/etc/shadow-maint/Makefile.in b/etc/shadow-maint/Makefile.in new file mode 100644 index 00000000..ab46b8c6 --- /dev/null +++ b/etc/shadow-maint/Makefile.in @@ -0,0 +1,508 @@ +# 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@ +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 = etc/shadow-maint +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 +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@ +shadowmaint_files = \ + groupdel-pre.d/01-kill_group_procs.sh \ + userdel-pre.d/01-kill_user_procs.sh + +EXTRA_DIST = $(shadowmaint_files) +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 etc/shadow-maint/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign etc/shadow-maint/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/etc/shadow-maint/groupdel-pre.d/01-kill_group_procs.sh b/etc/shadow-maint/groupdel-pre.d/01-kill_group_procs.sh new file mode 100644 index 00000000..10db5279 --- /dev/null +++ b/etc/shadow-maint/groupdel-pre.d/01-kill_group_procs.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" +GROUPID=`awk -F: '$1 == "'"${SUBJECT}"'" { print $3 }' /etc/group` + +if [ "${GROUPID}" = "" ]; then + exit 0 +fi + +for status in /proc/*/status; do + # either this isn't a process or its already dead since expanding the list + [ -f "$status" ] || continue + + tbuf=${status%/status} + pid=${tbuf#/proc/} + case "$pid" in + "$$") continue;; + [0-9]*) :;; + *) continue + esac + + grep -q '^Groups:.*\b'"${GROUPID}"'\b.*' "/proc/$pid/status" || continue + + kill -9 "$pid" || echo "cannot kill $pid" 1>&2 +done + diff --git a/etc/shadow-maint/userdel-pre.d/01-kill_user_procs.sh b/etc/shadow-maint/userdel-pre.d/01-kill_user_procs.sh new file mode 100755 index 00000000..d2d7ef26 --- /dev/null +++ b/etc/shadow-maint/userdel-pre.d/01-kill_user_procs.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + +# Check user exists, and if so, send sigkill to processes that the user owns + +ps -eo user >/dev/null 2>&1 +if [ $? -eq 0 ]; then + RUNNING=`ps -eo user | grep -Fx "$SUBJECT" | wc -l` + # if the user does not exist, RUNNING will be 0 + if [ "${RUNNING}x" = "0x" ]; then + exit 0 + fi +fi + +# If there is no ps -eo, traverse the process directly. + +ls -1 /proc | while IFS= read -r PROC; do + echo "$PROC" | grep -E '^[0-9]+$' >/dev/null + if [ $? -ne 0 ]; then + continue + fi + if [ -d "/proc/${PROC}" ]; then + USR=`stat -c "%U" /proc/${PROC}` + if [ "${USR}" = "${SUBJECT}" ]; then + echo "Killing ${SUBJECT} owned ${PROC}" + kill -9 "${PROC}" + fi + fi +done + diff --git a/lib/Makefile.am b/lib/Makefile.am index 3a50b465..0aa9d5ec 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -5,57 +5,127 @@ DEFS = noinst_LTLIBRARIES = libshadow.la +if USE_PAM +LIBCRYPT_PAM = $(LIBCRYPT) +else +LIBCRYPT_PAM = +endif + +AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) $(ECONF_CPPFLAGS) + libshadow_la_CPPFLAGS = $(ECONF_CPPFLAGS) if HAVE_VENDORDIR libshadow_la_CPPFLAGS += -DVENDORDIR=\"$(VENDORDIR)\" endif libshadow_la_CPPFLAGS += -I$(top_srcdir) +libshadow_la_CFLAGS = $(LIBBSD_CFLAGS) $(LIBCRYPT_PAM) $(LIBSYSTEMD) +libshadow_la_LIBADD = $(LIBADD_DLOPEN) libshadow_la_SOURCES = \ + addgrps.c \ + adds.c \ + adds.h \ + age.c \ + agetpass.c \ + agetpass.h \ + alloc.c \ + alloc.h \ + atoi/strtoi.c \ + atoi/strtoi.h \ + atoi/strtou_noneg.c \ + atoi/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 \ - getdef.c \ - getdef.h \ get_gid.c \ - getlong.c \ get_pid.c \ get_uid.c \ + getdate.h \ + getdate.y \ + getdef.c \ + getdef.h \ + getlong.c \ + getgr_nam_gid.c \ + getrange.c \ + gettime.c \ getulong.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 \ + memzero.c \ + memzero.h \ + motd.c \ + must_be.h \ + myname.c \ nss.c \ nscd.c \ nscd.h \ - shadowlog.c \ - shadowlog.h \ - shadowlog_internal.h \ - sssd.c \ - sssd.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 \ + rlogin.c \ + root_flag.c \ run_part.h \ run_part.c \ - subordinateio.h \ - subordinateio.c \ + salt.c \ selinux.c \ semanage.c \ + setugid.c \ + setupenv.c \ sgetgrent.c \ sgetpwent.c \ sgetspent.c \ @@ -64,14 +134,74 @@ libshadow_la_SOURCES = \ shadow.c \ shadowio.c \ shadowio.h \ + shadowlog.c \ + shadowlog.h \ + shadowlog_internal.h \ shadowmem.c \ + shell.c \ + sizeof.h \ spawn.c \ - utent.c + sssd.c \ + sssd.h \ + string/sprintf.c \ + string/sprintf.h \ + string/stpecpy.c \ + string/stpecpy.h \ + string/stpeprintf.c \ + string/stpeprintf.h \ + string/strftime.c \ + string/strftime.h \ + string/strncpy.h \ + string/strtcpy.c \ + string/strtcpy.h \ + string/zustr2stp.h \ + strtoday.c \ + sub.c \ + subordinateio.h \ + subordinateio.c \ + sulog.c \ + time/day_to_str.c \ + time/day_to_str.h \ + ttytype.c \ + 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 if WITH_TCB libshadow_la_SOURCES += tcbfuncs.c tcbfuncs.h endif +if WITH_BTRFS +libshadow_la_SOURCES += btrfs.c +endif + +if ENABLE_LASTLOG +libshadow_la_SOURCES += log.c +endif + +if ENABLE_LOGIND +libshadow_la_SOURCES += logind.c +else +libshadow_la_SOURCES += utmp.c +endif + +if !WITH_LIBBSD +libshadow_la_SOURCES += \ + freezero.h \ + freezero.c \ + readpassphrase.h \ + readpassphrase.c +endif + # These files are unneeded for some reason, listed in # order of appearance: # @@ -79,4 +209,5 @@ endif EXTRA_DIST = \ .indent.pro \ - gshadow_.h + gshadow_.h \ + xgetXXbyYY.c diff --git a/lib/Makefile.in b/lib/Makefile.in index 9eef01cd..dbcd3394 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -90,6 +90,16 @@ build_triplet = @build@ host_triplet = @host@ @HAVE_VENDORDIR_TRUE@am__append_1 = -DVENDORDIR=\"$(VENDORDIR)\" @WITH_TCB_TRUE@am__append_2 = tcbfuncs.c tcbfuncs.h +@WITH_BTRFS_TRUE@am__append_3 = btrfs.c +@ENABLE_LASTLOG_TRUE@am__append_4 = log.c +@ENABLE_LOGIND_TRUE@am__append_5 = logind.c +@ENABLE_LOGIND_FALSE@am__append_6 = utmp.c +@WITH_LIBBSD_FALSE@am__append_7 = \ +@WITH_LIBBSD_FALSE@ freezero.h \ +@WITH_LIBBSD_FALSE@ freezero.c \ +@WITH_LIBBSD_FALSE@ readpassphrase.h \ +@WITH_LIBBSD_FALSE@ readpassphrase.c + subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -109,41 +119,115 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) -libshadow_la_LIBADD = -am__libshadow_la_SOURCES_DIST = commonio.c commonio.h defines.h \ - encrypt.c exitcodes.h faillog.h fields.c fputsx.c getdef.c \ - getdef.h get_gid.c getlong.c get_pid.c get_uid.c getulong.c \ - groupio.c groupmem.c groupio.h gshadow.c lockpw.c nss.c nscd.c \ - nscd.h shadowlog.c shadowlog.h shadowlog_internal.h sssd.c \ - sssd.h pam_defs.h port.c port.h prototypes.h pwauth.c pwauth.h \ - pwio.c pwio.h pwmem.c run_part.h run_part.c subordinateio.h \ - subordinateio.c selinux.c semanage.c sgetgrent.c sgetpwent.c \ - sgetspent.c sgroupio.c sgroupio.h shadow.c shadowio.c \ - shadowio.h shadowmem.c spawn.c utent.c tcbfuncs.c tcbfuncs.h +am__DEPENDENCIES_1 = +libshadow_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +am__libshadow_la_SOURCES_DIST = addgrps.c adds.c adds.h age.c \ + agetpass.c agetpass.h alloc.c alloc.h atoi/strtoi.c \ + atoi/strtoi.h atoi/strtou_noneg.c atoi/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 get_gid.c get_pid.c get_uid.c \ + getdate.h getdate.y getdef.c getdef.h getlong.c \ + getgr_nam_gid.c getrange.c gettime.c getulong.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 memzero.c memzero.h 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 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 rlogin.c \ + root_flag.c run_part.h run_part.c salt.c selinux.c semanage.c \ + setugid.c setupenv.c sgetgrent.c sgetpwent.c sgetspent.c \ + sgroupio.c sgroupio.h shadow.c shadowio.c shadowio.h \ + shadowlog.c shadowlog.h shadowlog_internal.h shadowmem.c \ + shell.c sizeof.h spawn.c sssd.c sssd.h string/sprintf.c \ + string/sprintf.h string/stpecpy.c string/stpecpy.h \ + string/stpeprintf.c string/stpeprintf.h string/strftime.c \ + string/strftime.h string/strncpy.h string/strtcpy.c \ + string/strtcpy.h string/zustr2stp.h strtoday.c sub.c \ + subordinateio.h subordinateio.c sulog.c time/day_to_str.c \ + time/day_to_str.h ttytype.c 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 readpassphrase.c +am__dirstamp = $(am__leading_dot)dirstamp @WITH_TCB_TRUE@am__objects_1 = libshadow_la-tcbfuncs.lo -am_libshadow_la_OBJECTS = libshadow_la-commonio.lo \ - libshadow_la-encrypt.lo libshadow_la-fields.lo \ - libshadow_la-fputsx.lo libshadow_la-getdef.lo \ - libshadow_la-get_gid.lo libshadow_la-getlong.lo \ - libshadow_la-get_pid.lo libshadow_la-get_uid.lo \ - libshadow_la-getulong.lo libshadow_la-groupio.lo \ - libshadow_la-groupmem.lo libshadow_la-gshadow.lo \ - libshadow_la-lockpw.lo libshadow_la-nss.lo \ - libshadow_la-nscd.lo libshadow_la-shadowlog.lo \ - libshadow_la-sssd.lo libshadow_la-port.lo \ - libshadow_la-pwauth.lo libshadow_la-pwio.lo \ - libshadow_la-pwmem.lo libshadow_la-run_part.lo \ - libshadow_la-subordinateio.lo libshadow_la-selinux.lo \ - libshadow_la-semanage.lo libshadow_la-sgetgrent.lo \ - libshadow_la-sgetpwent.lo libshadow_la-sgetspent.lo \ - libshadow_la-sgroupio.lo libshadow_la-shadow.lo \ - libshadow_la-shadowio.lo libshadow_la-shadowmem.lo \ - libshadow_la-spawn.lo libshadow_la-utent.lo $(am__objects_1) +@WITH_BTRFS_TRUE@am__objects_2 = libshadow_la-btrfs.lo +@ENABLE_LASTLOG_TRUE@am__objects_3 = libshadow_la-log.lo +@ENABLE_LOGIND_TRUE@am__objects_4 = libshadow_la-logind.lo +@ENABLE_LOGIND_FALSE@am__objects_5 = libshadow_la-utmp.lo +@WITH_LIBBSD_FALSE@am__objects_6 = libshadow_la-freezero.lo \ +@WITH_LIBBSD_FALSE@ libshadow_la-readpassphrase.lo +am_libshadow_la_OBJECTS = libshadow_la-addgrps.lo libshadow_la-adds.lo \ + libshadow_la-age.lo libshadow_la-agetpass.lo \ + libshadow_la-alloc.lo atoi/libshadow_la-strtoi.lo \ + atoi/libshadow_la-strtou_noneg.lo libshadow_la-audit_help.lo \ + libshadow_la-basename.lo libshadow_la-bit.lo \ + libshadow_la-chkname.lo libshadow_la-chowndir.lo \ + libshadow_la-chowntty.lo libshadow_la-cleanup.lo \ + libshadow_la-cleanup_group.lo libshadow_la-cleanup_user.lo \ + libshadow_la-commonio.lo libshadow_la-console.lo \ + libshadow_la-copydir.lo libshadow_la-csrand.lo \ + libshadow_la-encrypt.lo libshadow_la-env.lo \ + libshadow_la-failure.lo libshadow_la-fd.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 \ + libshadow_la-get_gid.lo libshadow_la-get_pid.lo \ + libshadow_la-get_uid.lo libshadow_la-getdate.lo \ + libshadow_la-getdef.lo libshadow_la-getlong.lo \ + libshadow_la-getgr_nam_gid.lo libshadow_la-getrange.lo \ + libshadow_la-gettime.lo libshadow_la-getulong.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-memzero.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 \ + libshadow_la-pwd2spwd.lo libshadow_la-pwdcheck.lo \ + libshadow_la-pwmem.lo libshadow_la-remove_tree.lo \ + libshadow_la-rlogin.lo libshadow_la-root_flag.lo \ + libshadow_la-run_part.lo libshadow_la-salt.lo \ + libshadow_la-selinux.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 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/libshadow_la-sprintf.lo \ + string/libshadow_la-stpecpy.lo \ + string/libshadow_la-stpeprintf.lo \ + string/libshadow_la-strftime.lo string/libshadow_la-strtcpy.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@) am__v_lt_0 = --silent am__v_lt_1 = +libshadow_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libshadow_la_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -159,29 +243,85 @@ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/libshadow_la-commonio.Plo \ +am__depfiles_remade = ./$(DEPDIR)/libshadow_la-addgrps.Plo \ + ./$(DEPDIR)/libshadow_la-adds.Plo \ + ./$(DEPDIR)/libshadow_la-age.Plo \ + ./$(DEPDIR)/libshadow_la-agetpass.Plo \ + ./$(DEPDIR)/libshadow_la-alloc.Plo \ + ./$(DEPDIR)/libshadow_la-audit_help.Plo \ + ./$(DEPDIR)/libshadow_la-basename.Plo \ + ./$(DEPDIR)/libshadow_la-bit.Plo \ + ./$(DEPDIR)/libshadow_la-btrfs.Plo \ + ./$(DEPDIR)/libshadow_la-chkname.Plo \ + ./$(DEPDIR)/libshadow_la-chowndir.Plo \ + ./$(DEPDIR)/libshadow_la-chowntty.Plo \ + ./$(DEPDIR)/libshadow_la-cleanup.Plo \ + ./$(DEPDIR)/libshadow_la-cleanup_group.Plo \ + ./$(DEPDIR)/libshadow_la-cleanup_user.Plo \ + ./$(DEPDIR)/libshadow_la-commonio.Plo \ + ./$(DEPDIR)/libshadow_la-console.Plo \ + ./$(DEPDIR)/libshadow_la-copydir.Plo \ + ./$(DEPDIR)/libshadow_la-csrand.Plo \ ./$(DEPDIR)/libshadow_la-encrypt.Plo \ + ./$(DEPDIR)/libshadow_la-env.Plo \ + ./$(DEPDIR)/libshadow_la-failure.Plo \ + ./$(DEPDIR)/libshadow_la-fd.Plo \ ./$(DEPDIR)/libshadow_la-fields.Plo \ + ./$(DEPDIR)/libshadow_la-find_new_gid.Plo \ + ./$(DEPDIR)/libshadow_la-find_new_sub_gids.Plo \ + ./$(DEPDIR)/libshadow_la-find_new_sub_uids.Plo \ + ./$(DEPDIR)/libshadow_la-find_new_uid.Plo \ ./$(DEPDIR)/libshadow_la-fputsx.Plo \ + ./$(DEPDIR)/libshadow_la-freezero.Plo \ ./$(DEPDIR)/libshadow_la-get_gid.Plo \ ./$(DEPDIR)/libshadow_la-get_pid.Plo \ ./$(DEPDIR)/libshadow_la-get_uid.Plo \ + ./$(DEPDIR)/libshadow_la-getdate.Plo \ ./$(DEPDIR)/libshadow_la-getdef.Plo \ + ./$(DEPDIR)/libshadow_la-getgr_nam_gid.Plo \ ./$(DEPDIR)/libshadow_la-getlong.Plo \ + ./$(DEPDIR)/libshadow_la-getrange.Plo \ + ./$(DEPDIR)/libshadow_la-gettime.Plo \ ./$(DEPDIR)/libshadow_la-getulong.Plo \ ./$(DEPDIR)/libshadow_la-groupio.Plo \ ./$(DEPDIR)/libshadow_la-groupmem.Plo \ ./$(DEPDIR)/libshadow_la-gshadow.Plo \ + ./$(DEPDIR)/libshadow_la-hushed.Plo \ + ./$(DEPDIR)/libshadow_la-idmapping.Plo \ + ./$(DEPDIR)/libshadow_la-isexpired.Plo \ + ./$(DEPDIR)/libshadow_la-limits.Plo \ + ./$(DEPDIR)/libshadow_la-list.Plo \ ./$(DEPDIR)/libshadow_la-lockpw.Plo \ + ./$(DEPDIR)/libshadow_la-log.Plo \ + ./$(DEPDIR)/libshadow_la-logind.Plo \ + ./$(DEPDIR)/libshadow_la-loginprompt.Plo \ + ./$(DEPDIR)/libshadow_la-mail.Plo \ + ./$(DEPDIR)/libshadow_la-memzero.Plo \ + ./$(DEPDIR)/libshadow_la-motd.Plo \ + ./$(DEPDIR)/libshadow_la-myname.Plo \ ./$(DEPDIR)/libshadow_la-nscd.Plo \ ./$(DEPDIR)/libshadow_la-nss.Plo \ + ./$(DEPDIR)/libshadow_la-obscure.Plo \ + ./$(DEPDIR)/libshadow_la-pam_pass.Plo \ + ./$(DEPDIR)/libshadow_la-pam_pass_non_interactive.Plo \ ./$(DEPDIR)/libshadow_la-port.Plo \ + ./$(DEPDIR)/libshadow_la-prefix_flag.Plo \ ./$(DEPDIR)/libshadow_la-pwauth.Plo \ + ./$(DEPDIR)/libshadow_la-pwd2spwd.Plo \ + ./$(DEPDIR)/libshadow_la-pwd_init.Plo \ + ./$(DEPDIR)/libshadow_la-pwdcheck.Plo \ ./$(DEPDIR)/libshadow_la-pwio.Plo \ ./$(DEPDIR)/libshadow_la-pwmem.Plo \ + ./$(DEPDIR)/libshadow_la-readpassphrase.Plo \ + ./$(DEPDIR)/libshadow_la-remove_tree.Plo \ + ./$(DEPDIR)/libshadow_la-rlogin.Plo \ + ./$(DEPDIR)/libshadow_la-root_flag.Plo \ ./$(DEPDIR)/libshadow_la-run_part.Plo \ + ./$(DEPDIR)/libshadow_la-salt.Plo \ ./$(DEPDIR)/libshadow_la-selinux.Plo \ ./$(DEPDIR)/libshadow_la-semanage.Plo \ + ./$(DEPDIR)/libshadow_la-setugid.Plo \ + ./$(DEPDIR)/libshadow_la-setupenv.Plo \ ./$(DEPDIR)/libshadow_la-sgetgrent.Plo \ ./$(DEPDIR)/libshadow_la-sgetpwent.Plo \ ./$(DEPDIR)/libshadow_la-sgetspent.Plo \ @@ -190,11 +330,36 @@ am__depfiles_remade = ./$(DEPDIR)/libshadow_la-commonio.Plo \ ./$(DEPDIR)/libshadow_la-shadowio.Plo \ ./$(DEPDIR)/libshadow_la-shadowlog.Plo \ ./$(DEPDIR)/libshadow_la-shadowmem.Plo \ + ./$(DEPDIR)/libshadow_la-shell.Plo \ ./$(DEPDIR)/libshadow_la-spawn.Plo \ ./$(DEPDIR)/libshadow_la-sssd.Plo \ + ./$(DEPDIR)/libshadow_la-strtoday.Plo \ + ./$(DEPDIR)/libshadow_la-sub.Plo \ ./$(DEPDIR)/libshadow_la-subordinateio.Plo \ + ./$(DEPDIR)/libshadow_la-sulog.Plo \ ./$(DEPDIR)/libshadow_la-tcbfuncs.Plo \ - ./$(DEPDIR)/libshadow_la-utent.Plo + ./$(DEPDIR)/libshadow_la-ttytype.Plo \ + ./$(DEPDIR)/libshadow_la-tz.Plo \ + ./$(DEPDIR)/libshadow_la-ulimit.Plo \ + ./$(DEPDIR)/libshadow_la-user_busy.Plo \ + ./$(DEPDIR)/libshadow_la-utmp.Plo \ + ./$(DEPDIR)/libshadow_la-valid.Plo \ + ./$(DEPDIR)/libshadow_la-write_full.Plo \ + ./$(DEPDIR)/libshadow_la-xgetgrgid.Plo \ + ./$(DEPDIR)/libshadow_la-xgetgrnam.Plo \ + ./$(DEPDIR)/libshadow_la-xgetpwnam.Plo \ + ./$(DEPDIR)/libshadow_la-xgetpwuid.Plo \ + ./$(DEPDIR)/libshadow_la-xgetspnam.Plo \ + ./$(DEPDIR)/libshadow_la-xprefix_getpwnam.Plo \ + ./$(DEPDIR)/libshadow_la-yesno.Plo \ + atoi/$(DEPDIR)/libshadow_la-strtoi.Plo \ + atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo \ + string/$(DEPDIR)/libshadow_la-sprintf.Plo \ + string/$(DEPDIR)/libshadow_la-stpecpy.Plo \ + string/$(DEPDIR)/libshadow_la-stpeprintf.Plo \ + string/$(DEPDIR)/libshadow_la-strftime.Plo \ + string/$(DEPDIR)/libshadow_la-strtcpy.Plo \ + time/$(DEPDIR)/libshadow_la-day_to_str.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -214,6 +379,17 @@ 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 = \ @@ -238,7 +414,8 @@ 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 +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ + $(top_srcdir)/ylwrap getdate.c DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -251,6 +428,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -284,9 +463,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -302,6 +487,7 @@ 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@ @@ -310,6 +496,8 @@ 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@ @@ -332,6 +520,9 @@ 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@ @@ -405,18 +596,46 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = 1.0 foreign noinst_LTLIBRARIES = libshadow.la +@USE_PAM_FALSE@LIBCRYPT_PAM = +@USE_PAM_TRUE@LIBCRYPT_PAM = $(LIBCRYPT) +AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) $(ECONF_CPPFLAGS) libshadow_la_CPPFLAGS = $(ECONF_CPPFLAGS) $(am__append_1) \ -I$(top_srcdir) -libshadow_la_SOURCES = commonio.c commonio.h defines.h encrypt.c \ - exitcodes.h faillog.h fields.c fputsx.c getdef.c getdef.h \ - get_gid.c getlong.c get_pid.c get_uid.c getulong.c groupio.c \ - groupmem.c groupio.h gshadow.c lockpw.c nss.c nscd.c nscd.h \ - shadowlog.c shadowlog.h shadowlog_internal.h sssd.c sssd.h \ - pam_defs.h port.c port.h prototypes.h pwauth.c pwauth.h pwio.c \ - pwio.h pwmem.c run_part.h run_part.c subordinateio.h \ - subordinateio.c selinux.c semanage.c sgetgrent.c sgetpwent.c \ - sgetspent.c sgroupio.c sgroupio.h shadow.c shadowio.c \ - shadowio.h shadowmem.c spawn.c utent.c $(am__append_2) +libshadow_la_CFLAGS = $(LIBBSD_CFLAGS) $(LIBCRYPT_PAM) $(LIBSYSTEMD) +libshadow_la_LIBADD = $(LIBADD_DLOPEN) +libshadow_la_SOURCES = addgrps.c adds.c adds.h age.c agetpass.c \ + agetpass.h alloc.c alloc.h atoi/strtoi.c atoi/strtoi.h \ + atoi/strtou_noneg.c atoi/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 get_gid.c get_pid.c get_uid.c \ + getdate.h getdate.y getdef.c getdef.h getlong.c \ + getgr_nam_gid.c getrange.c gettime.c getulong.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 memzero.c memzero.h 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 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 rlogin.c \ + root_flag.c run_part.h run_part.c salt.c selinux.c semanage.c \ + setugid.c setupenv.c sgetgrent.c sgetpwent.c sgetspent.c \ + sgroupio.c sgroupio.h shadow.c shadowio.c shadowio.h \ + shadowlog.c shadowlog.h shadowlog_internal.h shadowmem.c \ + shell.c sizeof.h spawn.c sssd.c sssd.h string/sprintf.c \ + string/sprintf.h string/stpecpy.c string/stpecpy.h \ + string/stpeprintf.c string/stpeprintf.h string/strftime.c \ + string/strftime.h string/strncpy.h string/strtcpy.c \ + string/strtcpy.h string/zustr2stp.h strtoday.c sub.c \ + subordinateio.h subordinateio.c sulog.c time/day_to_str.c \ + time/day_to_str.h ttytype.c 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) $(am__append_7) # These files are unneeded for some reason, listed in # order of appearance: @@ -424,12 +643,13 @@ libshadow_la_SOURCES = commonio.c commonio.h defines.h encrypt.c \ # sources for dbm support (not yet used) EXTRA_DIST = \ .indent.pro \ - gshadow_.h + gshadow_.h \ + xgetXXbyYY.c all: all-am .SUFFIXES: -.SUFFIXES: .c .lo .o .obj +.SUFFIXES: .c .lo .o .obj .y $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -470,39 +690,135 @@ clean-noinstLTLIBRARIES: echo rm -f $${locs}; \ rm -f $${locs}; \ } +atoi/$(am__dirstamp): + @$(MKDIR_P) atoi + @: > atoi/$(am__dirstamp) +atoi/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) atoi/$(DEPDIR) + @: > atoi/$(DEPDIR)/$(am__dirstamp) +atoi/libshadow_la-strtoi.lo: atoi/$(am__dirstamp) \ + atoi/$(DEPDIR)/$(am__dirstamp) +atoi/libshadow_la-strtou_noneg.lo: atoi/$(am__dirstamp) \ + atoi/$(DEPDIR)/$(am__dirstamp) +string/$(am__dirstamp): + @$(MKDIR_P) string + @: > string/$(am__dirstamp) +string/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) string/$(DEPDIR) + @: > string/$(DEPDIR)/$(am__dirstamp) +string/libshadow_la-sprintf.lo: string/$(am__dirstamp) \ + string/$(DEPDIR)/$(am__dirstamp) +string/libshadow_la-stpecpy.lo: string/$(am__dirstamp) \ + string/$(DEPDIR)/$(am__dirstamp) +string/libshadow_la-stpeprintf.lo: string/$(am__dirstamp) \ + string/$(DEPDIR)/$(am__dirstamp) +string/libshadow_la-strftime.lo: string/$(am__dirstamp) \ + string/$(DEPDIR)/$(am__dirstamp) +string/libshadow_la-strtcpy.lo: string/$(am__dirstamp) \ + string/$(DEPDIR)/$(am__dirstamp) +time/$(am__dirstamp): + @$(MKDIR_P) time + @: > time/$(am__dirstamp) +time/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) time/$(DEPDIR) + @: > time/$(DEPDIR)/$(am__dirstamp) +time/libshadow_la-day_to_str.lo: time/$(am__dirstamp) \ + time/$(DEPDIR)/$(am__dirstamp) libshadow.la: $(libshadow_la_OBJECTS) $(libshadow_la_DEPENDENCIES) $(EXTRA_libshadow_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libshadow_la_OBJECTS) $(libshadow_la_LIBADD) $(LIBS) + $(AM_V_CCLD)$(libshadow_la_LINK) $(libshadow_la_OBJECTS) $(libshadow_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) + -rm -f atoi/*.$(OBJEXT) + -rm -f atoi/*.lo + -rm -f string/*.$(OBJEXT) + -rm -f string/*.lo + -rm -f time/*.$(OBJEXT) + -rm -f time/*.lo distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-addgrps.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-adds.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-age.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-agetpass.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-alloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-audit_help.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-basename.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-bit.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-btrfs.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-chkname.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-chowndir.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-chowntty.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-cleanup.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-cleanup_group.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-cleanup_user.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-commonio.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-console.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-copydir.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-csrand.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-encrypt.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-env.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-failure.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-fd.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-fields.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-find_new_gid.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-find_new_sub_gids.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-find_new_sub_uids.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-find_new_uid.Plo@am__quote@ # am--include-marker @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_gid.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-get_uid.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-getlong.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getrange.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-gettime.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-getulong.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-groupio.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-groupmem.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-gshadow.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-hushed.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-idmapping.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-isexpired.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-limits.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-list.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-lockpw.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-log.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-logind.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-loginprompt.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-mail.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-memzero.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-motd.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-myname.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-nscd.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-nss.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-obscure.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pam_pass.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pam_pass_non_interactive.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-port.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-prefix_flag.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwauth.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwd2spwd.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwd_init.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwdcheck.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwio.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-pwmem.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-readpassphrase.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-remove_tree.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-rlogin.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-root_flag.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-run_part.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-salt.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-selinux.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-semanage.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-setugid.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-setupenv.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sgetgrent.Plo@am__quote@ # am--include-marker @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 @@ -511,11 +827,36 @@ distclean-compile: @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 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-shell.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-spawn.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sssd.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-strtoday.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sub.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-subordinateio.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-sulog.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-tcbfuncs.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-utent.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-ttytype.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-tz.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-ulimit.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-user_busy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-utmp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-valid.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-write_full.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-xgetgrgid.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-xgetgrnam.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-xgetpwnam.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-xgetpwuid.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-xgetspnam.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-xprefix_getpwnam.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libshadow_la-yesno.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/$(DEPDIR)/libshadow_la-strtoi.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/$(DEPDIR)/libshadow_la-sprintf.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/$(DEPDIR)/libshadow_la-stpecpy.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@string/$(DEPDIR)/libshadow_la-stpeprintf.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/$(DEPDIR)/libshadow_la-strtcpy.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): @$(MKDIR_P) $(@D) @@ -524,283 +865,859 @@ $(am__depfiles_remade): am--depfiles: $(am__depfiles_remade) .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< +libshadow_la-addgrps.lo: addgrps.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-addgrps.lo -MD -MP -MF $(DEPDIR)/libshadow_la-addgrps.Tpo -c -o libshadow_la-addgrps.lo `test -f 'addgrps.c' || echo '$(srcdir)/'`addgrps.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-addgrps.Tpo $(DEPDIR)/libshadow_la-addgrps.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='addgrps.c' object='libshadow_la-addgrps.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-addgrps.lo `test -f 'addgrps.c' || echo '$(srcdir)/'`addgrps.c + +libshadow_la-adds.lo: adds.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-adds.lo -MD -MP -MF $(DEPDIR)/libshadow_la-adds.Tpo -c -o libshadow_la-adds.lo `test -f 'adds.c' || echo '$(srcdir)/'`adds.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-adds.Tpo $(DEPDIR)/libshadow_la-adds.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='adds.c' object='libshadow_la-adds.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-adds.lo `test -f 'adds.c' || echo '$(srcdir)/'`adds.c + +libshadow_la-age.lo: age.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-age.lo -MD -MP -MF $(DEPDIR)/libshadow_la-age.Tpo -c -o libshadow_la-age.lo `test -f 'age.c' || echo '$(srcdir)/'`age.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-age.Tpo $(DEPDIR)/libshadow_la-age.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='age.c' object='libshadow_la-age.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-age.lo `test -f 'age.c' || echo '$(srcdir)/'`age.c + +libshadow_la-agetpass.lo: agetpass.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-agetpass.lo -MD -MP -MF $(DEPDIR)/libshadow_la-agetpass.Tpo -c -o libshadow_la-agetpass.lo `test -f 'agetpass.c' || echo '$(srcdir)/'`agetpass.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-agetpass.Tpo $(DEPDIR)/libshadow_la-agetpass.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='agetpass.c' object='libshadow_la-agetpass.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-agetpass.lo `test -f 'agetpass.c' || echo '$(srcdir)/'`agetpass.c + +libshadow_la-alloc.lo: alloc.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-alloc.lo -MD -MP -MF $(DEPDIR)/libshadow_la-alloc.Tpo -c -o libshadow_la-alloc.lo `test -f 'alloc.c' || echo '$(srcdir)/'`alloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-alloc.Tpo $(DEPDIR)/libshadow_la-alloc.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='alloc.c' object='libshadow_la-alloc.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-alloc.lo `test -f 'alloc.c' || echo '$(srcdir)/'`alloc.c + +atoi/libshadow_la-strtoi.lo: atoi/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/libshadow_la-strtoi.lo -MD -MP -MF atoi/$(DEPDIR)/libshadow_la-strtoi.Tpo -c -o atoi/libshadow_la-strtoi.lo `test -f 'atoi/strtoi.c' || echo '$(srcdir)/'`atoi/strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/$(DEPDIR)/libshadow_la-strtoi.Tpo atoi/$(DEPDIR)/libshadow_la-strtoi.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/strtoi.c' object='atoi/libshadow_la-strtoi.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/libshadow_la-strtoi.lo `test -f 'atoi/strtoi.c' || echo '$(srcdir)/'`atoi/strtoi.c + +atoi/libshadow_la-strtou_noneg.lo: atoi/strtou_noneg.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-strtou_noneg.lo -MD -MP -MF atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Tpo -c -o atoi/libshadow_la-strtou_noneg.lo `test -f 'atoi/strtou_noneg.c' || echo '$(srcdir)/'`atoi/strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Tpo atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='atoi/strtou_noneg.c' object='atoi/libshadow_la-strtou_noneg.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/libshadow_la-strtou_noneg.lo `test -f 'atoi/strtou_noneg.c' || echo '$(srcdir)/'`atoi/strtou_noneg.c + +libshadow_la-audit_help.lo: audit_help.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-audit_help.lo -MD -MP -MF $(DEPDIR)/libshadow_la-audit_help.Tpo -c -o libshadow_la-audit_help.lo `test -f 'audit_help.c' || echo '$(srcdir)/'`audit_help.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-audit_help.Tpo $(DEPDIR)/libshadow_la-audit_help.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audit_help.c' object='libshadow_la-audit_help.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-audit_help.lo `test -f 'audit_help.c' || echo '$(srcdir)/'`audit_help.c + +libshadow_la-basename.lo: basename.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-basename.lo -MD -MP -MF $(DEPDIR)/libshadow_la-basename.Tpo -c -o libshadow_la-basename.lo `test -f 'basename.c' || echo '$(srcdir)/'`basename.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-basename.Tpo $(DEPDIR)/libshadow_la-basename.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='basename.c' object='libshadow_la-basename.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-basename.lo `test -f 'basename.c' || echo '$(srcdir)/'`basename.c + +libshadow_la-bit.lo: bit.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-bit.lo -MD -MP -MF $(DEPDIR)/libshadow_la-bit.Tpo -c -o libshadow_la-bit.lo `test -f 'bit.c' || echo '$(srcdir)/'`bit.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-bit.Tpo $(DEPDIR)/libshadow_la-bit.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='bit.c' object='libshadow_la-bit.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-bit.lo `test -f 'bit.c' || echo '$(srcdir)/'`bit.c + +libshadow_la-chkname.lo: chkname.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-chkname.lo -MD -MP -MF $(DEPDIR)/libshadow_la-chkname.Tpo -c -o libshadow_la-chkname.lo `test -f 'chkname.c' || echo '$(srcdir)/'`chkname.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-chkname.Tpo $(DEPDIR)/libshadow_la-chkname.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='chkname.c' object='libshadow_la-chkname.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-chkname.lo `test -f 'chkname.c' || echo '$(srcdir)/'`chkname.c + +libshadow_la-chowndir.lo: chowndir.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-chowndir.lo -MD -MP -MF $(DEPDIR)/libshadow_la-chowndir.Tpo -c -o libshadow_la-chowndir.lo `test -f 'chowndir.c' || echo '$(srcdir)/'`chowndir.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-chowndir.Tpo $(DEPDIR)/libshadow_la-chowndir.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='chowndir.c' object='libshadow_la-chowndir.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-chowndir.lo `test -f 'chowndir.c' || echo '$(srcdir)/'`chowndir.c + +libshadow_la-chowntty.lo: chowntty.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-chowntty.lo -MD -MP -MF $(DEPDIR)/libshadow_la-chowntty.Tpo -c -o libshadow_la-chowntty.lo `test -f 'chowntty.c' || echo '$(srcdir)/'`chowntty.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-chowntty.Tpo $(DEPDIR)/libshadow_la-chowntty.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='chowntty.c' object='libshadow_la-chowntty.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-chowntty.lo `test -f 'chowntty.c' || echo '$(srcdir)/'`chowntty.c + +libshadow_la-cleanup.lo: cleanup.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-cleanup.lo -MD -MP -MF $(DEPDIR)/libshadow_la-cleanup.Tpo -c -o libshadow_la-cleanup.lo `test -f 'cleanup.c' || echo '$(srcdir)/'`cleanup.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-cleanup.Tpo $(DEPDIR)/libshadow_la-cleanup.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cleanup.c' object='libshadow_la-cleanup.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-cleanup.lo `test -f 'cleanup.c' || echo '$(srcdir)/'`cleanup.c + +libshadow_la-cleanup_group.lo: cleanup_group.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-cleanup_group.lo -MD -MP -MF $(DEPDIR)/libshadow_la-cleanup_group.Tpo -c -o libshadow_la-cleanup_group.lo `test -f 'cleanup_group.c' || echo '$(srcdir)/'`cleanup_group.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-cleanup_group.Tpo $(DEPDIR)/libshadow_la-cleanup_group.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cleanup_group.c' object='libshadow_la-cleanup_group.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-cleanup_group.lo `test -f 'cleanup_group.c' || echo '$(srcdir)/'`cleanup_group.c + +libshadow_la-cleanup_user.lo: cleanup_user.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-cleanup_user.lo -MD -MP -MF $(DEPDIR)/libshadow_la-cleanup_user.Tpo -c -o libshadow_la-cleanup_user.lo `test -f 'cleanup_user.c' || echo '$(srcdir)/'`cleanup_user.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-cleanup_user.Tpo $(DEPDIR)/libshadow_la-cleanup_user.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cleanup_user.c' object='libshadow_la-cleanup_user.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-cleanup_user.lo `test -f 'cleanup_user.c' || echo '$(srcdir)/'`cleanup_user.c + libshadow_la-commonio.lo: commonio.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-commonio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-commonio.Tpo -c -o libshadow_la-commonio.lo `test -f 'commonio.c' || echo '$(srcdir)/'`commonio.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-commonio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-commonio.Tpo -c -o libshadow_la-commonio.lo `test -f 'commonio.c' || echo '$(srcdir)/'`commonio.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-commonio.Tpo $(DEPDIR)/libshadow_la-commonio.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='commonio.c' object='libshadow_la-commonio.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-commonio.lo `test -f 'commonio.c' || echo '$(srcdir)/'`commonio.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 libshadow_la-commonio.lo `test -f 'commonio.c' || echo '$(srcdir)/'`commonio.c + +libshadow_la-console.lo: console.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-console.lo -MD -MP -MF $(DEPDIR)/libshadow_la-console.Tpo -c -o libshadow_la-console.lo `test -f 'console.c' || echo '$(srcdir)/'`console.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-console.Tpo $(DEPDIR)/libshadow_la-console.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='console.c' object='libshadow_la-console.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-console.lo `test -f 'console.c' || echo '$(srcdir)/'`console.c + +libshadow_la-copydir.lo: copydir.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-copydir.lo -MD -MP -MF $(DEPDIR)/libshadow_la-copydir.Tpo -c -o libshadow_la-copydir.lo `test -f 'copydir.c' || echo '$(srcdir)/'`copydir.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-copydir.Tpo $(DEPDIR)/libshadow_la-copydir.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='copydir.c' object='libshadow_la-copydir.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-copydir.lo `test -f 'copydir.c' || echo '$(srcdir)/'`copydir.c + +libshadow_la-csrand.lo: csrand.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-csrand.lo -MD -MP -MF $(DEPDIR)/libshadow_la-csrand.Tpo -c -o libshadow_la-csrand.lo `test -f 'csrand.c' || echo '$(srcdir)/'`csrand.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-csrand.Tpo $(DEPDIR)/libshadow_la-csrand.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='csrand.c' object='libshadow_la-csrand.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-csrand.lo `test -f 'csrand.c' || echo '$(srcdir)/'`csrand.c libshadow_la-encrypt.lo: encrypt.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-encrypt.lo -MD -MP -MF $(DEPDIR)/libshadow_la-encrypt.Tpo -c -o libshadow_la-encrypt.lo `test -f 'encrypt.c' || echo '$(srcdir)/'`encrypt.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-encrypt.lo -MD -MP -MF $(DEPDIR)/libshadow_la-encrypt.Tpo -c -o libshadow_la-encrypt.lo `test -f 'encrypt.c' || echo '$(srcdir)/'`encrypt.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-encrypt.Tpo $(DEPDIR)/libshadow_la-encrypt.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='encrypt.c' object='libshadow_la-encrypt.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-encrypt.lo `test -f 'encrypt.c' || echo '$(srcdir)/'`encrypt.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 libshadow_la-encrypt.lo `test -f 'encrypt.c' || echo '$(srcdir)/'`encrypt.c + +libshadow_la-env.lo: env.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-env.lo -MD -MP -MF $(DEPDIR)/libshadow_la-env.Tpo -c -o libshadow_la-env.lo `test -f 'env.c' || echo '$(srcdir)/'`env.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-env.Tpo $(DEPDIR)/libshadow_la-env.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='env.c' object='libshadow_la-env.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-env.lo `test -f 'env.c' || echo '$(srcdir)/'`env.c + +libshadow_la-failure.lo: failure.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-failure.lo -MD -MP -MF $(DEPDIR)/libshadow_la-failure.Tpo -c -o libshadow_la-failure.lo `test -f 'failure.c' || echo '$(srcdir)/'`failure.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-failure.Tpo $(DEPDIR)/libshadow_la-failure.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='failure.c' object='libshadow_la-failure.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-failure.lo `test -f 'failure.c' || echo '$(srcdir)/'`failure.c + +libshadow_la-fd.lo: fd.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-fd.lo -MD -MP -MF $(DEPDIR)/libshadow_la-fd.Tpo -c -o libshadow_la-fd.lo `test -f 'fd.c' || echo '$(srcdir)/'`fd.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-fd.Tpo $(DEPDIR)/libshadow_la-fd.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fd.c' object='libshadow_la-fd.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-fd.lo `test -f 'fd.c' || echo '$(srcdir)/'`fd.c libshadow_la-fields.lo: fields.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-fields.lo -MD -MP -MF $(DEPDIR)/libshadow_la-fields.Tpo -c -o libshadow_la-fields.lo `test -f 'fields.c' || echo '$(srcdir)/'`fields.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-fields.lo -MD -MP -MF $(DEPDIR)/libshadow_la-fields.Tpo -c -o libshadow_la-fields.lo `test -f 'fields.c' || echo '$(srcdir)/'`fields.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-fields.Tpo $(DEPDIR)/libshadow_la-fields.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fields.c' object='libshadow_la-fields.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-fields.lo `test -f 'fields.c' || echo '$(srcdir)/'`fields.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 libshadow_la-fields.lo `test -f 'fields.c' || echo '$(srcdir)/'`fields.c + +libshadow_la-find_new_gid.lo: find_new_gid.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-find_new_gid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-find_new_gid.Tpo -c -o libshadow_la-find_new_gid.lo `test -f 'find_new_gid.c' || echo '$(srcdir)/'`find_new_gid.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-find_new_gid.Tpo $(DEPDIR)/libshadow_la-find_new_gid.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='find_new_gid.c' object='libshadow_la-find_new_gid.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-find_new_gid.lo `test -f 'find_new_gid.c' || echo '$(srcdir)/'`find_new_gid.c + +libshadow_la-find_new_uid.lo: find_new_uid.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-find_new_uid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-find_new_uid.Tpo -c -o libshadow_la-find_new_uid.lo `test -f 'find_new_uid.c' || echo '$(srcdir)/'`find_new_uid.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-find_new_uid.Tpo $(DEPDIR)/libshadow_la-find_new_uid.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='find_new_uid.c' object='libshadow_la-find_new_uid.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-find_new_uid.lo `test -f 'find_new_uid.c' || echo '$(srcdir)/'`find_new_uid.c + +libshadow_la-find_new_sub_gids.lo: find_new_sub_gids.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-find_new_sub_gids.lo -MD -MP -MF $(DEPDIR)/libshadow_la-find_new_sub_gids.Tpo -c -o libshadow_la-find_new_sub_gids.lo `test -f 'find_new_sub_gids.c' || echo '$(srcdir)/'`find_new_sub_gids.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-find_new_sub_gids.Tpo $(DEPDIR)/libshadow_la-find_new_sub_gids.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='find_new_sub_gids.c' object='libshadow_la-find_new_sub_gids.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-find_new_sub_gids.lo `test -f 'find_new_sub_gids.c' || echo '$(srcdir)/'`find_new_sub_gids.c + +libshadow_la-find_new_sub_uids.lo: find_new_sub_uids.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-find_new_sub_uids.lo -MD -MP -MF $(DEPDIR)/libshadow_la-find_new_sub_uids.Tpo -c -o libshadow_la-find_new_sub_uids.lo `test -f 'find_new_sub_uids.c' || echo '$(srcdir)/'`find_new_sub_uids.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-find_new_sub_uids.Tpo $(DEPDIR)/libshadow_la-find_new_sub_uids.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='find_new_sub_uids.c' object='libshadow_la-find_new_sub_uids.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-find_new_sub_uids.lo `test -f 'find_new_sub_uids.c' || echo '$(srcdir)/'`find_new_sub_uids.c libshadow_la-fputsx.lo: fputsx.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-fputsx.lo -MD -MP -MF $(DEPDIR)/libshadow_la-fputsx.Tpo -c -o libshadow_la-fputsx.lo `test -f 'fputsx.c' || echo '$(srcdir)/'`fputsx.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-fputsx.lo -MD -MP -MF $(DEPDIR)/libshadow_la-fputsx.Tpo -c -o libshadow_la-fputsx.lo `test -f 'fputsx.c' || echo '$(srcdir)/'`fputsx.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-fputsx.Tpo $(DEPDIR)/libshadow_la-fputsx.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fputsx.c' object='libshadow_la-fputsx.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-fputsx.lo `test -f 'fputsx.c' || echo '$(srcdir)/'`fputsx.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) $(AM_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 -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getdef.c' object='libshadow_la-getdef.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-getdef.lo `test -f 'getdef.c' || echo '$(srcdir)/'`getdef.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 libshadow_la-fputsx.lo `test -f 'fputsx.c' || echo '$(srcdir)/'`fputsx.c libshadow_la-get_gid.lo: get_gid.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-get_gid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-get_gid.Tpo -c -o libshadow_la-get_gid.lo `test -f 'get_gid.c' || echo '$(srcdir)/'`get_gid.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-get_gid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-get_gid.Tpo -c -o libshadow_la-get_gid.lo `test -f 'get_gid.c' || echo '$(srcdir)/'`get_gid.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-get_gid.Tpo $(DEPDIR)/libshadow_la-get_gid.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='get_gid.c' object='libshadow_la-get_gid.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-get_gid.lo `test -f 'get_gid.c' || echo '$(srcdir)/'`get_gid.c - -libshadow_la-getlong.lo: getlong.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-getlong.lo -MD -MP -MF $(DEPDIR)/libshadow_la-getlong.Tpo -c -o libshadow_la-getlong.lo `test -f 'getlong.c' || echo '$(srcdir)/'`getlong.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-getlong.Tpo $(DEPDIR)/libshadow_la-getlong.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getlong.c' object='libshadow_la-getlong.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-getlong.lo `test -f 'getlong.c' || echo '$(srcdir)/'`getlong.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 libshadow_la-get_gid.lo `test -f 'get_gid.c' || echo '$(srcdir)/'`get_gid.c libshadow_la-get_pid.lo: get_pid.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-get_pid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-get_pid.Tpo -c -o libshadow_la-get_pid.lo `test -f 'get_pid.c' || echo '$(srcdir)/'`get_pid.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-get_pid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-get_pid.Tpo -c -o libshadow_la-get_pid.lo `test -f 'get_pid.c' || echo '$(srcdir)/'`get_pid.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-get_pid.Tpo $(DEPDIR)/libshadow_la-get_pid.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='get_pid.c' object='libshadow_la-get_pid.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-get_pid.lo `test -f 'get_pid.c' || echo '$(srcdir)/'`get_pid.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 libshadow_la-get_pid.lo `test -f 'get_pid.c' || echo '$(srcdir)/'`get_pid.c libshadow_la-get_uid.lo: get_uid.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-get_uid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-get_uid.Tpo -c -o libshadow_la-get_uid.lo `test -f 'get_uid.c' || echo '$(srcdir)/'`get_uid.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-get_uid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-get_uid.Tpo -c -o libshadow_la-get_uid.lo `test -f 'get_uid.c' || echo '$(srcdir)/'`get_uid.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-get_uid.Tpo $(DEPDIR)/libshadow_la-get_uid.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='get_uid.c' object='libshadow_la-get_uid.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-get_uid.lo `test -f 'get_uid.c' || echo '$(srcdir)/'`get_uid.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 libshadow_la-get_uid.lo `test -f 'get_uid.c' || echo '$(srcdir)/'`get_uid.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 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getdef.c' object='libshadow_la-getdef.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-getdef.lo `test -f 'getdef.c' || echo '$(srcdir)/'`getdef.c + +libshadow_la-getlong.lo: getlong.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-getlong.lo -MD -MP -MF $(DEPDIR)/libshadow_la-getlong.Tpo -c -o libshadow_la-getlong.lo `test -f 'getlong.c' || echo '$(srcdir)/'`getlong.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-getlong.Tpo $(DEPDIR)/libshadow_la-getlong.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getlong.c' object='libshadow_la-getlong.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-getlong.lo `test -f 'getlong.c' || echo '$(srcdir)/'`getlong.c + +libshadow_la-getgr_nam_gid.lo: getgr_nam_gid.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-getgr_nam_gid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-getgr_nam_gid.Tpo -c -o libshadow_la-getgr_nam_gid.lo `test -f 'getgr_nam_gid.c' || echo '$(srcdir)/'`getgr_nam_gid.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-getgr_nam_gid.Tpo $(DEPDIR)/libshadow_la-getgr_nam_gid.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getgr_nam_gid.c' object='libshadow_la-getgr_nam_gid.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-getgr_nam_gid.lo `test -f 'getgr_nam_gid.c' || echo '$(srcdir)/'`getgr_nam_gid.c + +libshadow_la-getrange.lo: getrange.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-getrange.lo -MD -MP -MF $(DEPDIR)/libshadow_la-getrange.Tpo -c -o libshadow_la-getrange.lo `test -f 'getrange.c' || echo '$(srcdir)/'`getrange.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-getrange.Tpo $(DEPDIR)/libshadow_la-getrange.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getrange.c' object='libshadow_la-getrange.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-getrange.lo `test -f 'getrange.c' || echo '$(srcdir)/'`getrange.c + +libshadow_la-gettime.lo: gettime.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-gettime.lo -MD -MP -MF $(DEPDIR)/libshadow_la-gettime.Tpo -c -o libshadow_la-gettime.lo `test -f 'gettime.c' || echo '$(srcdir)/'`gettime.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-gettime.Tpo $(DEPDIR)/libshadow_la-gettime.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gettime.c' object='libshadow_la-gettime.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-gettime.lo `test -f 'gettime.c' || echo '$(srcdir)/'`gettime.c libshadow_la-getulong.lo: getulong.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-getulong.lo -MD -MP -MF $(DEPDIR)/libshadow_la-getulong.Tpo -c -o libshadow_la-getulong.lo `test -f 'getulong.c' || echo '$(srcdir)/'`getulong.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-getulong.lo -MD -MP -MF $(DEPDIR)/libshadow_la-getulong.Tpo -c -o libshadow_la-getulong.lo `test -f 'getulong.c' || echo '$(srcdir)/'`getulong.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-getulong.Tpo $(DEPDIR)/libshadow_la-getulong.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='getulong.c' object='libshadow_la-getulong.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-getulong.lo `test -f 'getulong.c' || echo '$(srcdir)/'`getulong.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 libshadow_la-getulong.lo `test -f 'getulong.c' || echo '$(srcdir)/'`getulong.c libshadow_la-groupio.lo: groupio.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-groupio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-groupio.Tpo -c -o libshadow_la-groupio.lo `test -f 'groupio.c' || echo '$(srcdir)/'`groupio.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-groupio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-groupio.Tpo -c -o libshadow_la-groupio.lo `test -f 'groupio.c' || echo '$(srcdir)/'`groupio.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-groupio.Tpo $(DEPDIR)/libshadow_la-groupio.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='groupio.c' object='libshadow_la-groupio.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-groupio.lo `test -f 'groupio.c' || echo '$(srcdir)/'`groupio.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 libshadow_la-groupio.lo `test -f 'groupio.c' || echo '$(srcdir)/'`groupio.c libshadow_la-groupmem.lo: groupmem.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-groupmem.lo -MD -MP -MF $(DEPDIR)/libshadow_la-groupmem.Tpo -c -o libshadow_la-groupmem.lo `test -f 'groupmem.c' || echo '$(srcdir)/'`groupmem.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-groupmem.lo -MD -MP -MF $(DEPDIR)/libshadow_la-groupmem.Tpo -c -o libshadow_la-groupmem.lo `test -f 'groupmem.c' || echo '$(srcdir)/'`groupmem.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-groupmem.Tpo $(DEPDIR)/libshadow_la-groupmem.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='groupmem.c' object='libshadow_la-groupmem.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-groupmem.lo `test -f 'groupmem.c' || echo '$(srcdir)/'`groupmem.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 libshadow_la-groupmem.lo `test -f 'groupmem.c' || echo '$(srcdir)/'`groupmem.c libshadow_la-gshadow.lo: gshadow.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-gshadow.lo -MD -MP -MF $(DEPDIR)/libshadow_la-gshadow.Tpo -c -o libshadow_la-gshadow.lo `test -f 'gshadow.c' || echo '$(srcdir)/'`gshadow.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-gshadow.lo -MD -MP -MF $(DEPDIR)/libshadow_la-gshadow.Tpo -c -o libshadow_la-gshadow.lo `test -f 'gshadow.c' || echo '$(srcdir)/'`gshadow.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-gshadow.Tpo $(DEPDIR)/libshadow_la-gshadow.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gshadow.c' object='libshadow_la-gshadow.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-gshadow.lo `test -f 'gshadow.c' || echo '$(srcdir)/'`gshadow.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 libshadow_la-gshadow.lo `test -f 'gshadow.c' || echo '$(srcdir)/'`gshadow.c + +libshadow_la-hushed.lo: hushed.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-hushed.lo -MD -MP -MF $(DEPDIR)/libshadow_la-hushed.Tpo -c -o libshadow_la-hushed.lo `test -f 'hushed.c' || echo '$(srcdir)/'`hushed.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-hushed.Tpo $(DEPDIR)/libshadow_la-hushed.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hushed.c' object='libshadow_la-hushed.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-hushed.lo `test -f 'hushed.c' || echo '$(srcdir)/'`hushed.c + +libshadow_la-idmapping.lo: idmapping.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-idmapping.lo -MD -MP -MF $(DEPDIR)/libshadow_la-idmapping.Tpo -c -o libshadow_la-idmapping.lo `test -f 'idmapping.c' || echo '$(srcdir)/'`idmapping.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-idmapping.Tpo $(DEPDIR)/libshadow_la-idmapping.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='idmapping.c' object='libshadow_la-idmapping.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-idmapping.lo `test -f 'idmapping.c' || echo '$(srcdir)/'`idmapping.c + +libshadow_la-isexpired.lo: isexpired.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-isexpired.lo -MD -MP -MF $(DEPDIR)/libshadow_la-isexpired.Tpo -c -o libshadow_la-isexpired.lo `test -f 'isexpired.c' || echo '$(srcdir)/'`isexpired.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-isexpired.Tpo $(DEPDIR)/libshadow_la-isexpired.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='isexpired.c' object='libshadow_la-isexpired.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-isexpired.lo `test -f 'isexpired.c' || echo '$(srcdir)/'`isexpired.c + +libshadow_la-limits.lo: limits.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-limits.lo -MD -MP -MF $(DEPDIR)/libshadow_la-limits.Tpo -c -o libshadow_la-limits.lo `test -f 'limits.c' || echo '$(srcdir)/'`limits.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-limits.Tpo $(DEPDIR)/libshadow_la-limits.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='limits.c' object='libshadow_la-limits.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-limits.lo `test -f 'limits.c' || echo '$(srcdir)/'`limits.c + +libshadow_la-list.lo: list.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-list.lo -MD -MP -MF $(DEPDIR)/libshadow_la-list.Tpo -c -o libshadow_la-list.lo `test -f 'list.c' || echo '$(srcdir)/'`list.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-list.Tpo $(DEPDIR)/libshadow_la-list.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='list.c' object='libshadow_la-list.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-list.lo `test -f 'list.c' || echo '$(srcdir)/'`list.c libshadow_la-lockpw.lo: lockpw.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-lockpw.lo -MD -MP -MF $(DEPDIR)/libshadow_la-lockpw.Tpo -c -o libshadow_la-lockpw.lo `test -f 'lockpw.c' || echo '$(srcdir)/'`lockpw.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-lockpw.lo -MD -MP -MF $(DEPDIR)/libshadow_la-lockpw.Tpo -c -o libshadow_la-lockpw.lo `test -f 'lockpw.c' || echo '$(srcdir)/'`lockpw.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-lockpw.Tpo $(DEPDIR)/libshadow_la-lockpw.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lockpw.c' object='libshadow_la-lockpw.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-lockpw.lo `test -f 'lockpw.c' || echo '$(srcdir)/'`lockpw.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 libshadow_la-lockpw.lo `test -f 'lockpw.c' || echo '$(srcdir)/'`lockpw.c + +libshadow_la-loginprompt.lo: loginprompt.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-loginprompt.lo -MD -MP -MF $(DEPDIR)/libshadow_la-loginprompt.Tpo -c -o libshadow_la-loginprompt.lo `test -f 'loginprompt.c' || echo '$(srcdir)/'`loginprompt.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-loginprompt.Tpo $(DEPDIR)/libshadow_la-loginprompt.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='loginprompt.c' object='libshadow_la-loginprompt.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-loginprompt.lo `test -f 'loginprompt.c' || echo '$(srcdir)/'`loginprompt.c + +libshadow_la-mail.lo: mail.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-mail.lo -MD -MP -MF $(DEPDIR)/libshadow_la-mail.Tpo -c -o libshadow_la-mail.lo `test -f 'mail.c' || echo '$(srcdir)/'`mail.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-mail.Tpo $(DEPDIR)/libshadow_la-mail.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mail.c' object='libshadow_la-mail.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-mail.lo `test -f 'mail.c' || echo '$(srcdir)/'`mail.c + +libshadow_la-memzero.lo: 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 libshadow_la-memzero.lo -MD -MP -MF $(DEPDIR)/libshadow_la-memzero.Tpo -c -o libshadow_la-memzero.lo `test -f 'memzero.c' || echo '$(srcdir)/'`memzero.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-memzero.Tpo $(DEPDIR)/libshadow_la-memzero.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='memzero.c' object='libshadow_la-memzero.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-memzero.lo `test -f 'memzero.c' || echo '$(srcdir)/'`memzero.c + +libshadow_la-motd.lo: motd.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-motd.lo -MD -MP -MF $(DEPDIR)/libshadow_la-motd.Tpo -c -o libshadow_la-motd.lo `test -f 'motd.c' || echo '$(srcdir)/'`motd.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-motd.Tpo $(DEPDIR)/libshadow_la-motd.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='motd.c' object='libshadow_la-motd.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-motd.lo `test -f 'motd.c' || echo '$(srcdir)/'`motd.c + +libshadow_la-myname.lo: myname.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-myname.lo -MD -MP -MF $(DEPDIR)/libshadow_la-myname.Tpo -c -o libshadow_la-myname.lo `test -f 'myname.c' || echo '$(srcdir)/'`myname.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-myname.Tpo $(DEPDIR)/libshadow_la-myname.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='myname.c' object='libshadow_la-myname.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-myname.lo `test -f 'myname.c' || echo '$(srcdir)/'`myname.c libshadow_la-nss.lo: nss.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-nss.lo -MD -MP -MF $(DEPDIR)/libshadow_la-nss.Tpo -c -o libshadow_la-nss.lo `test -f 'nss.c' || echo '$(srcdir)/'`nss.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-nss.lo -MD -MP -MF $(DEPDIR)/libshadow_la-nss.Tpo -c -o libshadow_la-nss.lo `test -f 'nss.c' || echo '$(srcdir)/'`nss.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-nss.Tpo $(DEPDIR)/libshadow_la-nss.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nss.c' object='libshadow_la-nss.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-nss.lo `test -f 'nss.c' || echo '$(srcdir)/'`nss.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 libshadow_la-nss.lo `test -f 'nss.c' || echo '$(srcdir)/'`nss.c libshadow_la-nscd.lo: nscd.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-nscd.lo -MD -MP -MF $(DEPDIR)/libshadow_la-nscd.Tpo -c -o libshadow_la-nscd.lo `test -f 'nscd.c' || echo '$(srcdir)/'`nscd.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-nscd.lo -MD -MP -MF $(DEPDIR)/libshadow_la-nscd.Tpo -c -o libshadow_la-nscd.lo `test -f 'nscd.c' || echo '$(srcdir)/'`nscd.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-nscd.Tpo $(DEPDIR)/libshadow_la-nscd.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nscd.c' object='libshadow_la-nscd.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-nscd.lo `test -f 'nscd.c' || echo '$(srcdir)/'`nscd.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 libshadow_la-nscd.lo `test -f 'nscd.c' || echo '$(srcdir)/'`nscd.c -libshadow_la-shadowlog.lo: shadowlog.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-shadowlog.lo -MD -MP -MF $(DEPDIR)/libshadow_la-shadowlog.Tpo -c -o libshadow_la-shadowlog.lo `test -f 'shadowlog.c' || echo '$(srcdir)/'`shadowlog.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-shadowlog.Tpo $(DEPDIR)/libshadow_la-shadowlog.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shadowlog.c' object='libshadow_la-shadowlog.lo' libtool=yes @AMDEPBACKSLASH@ +libshadow_la-obscure.lo: obscure.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-obscure.lo -MD -MP -MF $(DEPDIR)/libshadow_la-obscure.Tpo -c -o libshadow_la-obscure.lo `test -f 'obscure.c' || echo '$(srcdir)/'`obscure.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-obscure.Tpo $(DEPDIR)/libshadow_la-obscure.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obscure.c' object='libshadow_la-obscure.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-shadowlog.lo `test -f 'shadowlog.c' || echo '$(srcdir)/'`shadowlog.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 libshadow_la-obscure.lo `test -f 'obscure.c' || echo '$(srcdir)/'`obscure.c -libshadow_la-sssd.lo: sssd.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-sssd.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sssd.Tpo -c -o libshadow_la-sssd.lo `test -f 'sssd.c' || echo '$(srcdir)/'`sssd.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-sssd.Tpo $(DEPDIR)/libshadow_la-sssd.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sssd.c' object='libshadow_la-sssd.lo' libtool=yes @AMDEPBACKSLASH@ +libshadow_la-pam_pass.lo: pam_pass.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-pam_pass.lo -MD -MP -MF $(DEPDIR)/libshadow_la-pam_pass.Tpo -c -o libshadow_la-pam_pass.lo `test -f 'pam_pass.c' || echo '$(srcdir)/'`pam_pass.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-pam_pass.Tpo $(DEPDIR)/libshadow_la-pam_pass.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pam_pass.c' object='libshadow_la-pam_pass.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-sssd.lo `test -f 'sssd.c' || echo '$(srcdir)/'`sssd.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 libshadow_la-pam_pass.lo `test -f 'pam_pass.c' || echo '$(srcdir)/'`pam_pass.c + +libshadow_la-pam_pass_non_interactive.lo: pam_pass_non_interactive.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-pam_pass_non_interactive.lo -MD -MP -MF $(DEPDIR)/libshadow_la-pam_pass_non_interactive.Tpo -c -o libshadow_la-pam_pass_non_interactive.lo `test -f 'pam_pass_non_interactive.c' || echo '$(srcdir)/'`pam_pass_non_interactive.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-pam_pass_non_interactive.Tpo $(DEPDIR)/libshadow_la-pam_pass_non_interactive.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pam_pass_non_interactive.c' object='libshadow_la-pam_pass_non_interactive.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-pam_pass_non_interactive.lo `test -f 'pam_pass_non_interactive.c' || echo '$(srcdir)/'`pam_pass_non_interactive.c libshadow_la-port.lo: port.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-port.lo -MD -MP -MF $(DEPDIR)/libshadow_la-port.Tpo -c -o libshadow_la-port.lo `test -f 'port.c' || echo '$(srcdir)/'`port.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-port.lo -MD -MP -MF $(DEPDIR)/libshadow_la-port.Tpo -c -o libshadow_la-port.lo `test -f 'port.c' || echo '$(srcdir)/'`port.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-port.Tpo $(DEPDIR)/libshadow_la-port.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='port.c' object='libshadow_la-port.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-port.lo `test -f 'port.c' || echo '$(srcdir)/'`port.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 libshadow_la-port.lo `test -f 'port.c' || echo '$(srcdir)/'`port.c + +libshadow_la-prefix_flag.lo: prefix_flag.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-prefix_flag.lo -MD -MP -MF $(DEPDIR)/libshadow_la-prefix_flag.Tpo -c -o libshadow_la-prefix_flag.lo `test -f 'prefix_flag.c' || echo '$(srcdir)/'`prefix_flag.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-prefix_flag.Tpo $(DEPDIR)/libshadow_la-prefix_flag.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='prefix_flag.c' object='libshadow_la-prefix_flag.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-prefix_flag.lo `test -f 'prefix_flag.c' || echo '$(srcdir)/'`prefix_flag.c libshadow_la-pwauth.lo: pwauth.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-pwauth.lo -MD -MP -MF $(DEPDIR)/libshadow_la-pwauth.Tpo -c -o libshadow_la-pwauth.lo `test -f 'pwauth.c' || echo '$(srcdir)/'`pwauth.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-pwauth.lo -MD -MP -MF $(DEPDIR)/libshadow_la-pwauth.Tpo -c -o libshadow_la-pwauth.lo `test -f 'pwauth.c' || echo '$(srcdir)/'`pwauth.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-pwauth.Tpo $(DEPDIR)/libshadow_la-pwauth.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pwauth.c' object='libshadow_la-pwauth.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-pwauth.lo `test -f 'pwauth.c' || echo '$(srcdir)/'`pwauth.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 libshadow_la-pwauth.lo `test -f 'pwauth.c' || echo '$(srcdir)/'`pwauth.c libshadow_la-pwio.lo: pwio.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-pwio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-pwio.Tpo -c -o libshadow_la-pwio.lo `test -f 'pwio.c' || echo '$(srcdir)/'`pwio.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-pwio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-pwio.Tpo -c -o libshadow_la-pwio.lo `test -f 'pwio.c' || echo '$(srcdir)/'`pwio.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-pwio.Tpo $(DEPDIR)/libshadow_la-pwio.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pwio.c' object='libshadow_la-pwio.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-pwio.lo `test -f 'pwio.c' || echo '$(srcdir)/'`pwio.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 libshadow_la-pwio.lo `test -f 'pwio.c' || echo '$(srcdir)/'`pwio.c + +libshadow_la-pwd_init.lo: pwd_init.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-pwd_init.lo -MD -MP -MF $(DEPDIR)/libshadow_la-pwd_init.Tpo -c -o libshadow_la-pwd_init.lo `test -f 'pwd_init.c' || echo '$(srcdir)/'`pwd_init.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-pwd_init.Tpo $(DEPDIR)/libshadow_la-pwd_init.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pwd_init.c' object='libshadow_la-pwd_init.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-pwd_init.lo `test -f 'pwd_init.c' || echo '$(srcdir)/'`pwd_init.c + +libshadow_la-pwd2spwd.lo: pwd2spwd.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-pwd2spwd.lo -MD -MP -MF $(DEPDIR)/libshadow_la-pwd2spwd.Tpo -c -o libshadow_la-pwd2spwd.lo `test -f 'pwd2spwd.c' || echo '$(srcdir)/'`pwd2spwd.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-pwd2spwd.Tpo $(DEPDIR)/libshadow_la-pwd2spwd.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pwd2spwd.c' object='libshadow_la-pwd2spwd.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-pwd2spwd.lo `test -f 'pwd2spwd.c' || echo '$(srcdir)/'`pwd2spwd.c + +libshadow_la-pwdcheck.lo: pwdcheck.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-pwdcheck.lo -MD -MP -MF $(DEPDIR)/libshadow_la-pwdcheck.Tpo -c -o libshadow_la-pwdcheck.lo `test -f 'pwdcheck.c' || echo '$(srcdir)/'`pwdcheck.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-pwdcheck.Tpo $(DEPDIR)/libshadow_la-pwdcheck.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pwdcheck.c' object='libshadow_la-pwdcheck.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-pwdcheck.lo `test -f 'pwdcheck.c' || echo '$(srcdir)/'`pwdcheck.c libshadow_la-pwmem.lo: pwmem.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-pwmem.lo -MD -MP -MF $(DEPDIR)/libshadow_la-pwmem.Tpo -c -o libshadow_la-pwmem.lo `test -f 'pwmem.c' || echo '$(srcdir)/'`pwmem.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-pwmem.lo -MD -MP -MF $(DEPDIR)/libshadow_la-pwmem.Tpo -c -o libshadow_la-pwmem.lo `test -f 'pwmem.c' || echo '$(srcdir)/'`pwmem.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-pwmem.Tpo $(DEPDIR)/libshadow_la-pwmem.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pwmem.c' object='libshadow_la-pwmem.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-pwmem.lo `test -f 'pwmem.c' || echo '$(srcdir)/'`pwmem.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 libshadow_la-pwmem.lo `test -f 'pwmem.c' || echo '$(srcdir)/'`pwmem.c + +libshadow_la-remove_tree.lo: remove_tree.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-remove_tree.lo -MD -MP -MF $(DEPDIR)/libshadow_la-remove_tree.Tpo -c -o libshadow_la-remove_tree.lo `test -f 'remove_tree.c' || echo '$(srcdir)/'`remove_tree.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-remove_tree.Tpo $(DEPDIR)/libshadow_la-remove_tree.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='remove_tree.c' object='libshadow_la-remove_tree.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-remove_tree.lo `test -f 'remove_tree.c' || echo '$(srcdir)/'`remove_tree.c + +libshadow_la-rlogin.lo: rlogin.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-rlogin.lo -MD -MP -MF $(DEPDIR)/libshadow_la-rlogin.Tpo -c -o libshadow_la-rlogin.lo `test -f 'rlogin.c' || echo '$(srcdir)/'`rlogin.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-rlogin.Tpo $(DEPDIR)/libshadow_la-rlogin.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rlogin.c' object='libshadow_la-rlogin.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-rlogin.lo `test -f 'rlogin.c' || echo '$(srcdir)/'`rlogin.c + +libshadow_la-root_flag.lo: root_flag.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-root_flag.lo -MD -MP -MF $(DEPDIR)/libshadow_la-root_flag.Tpo -c -o libshadow_la-root_flag.lo `test -f 'root_flag.c' || echo '$(srcdir)/'`root_flag.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-root_flag.Tpo $(DEPDIR)/libshadow_la-root_flag.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='root_flag.c' object='libshadow_la-root_flag.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-root_flag.lo `test -f 'root_flag.c' || echo '$(srcdir)/'`root_flag.c libshadow_la-run_part.lo: run_part.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-run_part.lo -MD -MP -MF $(DEPDIR)/libshadow_la-run_part.Tpo -c -o libshadow_la-run_part.lo `test -f 'run_part.c' || echo '$(srcdir)/'`run_part.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-run_part.lo -MD -MP -MF $(DEPDIR)/libshadow_la-run_part.Tpo -c -o libshadow_la-run_part.lo `test -f 'run_part.c' || echo '$(srcdir)/'`run_part.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-run_part.Tpo $(DEPDIR)/libshadow_la-run_part.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='run_part.c' object='libshadow_la-run_part.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-run_part.lo `test -f 'run_part.c' || echo '$(srcdir)/'`run_part.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 libshadow_la-run_part.lo `test -f 'run_part.c' || echo '$(srcdir)/'`run_part.c -libshadow_la-subordinateio.lo: subordinateio.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-subordinateio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-subordinateio.Tpo -c -o libshadow_la-subordinateio.lo `test -f 'subordinateio.c' || echo '$(srcdir)/'`subordinateio.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-subordinateio.Tpo $(DEPDIR)/libshadow_la-subordinateio.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subordinateio.c' object='libshadow_la-subordinateio.lo' libtool=yes @AMDEPBACKSLASH@ +libshadow_la-salt.lo: salt.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-salt.lo -MD -MP -MF $(DEPDIR)/libshadow_la-salt.Tpo -c -o libshadow_la-salt.lo `test -f 'salt.c' || echo '$(srcdir)/'`salt.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-salt.Tpo $(DEPDIR)/libshadow_la-salt.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='salt.c' object='libshadow_la-salt.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-subordinateio.lo `test -f 'subordinateio.c' || echo '$(srcdir)/'`subordinateio.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 libshadow_la-salt.lo `test -f 'salt.c' || echo '$(srcdir)/'`salt.c libshadow_la-selinux.lo: selinux.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-selinux.lo -MD -MP -MF $(DEPDIR)/libshadow_la-selinux.Tpo -c -o libshadow_la-selinux.lo `test -f 'selinux.c' || echo '$(srcdir)/'`selinux.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-selinux.lo -MD -MP -MF $(DEPDIR)/libshadow_la-selinux.Tpo -c -o libshadow_la-selinux.lo `test -f 'selinux.c' || echo '$(srcdir)/'`selinux.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-selinux.Tpo $(DEPDIR)/libshadow_la-selinux.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='selinux.c' object='libshadow_la-selinux.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-selinux.lo `test -f 'selinux.c' || echo '$(srcdir)/'`selinux.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 libshadow_la-selinux.lo `test -f 'selinux.c' || echo '$(srcdir)/'`selinux.c libshadow_la-semanage.lo: semanage.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-semanage.lo -MD -MP -MF $(DEPDIR)/libshadow_la-semanage.Tpo -c -o libshadow_la-semanage.lo `test -f 'semanage.c' || echo '$(srcdir)/'`semanage.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-semanage.lo -MD -MP -MF $(DEPDIR)/libshadow_la-semanage.Tpo -c -o libshadow_la-semanage.lo `test -f 'semanage.c' || echo '$(srcdir)/'`semanage.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-semanage.Tpo $(DEPDIR)/libshadow_la-semanage.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='semanage.c' object='libshadow_la-semanage.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-semanage.lo `test -f 'semanage.c' || echo '$(srcdir)/'`semanage.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 libshadow_la-semanage.lo `test -f 'semanage.c' || echo '$(srcdir)/'`semanage.c + +libshadow_la-setugid.lo: setugid.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-setugid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-setugid.Tpo -c -o libshadow_la-setugid.lo `test -f 'setugid.c' || echo '$(srcdir)/'`setugid.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-setugid.Tpo $(DEPDIR)/libshadow_la-setugid.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='setugid.c' object='libshadow_la-setugid.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-setugid.lo `test -f 'setugid.c' || echo '$(srcdir)/'`setugid.c + +libshadow_la-setupenv.lo: setupenv.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-setupenv.lo -MD -MP -MF $(DEPDIR)/libshadow_la-setupenv.Tpo -c -o libshadow_la-setupenv.lo `test -f 'setupenv.c' || echo '$(srcdir)/'`setupenv.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-setupenv.Tpo $(DEPDIR)/libshadow_la-setupenv.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='setupenv.c' object='libshadow_la-setupenv.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-setupenv.lo `test -f 'setupenv.c' || echo '$(srcdir)/'`setupenv.c libshadow_la-sgetgrent.lo: sgetgrent.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-sgetgrent.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sgetgrent.Tpo -c -o libshadow_la-sgetgrent.lo `test -f 'sgetgrent.c' || echo '$(srcdir)/'`sgetgrent.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-sgetgrent.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sgetgrent.Tpo -c -o libshadow_la-sgetgrent.lo `test -f 'sgetgrent.c' || echo '$(srcdir)/'`sgetgrent.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-sgetgrent.Tpo $(DEPDIR)/libshadow_la-sgetgrent.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sgetgrent.c' object='libshadow_la-sgetgrent.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-sgetgrent.lo `test -f 'sgetgrent.c' || echo '$(srcdir)/'`sgetgrent.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 libshadow_la-sgetgrent.lo `test -f 'sgetgrent.c' || echo '$(srcdir)/'`sgetgrent.c libshadow_la-sgetpwent.lo: sgetpwent.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-sgetpwent.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sgetpwent.Tpo -c -o libshadow_la-sgetpwent.lo `test -f 'sgetpwent.c' || echo '$(srcdir)/'`sgetpwent.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-sgetpwent.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sgetpwent.Tpo -c -o libshadow_la-sgetpwent.lo `test -f 'sgetpwent.c' || echo '$(srcdir)/'`sgetpwent.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-sgetpwent.Tpo $(DEPDIR)/libshadow_la-sgetpwent.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sgetpwent.c' object='libshadow_la-sgetpwent.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-sgetpwent.lo `test -f 'sgetpwent.c' || echo '$(srcdir)/'`sgetpwent.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 libshadow_la-sgetpwent.lo `test -f 'sgetpwent.c' || echo '$(srcdir)/'`sgetpwent.c libshadow_la-sgetspent.lo: sgetspent.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-sgetspent.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sgetspent.Tpo -c -o libshadow_la-sgetspent.lo `test -f 'sgetspent.c' || echo '$(srcdir)/'`sgetspent.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-sgetspent.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sgetspent.Tpo -c -o libshadow_la-sgetspent.lo `test -f 'sgetspent.c' || echo '$(srcdir)/'`sgetspent.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-sgetspent.Tpo $(DEPDIR)/libshadow_la-sgetspent.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sgetspent.c' object='libshadow_la-sgetspent.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-sgetspent.lo `test -f 'sgetspent.c' || echo '$(srcdir)/'`sgetspent.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 libshadow_la-sgetspent.lo `test -f 'sgetspent.c' || echo '$(srcdir)/'`sgetspent.c libshadow_la-sgroupio.lo: sgroupio.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-sgroupio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sgroupio.Tpo -c -o libshadow_la-sgroupio.lo `test -f 'sgroupio.c' || echo '$(srcdir)/'`sgroupio.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-sgroupio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sgroupio.Tpo -c -o libshadow_la-sgroupio.lo `test -f 'sgroupio.c' || echo '$(srcdir)/'`sgroupio.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-sgroupio.Tpo $(DEPDIR)/libshadow_la-sgroupio.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sgroupio.c' object='libshadow_la-sgroupio.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-sgroupio.lo `test -f 'sgroupio.c' || echo '$(srcdir)/'`sgroupio.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 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) $(AM_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_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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-shadow.lo `test -f 'shadow.c' || echo '$(srcdir)/'`shadow.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 libshadow_la-shadow.lo `test -f 'shadow.c' || echo '$(srcdir)/'`shadow.c libshadow_la-shadowio.lo: shadowio.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-shadowio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-shadowio.Tpo -c -o libshadow_la-shadowio.lo `test -f 'shadowio.c' || echo '$(srcdir)/'`shadowio.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-shadowio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-shadowio.Tpo -c -o libshadow_la-shadowio.lo `test -f 'shadowio.c' || echo '$(srcdir)/'`shadowio.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-shadowio.Tpo $(DEPDIR)/libshadow_la-shadowio.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shadowio.c' object='libshadow_la-shadowio.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-shadowio.lo `test -f 'shadowio.c' || echo '$(srcdir)/'`shadowio.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 libshadow_la-shadowio.lo `test -f 'shadowio.c' || echo '$(srcdir)/'`shadowio.c + +libshadow_la-shadowlog.lo: shadowlog.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-shadowlog.lo -MD -MP -MF $(DEPDIR)/libshadow_la-shadowlog.Tpo -c -o libshadow_la-shadowlog.lo `test -f 'shadowlog.c' || echo '$(srcdir)/'`shadowlog.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-shadowlog.Tpo $(DEPDIR)/libshadow_la-shadowlog.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shadowlog.c' object='libshadow_la-shadowlog.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-shadowlog.lo `test -f 'shadowlog.c' || echo '$(srcdir)/'`shadowlog.c libshadow_la-shadowmem.lo: shadowmem.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-shadowmem.lo -MD -MP -MF $(DEPDIR)/libshadow_la-shadowmem.Tpo -c -o libshadow_la-shadowmem.lo `test -f 'shadowmem.c' || echo '$(srcdir)/'`shadowmem.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-shadowmem.lo -MD -MP -MF $(DEPDIR)/libshadow_la-shadowmem.Tpo -c -o libshadow_la-shadowmem.lo `test -f 'shadowmem.c' || echo '$(srcdir)/'`shadowmem.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-shadowmem.Tpo $(DEPDIR)/libshadow_la-shadowmem.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shadowmem.c' object='libshadow_la-shadowmem.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-shadowmem.lo `test -f 'shadowmem.c' || echo '$(srcdir)/'`shadowmem.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 libshadow_la-shadowmem.lo `test -f 'shadowmem.c' || echo '$(srcdir)/'`shadowmem.c + +libshadow_la-shell.lo: shell.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-shell.lo -MD -MP -MF $(DEPDIR)/libshadow_la-shell.Tpo -c -o libshadow_la-shell.lo `test -f 'shell.c' || echo '$(srcdir)/'`shell.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-shell.Tpo $(DEPDIR)/libshadow_la-shell.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='shell.c' object='libshadow_la-shell.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-shell.lo `test -f 'shell.c' || echo '$(srcdir)/'`shell.c libshadow_la-spawn.lo: spawn.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-spawn.lo -MD -MP -MF $(DEPDIR)/libshadow_la-spawn.Tpo -c -o libshadow_la-spawn.lo `test -f 'spawn.c' || echo '$(srcdir)/'`spawn.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-spawn.lo -MD -MP -MF $(DEPDIR)/libshadow_la-spawn.Tpo -c -o libshadow_la-spawn.lo `test -f 'spawn.c' || echo '$(srcdir)/'`spawn.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-spawn.Tpo $(DEPDIR)/libshadow_la-spawn.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='spawn.c' object='libshadow_la-spawn.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-spawn.lo `test -f 'spawn.c' || echo '$(srcdir)/'`spawn.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 libshadow_la-spawn.lo `test -f 'spawn.c' || echo '$(srcdir)/'`spawn.c -libshadow_la-utent.lo: utent.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-utent.lo -MD -MP -MF $(DEPDIR)/libshadow_la-utent.Tpo -c -o libshadow_la-utent.lo `test -f 'utent.c' || echo '$(srcdir)/'`utent.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-utent.Tpo $(DEPDIR)/libshadow_la-utent.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utent.c' object='libshadow_la-utent.lo' libtool=yes @AMDEPBACKSLASH@ +libshadow_la-sssd.lo: sssd.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-sssd.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sssd.Tpo -c -o libshadow_la-sssd.lo `test -f 'sssd.c' || echo '$(srcdir)/'`sssd.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-sssd.Tpo $(DEPDIR)/libshadow_la-sssd.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sssd.c' object='libshadow_la-sssd.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-utent.lo `test -f 'utent.c' || echo '$(srcdir)/'`utent.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 libshadow_la-sssd.lo `test -f 'sssd.c' || echo '$(srcdir)/'`sssd.c + +string/libshadow_la-sprintf.lo: string/sprintf.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/libshadow_la-sprintf.lo -MD -MP -MF string/$(DEPDIR)/libshadow_la-sprintf.Tpo -c -o string/libshadow_la-sprintf.lo `test -f 'string/sprintf.c' || echo '$(srcdir)/'`string/sprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/$(DEPDIR)/libshadow_la-sprintf.Tpo string/$(DEPDIR)/libshadow_la-sprintf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/sprintf.c' object='string/libshadow_la-sprintf.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/libshadow_la-sprintf.lo `test -f 'string/sprintf.c' || echo '$(srcdir)/'`string/sprintf.c + +string/libshadow_la-stpecpy.lo: string/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/libshadow_la-stpecpy.lo -MD -MP -MF string/$(DEPDIR)/libshadow_la-stpecpy.Tpo -c -o string/libshadow_la-stpecpy.lo `test -f 'string/stpecpy.c' || echo '$(srcdir)/'`string/stpecpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/$(DEPDIR)/libshadow_la-stpecpy.Tpo string/$(DEPDIR)/libshadow_la-stpecpy.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/stpecpy.c' object='string/libshadow_la-stpecpy.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/libshadow_la-stpecpy.lo `test -f 'string/stpecpy.c' || echo '$(srcdir)/'`string/stpecpy.c + +string/libshadow_la-stpeprintf.lo: string/stpeprintf.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/libshadow_la-stpeprintf.lo -MD -MP -MF string/$(DEPDIR)/libshadow_la-stpeprintf.Tpo -c -o string/libshadow_la-stpeprintf.lo `test -f 'string/stpeprintf.c' || echo '$(srcdir)/'`string/stpeprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/$(DEPDIR)/libshadow_la-stpeprintf.Tpo string/$(DEPDIR)/libshadow_la-stpeprintf.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/stpeprintf.c' object='string/libshadow_la-stpeprintf.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/libshadow_la-stpeprintf.lo `test -f 'string/stpeprintf.c' || echo '$(srcdir)/'`string/stpeprintf.c + +string/libshadow_la-strftime.lo: string/strftime.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/libshadow_la-strftime.lo -MD -MP -MF string/$(DEPDIR)/libshadow_la-strftime.Tpo -c -o string/libshadow_la-strftime.lo `test -f 'string/strftime.c' || echo '$(srcdir)/'`string/strftime.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/$(DEPDIR)/libshadow_la-strftime.Tpo string/$(DEPDIR)/libshadow_la-strftime.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strftime.c' object='string/libshadow_la-strftime.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/libshadow_la-strftime.lo `test -f 'string/strftime.c' || echo '$(srcdir)/'`string/strftime.c + +string/libshadow_la-strtcpy.lo: string/strtcpy.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/libshadow_la-strtcpy.lo -MD -MP -MF string/$(DEPDIR)/libshadow_la-strtcpy.Tpo -c -o string/libshadow_la-strtcpy.lo `test -f 'string/strtcpy.c' || echo '$(srcdir)/'`string/strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) string/$(DEPDIR)/libshadow_la-strtcpy.Tpo string/$(DEPDIR)/libshadow_la-strtcpy.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='string/strtcpy.c' object='string/libshadow_la-strtcpy.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/libshadow_la-strtcpy.lo `test -f 'string/strtcpy.c' || echo '$(srcdir)/'`string/strtcpy.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 +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='strtoday.c' object='libshadow_la-strtoday.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-strtoday.lo `test -f 'strtoday.c' || echo '$(srcdir)/'`strtoday.c + +libshadow_la-sub.lo: sub.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-sub.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sub.Tpo -c -o libshadow_la-sub.lo `test -f 'sub.c' || echo '$(srcdir)/'`sub.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-sub.Tpo $(DEPDIR)/libshadow_la-sub.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sub.c' object='libshadow_la-sub.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-sub.lo `test -f 'sub.c' || echo '$(srcdir)/'`sub.c + +libshadow_la-subordinateio.lo: subordinateio.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-subordinateio.lo -MD -MP -MF $(DEPDIR)/libshadow_la-subordinateio.Tpo -c -o libshadow_la-subordinateio.lo `test -f 'subordinateio.c' || echo '$(srcdir)/'`subordinateio.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-subordinateio.Tpo $(DEPDIR)/libshadow_la-subordinateio.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='subordinateio.c' object='libshadow_la-subordinateio.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-subordinateio.lo `test -f 'subordinateio.c' || echo '$(srcdir)/'`subordinateio.c + +libshadow_la-sulog.lo: sulog.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-sulog.lo -MD -MP -MF $(DEPDIR)/libshadow_la-sulog.Tpo -c -o libshadow_la-sulog.lo `test -f 'sulog.c' || echo '$(srcdir)/'`sulog.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-sulog.Tpo $(DEPDIR)/libshadow_la-sulog.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sulog.c' object='libshadow_la-sulog.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-sulog.lo `test -f 'sulog.c' || echo '$(srcdir)/'`sulog.c + +time/libshadow_la-day_to_str.lo: time/day_to_str.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 time/libshadow_la-day_to_str.lo -MD -MP -MF time/$(DEPDIR)/libshadow_la-day_to_str.Tpo -c -o time/libshadow_la-day_to_str.lo `test -f 'time/day_to_str.c' || echo '$(srcdir)/'`time/day_to_str.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) time/$(DEPDIR)/libshadow_la-day_to_str.Tpo time/$(DEPDIR)/libshadow_la-day_to_str.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='time/day_to_str.c' object='time/libshadow_la-day_to_str.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 time/libshadow_la-day_to_str.lo `test -f 'time/day_to_str.c' || echo '$(srcdir)/'`time/day_to_str.c + +libshadow_la-ttytype.lo: ttytype.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-ttytype.lo -MD -MP -MF $(DEPDIR)/libshadow_la-ttytype.Tpo -c -o libshadow_la-ttytype.lo `test -f 'ttytype.c' || echo '$(srcdir)/'`ttytype.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-ttytype.Tpo $(DEPDIR)/libshadow_la-ttytype.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ttytype.c' object='libshadow_la-ttytype.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-ttytype.lo `test -f 'ttytype.c' || echo '$(srcdir)/'`ttytype.c + +libshadow_la-tz.lo: tz.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-tz.lo -MD -MP -MF $(DEPDIR)/libshadow_la-tz.Tpo -c -o libshadow_la-tz.lo `test -f 'tz.c' || echo '$(srcdir)/'`tz.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-tz.Tpo $(DEPDIR)/libshadow_la-tz.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tz.c' object='libshadow_la-tz.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-tz.lo `test -f 'tz.c' || echo '$(srcdir)/'`tz.c + +libshadow_la-ulimit.lo: ulimit.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-ulimit.lo -MD -MP -MF $(DEPDIR)/libshadow_la-ulimit.Tpo -c -o libshadow_la-ulimit.lo `test -f 'ulimit.c' || echo '$(srcdir)/'`ulimit.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-ulimit.Tpo $(DEPDIR)/libshadow_la-ulimit.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ulimit.c' object='libshadow_la-ulimit.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-ulimit.lo `test -f 'ulimit.c' || echo '$(srcdir)/'`ulimit.c + +libshadow_la-user_busy.lo: user_busy.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-user_busy.lo -MD -MP -MF $(DEPDIR)/libshadow_la-user_busy.Tpo -c -o libshadow_la-user_busy.lo `test -f 'user_busy.c' || echo '$(srcdir)/'`user_busy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-user_busy.Tpo $(DEPDIR)/libshadow_la-user_busy.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='user_busy.c' object='libshadow_la-user_busy.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-user_busy.lo `test -f 'user_busy.c' || echo '$(srcdir)/'`user_busy.c + +libshadow_la-valid.lo: valid.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-valid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-valid.Tpo -c -o libshadow_la-valid.lo `test -f 'valid.c' || echo '$(srcdir)/'`valid.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-valid.Tpo $(DEPDIR)/libshadow_la-valid.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='valid.c' object='libshadow_la-valid.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-valid.lo `test -f 'valid.c' || echo '$(srcdir)/'`valid.c + +libshadow_la-write_full.lo: write_full.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-write_full.lo -MD -MP -MF $(DEPDIR)/libshadow_la-write_full.Tpo -c -o libshadow_la-write_full.lo `test -f 'write_full.c' || echo '$(srcdir)/'`write_full.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-write_full.Tpo $(DEPDIR)/libshadow_la-write_full.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='write_full.c' object='libshadow_la-write_full.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-write_full.lo `test -f 'write_full.c' || echo '$(srcdir)/'`write_full.c + +libshadow_la-xgetpwnam.lo: xgetpwnam.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-xgetpwnam.lo -MD -MP -MF $(DEPDIR)/libshadow_la-xgetpwnam.Tpo -c -o libshadow_la-xgetpwnam.lo `test -f 'xgetpwnam.c' || echo '$(srcdir)/'`xgetpwnam.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-xgetpwnam.Tpo $(DEPDIR)/libshadow_la-xgetpwnam.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xgetpwnam.c' object='libshadow_la-xgetpwnam.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-xgetpwnam.lo `test -f 'xgetpwnam.c' || echo '$(srcdir)/'`xgetpwnam.c + +libshadow_la-xprefix_getpwnam.lo: xprefix_getpwnam.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-xprefix_getpwnam.lo -MD -MP -MF $(DEPDIR)/libshadow_la-xprefix_getpwnam.Tpo -c -o libshadow_la-xprefix_getpwnam.lo `test -f 'xprefix_getpwnam.c' || echo '$(srcdir)/'`xprefix_getpwnam.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-xprefix_getpwnam.Tpo $(DEPDIR)/libshadow_la-xprefix_getpwnam.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xprefix_getpwnam.c' object='libshadow_la-xprefix_getpwnam.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-xprefix_getpwnam.lo `test -f 'xprefix_getpwnam.c' || echo '$(srcdir)/'`xprefix_getpwnam.c + +libshadow_la-xgetpwuid.lo: xgetpwuid.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-xgetpwuid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-xgetpwuid.Tpo -c -o libshadow_la-xgetpwuid.lo `test -f 'xgetpwuid.c' || echo '$(srcdir)/'`xgetpwuid.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-xgetpwuid.Tpo $(DEPDIR)/libshadow_la-xgetpwuid.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xgetpwuid.c' object='libshadow_la-xgetpwuid.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-xgetpwuid.lo `test -f 'xgetpwuid.c' || echo '$(srcdir)/'`xgetpwuid.c + +libshadow_la-xgetgrnam.lo: xgetgrnam.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-xgetgrnam.lo -MD -MP -MF $(DEPDIR)/libshadow_la-xgetgrnam.Tpo -c -o libshadow_la-xgetgrnam.lo `test -f 'xgetgrnam.c' || echo '$(srcdir)/'`xgetgrnam.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-xgetgrnam.Tpo $(DEPDIR)/libshadow_la-xgetgrnam.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xgetgrnam.c' object='libshadow_la-xgetgrnam.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-xgetgrnam.lo `test -f 'xgetgrnam.c' || echo '$(srcdir)/'`xgetgrnam.c + +libshadow_la-xgetgrgid.lo: xgetgrgid.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-xgetgrgid.lo -MD -MP -MF $(DEPDIR)/libshadow_la-xgetgrgid.Tpo -c -o libshadow_la-xgetgrgid.lo `test -f 'xgetgrgid.c' || echo '$(srcdir)/'`xgetgrgid.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-xgetgrgid.Tpo $(DEPDIR)/libshadow_la-xgetgrgid.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xgetgrgid.c' object='libshadow_la-xgetgrgid.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-xgetgrgid.lo `test -f 'xgetgrgid.c' || echo '$(srcdir)/'`xgetgrgid.c + +libshadow_la-xgetspnam.lo: xgetspnam.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-xgetspnam.lo -MD -MP -MF $(DEPDIR)/libshadow_la-xgetspnam.Tpo -c -o libshadow_la-xgetspnam.lo `test -f 'xgetspnam.c' || echo '$(srcdir)/'`xgetspnam.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-xgetspnam.Tpo $(DEPDIR)/libshadow_la-xgetspnam.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xgetspnam.c' object='libshadow_la-xgetspnam.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-xgetspnam.lo `test -f 'xgetspnam.c' || echo '$(srcdir)/'`xgetspnam.c + +libshadow_la-yesno.lo: yesno.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-yesno.lo -MD -MP -MF $(DEPDIR)/libshadow_la-yesno.Tpo -c -o libshadow_la-yesno.lo `test -f 'yesno.c' || echo '$(srcdir)/'`yesno.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-yesno.Tpo $(DEPDIR)/libshadow_la-yesno.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='yesno.c' object='libshadow_la-yesno.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-yesno.lo `test -f 'yesno.c' || echo '$(srcdir)/'`yesno.c libshadow_la-tcbfuncs.lo: tcbfuncs.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) $(AM_CFLAGS) $(CFLAGS) -MT libshadow_la-tcbfuncs.lo -MD -MP -MF $(DEPDIR)/libshadow_la-tcbfuncs.Tpo -c -o libshadow_la-tcbfuncs.lo `test -f 'tcbfuncs.c' || echo '$(srcdir)/'`tcbfuncs.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-tcbfuncs.lo -MD -MP -MF $(DEPDIR)/libshadow_la-tcbfuncs.Tpo -c -o libshadow_la-tcbfuncs.lo `test -f 'tcbfuncs.c' || echo '$(srcdir)/'`tcbfuncs.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-tcbfuncs.Tpo $(DEPDIR)/libshadow_la-tcbfuncs.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tcbfuncs.c' object='libshadow_la-tcbfuncs.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) $(AM_CFLAGS) $(CFLAGS) -c -o libshadow_la-tcbfuncs.lo `test -f 'tcbfuncs.c' || echo '$(srcdir)/'`tcbfuncs.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 libshadow_la-tcbfuncs.lo `test -f 'tcbfuncs.c' || echo '$(srcdir)/'`tcbfuncs.c + +libshadow_la-btrfs.lo: btrfs.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-btrfs.lo -MD -MP -MF $(DEPDIR)/libshadow_la-btrfs.Tpo -c -o libshadow_la-btrfs.lo `test -f 'btrfs.c' || echo '$(srcdir)/'`btrfs.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-btrfs.Tpo $(DEPDIR)/libshadow_la-btrfs.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='btrfs.c' object='libshadow_la-btrfs.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-btrfs.lo `test -f 'btrfs.c' || echo '$(srcdir)/'`btrfs.c + +libshadow_la-log.lo: log.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-log.lo -MD -MP -MF $(DEPDIR)/libshadow_la-log.Tpo -c -o libshadow_la-log.lo `test -f 'log.c' || echo '$(srcdir)/'`log.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-log.Tpo $(DEPDIR)/libshadow_la-log.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='log.c' object='libshadow_la-log.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-log.lo `test -f 'log.c' || echo '$(srcdir)/'`log.c + +libshadow_la-logind.lo: logind.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-logind.lo -MD -MP -MF $(DEPDIR)/libshadow_la-logind.Tpo -c -o libshadow_la-logind.lo `test -f 'logind.c' || echo '$(srcdir)/'`logind.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-logind.Tpo $(DEPDIR)/libshadow_la-logind.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='logind.c' object='libshadow_la-logind.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-logind.lo `test -f 'logind.c' || echo '$(srcdir)/'`logind.c + +libshadow_la-utmp.lo: utmp.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-utmp.lo -MD -MP -MF $(DEPDIR)/libshadow_la-utmp.Tpo -c -o libshadow_la-utmp.lo `test -f 'utmp.c' || echo '$(srcdir)/'`utmp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-utmp.Tpo $(DEPDIR)/libshadow_la-utmp.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utmp.c' object='libshadow_la-utmp.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-utmp.lo `test -f 'utmp.c' || echo '$(srcdir)/'`utmp.c + +libshadow_la-freezero.lo: freezero.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-freezero.lo -MD -MP -MF $(DEPDIR)/libshadow_la-freezero.Tpo -c -o libshadow_la-freezero.lo `test -f 'freezero.c' || echo '$(srcdir)/'`freezero.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-freezero.Tpo $(DEPDIR)/libshadow_la-freezero.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='freezero.c' object='libshadow_la-freezero.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-freezero.lo `test -f 'freezero.c' || echo '$(srcdir)/'`freezero.c + +libshadow_la-readpassphrase.lo: readpassphrase.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-readpassphrase.lo -MD -MP -MF $(DEPDIR)/libshadow_la-readpassphrase.Tpo -c -o libshadow_la-readpassphrase.lo `test -f 'readpassphrase.c' || echo '$(srcdir)/'`readpassphrase.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshadow_la-readpassphrase.Tpo $(DEPDIR)/libshadow_la-readpassphrase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='readpassphrase.c' object='libshadow_la-readpassphrase.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-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 clean-libtool: -rm -rf .libs _libs + -rm -rf atoi/.libs atoi/_libs + -rm -rf string/.libs string/_libs + -rm -rf time/.libs time/_libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique @@ -916,39 +1833,102 @@ 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) + -rm -f atoi/$(DEPDIR)/$(am__dirstamp) + -rm -f atoi/$(am__dirstamp) + -rm -f string/$(DEPDIR)/$(am__dirstamp) + -rm -f string/$(am__dirstamp) + -rm -f time/$(DEPDIR)/$(am__dirstamp) + -rm -f time/$(am__dirstamp) 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 \ mostlyclean-am distclean: distclean-am - -rm -f ./$(DEPDIR)/libshadow_la-commonio.Plo + -rm -f ./$(DEPDIR)/libshadow_la-addgrps.Plo + -rm -f ./$(DEPDIR)/libshadow_la-adds.Plo + -rm -f ./$(DEPDIR)/libshadow_la-age.Plo + -rm -f ./$(DEPDIR)/libshadow_la-agetpass.Plo + -rm -f ./$(DEPDIR)/libshadow_la-alloc.Plo + -rm -f ./$(DEPDIR)/libshadow_la-audit_help.Plo + -rm -f ./$(DEPDIR)/libshadow_la-basename.Plo + -rm -f ./$(DEPDIR)/libshadow_la-bit.Plo + -rm -f ./$(DEPDIR)/libshadow_la-btrfs.Plo + -rm -f ./$(DEPDIR)/libshadow_la-chkname.Plo + -rm -f ./$(DEPDIR)/libshadow_la-chowndir.Plo + -rm -f ./$(DEPDIR)/libshadow_la-chowntty.Plo + -rm -f ./$(DEPDIR)/libshadow_la-cleanup.Plo + -rm -f ./$(DEPDIR)/libshadow_la-cleanup_group.Plo + -rm -f ./$(DEPDIR)/libshadow_la-cleanup_user.Plo + -rm -f ./$(DEPDIR)/libshadow_la-commonio.Plo + -rm -f ./$(DEPDIR)/libshadow_la-console.Plo + -rm -f ./$(DEPDIR)/libshadow_la-copydir.Plo + -rm -f ./$(DEPDIR)/libshadow_la-csrand.Plo -rm -f ./$(DEPDIR)/libshadow_la-encrypt.Plo + -rm -f ./$(DEPDIR)/libshadow_la-env.Plo + -rm -f ./$(DEPDIR)/libshadow_la-failure.Plo + -rm -f ./$(DEPDIR)/libshadow_la-fd.Plo -rm -f ./$(DEPDIR)/libshadow_la-fields.Plo + -rm -f ./$(DEPDIR)/libshadow_la-find_new_gid.Plo + -rm -f ./$(DEPDIR)/libshadow_la-find_new_sub_gids.Plo + -rm -f ./$(DEPDIR)/libshadow_la-find_new_sub_uids.Plo + -rm -f ./$(DEPDIR)/libshadow_la-find_new_uid.Plo -rm -f ./$(DEPDIR)/libshadow_la-fputsx.Plo + -rm -f ./$(DEPDIR)/libshadow_la-freezero.Plo -rm -f ./$(DEPDIR)/libshadow_la-get_gid.Plo -rm -f ./$(DEPDIR)/libshadow_la-get_pid.Plo -rm -f ./$(DEPDIR)/libshadow_la-get_uid.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-getlong.Plo + -rm -f ./$(DEPDIR)/libshadow_la-getrange.Plo + -rm -f ./$(DEPDIR)/libshadow_la-gettime.Plo -rm -f ./$(DEPDIR)/libshadow_la-getulong.Plo -rm -f ./$(DEPDIR)/libshadow_la-groupio.Plo -rm -f ./$(DEPDIR)/libshadow_la-groupmem.Plo -rm -f ./$(DEPDIR)/libshadow_la-gshadow.Plo + -rm -f ./$(DEPDIR)/libshadow_la-hushed.Plo + -rm -f ./$(DEPDIR)/libshadow_la-idmapping.Plo + -rm -f ./$(DEPDIR)/libshadow_la-isexpired.Plo + -rm -f ./$(DEPDIR)/libshadow_la-limits.Plo + -rm -f ./$(DEPDIR)/libshadow_la-list.Plo -rm -f ./$(DEPDIR)/libshadow_la-lockpw.Plo + -rm -f ./$(DEPDIR)/libshadow_la-log.Plo + -rm -f ./$(DEPDIR)/libshadow_la-logind.Plo + -rm -f ./$(DEPDIR)/libshadow_la-loginprompt.Plo + -rm -f ./$(DEPDIR)/libshadow_la-mail.Plo + -rm -f ./$(DEPDIR)/libshadow_la-memzero.Plo + -rm -f ./$(DEPDIR)/libshadow_la-motd.Plo + -rm -f ./$(DEPDIR)/libshadow_la-myname.Plo -rm -f ./$(DEPDIR)/libshadow_la-nscd.Plo -rm -f ./$(DEPDIR)/libshadow_la-nss.Plo + -rm -f ./$(DEPDIR)/libshadow_la-obscure.Plo + -rm -f ./$(DEPDIR)/libshadow_la-pam_pass.Plo + -rm -f ./$(DEPDIR)/libshadow_la-pam_pass_non_interactive.Plo -rm -f ./$(DEPDIR)/libshadow_la-port.Plo + -rm -f ./$(DEPDIR)/libshadow_la-prefix_flag.Plo -rm -f ./$(DEPDIR)/libshadow_la-pwauth.Plo + -rm -f ./$(DEPDIR)/libshadow_la-pwd2spwd.Plo + -rm -f ./$(DEPDIR)/libshadow_la-pwd_init.Plo + -rm -f ./$(DEPDIR)/libshadow_la-pwdcheck.Plo -rm -f ./$(DEPDIR)/libshadow_la-pwio.Plo -rm -f ./$(DEPDIR)/libshadow_la-pwmem.Plo + -rm -f ./$(DEPDIR)/libshadow_la-readpassphrase.Plo + -rm -f ./$(DEPDIR)/libshadow_la-remove_tree.Plo + -rm -f ./$(DEPDIR)/libshadow_la-rlogin.Plo + -rm -f ./$(DEPDIR)/libshadow_la-root_flag.Plo -rm -f ./$(DEPDIR)/libshadow_la-run_part.Plo + -rm -f ./$(DEPDIR)/libshadow_la-salt.Plo -rm -f ./$(DEPDIR)/libshadow_la-selinux.Plo -rm -f ./$(DEPDIR)/libshadow_la-semanage.Plo + -rm -f ./$(DEPDIR)/libshadow_la-setugid.Plo + -rm -f ./$(DEPDIR)/libshadow_la-setupenv.Plo -rm -f ./$(DEPDIR)/libshadow_la-sgetgrent.Plo -rm -f ./$(DEPDIR)/libshadow_la-sgetpwent.Plo -rm -f ./$(DEPDIR)/libshadow_la-sgetspent.Plo @@ -957,11 +1937,36 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/libshadow_la-shadowio.Plo -rm -f ./$(DEPDIR)/libshadow_la-shadowlog.Plo -rm -f ./$(DEPDIR)/libshadow_la-shadowmem.Plo + -rm -f ./$(DEPDIR)/libshadow_la-shell.Plo -rm -f ./$(DEPDIR)/libshadow_la-spawn.Plo -rm -f ./$(DEPDIR)/libshadow_la-sssd.Plo + -rm -f ./$(DEPDIR)/libshadow_la-strtoday.Plo + -rm -f ./$(DEPDIR)/libshadow_la-sub.Plo -rm -f ./$(DEPDIR)/libshadow_la-subordinateio.Plo + -rm -f ./$(DEPDIR)/libshadow_la-sulog.Plo -rm -f ./$(DEPDIR)/libshadow_la-tcbfuncs.Plo - -rm -f ./$(DEPDIR)/libshadow_la-utent.Plo + -rm -f ./$(DEPDIR)/libshadow_la-ttytype.Plo + -rm -f ./$(DEPDIR)/libshadow_la-tz.Plo + -rm -f ./$(DEPDIR)/libshadow_la-ulimit.Plo + -rm -f ./$(DEPDIR)/libshadow_la-user_busy.Plo + -rm -f ./$(DEPDIR)/libshadow_la-utmp.Plo + -rm -f ./$(DEPDIR)/libshadow_la-valid.Plo + -rm -f ./$(DEPDIR)/libshadow_la-write_full.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xgetgrgid.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xgetgrnam.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xgetpwnam.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xgetpwuid.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xgetspnam.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xprefix_getpwnam.Plo + -rm -f ./$(DEPDIR)/libshadow_la-yesno.Plo + -rm -f atoi/$(DEPDIR)/libshadow_la-strtoi.Plo + -rm -f atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo + -rm -f string/$(DEPDIR)/libshadow_la-sprintf.Plo + -rm -f string/$(DEPDIR)/libshadow_la-stpecpy.Plo + -rm -f string/$(DEPDIR)/libshadow_la-stpeprintf.Plo + -rm -f string/$(DEPDIR)/libshadow_la-strftime.Plo + -rm -f string/$(DEPDIR)/libshadow_la-strtcpy.Plo + -rm -f time/$(DEPDIR)/libshadow_la-day_to_str.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -1007,29 +2012,85 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/libshadow_la-commonio.Plo + -rm -f ./$(DEPDIR)/libshadow_la-addgrps.Plo + -rm -f ./$(DEPDIR)/libshadow_la-adds.Plo + -rm -f ./$(DEPDIR)/libshadow_la-age.Plo + -rm -f ./$(DEPDIR)/libshadow_la-agetpass.Plo + -rm -f ./$(DEPDIR)/libshadow_la-alloc.Plo + -rm -f ./$(DEPDIR)/libshadow_la-audit_help.Plo + -rm -f ./$(DEPDIR)/libshadow_la-basename.Plo + -rm -f ./$(DEPDIR)/libshadow_la-bit.Plo + -rm -f ./$(DEPDIR)/libshadow_la-btrfs.Plo + -rm -f ./$(DEPDIR)/libshadow_la-chkname.Plo + -rm -f ./$(DEPDIR)/libshadow_la-chowndir.Plo + -rm -f ./$(DEPDIR)/libshadow_la-chowntty.Plo + -rm -f ./$(DEPDIR)/libshadow_la-cleanup.Plo + -rm -f ./$(DEPDIR)/libshadow_la-cleanup_group.Plo + -rm -f ./$(DEPDIR)/libshadow_la-cleanup_user.Plo + -rm -f ./$(DEPDIR)/libshadow_la-commonio.Plo + -rm -f ./$(DEPDIR)/libshadow_la-console.Plo + -rm -f ./$(DEPDIR)/libshadow_la-copydir.Plo + -rm -f ./$(DEPDIR)/libshadow_la-csrand.Plo -rm -f ./$(DEPDIR)/libshadow_la-encrypt.Plo + -rm -f ./$(DEPDIR)/libshadow_la-env.Plo + -rm -f ./$(DEPDIR)/libshadow_la-failure.Plo + -rm -f ./$(DEPDIR)/libshadow_la-fd.Plo -rm -f ./$(DEPDIR)/libshadow_la-fields.Plo + -rm -f ./$(DEPDIR)/libshadow_la-find_new_gid.Plo + -rm -f ./$(DEPDIR)/libshadow_la-find_new_sub_gids.Plo + -rm -f ./$(DEPDIR)/libshadow_la-find_new_sub_uids.Plo + -rm -f ./$(DEPDIR)/libshadow_la-find_new_uid.Plo -rm -f ./$(DEPDIR)/libshadow_la-fputsx.Plo + -rm -f ./$(DEPDIR)/libshadow_la-freezero.Plo -rm -f ./$(DEPDIR)/libshadow_la-get_gid.Plo -rm -f ./$(DEPDIR)/libshadow_la-get_pid.Plo -rm -f ./$(DEPDIR)/libshadow_la-get_uid.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-getlong.Plo + -rm -f ./$(DEPDIR)/libshadow_la-getrange.Plo + -rm -f ./$(DEPDIR)/libshadow_la-gettime.Plo -rm -f ./$(DEPDIR)/libshadow_la-getulong.Plo -rm -f ./$(DEPDIR)/libshadow_la-groupio.Plo -rm -f ./$(DEPDIR)/libshadow_la-groupmem.Plo -rm -f ./$(DEPDIR)/libshadow_la-gshadow.Plo + -rm -f ./$(DEPDIR)/libshadow_la-hushed.Plo + -rm -f ./$(DEPDIR)/libshadow_la-idmapping.Plo + -rm -f ./$(DEPDIR)/libshadow_la-isexpired.Plo + -rm -f ./$(DEPDIR)/libshadow_la-limits.Plo + -rm -f ./$(DEPDIR)/libshadow_la-list.Plo -rm -f ./$(DEPDIR)/libshadow_la-lockpw.Plo + -rm -f ./$(DEPDIR)/libshadow_la-log.Plo + -rm -f ./$(DEPDIR)/libshadow_la-logind.Plo + -rm -f ./$(DEPDIR)/libshadow_la-loginprompt.Plo + -rm -f ./$(DEPDIR)/libshadow_la-mail.Plo + -rm -f ./$(DEPDIR)/libshadow_la-memzero.Plo + -rm -f ./$(DEPDIR)/libshadow_la-motd.Plo + -rm -f ./$(DEPDIR)/libshadow_la-myname.Plo -rm -f ./$(DEPDIR)/libshadow_la-nscd.Plo -rm -f ./$(DEPDIR)/libshadow_la-nss.Plo + -rm -f ./$(DEPDIR)/libshadow_la-obscure.Plo + -rm -f ./$(DEPDIR)/libshadow_la-pam_pass.Plo + -rm -f ./$(DEPDIR)/libshadow_la-pam_pass_non_interactive.Plo -rm -f ./$(DEPDIR)/libshadow_la-port.Plo + -rm -f ./$(DEPDIR)/libshadow_la-prefix_flag.Plo -rm -f ./$(DEPDIR)/libshadow_la-pwauth.Plo + -rm -f ./$(DEPDIR)/libshadow_la-pwd2spwd.Plo + -rm -f ./$(DEPDIR)/libshadow_la-pwd_init.Plo + -rm -f ./$(DEPDIR)/libshadow_la-pwdcheck.Plo -rm -f ./$(DEPDIR)/libshadow_la-pwio.Plo -rm -f ./$(DEPDIR)/libshadow_la-pwmem.Plo + -rm -f ./$(DEPDIR)/libshadow_la-readpassphrase.Plo + -rm -f ./$(DEPDIR)/libshadow_la-remove_tree.Plo + -rm -f ./$(DEPDIR)/libshadow_la-rlogin.Plo + -rm -f ./$(DEPDIR)/libshadow_la-root_flag.Plo -rm -f ./$(DEPDIR)/libshadow_la-run_part.Plo + -rm -f ./$(DEPDIR)/libshadow_la-salt.Plo -rm -f ./$(DEPDIR)/libshadow_la-selinux.Plo -rm -f ./$(DEPDIR)/libshadow_la-semanage.Plo + -rm -f ./$(DEPDIR)/libshadow_la-setugid.Plo + -rm -f ./$(DEPDIR)/libshadow_la-setupenv.Plo -rm -f ./$(DEPDIR)/libshadow_la-sgetgrent.Plo -rm -f ./$(DEPDIR)/libshadow_la-sgetpwent.Plo -rm -f ./$(DEPDIR)/libshadow_la-sgetspent.Plo @@ -1038,11 +2099,36 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libshadow_la-shadowio.Plo -rm -f ./$(DEPDIR)/libshadow_la-shadowlog.Plo -rm -f ./$(DEPDIR)/libshadow_la-shadowmem.Plo + -rm -f ./$(DEPDIR)/libshadow_la-shell.Plo -rm -f ./$(DEPDIR)/libshadow_la-spawn.Plo -rm -f ./$(DEPDIR)/libshadow_la-sssd.Plo + -rm -f ./$(DEPDIR)/libshadow_la-strtoday.Plo + -rm -f ./$(DEPDIR)/libshadow_la-sub.Plo -rm -f ./$(DEPDIR)/libshadow_la-subordinateio.Plo + -rm -f ./$(DEPDIR)/libshadow_la-sulog.Plo -rm -f ./$(DEPDIR)/libshadow_la-tcbfuncs.Plo - -rm -f ./$(DEPDIR)/libshadow_la-utent.Plo + -rm -f ./$(DEPDIR)/libshadow_la-ttytype.Plo + -rm -f ./$(DEPDIR)/libshadow_la-tz.Plo + -rm -f ./$(DEPDIR)/libshadow_la-ulimit.Plo + -rm -f ./$(DEPDIR)/libshadow_la-user_busy.Plo + -rm -f ./$(DEPDIR)/libshadow_la-utmp.Plo + -rm -f ./$(DEPDIR)/libshadow_la-valid.Plo + -rm -f ./$(DEPDIR)/libshadow_la-write_full.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xgetgrgid.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xgetgrnam.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xgetpwnam.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xgetpwuid.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xgetspnam.Plo + -rm -f ./$(DEPDIR)/libshadow_la-xprefix_getpwnam.Plo + -rm -f ./$(DEPDIR)/libshadow_la-yesno.Plo + -rm -f atoi/$(DEPDIR)/libshadow_la-strtoi.Plo + -rm -f atoi/$(DEPDIR)/libshadow_la-strtou_noneg.Plo + -rm -f string/$(DEPDIR)/libshadow_la-sprintf.Plo + -rm -f string/$(DEPDIR)/libshadow_la-stpecpy.Plo + -rm -f string/$(DEPDIR)/libshadow_la-stpeprintf.Plo + -rm -f string/$(DEPDIR)/libshadow_la-strftime.Plo + -rm -f string/$(DEPDIR)/libshadow_la-strtcpy.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/libmisc/addgrps.c b/lib/addgrps.c similarity index 84% rename from libmisc/addgrps.c rename to lib/addgrps.c index 845d383b..dae3dba2 100644 --- a/libmisc/addgrps.c +++ b/lib/addgrps.c @@ -17,6 +17,8 @@ #include #include #include + +#include "alloc.h" #include "shadowlog.h" #ident "$Id$" @@ -29,7 +31,7 @@ */ int add_groups (const char *list) { - GETGROUPS_T *grouplist, *tmp; + GETGROUPS_T *grouplist; size_t i; int ngroups; bool added; @@ -46,7 +48,7 @@ int add_groups (const char *list) i = 16; for (;;) { - grouplist = (gid_t *) malloc (i * sizeof (GETGROUPS_T)); + grouplist = MALLOC(i, GETGROUPS_T); if (NULL == grouplist) { return -1; } @@ -88,19 +90,17 @@ int add_groups (const char *list) fputs (_("Warning: too many groups\n"), shadow_logfd); break; } - tmp = (gid_t *) realloc (grouplist, (size_t)(ngroups + 1) * sizeof (GETGROUPS_T)); - if (NULL == tmp) { - free (grouplist); + grouplist = REALLOCF(grouplist, (size_t) ngroups + 1, GETGROUPS_T); + if (grouplist == NULL) { return -1; } - tmp[ngroups] = grp->gr_gid; + grouplist[ngroups] = grp->gr_gid; ngroups++; - grouplist = tmp; added = true; } if (added) { - ret = setgroups ((size_t)ngroups, grouplist); + ret = setgroups (ngroups, grouplist); free (grouplist); return ret; } @@ -109,6 +109,6 @@ int add_groups (const char *list) return 0; } #else /* HAVE_SETGROUPS && !USE_PAM */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* HAVE_SETGROUPS && !USE_PAM */ diff --git a/lib/adds.c b/lib/adds.c new file mode 100644 index 00000000..5d8c1537 --- /dev/null +++ b/lib/adds.c @@ -0,0 +1,15 @@ +// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "adds.h" + +#include + + +extern inline long addsl2(long a, long b); +extern inline long addslN(size_t n, long addend[n]); + +extern inline int cmpl(const void *p1, const void *p2); diff --git a/lib/adds.h b/lib/adds.h new file mode 100644 index 00000000..6544ce5f --- /dev/null +++ b/lib/adds.h @@ -0,0 +1,86 @@ +// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ADDS_H_ +#define SHADOW_INCLUDE_LIB_ADDS_H_ + + +#include + +#include +#include +#include +#include + +#include "sizeof.h" + + +#define addsl(a, b, ...) \ +({ \ + long addend_[] = {a, b, __VA_ARGS__}; \ + \ + addslN(NITEMS(addend_), addend_); \ +}) + + +inline long addsl2(long a, long b); +inline long addslN(size_t n, long addend[n]); + +inline int cmpl(const void *p1, const void *p2); + + +inline long +addsl2(long a, long b) +{ + if (a > 0 && b > LONG_MAX - a) { + errno = EOVERFLOW; + return LONG_MAX; + } + if (a < 0 && b < LONG_MIN - a) { + errno = EOVERFLOW; + return LONG_MIN; + } + return a + b; +} + + +inline long +addslN(size_t n, long addend[n]) +{ + int e; + + if (n == 0) { + errno = EDOM; + return 0; + } + + e = errno; + while (n > 1) { + qsort(addend, n, sizeof(addend[0]), cmpl); + + errno = 0; + addend[0] = addsl2(addend[0], addend[--n]); + if (errno == EOVERFLOW) + return addend[0]; + } + errno = e; + return addend[0]; +} + + +inline int +cmpl(const void *p1, const void *p2) +{ + const long *l1 = p1; + const long *l2 = p2; + + if (*l1 < *l2) + return -1; + if (*l1 > *l2) + return +1; + return 0; +} + + +#endif // include guard diff --git a/libmisc/age.c b/lib/age.c similarity index 96% rename from libmisc/age.c rename to lib/age.c index d10f71b9..72a13eab 100644 --- a/libmisc/age.c +++ b/lib/age.c @@ -13,12 +13,15 @@ #include #include #include -#include "prototypes.h" -#include "defines.h" -#include "exitcodes.h" #include #include +#include "adds.h" +#include "defines.h" +#include "exitcodes.h" +#include "prototypes.h" + + #ident "$Id$" #ifndef PASSWD_PROGRAM @@ -112,7 +115,7 @@ int expire (const struct passwd *pw, /*@null@*/const struct spwd *sp) _exit (126); } - (void) execl (PASSWD_PROGRAM, PASSWD_PROGRAM, pw->pw_name, (char *) 0); + (void) execl (PASSWD_PROGRAM, PASSWD_PROGRAM, pw->pw_name, (char *) NULL); err = errno; perror ("Can't execute " PASSWD_PROGRAM); _exit ((ENOENT == err) ? E_CMD_NOTFOUND : E_CMD_NOEXEC); @@ -139,7 +142,7 @@ int expire (const struct passwd *pw, /*@null@*/const struct spwd *sp) void agecheck (/*@null@*/const struct spwd *sp) { - long now = (long) time ((time_t *) 0) / SCALE; + long now = time(NULL) / DAY; long remain; if (NULL == sp) { @@ -162,9 +165,9 @@ void agecheck (/*@null@*/const struct spwd *sp) return; } - remain = sp->sp_lstchg + sp->sp_max - now; + remain = addsl(sp->sp_lstchg, sp->sp_max, -now); + if (remain <= sp->sp_warn) { - remain /= DAY / SCALE; if (remain > 1) { (void) printf (_("Your password will expire in %ld days.\n"), remain); diff --git a/lib/agetpass.c b/lib/agetpass.c new file mode 100644 index 00000000..5d9f9286 --- /dev/null +++ b/lib/agetpass.c @@ -0,0 +1,145 @@ +/* + * SPDX-FileCopyrightText: 2022, Alejandro Colomar + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include + +#include "agetpass.h" + +#include +#include +#include +#include + +#ident "$Id$" + +#include "alloc.h" + +#if WITH_LIBBSD == 0 +#include "freezero.h" +#endif /* WITH_LIBBSD */ + + +/* + * SYNOPSIS + * [[gnu::malloc(erase_pass)]] + * char *agetpass(const char *prompt); + * char *agetpass_stdin(); + * + * void erase_pass(char *pass); + * + * ARGUMENTS + * agetpass() + * prompt String to be printed before reading a password. + * + * erase_pass() + * pass password previously returned by agetpass(). + * + * DESCRIPTION + * agetpass() + * This function is very similar to getpass(3). It has several + * advantages compared to getpass(3): + * + * - Instead of using a static buffer, agetpass() allocates memory + * through malloc(3). This makes the function thread-safe, and + * also reduces the visibility of the buffer. + * + * - agetpass() doesn't reallocate internally. Some + * implementations of getpass(3), such as glibc, do that, as a + * consequence of calling getline(3). That's a bug in glibc, + * which allows leaking prefixes of passwords in freed memory. + * + * - agetpass() doesn't overrun the output buffer. If the input + * password is too long, it simply fails. Some implementations + * of getpass(3), share the same bug that gets(3) has. + * + * As soon as possible, the password obtained from agetpass() be + * erased by calling erase_pass(), to avoid possibly leaking the + * password. + * + * agetpass_stdin() + * This function is the same as previous one (agetpass). Just the + * password is read from stdin and terminal is not required. + * + * erase_pass() + * This function first clears the password, by calling + * explicit_bzero(3) (or an equivalent call), and then frees the + * allocated memory by calling free(3). + * + * NULL is a valid input pointer, and in such a case, this call is + * a no-op. + * + * RETURN VALUE + * agetpass() returns a newly allocated buffer containing the + * password on success. On error, errno is set to indicate the + * error, and NULL is returned. + * + * ERRORS + * agetpass() + * This function may fail for any errors that malloc(3) or + * readpassphrase(3) may fail, and in addition it may fail for the + * following errors: + * + * ENOBUFS + * The input password was longer than PASS_MAX. + * + * CAVEATS + * If a password is passed twice to erase_pass(), the behavior is + * undefined. + */ + + +static char * +agetpass_internal(const char *prompt, int flags) +{ + char *pass; + size_t len; + + /* + * Since we want to support passwords upto PASS_MAX, we need + * PASS_MAX bytes for the password itself, and one more byte for + * the terminating '\0'. We also want to detect truncation, and + * readpassphrase(3) doesn't detect it, so we need some trick. + * Let's add one more byte, and if the password uses it, it + * means the introduced password was longer than PASS_MAX. + */ + pass = MALLOC(PASS_MAX + 2, char); + if (pass == NULL) + return NULL; + + if (readpassphrase(prompt, pass, PASS_MAX + 2, flags) == NULL) + goto fail; + + len = strlen(pass); + if (len == PASS_MAX + 1) { + errno = ENOBUFS; + goto fail; + } + + return pass; + +fail: + freezero(pass, PASS_MAX + 2); + return NULL; +} + +char * +agetpass(const char *prompt) +{ + return agetpass_internal(prompt, RPP_REQUIRE_TTY); +} + +char * +agetpass_stdin() +{ + return agetpass_internal(NULL, RPP_STDIN); +} + +void +erase_pass(char *pass) +{ + freezero(pass, PASS_MAX + 2); +} diff --git a/lib/agetpass.h b/lib/agetpass.h new file mode 100644 index 00000000..4a4444e1 --- /dev/null +++ b/lib/agetpass.h @@ -0,0 +1,23 @@ +/* + * SPDX-FileCopyrightText: 2022-2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#ifndef SHADOW_INCLUDE_LIB_AGETPASS_H_ +#define SHADOW_INCLUDE_LIB_AGETPASS_H_ + + +#include + +#include "attr.h" +#include "defines.h" + + +void erase_pass(char *pass); +ATTR_MALLOC(erase_pass) +char *agetpass(const char *prompt); +char *agetpass_stdin(); + + +#endif // include guard diff --git a/libmisc/xmalloc.c b/lib/alloc.c similarity index 51% rename from libmisc/xmalloc.c rename to lib/alloc.c index 056d472f..962f45a1 100644 --- a/libmisc/xmalloc.c +++ b/lib/alloc.c @@ -3,6 +3,7 @@ * SPDX-FileCopyrightText: 1996 - 1998, Marek Michałkiewicz * SPDX-FileCopyrightText: 2003 - 2006, Tomasz Kłoczko * SPDX-FileCopyrightText: 2008 , Nicolas François + * SPDX-FileCopyrightText: 2023 , Alejandro Colomar * * SPDX-License-Identifier: BSD-3-Clause */ @@ -11,7 +12,7 @@ to be worth copyrighting :-). I did that because a lot of code used malloc and strdup without checking for NULL pointer, and I like some message better than a core dump... --marekm - + Yeh, but. Remember that bailing out might leave the system in some bizarre state. You really want to put in error checking, then add some back-out failure recovery code. -- jfh */ @@ -20,27 +21,53 @@ #ident "$Id$" -#include +#include "alloc.h" + #include +#include +#include + #include "defines.h" #include "prototypes.h" #include "shadowlog.h" -/*@maynotreturn@*/ /*@only@*//*@out@*//*@notnull@*/void *xmalloc (size_t size) -{ - void *ptr; - ptr = malloc (size); - if (NULL == ptr) { - (void) fprintf (log_get_logfd(), - _("%s: failed to allocate memory: %s\n"), - log_get_progname(), strerror (errno)); - exit (13); - } - return ptr; +extern inline void *xmalloc(size_t size); +extern inline void *xmallocarray(size_t nmemb, size_t size); +extern inline void *mallocarray(size_t nmemb, size_t size); +extern inline void *reallocarrayf(void *p, size_t nmemb, size_t size); +extern inline char *xstrdup(const char *str); + + +void * +xcalloc(size_t nmemb, size_t size) +{ + void *p; + + p = calloc(nmemb, size); + if (p == NULL) + goto x; + + return p; + +x: + fprintf(log_get_logfd(), _("%s: %s\n"), + log_get_progname(), strerror(errno)); + exit(13); } -/*@maynotreturn@*/ /*@only@*//*@notnull@*/char *xstrdup (const char *str) + +void * +xreallocarray(void *p, size_t nmemb, size_t size) { - return strcpy (xmalloc (strlen (str) + 1), str); + p = reallocarrayf(p, nmemb, size); + if (p == NULL) + goto x; + + return p; + +x: + fprintf(log_get_logfd(), _("%s: %s\n"), + log_get_progname(), strerror(errno)); + exit(13); } diff --git a/lib/alloc.h b/lib/alloc.h new file mode 100644 index 00000000..0e048849 --- /dev/null +++ b/lib/alloc.h @@ -0,0 +1,116 @@ +/* + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#ifndef SHADOW_INCLUDE_LIB_MALLOC_H_ +#define SHADOW_INCLUDE_LIB_MALLOC_H_ + + +#include + +#include +#include +#include +#include +#include + +#include "attr.h" +#include "defines.h" + + +#define CALLOC(n, type) ((type *) calloc(n, sizeof(type))) +#define XCALLOC(n, type) ((type *) xcalloc(n, sizeof(type))) +#define MALLOC(n, type) ((type *) mallocarray(n, sizeof(type))) +#define XMALLOC(n, type) ((type *) xmallocarray(n, sizeof(type))) + +#define REALLOC(ptr, n, type) \ +({ \ + __auto_type p_ = (ptr); \ + \ + static_assert(__builtin_types_compatible_p(typeof(p_), type *), ""); \ + \ + (type *) reallocarray(p_, n, sizeof(type)); \ +}) + +#define REALLOCF(ptr, n, type) \ +({ \ + __auto_type p_ = (ptr); \ + \ + static_assert(__builtin_types_compatible_p(typeof(p_), type *), ""); \ + \ + (type *) reallocarrayf(p_, n, sizeof(type)); \ +}) + +#define XREALLOC(ptr, n, type) \ +({ \ + __auto_type p_ = (ptr); \ + \ + static_assert(__builtin_types_compatible_p(typeof(p_), type *), ""); \ + \ + (type *) xreallocarray(p_, n, sizeof(type)); \ +}) + + +ATTR_MALLOC(free) +inline void *xmalloc(size_t size); +ATTR_MALLOC(free) +inline void *xmallocarray(size_t nmemb, size_t size); +ATTR_MALLOC(free) +inline void *mallocarray(size_t nmemb, size_t size); +ATTR_MALLOC(free) +inline void *reallocarrayf(void *p, size_t nmemb, size_t size); +ATTR_MALLOC(free) +inline char *xstrdup(const char *str); + +ATTR_MALLOC(free) +void *xcalloc(size_t nmemb, size_t size); +ATTR_MALLOC(free) +void *xreallocarray(void *p, size_t nmemb, size_t size); + + +inline void * +xmalloc(size_t size) +{ + return xmallocarray(1, size); +} + + +inline void * +xmallocarray(size_t nmemb, size_t size) +{ + return xreallocarray(NULL, nmemb, size); +} + + +inline void * +mallocarray(size_t nmemb, size_t size) +{ + return reallocarray(NULL, nmemb, size); +} + + +inline void * +reallocarrayf(void *p, size_t nmemb, size_t size) +{ + void *q; + + q = reallocarray(p, nmemb, size); + + /* realloc(p, 0) is equivalent to free(p); avoid double free. */ + if (q == NULL && nmemb != 0 && size != 0) + free(p); + return q; +} + + +inline char * +xstrdup(const char *str) +{ + return strcpy(XMALLOC(strlen(str) + 1, char), str); +} + + +#endif // include guard diff --git a/lib/atoi/strtoi.c b/lib/atoi/strtoi.c new file mode 100644 index 00000000..197707b1 --- /dev/null +++ b/lib/atoi/strtoi.c @@ -0,0 +1,15 @@ +// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/strtoi.h" + +#include + + +extern inline intmax_t strtoi_(const char *s, char **restrict endp, int base, + intmax_t min, intmax_t max, int *restrict status); +extern inline uintmax_t strtou_(const char *s, char **restrict endp, int base, + uintmax_t min, uintmax_t max, int *restrict status); diff --git a/lib/atoi/strtoi.h b/lib/atoi/strtoi.h new file mode 100644 index 00000000..1f061fc0 --- /dev/null +++ b/lib/atoi/strtoi.h @@ -0,0 +1,96 @@ +// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_STRTOI_H_ +#define SHADOW_INCLUDE_LIB_ATOI_STRTOI_H_ + + +#include + +#include +#include +#include +#include +#include +#include + +#include "attr.h" + + +#define strtoNmax(TYPE, ...) \ +( \ + _Generic((TYPE) 0, \ + intmax_t: strtoimax, \ + uintmax_t: strtoumax \ + )(__VA_ARGS__) \ +) + + +#define strtoN(s, endp, base, min, max, status, TYPE) \ +({ \ + const char *s_ = s; \ + char **endp_ = endp; \ + int base_ = base; \ + TYPE min_ = min; \ + TYPE max_ = max; \ + int *status_ = status; \ + \ + int e_, st_; \ + char *end_; \ + TYPE n_; \ + \ + if (endp_ == NULL) \ + endp_ = &end_; \ + if (status_ == NULL) \ + status_ = &st_; \ + \ + if (base_ != 0 && (base_ < 0 || base_ > 36)) { \ + *status_ = EINVAL; \ + n_ = 0; \ + \ + } else { \ + e_ = errno; \ + errno = 0; \ + n_ = strtoNmax(TYPE, s_, endp_, base_); \ + \ + if (*endp_ == s_) \ + *status_ = ECANCELED; \ + else if (errno == ERANGE || n_ < min_ || n_ > max_) \ + *status_ = ERANGE; \ + else if (**endp_ != '\0') \ + *status_ = ENOTSUP; \ + else \ + *status_ = 0; \ + \ + errno = e_; \ + } \ + MAX(min_, MIN(max_, n_)); \ +}) + + +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) ATTR_ACCESS(write_only, 6) +inline intmax_t strtoi_(const char *s, char **restrict endp, int base, + intmax_t min, intmax_t max, int *restrict status); +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) ATTR_ACCESS(write_only, 6) +inline uintmax_t strtou_(const char *s, char **restrict endp, int base, + uintmax_t min, uintmax_t max, int *restrict status); + + +inline intmax_t +strtoi_(const char *s, char **restrict endp, int base, + intmax_t min, intmax_t max, int *restrict status) +{ + return strtoN(s, endp, base, min, max, status, intmax_t); +} + + +inline uintmax_t +strtou_(const char *s, char **restrict endp, int base, + uintmax_t min, uintmax_t max, int *restrict status) +{ + return strtoN(s, endp, base, min, max, status, uintmax_t); +} + + +#endif // include guard diff --git a/lib/atoi/strtou_noneg.c b/lib/atoi/strtou_noneg.c new file mode 100644 index 00000000..ec8773d7 --- /dev/null +++ b/lib/atoi/strtou_noneg.c @@ -0,0 +1,18 @@ +// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "atoi/strtou_noneg.h" + +#include + + +extern inline uintmax_t strtou_noneg(const char *s, char **restrict endp, + int base, uintmax_t min, uintmax_t max, int *restrict status); + +extern inline unsigned long strtoul_noneg(const char *s, + char **restrict endp, int base); +extern inline unsigned long long strtoull_noneg(const char *s, + char **restrict endp, int base); diff --git a/lib/atoi/strtou_noneg.h b/lib/atoi/strtou_noneg.h new file mode 100644 index 00000000..a1d15569 --- /dev/null +++ b/lib/atoi/strtou_noneg.h @@ -0,0 +1,68 @@ +// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_ATOI_STRTOU_NONEG_H_ +#define SHADOW_INCLUDE_LIB_ATOI_STRTOU_NONEG_H_ + + +#include + +#include +#include +#include + +#include "atoi/strtoi.h" +#include "attr.h" + + +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) ATTR_ACCESS(write_only, 6) +inline uintmax_t strtou_noneg(const char *s, char **restrict endp, + int base, uintmax_t min, uintmax_t max, int *restrict status); + +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) +inline unsigned long strtoul_noneg(const char *s, + char **restrict endp, int base); +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) +inline unsigned long long strtoull_noneg(const char *s, + char **restrict endp, int base); + + +inline uintmax_t +strtou_noneg(const char *s, char **restrict endp, int base, + uintmax_t min, uintmax_t max, int *restrict status) +{ + int st; + + if (status == NULL) + status = &st; + if (strtoi_(s, endp, base, 0, 1, status) == 0 && *status == ERANGE) + return min; + + return strtou_(s, endp, base, min, max, status); +} + + +inline unsigned long +strtoul_noneg(const char *s, char **restrict endp, int base) +{ + if (strtol(s, endp, base) < 0) { + errno = ERANGE; + return 0; + } + return strtoul(s, endp, base); +} + + +inline unsigned long long +strtoull_noneg(const char *s, char **restrict endp, int base) +{ + if (strtol(s, endp, base) < 0) { + errno = ERANGE; + return 0; + } + return strtoull(s, endp, base); +} + + +#endif // include guard diff --git a/lib/attr.h b/lib/attr.h new file mode 100644 index 00000000..3835848d --- /dev/null +++ b/lib/attr.h @@ -0,0 +1,33 @@ +#ifndef SHADOW_INCLUDE_LIB_ATTR_H_ +#define SHADOW_INCLUDE_LIB_ATTR_H_ + + +#include "config.h" + + +#if defined(__GNUC__) +# define MAYBE_UNUSED __attribute__((unused)) +# define NORETURN __attribute__((__noreturn__)) +# define format_attr(type, fmt, va) __attribute__((format(type, fmt, va))) +# define ATTR_ACCESS(...) __attribute__((access(__VA_ARGS__))) +#else +# define MAYBE_UNUSED +# define NORETURN +# define format_attr(type, fmt, va) +# define ATTR_ACCESS(...) +#endif + +#if (__GNUC__ >= 11) && !defined(__clang__) +# define ATTR_MALLOC(deallocator) [[gnu::malloc(deallocator)]] +#else +# define ATTR_MALLOC(deallocator) +#endif + +#if (__GNUC__ >= 14) +# define ATTR_STRING(...) [[gnu::null_terminated_string_arg(__VA_ARGS__)]] +#else +# define ATTR_STRING(...) +#endif + + +#endif // include guard diff --git a/libmisc/audit_help.c b/lib/audit_help.c similarity index 89% rename from libmisc/audit_help.c rename to lib/audit_help.c index e6c2006b..54109f04 100644 --- a/libmisc/audit_help.c +++ b/lib/audit_help.c @@ -21,6 +21,8 @@ #include #include #include + +#include "attr.h" #include "prototypes.h" #include "shadowlog.h" int audit_fd; @@ -54,7 +56,7 @@ void audit_help_open (void) * id - uid or gid that the operation is being performed on. This is used * only when user is NULL. */ -void audit_logger (int type, unused const char *pgname, const char *op, +void audit_logger (int type, MAYBE_UNUSED const char *pgname, const char *op, const char *name, unsigned int id, shadow_audit_result result) { @@ -62,7 +64,7 @@ void audit_logger (int type, unused const char *pgname, const char *op, return; } else { audit_log_acct_message (audit_fd, type, NULL, op, name, id, - NULL, NULL, NULL, (int) result); + NULL, NULL, NULL, result); } } @@ -77,11 +79,11 @@ void audit_logger_message (const char *message, shadow_audit_result result) NULL, /* hostname */ NULL, /* addr */ NULL, /* tty */ - (int) result); + result); } } #else /* WITH_AUDIT */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* WITH_AUDIT */ diff --git a/libmisc/basename.c b/lib/basename.c similarity index 94% rename from libmisc/basename.c rename to lib/basename.c index fe916532..95a2f85d 100644 --- a/libmisc/basename.c +++ b/lib/basename.c @@ -21,6 +21,10 @@ #include "prototypes.h" /*@observer@*/const char *Basename (const char *str) { + if (str == NULL) { + abort (); + } + char *cp = strrchr (str, '/'); return (NULL != cp) ? cp + 1 : str; diff --git a/lib/bit.c b/lib/bit.c new file mode 100644 index 00000000..1ffc6dc9 --- /dev/null +++ b/lib/bit.c @@ -0,0 +1,19 @@ +/* + * SPDX-FileCopyrightText: 2022 - 2023, Alejandro Colomar + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include + +#ident "$Id$" + +#include "bit.h" + +#include + + +extern inline unsigned long bit_ceilul(unsigned long x); +extern inline unsigned long bit_ceil_wrapul(unsigned long x); +extern inline int leading_zerosul(unsigned long x); diff --git a/lib/bit.h b/lib/bit.h new file mode 100644 index 00000000..7f09eb4d --- /dev/null +++ b/lib/bit.h @@ -0,0 +1,53 @@ +/* + * SPDX-FileCopyrightText: 2022 - 2023, Alejandro Colomar + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#ifndef SHADOW_INCLUDE_LIB_BIT_H_ +#define SHADOW_INCLUDE_LIB_BIT_H_ + + +#include + +#include + + +#ifndef ULONG_WIDTH +#define ULONG_WIDTH (sizeof(unsigned long) * CHAR_BIT) +#endif + + +inline unsigned long bit_ceilul(unsigned long x); +inline unsigned long bit_ceil_wrapul(unsigned long x); +inline int leading_zerosul(unsigned long x); + + +/* stdc_bit_ceilul(3) */ +inline unsigned long +bit_ceilul(unsigned long x) +{ + return 1 + (ULONG_MAX >> leading_zerosul(x)); +} + + +/* stdc_bit_ceilul(3), but wrap instead of having Undefined Behavior */ +inline unsigned long +bit_ceil_wrapul(unsigned long x) +{ + if (x == 0) + return 0; + + return bit_ceilul(x); +} + +/* stdc_leading_zerosul(3) */ +inline int +leading_zerosul(unsigned long x) +{ + return (x == 0) ? ULONG_WIDTH : __builtin_clzl(x); +} + + +#endif // include guard diff --git a/libmisc/btrfs.c b/lib/btrfs.c similarity index 98% rename from libmisc/btrfs.c rename to lib/btrfs.c index a2563f7c..03915981 100644 --- a/libmisc/btrfs.c +++ b/lib/btrfs.c @@ -39,7 +39,7 @@ static int run_btrfs_subvolume_cmd(const char *subcmd, const char *arg1, const c NULL }; - if (access(cmd, X_OK)) { + if (!cmd || access(cmd, X_OK)) { return 1; } diff --git a/lib/cast.h b/lib/cast.h new file mode 100644 index 00000000..9229528d --- /dev/null +++ b/lib/cast.h @@ -0,0 +1,21 @@ +// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_CAST_H_ +#define SHADOW_INCLUDE_LIB_CAST_H_ + + +#include + +#include "must_be.h" + + +#define const_cast(T, p) \ +({ \ + static_assert(is_same_type(typeof(&*(p)), const T), ""); \ + (T) (p); \ +}) + + +#endif // include guard diff --git a/libmisc/chkname.c b/lib/chkname.c similarity index 68% rename from libmisc/chkname.c rename to lib/chkname.c index e31ee8c9..fbd6ba88 100644 --- a/libmisc/chkname.c +++ b/lib/chkname.c @@ -1,11 +1,9 @@ -/* - * SPDX-FileCopyrightText: 1990 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 2000, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2001 - 2005, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2005 - 2008, Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh +// SPDX-FileCopyrightText: 1996-2000, Marek Michałkiewicz +// SPDX-FileCopyrightText: 2001-2005, Tomasz Kłoczko +// SPDX-FileCopyrightText: 2005-2008, Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause /* * is_valid_user_name(), is_valid_group_name() - check the new user/group @@ -20,6 +18,8 @@ #ident "$Id$" #include +#include +#include #include "defines.h" #include "chkname.h" @@ -32,8 +32,8 @@ static bool is_valid_name (const char *name) } /* - * User/group names must match gnu e-regex: - * [a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]? + * User/group names must match BRE regex: + * [a-zA-Z0-9_.][a-zA-Z0-9_.-]*$\? * * as a non-POSIX, extension, allow "$" as the last char for * sake of Samba 3.x "add machine script" @@ -72,19 +72,28 @@ static bool is_valid_name (const char *name) return !numeric; } -bool is_valid_user_name (const char *name) -{ - /* - * User names are limited by whatever utmp can - * handle. - */ - if (strlen (name) > USER_NAME_MAX_LENGTH) { - return false; - } - return is_valid_name (name); +bool +is_valid_user_name(const char *name) +{ + long conf; + size_t maxsize; + + errno = 0; + conf = sysconf(_SC_LOGIN_NAME_MAX); + + if (conf == -1 && errno != 0) + maxsize = LOGIN_NAME_MAX; + else + maxsize = conf; + + if (strlen(name) >= maxsize) + return false; + + return is_valid_name(name); } + bool is_valid_group_name (const char *name) { /* @@ -98,4 +107,3 @@ bool is_valid_group_name (const char *name) return is_valid_name (name); } - diff --git a/libmisc/chkname.h b/lib/chkname.h similarity index 100% rename from libmisc/chkname.h rename to lib/chkname.h diff --git a/libmisc/chowndir.c b/lib/chowndir.c similarity index 100% rename from libmisc/chowndir.c rename to lib/chowndir.c diff --git a/libmisc/chowntty.c b/lib/chowntty.c similarity index 96% rename from libmisc/chowntty.c rename to lib/chowntty.c index 8043d8ca..70127f31 100644 --- a/libmisc/chowntty.c +++ b/lib/chowntty.c @@ -51,7 +51,7 @@ void chown_tty (const struct passwd *info) */ if ( (fchown (STDIN_FILENO, info->pw_uid, gid) != 0) - || (fchmod (STDIN_FILENO, (mode_t)getdef_num ("TTYPERM", 0600)) != 0)) { + || (fchmod (STDIN_FILENO, getdef_num ("TTYPERM", 0600)) != 0)) { int err = errno; FILE *shadow_logfd = log_get_logfd(); diff --git a/libmisc/cleanup.c b/lib/cleanup.c similarity index 100% rename from libmisc/cleanup.c rename to lib/cleanup.c diff --git a/libmisc/cleanup_group.c b/lib/cleanup_group.c similarity index 93% rename from libmisc/cleanup_group.c rename to lib/cleanup_group.c index df3ebfdb..50c7084a 100644 --- a/libmisc/cleanup_group.c +++ b/lib/cleanup_group.c @@ -9,6 +9,7 @@ #include #include +#include "attr.h" #include "defines.h" #include "groupio.h" #include "sgroupio.h" @@ -22,7 +23,7 @@ */ void cleanup_report_add_group (void *group_name) { - const char *name = (const char *)group_name; + const char *name = group_name; SYSLOG ((LOG_ERR, "failed to add group %s", name)); #ifdef WITH_AUDIT @@ -40,7 +41,7 @@ void cleanup_report_add_group (void *group_name) */ void cleanup_report_del_group (void *group_name) { - const char *name = (const char *)group_name; + const char *name = group_name; SYSLOG ((LOG_ERR, "failed to remove group %s", name)); #ifdef WITH_AUDIT @@ -95,7 +96,7 @@ void cleanup_report_mod_gshadow (void *cleanup_info) */ void cleanup_report_add_group_group (void *group_name) { - const char *name = (const char *)group_name; + const char *name = group_name; SYSLOG ((LOG_ERR, "failed to add group %s to %s", name, gr_dbname ())); #ifdef WITH_AUDIT @@ -115,7 +116,7 @@ void cleanup_report_add_group_group (void *group_name) */ void cleanup_report_add_group_gshadow (void *group_name) { - const char *name = (const char *)group_name; + const char *name = group_name; SYSLOG ((LOG_ERR, "failed to add group %s to %s", name, sgr_dbname ())); #ifdef WITH_AUDIT @@ -136,7 +137,7 @@ void cleanup_report_add_group_gshadow (void *group_name) */ void cleanup_report_del_group_group (void *group_name) { - const char *name = (const char *)group_name; + const char *name = group_name; SYSLOG ((LOG_ERR, "failed to remove group %s from %s", @@ -159,7 +160,7 @@ void cleanup_report_del_group_group (void *group_name) */ void cleanup_report_del_group_gshadow (void *group_name) { - const char *name = (const char *)group_name; + const char *name = group_name; SYSLOG ((LOG_ERR, "failed to remove group %s from %s", @@ -178,7 +179,7 @@ void cleanup_report_del_group_gshadow (void *group_name) * * It should be registered after the group file is successfully locked. */ -void cleanup_unlock_group (unused void *arg) +void cleanup_unlock_group (MAYBE_UNUSED void *arg) { if (gr_unlock () == 0) { fprintf (log_get_logfd(), @@ -198,7 +199,7 @@ void cleanup_unlock_group (unused void *arg) * * It should be registered after the gshadow file is successfully locked. */ -void cleanup_unlock_gshadow (unused void *arg) +void cleanup_unlock_gshadow (MAYBE_UNUSED void *arg) { if (sgr_unlock () == 0) { fprintf (log_get_logfd(), diff --git a/libmisc/cleanup_user.c b/lib/cleanup_user.c similarity index 80% rename from libmisc/cleanup_user.c rename to lib/cleanup_user.c index 26675c65..9c4bda9c 100644 --- a/libmisc/cleanup_user.c +++ b/lib/cleanup_user.c @@ -9,6 +9,7 @@ #include #include +#include "attr.h" #include "defines.h" #include "pwio.h" #include "shadowio.h" @@ -16,13 +17,13 @@ #include "shadowlog.h" /* - * cleanup_report_add_user - Report failure to add an user to the system + * cleanup_report_add_user - Report failure to add a user to the system * - * It should be registered when it is decided to add an user to the system. + * It should be registered when it is decided to add a user to the system. */ void cleanup_report_add_user (void *user_name) { - const char *name = (const char *)user_name; + const char *name = user_name; SYSLOG ((LOG_ERR, "failed to add user %s", name)); #ifdef WITH_AUDIT @@ -51,15 +52,15 @@ void cleanup_report_mod_passwd (void *cleanup_info) } /* - * cleanup_report_add_user_passwd - Report failure to add an user to + * cleanup_report_add_user_passwd - Report failure to add a user to * /etc/passwd * - * It should be registered when it is decided to add an user to the + * It should be registered when it is decided to add a user to the * /etc/passwd database. */ void cleanup_report_add_user_passwd (void *user_name) { - const char *name = (const char *)user_name; + const char *name = user_name; SYSLOG ((LOG_ERR, "failed to add user %s to %s", name, pw_dbname ())); #ifdef WITH_AUDIT @@ -71,15 +72,15 @@ void cleanup_report_add_user_passwd (void *user_name) } /* - * cleanup_report_add_user_shadow - Report failure to add an user to + * cleanup_report_add_user_shadow - Report failure to add a user to * /etc/shadow * - * It should be registered when it is decided to add an user to the + * It should be registered when it is decided to add a user to the * /etc/shadow database. */ void cleanup_report_add_user_shadow (void *user_name) { - const char *name = (const char *)user_name; + const char *name = user_name; SYSLOG ((LOG_ERR, "failed to add user %s to %s", name, spw_dbname ())); #ifdef WITH_AUDIT @@ -95,7 +96,7 @@ void cleanup_report_add_user_shadow (void *user_name) * * It should be registered after the passwd database is successfully locked. */ -void cleanup_unlock_passwd (unused void *arg) +void cleanup_unlock_passwd (MAYBE_UNUSED void *arg) { if (pw_unlock () == 0) { fprintf (log_get_logfd(), @@ -114,7 +115,7 @@ void cleanup_unlock_passwd (unused void *arg) * * It should be registered after the shadow database is successfully locked. */ -void cleanup_unlock_shadow (unused void *arg) +void cleanup_unlock_shadow (MAYBE_UNUSED void *arg) { if (spw_unlock () == 0) { fprintf (log_get_logfd(), diff --git a/lib/commonio.c b/lib/commonio.c index 9a02ce1a..01a26c96 100644 --- a/lib/commonio.c +++ b/lib/commonio.c @@ -21,6 +21,9 @@ #include #include #include + +#include "alloc.h" +#include "memzero.h" #include "nscd.h" #include "sssd.h" #ifdef WITH_TCB @@ -29,6 +32,8 @@ #include "prototypes.h" #include "commonio.h" #include "shadowlog_internal.h" +#include "string/sprintf.h" + /* local function prototypes */ static int lrename (const char *, const char *); @@ -106,9 +111,9 @@ static int check_link_count (const char *file, bool log) if (sb.st_nlink != 2) { if (log) { - (void) fprintf (shadow_logfd, - "%s: %s: lock file already used (nlink: %u)\n", - shadow_progname, file, sb.st_nlink); + fprintf(shadow_logfd, + "%s: %s: lock file already used (nlink: %ju)\n", + shadow_progname, file, (uintmax_t) sb.st_nlink); } return 0; } @@ -119,11 +124,11 @@ static int check_link_count (const char *file, bool log) static int do_lock_file (const char *file, const char *lock, bool log) { - int fd; - pid_t pid; - ssize_t len; - int retval; - char buf[32]; + int fd; + int retval; + char buf[32]; + pid_t pid; + ssize_t len; fd = open (file, O_CREAT | O_TRUNC | O_WRONLY, 0600); if (-1 == fd) { @@ -136,9 +141,9 @@ static int do_lock_file (const char *file, const char *lock, bool log) } pid = getpid (); - snprintf (buf, sizeof buf, "%lu", (unsigned long) pid); + SNPRINTF(buf, "%lu", (unsigned long) pid); len = (ssize_t) strlen (buf) + 1; - if (write (fd, buf, (size_t) len) != len) { + if (write_full(fd, buf, len) == -1) { if (log) { (void) fprintf (shadow_logfd, "%s: %s file write error: %s\n", @@ -190,7 +195,7 @@ static int do_lock_file (const char *file, const char *lock, bool log) return 0; } buf[len] = '\0'; - if (get_pid (buf, &pid) == 0) { + if (get_pid(buf, &pid) == -1) { if (log) { (void) fprintf (shadow_logfd, "%s: existing lock file %s with an invalid PID '%s'\n", @@ -251,25 +256,13 @@ static /*@null@*/ /*@dependent@*/FILE *fopen_set_perms ( return NULL; } -#ifdef HAVE_FCHOWN if (fchown (fileno (fp), sb->st_uid, sb->st_gid) != 0) { goto fail; } -#else /* !HAVE_FCHOWN */ - if (chown (name, sb->st_mode) != 0) { - goto fail; - } -#endif /* !HAVE_FCHOWN */ - -#ifdef HAVE_FCHMOD if (fchmod (fileno (fp), sb->st_mode & 0664) != 0) { goto fail; } -#else /* !HAVE_FCHMOD */ - if (chmod (name, sb->st_mode & 0664) != 0) { - goto fail; - } -#endif /* !HAVE_FCHMOD */ + return fp; fail: @@ -349,7 +342,7 @@ static void free_linked_list (struct commonio_db *db) int commonio_setname (struct commonio_db *db, const char *name) { - snprintf (db->filename, sizeof (db->filename), "%s", name); + SNPRINTF(db->filename, "%s", name); db->setname = true; return 1; } @@ -363,33 +356,25 @@ bool commonio_present (const struct commonio_db *db) int commonio_lock_nowait (struct commonio_db *db, bool log) { - char* file = NULL; - char* lock = NULL; - size_t lock_file_len; - size_t file_len; - int err = 0; + int err = 0; + char *file = NULL; + char *lock = NULL; if (db->locked) { return 1; } - file_len = strlen(db->filename) + 11;/* %lu max size */ - lock_file_len = strlen(db->filename) + 6; /* sizeof ".lock" */ - file = (char*)malloc(file_len); - if (file == NULL) { + + if (asprintf(&file, "%s.%ju", db->filename, (uintmax_t) getpid()) == -1) goto cleanup_ENOMEM; - } - lock = (char*)malloc(lock_file_len); - if (lock == NULL) { + if (asprintf(&lock, "%s.lock", db->filename) == -1) goto cleanup_ENOMEM; - } - snprintf (file, file_len, "%s.%lu", - db->filename, (unsigned long) getpid ()); - snprintf (lock, lock_file_len, "%s.lock", db->filename); + if (do_lock_file (file, lock, log) != 0) { db->locked = true; lock_count++; err = 1; } + cleanup_ENOMEM: free(file); free(lock); @@ -483,7 +468,7 @@ static void dec_lock_count (void) int commonio_unlock (struct commonio_db *db) { - char lock[1024]; + char lock[1029]; if (db->isopen) { db->readonly = true; @@ -500,7 +485,7 @@ int commonio_unlock (struct commonio_db *db) * then call ulckpwdf() (if used) on last unlock. */ db->locked = false; - snprintf (lock, sizeof lock, "%s.lock", db->filename); + SNPRINTF(lock, "%s.lock", db->filename); unlink (lock); dec_lock_count (); return 1; @@ -618,7 +603,7 @@ int commonio_open (struct commonio_db *db, int mode) fd = open (db->filename, (db->readonly ? O_RDONLY : O_RDWR) - | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW); + | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW | O_CLOEXEC); saved_errno = errno; db->fp = NULL; if (fd >= 0) { @@ -649,22 +634,19 @@ int commonio_open (struct commonio_db *db, int mode) return 0; } - /* Do not inherit fd in spawned processes (e.g. nscd) */ - fcntl (fileno (db->fp), F_SETFD, FD_CLOEXEC); - buflen = BUFLEN; - buf = (char *) malloc (buflen); + buf = MALLOC(buflen, char); if (NULL == buf) { goto cleanup_ENOMEM; } - while (db->ops->fgets (buf, (int) buflen, db->fp) == buf) { - while ( ((cp = strrchr (buf, '\n')) == NULL) + while (db->ops->fgets (buf, buflen, db->fp) == buf) { + while ( (strrchr (buf, '\n') == NULL) && (feof (db->fp) == 0)) { size_t len; buflen += BUFLEN; - cp = (char *) realloc (buf, buflen); + cp = REALLOC(buf, buflen, char); if (NULL == cp) { goto cleanup_buf; } @@ -698,7 +680,7 @@ int commonio_open (struct commonio_db *db, int mode) } } - p = (struct commonio_entry *) malloc (sizeof *p); + p = MALLOC(1, struct commonio_entry); if (NULL == p) { goto cleanup_entry; } @@ -775,7 +757,7 @@ commonio_sort (struct commonio_db *db, int (*cmp) (const void *, const void *)) return 0; } - entries = malloc (n * sizeof (struct commonio_entry *)); + entries = MALLOC(n, struct commonio_entry *); if (entries == NULL) { return -1; } @@ -912,9 +894,9 @@ static int write_all (const struct commonio_db *db) int commonio_close (struct commonio_db *db) { - char buf[1024]; - int errors = 0; - struct stat sb; + int errors = 0; + char buf[1024]; + struct stat sb; if (!db->isopen) { errno = EINVAL; @@ -945,7 +927,11 @@ int commonio_close (struct commonio_db *db) /* * Create backup file. */ - snprintf (buf, sizeof buf, "%s-", db->filename); + if (SNPRINTF(buf, "%s-", db->filename) == -1) { + (void) fclose (db->fp); + db->fp = NULL; + goto fail; + } #ifdef WITH_SELINUX if (set_selinux_file_context (db->filename, S_IFREG) != 0) { @@ -960,15 +946,15 @@ int commonio_close (struct commonio_db *db) errors++; } + db->fp = NULL; + #ifdef WITH_SELINUX if (reset_selinux_file_context () != 0) { errors++; } #endif - if (errors != 0) { - db->fp = NULL; + if (errors != 0) goto fail; - } } else { /* * Default permissions for new [g]shadow files. @@ -978,7 +964,8 @@ int commonio_close (struct commonio_db *db) sb.st_gid = db->st_gid; } - snprintf (buf, sizeof buf, "%s+", db->filename); + if (SNPRINTF(buf, "%s+", db->filename) == -1) + goto fail; #ifdef WITH_SELINUX if (set_selinux_file_context (db->filename, S_IFREG) != 0) { @@ -998,13 +985,11 @@ int commonio_close (struct commonio_db *db) if (fflush (db->fp) != 0) { errors++; } -#ifdef HAVE_FSYNC + if (fsync (fileno (db->fp)) != 0) { errors++; } -#else /* !HAVE_FSYNC */ - sync (); -#endif /* !HAVE_FSYNC */ + if (fclose (db->fp) != 0) { errors++; } @@ -1096,7 +1081,7 @@ int commonio_update (struct commonio_db *db, const void *eptr) return 1; } /* not found, new entry */ - p = (struct commonio_entry *) malloc (sizeof *p); + p = MALLOC(1, struct commonio_entry); if (NULL == p) { db->ops->free (nentry); errno = ENOMEM; @@ -1133,7 +1118,7 @@ int commonio_append (struct commonio_db *db, const void *eptr) return 0; } /* new entry */ - p = (struct commonio_entry *) malloc (sizeof *p); + p = MALLOC(1, struct commonio_entry); if (NULL == p) { db->ops->free (nentry); errno = ENOMEM; @@ -1200,6 +1185,8 @@ int commonio_remove (struct commonio_db *db, const char *name) db->ops->free (p->eptr); } + free(p); + return 1; } diff --git a/lib/commonio.h b/lib/commonio.h index e63c5b4d..fedbefa3 100644 --- a/lib/commonio.h +++ b/lib/commonio.h @@ -11,8 +11,11 @@ #ifndef COMMONIO_H #define COMMONIO_H + +#include "attr.h" #include "defines.h" /* bool */ + /* * Linked list entry. */ @@ -37,7 +40,7 @@ struct commonio_ops { /* * free() the object including any strings pointed by it. */ - void (*free) (/*@out@*/ /*@only@*/void *); + void (*free)(/*@only@*/void *); /* * Return the name of the object (for example, pw_name @@ -61,7 +64,9 @@ struct commonio_ops { * fgets and fputs (can be replaced by versions that * understand line continuation conventions). */ - /*@null@*/char *(*fgets) (/*@returned@*/ /*@out@*/char *s, int n, FILE *stream); + ATTR_ACCESS(write_only, 1, 2) + /*@null@*/char *(*fgets)(/*@returned@*/char *restrict s, int n, + FILE *restrict stream); int (*fputs) (const char *, FILE *); /* @@ -123,6 +128,7 @@ extern int commonio_setname (struct commonio_db *, const char *); extern bool commonio_present (const struct commonio_db *db); extern int commonio_lock (struct commonio_db *); extern int commonio_lock_nowait (struct commonio_db *, bool log); +extern int do_fcntl_lock (const char *file, bool log, short type); extern int commonio_open (struct commonio_db *, int); extern /*@observer@*/ /*@null@*/const void *commonio_locate (struct commonio_db *, const char *); extern int commonio_update (struct commonio_db *, const void *); diff --git a/libmisc/console.c b/lib/console.c similarity index 92% rename from libmisc/console.c rename to lib/console.c index c475aa23..92065d9b 100644 --- a/libmisc/console.c +++ b/lib/console.c @@ -13,6 +13,7 @@ #include #include "getdef.h" #include "prototypes.h" +#include "string/strtcpy.h" #ident "$Id$" @@ -44,8 +45,7 @@ static bool is_listed (const char *cfgin, const char *tty, bool def) if (*cons != '/') { char *pbuf; - strncpy (buf, cons, sizeof (buf)); - buf[sizeof (buf) - 1] = '\0'; + STRTCPY(buf, cons); pbuf = &buf[0]; while ((s = strtok (pbuf, ":")) != NULL) { if (strcmp (s, tty) == 0) { @@ -71,8 +71,9 @@ static bool is_listed (const char *cfgin, const char *tty, bool def) * See if this tty is listed in the console file. */ - while (fgets (buf, (int) sizeof (buf), fp) != NULL) { - buf[strlen (buf) - 1] = '\0'; + while (fgets (buf, sizeof (buf), fp) != NULL) { + /* Remove optional trailing '\n'. */ + buf[strcspn (buf, "\n")] = '\0'; if (strcmp (buf, tty) == 0) { (void) fclose (fp); return true; diff --git a/libmisc/copydir.c b/lib/copydir.c similarity index 78% rename from libmisc/copydir.c rename to lib/copydir.c index b692aa95..926033af 100644 --- a/libmisc/copydir.c +++ b/lib/copydir.c @@ -17,6 +17,9 @@ #include #include #include + +#include "alloc.h" +#include "attr.h" #include "prototypes.h" #include "defines.h" #ifdef WITH_SELINUX @@ -33,6 +36,7 @@ #include #endif /* WITH_ATTR */ #include "shadowlog.h" +#include "string/sprintf.h" static /*@null@*/const char *src_orig; @@ -64,12 +68,12 @@ static int copy_dir (const struct path_info *src, const struct path_info *dst, gid_t old_gid, gid_t new_gid); static /*@null@*/char *readlink_malloc (const char *filename); static int copy_symlink (const struct path_info *src, const struct path_info *dst, - unused bool reset_selinux, + MAYBE_UNUSED bool reset_selinux, const struct stat *statp, const struct timespec mt[], uid_t old_uid, uid_t new_uid, gid_t old_gid, gid_t new_gid); static int copy_hardlink (const struct path_info *dst, - unused bool reset_selinux, + MAYBE_UNUSED bool reset_selinux, struct link_name *lp); static int copy_special (const struct path_info *src, const struct path_info *dst, bool reset_selinux, @@ -93,7 +97,7 @@ static int fchown_if_needed (int fdst, const struct stat *statp, * error_acl - format the error messages for the ACL and EQ libraries. */ format_attr(printf, 2, 3) -static void error_acl (unused struct error_context *ctx, const char *fmt, ...) +static void error_acl (MAYBE_UNUSED struct error_context *ctx, const char *fmt, ...) { va_list ap; FILE *shadow_logfd = log_get_logfd(); @@ -206,11 +210,7 @@ static void remove_link (/*@only@*/struct link_name *ln) static /*@exposed@*/ /*@null@*/struct link_name *check_link (const char *name, const struct stat *sb) { - struct link_name *lp; - size_t src_len; - size_t dst_len; - size_t name_len; - size_t len; + struct link_name *lp; /* copy_tree () must be the entry point */ assert (NULL != src_orig); @@ -226,16 +226,11 @@ static /*@exposed@*/ /*@null@*/struct link_name *check_link (const char *name, c return NULL; } - lp = (struct link_name *) xmalloc (sizeof *lp); - src_len = strlen (src_orig); - dst_len = strlen (dst_orig); - name_len = strlen (name); + lp = XMALLOC(1, struct link_name); lp->ln_dev = sb->st_dev; lp->ln_ino = sb->st_ino; lp->ln_count = sb->st_nlink; - len = name_len - src_len + dst_len + 1; - lp->ln_name = (char *) xmalloc (len); - (void) snprintf (lp->ln_name, len, "%s%s", dst_orig, name + src_len); + xasprintf(&lp->ln_name, "%s%s", dst_orig, name + strlen(src_orig)); lp->ln_next = links; links = lp; @@ -312,51 +307,43 @@ static int copy_tree_impl (const struct path_info *src, const struct path_info * set_orig = true; } while ((0 == err) && (ent = readdir (dir)) != NULL) { + char *src_name = NULL; + char *dst_name; + struct path_info src_entry, dst_entry; /* * Skip the "." and ".." entries */ - if ((strcmp (ent->d_name, ".") != 0) && - (strcmp (ent->d_name, "..") != 0)) { - char *src_name; - char *dst_name; - size_t src_len = strlen (ent->d_name) + 2; - size_t dst_len = strlen (ent->d_name) + 2; - src_len += strlen (src->full_path); - dst_len += strlen (dst->full_path); - - src_name = (char *) malloc (src_len); - dst_name = (char *) malloc (dst_len); - - if ((NULL == src_name) || (NULL == dst_name)) { - err = -1; - } else { - /* - * Build the filename for both the source and - * the destination files. - */ - struct path_info src_entry, dst_entry; - - (void) snprintf (src_name, src_len, "%s/%s", - src->full_path, ent->d_name); - (void) snprintf (dst_name, dst_len, "%s/%s", - dst->full_path, ent->d_name); - - src_entry.full_path = src_name; - src_entry.dirfd = dirfd(dir); - src_entry.name = ent->d_name; - - dst_entry.full_path = dst_name; - dst_entry.dirfd = dst_fd; - dst_entry.name = ent->d_name; - - err = copy_entry (&src_entry, &dst_entry, - reset_selinux, - old_uid, new_uid, - old_gid, new_gid); - } - free (src_name); - free (dst_name); + if (strcmp(ent->d_name, ".") == 0 || + strcmp(ent->d_name, "..") == 0) + { + continue; } + + if (asprintf(&src_name, "%s/%s", src->full_path, ent->d_name) == -1) + { + err = -1; + continue; + } + if (asprintf(&dst_name, "%s/%s", dst->full_path, ent->d_name) == -1) + { + err = -1; + goto skip; + } + + src_entry.full_path = src_name; + src_entry.dirfd = dirfd(dir); + src_entry.name = ent->d_name; + + dst_entry.full_path = dst_name; + dst_entry.dirfd = dst_fd; + dst_entry.name = ent->d_name; + + err = copy_entry(&src_entry, &dst_entry, reset_selinux, + old_uid, new_uid, old_gid, new_gid); + + free(dst_name); +skip: + free(src_name); } (void) closedir (dir); (void) close (dst_fd); @@ -413,78 +400,70 @@ static int copy_entry (const struct path_info *src, const struct path_info *dst, { int err = 0; struct stat sb; + struct stat tmp_sb; struct link_name *lp; struct timespec mt[2]; if (fstatat(src->dirfd, src->name, &sb, AT_SYMLINK_NOFOLLOW) == -1) { /* If we cannot stat the file, do not care. */ - } else { -#ifdef HAVE_STRUCT_STAT_ST_ATIM - mt[0].tv_sec = sb.st_atim.tv_sec; - mt[0].tv_nsec = sb.st_atim.tv_nsec; -#else /* !HAVE_STRUCT_STAT_ST_ATIM */ - mt[0].tv_sec = sb.st_atime; -# ifdef HAVE_STRUCT_STAT_ST_ATIMENSEC - mt[0].tv_nsec = sb.st_atimensec; -# else /* !HAVE_STRUCT_STAT_ST_ATIMENSEC */ - mt[0].tv_nsec = 0; -# endif /* !HAVE_STRUCT_STAT_ST_ATIMENSEC */ -#endif /* !HAVE_STRUCT_STAT_ST_ATIM */ + return 0; + } -#ifdef HAVE_STRUCT_STAT_ST_MTIM - mt[1].tv_sec = sb.st_mtim.tv_sec; - mt[1].tv_nsec = sb.st_mtim.tv_nsec; -#else /* !HAVE_STRUCT_STAT_ST_MTIM */ - mt[1].tv_sec = sb.st_mtime; -# ifdef HAVE_STRUCT_STAT_ST_MTIMENSEC - mt[1].tv_nsec = sb.st_mtimensec; -# else /* !HAVE_STRUCT_STAT_ST_MTIMENSEC */ - mt[1].tv_nsec = 0; -# endif /* !HAVE_STRUCT_STAT_ST_MTIMENSEC */ -#endif /* !HAVE_STRUCT_STAT_ST_MTIM */ + mt[0].tv_sec = sb.st_atim.tv_sec; + mt[0].tv_nsec = sb.st_atim.tv_nsec; - if (S_ISDIR (sb.st_mode)) { - err = copy_dir (src, dst, reset_selinux, &sb, mt, - old_uid, new_uid, old_gid, new_gid); - } + mt[1].tv_sec = sb.st_mtim.tv_sec; + mt[1].tv_nsec = sb.st_mtim.tv_nsec; - /* - * Copy any symbolic links - */ + if (S_ISDIR (sb.st_mode)) { + err = copy_dir (src, dst, reset_selinux, &sb, mt, + old_uid, new_uid, old_gid, new_gid); + } - else if (S_ISLNK (sb.st_mode)) { - err = copy_symlink (src, dst, reset_selinux, &sb, mt, - old_uid, new_uid, old_gid, new_gid); - } + /* + * If the destination already exists do nothing. + * This is after the copy_dir above to still iterate into subdirectories. + */ + if (fstatat(dst->dirfd, dst->name, &tmp_sb, AT_SYMLINK_NOFOLLOW) != -1) { + return err; + } - /* - * See if this is a previously copied link - */ + /* + * Copy any symbolic links + */ - else if ((lp = check_link (src->full_path, &sb)) != NULL) { - err = copy_hardlink (dst, reset_selinux, lp); - } + else if (S_ISLNK (sb.st_mode)) { + err = copy_symlink (src, dst, reset_selinux, &sb, mt, + old_uid, new_uid, old_gid, new_gid); + } - /* - * Deal with FIFOs and special files. The user really - * shouldn't have any of these, but it seems like it - * would be nice to copy everything ... - */ + /* + * See if this is a previously copied link + */ - else if (!S_ISREG (sb.st_mode)) { - err = copy_special (src, dst, reset_selinux, &sb, mt, - old_uid, new_uid, old_gid, new_gid); - } + else if ((lp = check_link (src->full_path, &sb)) != NULL) { + err = copy_hardlink (dst, reset_selinux, lp); + } - /* - * Create the new file and copy the contents. The new - * file will be owned by the provided UID and GID values. - */ + /* + * Deal with FIFOs and special files. The user really + * shouldn't have any of these, but it seems like it + * would be nice to copy everything ... + */ - else { - err = copy_file (src, dst, reset_selinux, &sb, mt, - old_uid, new_uid, old_gid, new_gid); - } + else if (!S_ISREG (sb.st_mode)) { + err = copy_special (src, dst, reset_selinux, &sb, mt, + old_uid, new_uid, old_gid, new_gid); + } + + /* + * Create the new file and copy the contents. The new + * file will be owned by the provided UID and GID values. + */ + + else { + err = copy_file (src, dst, reset_selinux, &sb, mt, + old_uid, new_uid, old_gid, new_gid); } return err; @@ -507,6 +486,7 @@ static int copy_dir (const struct path_info *src, const struct path_info *dst, gid_t old_gid, gid_t new_gid) { int err = 0; + struct stat dst_sb; /* * Create a new target directory, make it owned by @@ -518,6 +498,15 @@ static int copy_dir (const struct path_info *src, const struct path_info *dst, return -1; } #endif /* WITH_SELINUX */ + /* + * If the destination is already a directory, don't change it + * but copy into it (recursively). + */ + if (fstatat(dst->dirfd, dst->name, &dst_sb, AT_SYMLINK_NOFOLLOW) == 0 && S_ISDIR(dst_sb.st_mode)) { + return (copy_tree_impl (src, dst, false, reset_selinux, + old_uid, new_uid, old_gid, new_gid) != 0); + } + if ( (mkdirat (dst->dirfd, dst->name, 0700) != 0) || (chownat_if_needed (dst, statp, old_uid, new_uid, old_gid, new_gid) != 0) @@ -559,7 +548,7 @@ static /*@null@*/char *readlink_malloc (const char *filename) while (true) { ssize_t nchars; - char *buffer = (char *) malloc (size); + char *buffer = MALLOC(size, char); if (NULL == buffer) { return NULL; } @@ -594,7 +583,7 @@ static /*@null@*/char *readlink_malloc (const char *filename) * Return 0 on success, -1 on error. */ static int copy_symlink (const struct path_info *src, const struct path_info *dst, - unused bool reset_selinux, + MAYBE_UNUSED bool reset_selinux, const struct stat *statp, const struct timespec mt[], uid_t old_uid, uid_t new_uid, gid_t old_gid, gid_t new_gid) @@ -622,13 +611,11 @@ 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) { - size_t len = strlen (dst_orig) + strlen (oldlink) - strlen (src_orig) + 1; - char *dummy = (char *) xmalloc (len); - (void) snprintf (dummy, len, "%s%s", - dst_orig, - oldlink + strlen (src_orig)); - free (oldlink); + if (strncmp(oldlink, src_orig, strlen(src_orig)) == 0) { + char *dummy; + + xasprintf(&dummy, "%s%s", dst_orig, oldlink + strlen(src_orig)); + free(oldlink); oldlink = dummy; } @@ -668,7 +655,7 @@ static int copy_symlink (const struct path_info *src, const struct path_info *ds * Return 0 on success, -1 on error. */ static int copy_hardlink (const struct path_info *dst, - unused bool reset_selinux, + MAYBE_UNUSED bool reset_selinux, struct link_name *lp) { /* FIXME: selinux, ACL, Extended Attributes needed? */ @@ -687,6 +674,7 @@ static int copy_hardlink (const struct path_info *dst, return 0; } + /* * copy_special - copy a special file * @@ -697,29 +685,33 @@ static int copy_hardlink (const struct path_info *dst, * * Return 0 on success, -1 on error. */ -static int copy_special (const struct path_info *src, const struct path_info *dst, - bool reset_selinux, - const struct stat *statp, const struct timespec mt[], - uid_t old_uid, uid_t new_uid, - gid_t old_gid, gid_t new_gid) +static int +copy_special(const struct path_info *src, const struct path_info *dst, + bool reset_selinux, + const struct stat *statp, const struct timespec mt[], + uid_t old_uid, uid_t new_uid, + gid_t old_gid, gid_t new_gid) { - int err = 0; - -#ifdef WITH_SELINUX - if (set_selinux_file_context (dst->full_path, statp->st_mode & S_IFMT) != 0) { +#if defined(WITH_SELINUX) + if (set_selinux_file_context(dst->full_path, statp->st_mode & S_IFMT) != 0) return -1; - } -#endif /* WITH_SELINUX */ +#endif - if ( (mknodat (dst->dirfd, dst->name, statp->st_mode & ~07777U, statp->st_rdev) != 0) - || (chownat_if_needed (dst, statp, - old_uid, new_uid, old_gid, new_gid) != 0) - || (fchmodat (dst->dirfd, dst->name, statp->st_mode & 07777, AT_SYMLINK_NOFOLLOW) != 0) -#ifdef WITH_ACL - || ( (perm_copy_path (src, dst, &ctx) != 0) - && (errno != 0)) -#endif /* WITH_ACL */ -#ifdef WITH_ATTR + if (mknodat(dst->dirfd, dst->name, statp->st_mode & ~07777U, statp->st_rdev) == -1) + return -1; + + if (chownat_if_needed(dst, statp, old_uid, new_uid, old_gid, new_gid) == -1) + return -1; + + if (fchmodat(dst->dirfd, dst->name, statp->st_mode & 07777, AT_SYMLINK_NOFOLLOW) == -1) + return -1; + +#if defined(WITH_ACL) + if (perm_copy_path(src, dst, &ctx) == -1 && errno != 0) + return -1; +#endif + +#if defined(WITH_ATTR) /* * If the third parameter is NULL, all extended attributes * except those that define Access Control Lists are copied. @@ -727,51 +719,16 @@ static int copy_special (const struct path_info *src, const struct path_info *ds * file systems with and without ACL support needs some * additional logic so that no unexpected permissions result. */ - || ( !reset_selinux - && (attr_copy_path (src, dst, NULL, &ctx) != 0) - && (errno != 0)) -#endif /* WITH_ATTR */ - || (utimensat (dst->dirfd, dst->name, mt, AT_SYMLINK_NOFOLLOW) != 0)) { - err = -1; + if (!reset_selinux) { + if (attr_copy_path(src, dst, NULL, &ctx) == -1 && errno != 0) + return -1; } +#endif - return err; -} + if (utimensat(dst->dirfd, dst->name, mt, AT_SYMLINK_NOFOLLOW) == -1) + return -1; -/* - * full_write - write entire buffer - * - * Write up to count bytes from the buffer starting at buf to the - * file referred to by the file descriptor fd. - * Retry in case of a short write. - * - * Returns the number of bytes written on success, -1 on error. - */ -static ssize_t full_write(int fd, const void *buf, size_t count) { - ssize_t written = 0; - - while (count > 0) { - ssize_t res; - - res = write(fd, buf, count); - if (res < 0) { - if (errno == EINTR) { - continue; - } - - return res; - } - - if (res == 0) { - break; - } - - written += res; - buf = (const unsigned char*)buf + res; - count -= (size_t)res; - } - - return written; + return 0; } /* @@ -850,7 +807,7 @@ static int copy_file (const struct path_info *src, const struct path_info *dst, break; } - if (full_write (ofd, buf, (size_t)cnt) < 0) { + if (write_full(ofd, buf, cnt) == -1) { (void) close (ofd); (void) close (ifd); return -1; @@ -858,7 +815,7 @@ static int copy_file (const struct path_info *src, const struct path_info *dst, } (void) close (ifd); - if (close (ofd) != 0) { + if (close (ofd) != 0 && errno != EINTR) { return -1; } diff --git a/lib/csrand.c b/lib/csrand.c new file mode 100644 index 00000000..9d6f1503 --- /dev/null +++ b/lib/csrand.c @@ -0,0 +1,142 @@ +/* + * SPDX-FileCopyrightText: Alejandro Colomar + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include + +#ident "$Id$" + +#include +#include +#include +#include +#include +#if HAVE_SYS_RANDOM_H +#include +#endif +#include "bit.h" +#include "defines.h" +#include "prototypes.h" +#include "shadowlog.h" +#include "sizeof.h" + + +static uint32_t csrand_uniform32(uint32_t n); +static unsigned long csrand_uniform_slow(unsigned long n); + + +/* + * Return a uniformly-distributed CS random u_long value. + */ +unsigned long +csrand(void) +{ + FILE *fp; + unsigned long r; + +#ifdef HAVE_GETENTROPY + /* getentropy may exist but lack kernel support. */ + if (getentropy(&r, sizeof(r)) == 0) + return r; +#endif + +#ifdef HAVE_GETRANDOM + /* Likewise getrandom. */ + if (getrandom(&r, sizeof(r), 0) == sizeof(r)) + return r; +#endif + +#ifdef HAVE_ARC4RANDOM_BUF + /* arc4random_buf can never fail. */ + arc4random_buf(&r, sizeof(r)); + return r; +#endif + + /* Use /dev/urandom as a last resort. */ + fp = fopen("/dev/urandom", "r"); + if (NULL == fp) { + goto fail; + } + + if (fread(&r, sizeof(r), 1, fp) != 1) { + fclose(fp); + goto fail; + } + + fclose(fp); + return r; + +fail: + fprintf(log_get_logfd(), _("Unable to obtain random bytes.\n")); + exit(1); +} + + +/* + * Return a uniformly-distributed CS random value in the interval [0, n-1]. + */ +unsigned long +csrand_uniform(unsigned long n) +{ + if (n == 0 || n > UINT32_MAX) + return csrand_uniform_slow(n); + + return csrand_uniform32(n); +} + + +/* + * Return a uniformly-distributed CS random value in the interval [min, max]. + */ +unsigned long +csrand_interval(unsigned long min, unsigned long max) +{ + return csrand_uniform(max - min + 1) + min; +} + + +/* + * Fast Random Integer Generation in an Interval + * ACM Transactions on Modeling and Computer Simulation 29 (1), 2019 + * + */ +static uint32_t +csrand_uniform32(uint32_t n) +{ + uint32_t bound, rem; + uint64_t r, mult; + + if (n == 0) + return csrand(); + + bound = -n % n; // analogous to `2^32 % n`, since `x % y == (x-y) % y` + + do { + r = csrand(); + mult = r * n; + rem = mult; // analogous to `mult % 2^32` + } while (rem < bound); // p = (2^32 % n) / 2^32; W.C.: n=2^31+1, p=0.5 + + r = mult >> WIDTHOF(n); // analogous to `mult / 2^32` + + return r; +} + + +static unsigned long +csrand_uniform_slow(unsigned long n) +{ + unsigned long r, max, mask; + + max = n - 1; + mask = bit_ceil_wrapul(n) - 1; + + do { + r = csrand(); + r &= mask; // optimization + } while (r > max); // p = ((mask+1) % n) / (mask+1); W.C.: p=0.5 + + return r; +} diff --git a/lib/defines.h b/lib/defines.h index d01f691e..8c55dddb 100644 --- a/lib/defines.h +++ b/lib/defines.h @@ -6,41 +6,8 @@ #include "config.h" -#if HAVE_STDBOOL_H -# include -#else -# if ! HAVE__BOOL -# ifdef __cplusplus -typedef bool _Bool; -# else -typedef unsigned char _Bool; -# endif -# endif -# define bool _Bool -# define false (0) -# define true (1) -# define __bool_true_false_are_defined 1 -#endif - -/* Take care of NLS matters. */ -#ifdef S_SPLINT_S -extern char *setlocale(int categories, const char *locale); -# define LC_ALL (6) -extern char * bindtextdomain (const char * domainname, const char * dirname); -extern char * textdomain (const char * domainname); -# define _(Text) Text -# define ngettext(Msgid1, Msgid2, N) \ - ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) -#else -#ifdef HAVE_LOCALE_H -# include -#else -# undef setlocale -# define setlocale(category, locale) (NULL) -# ifndef LC_ALL -# define LC_ALL 6 -# endif -#endif +#include +#include #define gettext_noop(String) (String) /* #define gettext_def(String) "#define String" */ @@ -57,22 +24,18 @@ extern char * textdomain (const char * domainname); # define ngettext(Msgid1, Msgid2, N) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) #endif -#endif +#include #include #include -#if HAVE_ERRNO_H -# include -#endif +#include #include #include #include -#if HAVE_UNISTD_H -# include -#endif +#include /* * crypt(3), crypt_gensalt(3), and their @@ -85,22 +48,6 @@ extern char * textdomain (const char * domainname); #include #include -#ifdef HAVE_MEMSET_S -# define memzero(ptr, size) memset_s((ptr), 0, (size)) -#elif defined HAVE_EXPLICIT_BZERO /* !HAVE_MEMSET_S */ -# define memzero(ptr, size) explicit_bzero((ptr), (size)) -#else /* !HAVE_MEMSET_S && HAVE_EXPLICIT_BZERO */ -static inline void memzero(void *ptr, size_t size) -{ - volatile unsigned char * volatile p = ptr; - while (size--) { - *p++ = '\0'; - } -} -#endif /* !HAVE_MEMSET_S && !HAVE_EXPLICIT_BZERO */ - -#define strzero(s) memzero(s, strlen(s)) /* warning: evaluates twice */ - #include /* @@ -123,7 +70,6 @@ static inline void memzero(void *ptr, size_t size) #endif #endif -#ifdef USE_SYSLOG #include #ifndef LOG_WARN @@ -170,14 +116,6 @@ static inline void memzero(void *ptr, size_t size) #define SYSLOG(x) syslog x #endif /* !ENABLE_NLS */ -#else /* !USE_SYSLOG */ - -#define SYSLOG(x) /* empty */ -#define openlog(a,b,c) /* empty */ -#define closelog() /* empty */ - -#endif /* !USE_SYSLOG */ - /* The default syslog settings can now be changed here, in just one place. */ @@ -192,63 +130,25 @@ static inline void memzero(void *ptr, size_t size) #define OPENLOG(progname) openlog(progname, SYSLOG_OPTIONS, SYSLOG_FACILITY) -#ifndef F_OK -# define F_OK 0 -# define X_OK 1 -# define W_OK 2 -# define R_OK 4 -#endif - -#ifndef SEEK_SET -# define SEEK_SET 0 -# define SEEK_CUR 1 -# define SEEK_END 2 -#endif - -#if HAVE_TERMIOS_H -# include -# define STTY(fd, termio) tcsetattr(fd, TCSANOW, termio) -# define GTTY(fd, termio) tcgetattr(fd, termio) -# define TERMIO struct termios -# define USE_TERMIOS -#else /* assumed HAVE_TERMIO_H */ -# include -# include -# define STTY(fd, termio) ioctl(fd, TCSETA, termio) -# define GTTY(fd, termio) ioctl(fd, TCGETA, termio) -# define TEMRIO struct termio -# define USE_TERMIO -#endif +#include +#define STTY(fd, termio) tcsetattr(fd, TCSANOW, termio) +#define GTTY(fd, termio) tcgetattr(fd, termio) +#define TERMIO struct termios /* * Password aging constants * * DAY - seconds / day * WEEK - seconds / week - * SCALE - seconds / aging unit */ /* Solaris defines this in shadow.h */ #ifndef DAY -#define DAY (24L*3600L) +#define DAY ((time_t) 24 * 3600) #endif #define WEEK (7*DAY) -#ifdef ITI_AGING -#define SCALE 1 -#else -#define SCALE DAY -#endif - -/* Copy string pointed by B to array A with size checking. It was originally - in lmain.c but is _very_ useful elsewhere. Some setuid root programs with - very sloppy coding used to assume that BUFSIZ will always be enough... */ - - /* danger - side effects */ -#define STRFCPY(A,B) \ - (strncpy((A), (B), sizeof(A) - 1), (A)[sizeof(A) - 1] = '\0') - #ifndef PASSWD_FILE #define PASSWD_FILE "/etc/passwd" #endif @@ -261,24 +161,20 @@ static inline void memzero(void *ptr, size_t size) #define SHADOW_FILE "/etc/shadow" #endif +#ifndef SUBUID_FILE +#define SUBUID_FILE "/etc/subuid" +#endif + +#ifndef SUBGID_FILE +#define SUBGID_FILE "/etc/subgid" +#endif + #ifdef SHADOWGRP #ifndef SGROUP_FILE #define SGROUP_FILE "/etc/gshadow" #endif #endif -#ifndef NULL -#define NULL ((void *) 0) -#endif - -#ifdef sun /* hacks for compiling on SunOS */ -# ifndef SOLARIS -extern int fputs (); -extern char *strdup (); -extern char *strerror (); -# endif -#endif - /* * string to use for the pw_passwd field in /etc/passwd when using * shadow passwords - most systems use "x" but there are a few @@ -288,45 +184,16 @@ extern char *strerror (); #define SHADOW_PASSWD_STRING "x" #endif -#define SHADOW_SP_FLAG_UNSET ((unsigned long int)-1) +#define SHADOW_SP_FLAG_UNSET ((unsigned long)-1) #ifdef WITH_AUDIT -#ifdef __u8 /* in case we use pam < 0.80 */ +/* in case we use pam < 0.80 */ #undef __u8 -#endif -#ifdef __u32 #undef __u32 -#endif #include #endif -/* To be used for verified unused parameters */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -# define unused __attribute__((unused)) -# define format_attr(type, index, check) __attribute__((format (type, index, check))) -#else -# define unused -# define format_attr(type, index, check) -#endif - -/* Maximum length of usernames */ -#ifdef HAVE_UTMPX_H -# include -# define USER_NAME_MAX_LENGTH (sizeof (((struct utmpx *)NULL)->ut_user)) -#else -# include -# ifdef HAVE_STRUCT_UTMP_UT_USER -# define USER_NAME_MAX_LENGTH (sizeof (((struct utmp *)NULL)->ut_user)) -# else -# ifdef HAVE_STRUCT_UTMP_UT_NAME -# define USER_NAME_MAX_LENGTH (sizeof (((struct utmp *)NULL)->ut_name)) -# else -# define USER_NAME_MAX_LENGTH 32 -# endif -# endif -#endif - /* Maximum length of passwd entry */ #define PASSWD_ENTRY_MAX_LENGTH 32768 @@ -336,4 +203,14 @@ extern char *strerror (); # define shadow_getenv(name) getenv(name) #endif +/* + * Maximum password length + * + * Consider that there is also limit in PAM (PAM_MAX_RESP_SIZE) + * currently set to 512. + */ +#if !defined(PASS_MAX) +#define PASS_MAX BUFSIZ - 1 +#endif + #endif /* _DEFINES_H_ */ diff --git a/libmisc/env.c b/lib/env.c similarity index 84% rename from libmisc/env.c rename to lib/env.c index fc6dbced..f2d35d71 100644 --- a/libmisc/env.c +++ b/lib/env.c @@ -15,9 +15,14 @@ #include #include #include + +#include "alloc.h" #include "prototypes.h" #include "defines.h" #include "shadowlog.h" +#include "string/sprintf.h" + + /* * NEWENVP_STEP must be a power of two. This is the number * of (char *) pointers to allocate at a time, to avoid using @@ -26,7 +31,6 @@ #define NEWENVP_STEP 16 size_t newenvc = 0; /*@null@*/char **newenvp = NULL; -extern char **environ; static const char *const forbid[] = { "_RLD_=", @@ -42,7 +46,7 @@ static const char *const forbid[] = { "PATH=", "SHELL=", "SHLIB_PATH=", - (char *) 0 + NULL }; /* these are allowed, but with no slashes inside @@ -51,7 +55,7 @@ static const char *const noslash[] = { "LANG=", "LANGUAGE=", "LC_", /* anything with the LC_ prefix */ - (char *) 0 + NULL }; /* @@ -59,23 +63,18 @@ static const char *const noslash[] = { */ void initenv (void) { - newenvp = (char **) xmalloc (NEWENVP_STEP * sizeof (char *)); + newenvp = XMALLOC(NEWENVP_STEP, char *); *newenvp = NULL; } void addenv (const char *string, /*@null@*/const char *value) { - char *cp, *newstring; - size_t i; - size_t n; + char *cp, *newstring; + size_t i, n; if (NULL != value) { - size_t len = strlen (string) + strlen (value) + 2; - int wlen; - newstring = xmalloc (len); - wlen = snprintf (newstring, len, "%s=%s", string, value); - assert (wlen == (int) len -1); + xasprintf(&newstring, "%s=%s", string, value); } else { newstring = xstrdup (string); } @@ -87,7 +86,7 @@ void addenv (const char *string, /*@null@*/const char *value) cp = strchr (newstring, '='); if (NULL == cp) { - free (newstring); + free(newstring); return; } @@ -104,7 +103,7 @@ void addenv (const char *string, /*@null@*/const char *value) } if (i < newenvc) { - free (newenvp[i]); + free(newenvp[i]); newenvp[i] = newstring; return; } @@ -127,16 +126,16 @@ void addenv (const char *string, /*@null@*/const char *value) */ if ((newenvc & (NEWENVP_STEP - 1)) == 0) { - char **__newenvp; - size_t newsize; + bool update_environ; + char **__newenvp; /* * If the resize operation succeeds we can * happily go on, else print a message. */ + update_environ = (environ == newenvp); - newsize = (newenvc + NEWENVP_STEP) * sizeof (char *); - __newenvp = (char **) realloc (newenvp, newsize); + __newenvp = REALLOC(newenvp, newenvc + NEWENVP_STEP, char *); if (NULL != __newenvp) { /* @@ -144,9 +143,8 @@ void addenv (const char *string, /*@null@*/const char *value) * environ so that it doesn't point to some * free memory area (realloc() could move it). */ - if (environ == newenvp) { + if (update_environ) environ = __newenvp; - } newenvp = __newenvp; } else { (void) fputs (_("Environment overflow\n"), log_get_logfd()); @@ -168,9 +166,9 @@ void addenv (const char *string, /*@null@*/const char *value) */ void set_env (int argc, char *const *argv) { - int noname = 1; - char variable[1024]; - char *cp; + int noname = 1; + char variable[1024]; + char *cp; for (; argc > 0; argc--, argv++) { if (strlen (*argv) >= sizeof variable) { @@ -179,9 +177,7 @@ void set_env (int argc, char *const *argv) cp = strchr (*argv, '='); if (NULL == cp) { - int wlen; - wlen = snprintf (variable, sizeof variable, "L%d", noname); - assert (wlen < (int) sizeof(variable)); + assert(SNPRINTF(variable, "L%d", noname) != -1); noname++; addenv (variable, *argv); } else { @@ -194,8 +190,7 @@ void set_env (int argc, char *const *argv) } if (NULL != *p) { - strncpy (variable, *argv, (size_t)(cp - *argv)); - variable[cp - *argv] = '\0'; + stpcpy(mempcpy(variable, *argv, (size_t)(cp - *argv)), ""); printf (_("You may not change $%s\n"), variable); continue; diff --git a/libmisc/failure.c b/lib/failure.c similarity index 71% rename from libmisc/failure.c rename to lib/failure.c index 1aab299c..e42e7107 100644 --- a/libmisc/failure.c +++ b/lib/failure.c @@ -14,10 +14,16 @@ #include #include #include + #include "defines.h" #include "faillog.h" -#include "getdef.h" #include "failure.h" +#include "memzero.h" +#include "prototypes.h" +#include "string/strftime.h" +#include "string/strtcpy.h" + + #define YEAR (365L*DAY) /* * failure - make failure entry @@ -41,7 +47,7 @@ void failure (uid_t uid, const char *tty, struct faillog *fl) fd = open (FAILLOG_FILE, O_RDWR); if (fd < 0) { SYSLOG ((LOG_WARN, - "Can't write faillog entry for UID %lu in %s.", + "Can't write faillog entry for UID %lu in %s: %m", (unsigned long) uid, FAILLOG_FILE)); return; } @@ -53,7 +59,7 @@ void failure (uid_t uid, const char *tty, struct faillog *fl) */ if ( (lseek (fd, offset_uid, SEEK_SET) != offset_uid) - || (read (fd, (char *) fl, sizeof *fl) != (ssize_t) sizeof *fl)) { + || (read (fd, fl, sizeof *fl) != (ssize_t) sizeof *fl)) { /* This is not necessarily a failure. The file is * initially zero length. * @@ -75,7 +81,7 @@ void failure (uid_t uid, const char *tty, struct faillog *fl) fl->fail_cnt++; } - strncpy (fl->fail_line, tty, sizeof (fl->fail_line) - 1); + STRTCPY(fl->fail_line, tty); (void) time (&fl->fail_time); /* @@ -86,13 +92,26 @@ void failure (uid_t uid, const char *tty, struct faillog *fl) */ if ( (lseek (fd, offset_uid, SEEK_SET) != offset_uid) - || (write (fd, (char *) fl, sizeof *fl) != (ssize_t) sizeof *fl) - || (close (fd) != 0)) { - SYSLOG ((LOG_WARN, - "Can't write faillog entry for UID %lu in %s.", - (unsigned long) uid, FAILLOG_FILE)); - (void) close (fd); + || (write_full(fd, fl, sizeof *fl) == -1)) { + goto err_write; } + + if (close (fd) != 0 && errno != EINTR) { + goto err_close; + } + + return; + +err_write: + { + int saved_errno = errno; + (void) close (fd); + errno = saved_errno; + } +err_close: + SYSLOG ((LOG_WARN, + "Can't write faillog entry for UID %lu to %s: %m", + (unsigned long) uid, FAILLOG_FILE)); } static bool too_many_failures (const struct faillog *fl) @@ -144,7 +163,7 @@ int failcheck (uid_t uid, struct faillog *fl, bool failed) fd = open (FAILLOG_FILE, failed?O_RDONLY:O_RDWR); if (fd < 0) { SYSLOG ((LOG_WARN, - "Can't open the faillog file (%s) to check UID %lu. " + "Can't open the faillog file (%s) to check UID %lu: %m; " "User access authorized.", FAILLOG_FILE, (unsigned long) uid)); return 1; @@ -163,7 +182,7 @@ int failcheck (uid_t uid, struct faillog *fl, bool failed) */ if ( (lseek (fd, offset_uid, SEEK_SET) != offset_uid) - || (read (fd, (char *) fl, sizeof *fl) != (ssize_t) sizeof *fl)) { + || (read (fd, fl, sizeof *fl) != (ssize_t) sizeof *fl)) { (void) close (fd); return 1; } @@ -185,18 +204,30 @@ int failcheck (uid_t uid, struct faillog *fl, bool failed) fail.fail_cnt = 0; if ( (lseek (fd, offset_uid, SEEK_SET) != offset_uid) - || (write (fd, (const void *) &fail, sizeof fail) != (ssize_t) sizeof fail) - || (close (fd) != 0)) { - SYSLOG ((LOG_WARN, - "Can't reset faillog entry for UID %lu in %s.", - (unsigned long) uid, FAILLOG_FILE)); - (void) close (fd); + || (write_full(fd, &fail, sizeof fail) == -1)) { + goto err_write; + } + + if (close (fd) != 0 && errno != EINTR) { + goto err_close; } } else { (void) close (fd); } return 1; + +err_write: + { + int saved_errno = errno; + (void) close (fd); + errno = saved_errno; + } +err_close: + SYSLOG ((LOG_WARN, + "Can't reset faillog entry for UID %lu in %s: %m", + (unsigned long) uid, FAILLOG_FILE)); + return 1; } /* @@ -223,7 +254,7 @@ void failprint (const struct faillog *fail) /* * Print all information we have. */ - (void) strftime (lasttimeb, sizeof lasttimeb, "%c", tp); + STRFTIME(lasttimeb, "%c", tp); /*@-formatconst@*/ (void) printf (ngettext ("%d failure since last login.\n" @@ -234,62 +265,3 @@ void failprint (const struct faillog *fail) fail->fail_cnt, lasttime, fail->fail_line); /*@=formatconst@*/ } - -/* - * failtmp - update the cumulative failure log - * - * failtmp updates the (struct utmp) formatted failure log which - * maintains a record of all login failures. - */ - -void failtmp (const char *username, -#ifdef USE_UTMPX - const struct utmpx *failent -#else /* !USE_UTMPX */ - const struct utmp *failent -#endif /* !USE_UTMPX */ - ) -{ - const char *ftmp; - int fd; - - /* - * Get the name of the failure file. If no file has been defined - * in login.defs, don't do this. - */ - - ftmp = getdef_str ("FTMP_FILE"); - if (NULL == ftmp) { - return; - } - - /* - * Open the file for append. It must already exist for this - * feature to be used. - */ - - if (access (ftmp, F_OK) != 0) { - return; - } - - fd = open (ftmp, O_WRONLY | O_APPEND); - if (-1 == fd) { - SYSLOG ((LOG_WARN, - "Can't append failure of user %s to %s.", - username, ftmp)); - return; - } - - /* - * Append the new failure record and close the log file. - */ - - if ( (write (fd, (const void *) failent, sizeof *failent) != (ssize_t) sizeof *failent) - || (close (fd) != 0)) { - SYSLOG ((LOG_WARN, - "Can't append failure of user %s to %s.", - username, ftmp)); - (void) close (fd); - } -} - diff --git a/libmisc/failure.h b/lib/failure.h similarity index 71% rename from libmisc/failure.h rename to lib/failure.h index 2ac30d7f..1352b68c 100644 --- a/libmisc/failure.h +++ b/lib/failure.h @@ -13,11 +13,6 @@ #include "defines.h" #include "faillog.h" -#ifdef USE_UTMPX -#include -#else /* !USE_UTMPX */ -#include -#endif /* !USE_UTMPX */ /* * failure - make failure entry @@ -45,17 +40,5 @@ extern int failcheck (uid_t uid, struct faillog *fl, bool failed); */ extern void failprint (const struct faillog *); -/* - * failtmp - update the cumulative failure log - * - * failtmp updates the (struct utmp) formatted failure log which - * maintains a record of all login failures. - */ -#ifdef USE_UTMPX -extern void failtmp (const char *username, const struct utmpx *); -#else /* !USE_UTMPX */ -extern void failtmp (const char *username, const struct utmp *); -#endif /* !USE_UTMPX */ - #endif diff --git a/lib/fd.c b/lib/fd.c new file mode 100644 index 00000000..bcfa374a --- /dev/null +++ b/lib/fd.c @@ -0,0 +1,41 @@ +// SPDX-FileCopyrightText: 2024, Skyler Ferrante +// SPDX-License-Identifier: BSD-3-Clause + +/** + * To protect against file descriptor omission attacks, we open the std file + * descriptors with /dev/null if they are not already open. Code is based on + * fix_fds from sudo.c. + */ + +#include +#include +#include + +#include "prototypes.h" + +static void check_fd(int fd); + +void +check_fds(void) +{ + /** + * Make sure stdin, stdout, stderr are open + * If they are closed, set them to /dev/null + */ + check_fd(STDIN_FILENO); + check_fd(STDOUT_FILENO); + check_fd(STDERR_FILENO); +} + +static void +check_fd(int fd) +{ + int devnull; + + if (fcntl(fd, F_GETFL, 0) != -1) + return; + + devnull = open("/dev/null", O_RDWR); + if (devnull != fd) + abort(); +} diff --git a/lib/fields.c b/lib/fields.c index 8a560352..53929248 100644 --- a/lib/fields.c +++ b/lib/fields.c @@ -21,9 +21,9 @@ * * The supplied field is scanned for non-printable and other illegal * characters. - * + -1 is returned if an illegal character is present. - * + 1 is returned if no illegal characters are present, but the field - * contains a non-printable character. + * + -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. */ int valid_field (const char *field, const char *illegal) @@ -37,20 +37,19 @@ int valid_field (const char *field, const char *illegal) /* For each character of field, search if it appears in the list * of illegal characters. */ - for (cp = field; '\0' != *cp; cp++) { - if (strchr (illegal, *cp) != NULL) { - err = -1; - break; - } + if (illegal && NULL != strpbrk (field, illegal)) { + return -1; } - if (0 == err) { - /* Search if there are some non-printable characters */ - for (cp = field; '\0' != *cp; cp++) { - if (!isprint (*cp)) { - err = 1; - break; - } + /* Search if there are non-printable or control characters */ + for (cp = field; '\0' != *cp; cp++) { + unsigned char c = *cp; + if (!isprint (c)) { + err = 1; + } + if (iscntrl (c)) { + err = -1; + break; } } @@ -74,7 +73,7 @@ void change_field (char *buf, size_t maxsize, const char *prompt) printf ("\t%s [%s]: ", prompt, buf); (void) fflush (stdout); - if (fgets (newf, (int) maxsize, stdin) != newf) { + if (fgets (newf, maxsize, stdin) != newf) { return; } @@ -91,17 +90,16 @@ void change_field (char *buf, size_t maxsize, const char *prompt) * entering a space. --marekm */ - while (--cp >= newf && isspace (*cp)); - cp++; + while (newf < cp && isspace (cp[-1])) { + cp--; + } *cp = '\0'; cp = newf; - while (('\0' != *cp) && isspace (*cp)) { + while (isspace (*cp)) { cp++; } - strncpy (buf, cp, maxsize - 1); - buf[maxsize - 1] = '\0'; + strcpy (buf, cp); } } - diff --git a/libmisc/find_new_gid.c b/lib/find_new_gid.c similarity index 91% rename from libmisc/find_new_gid.c rename to lib/find_new_gid.c index 65ab5d01..cfd56098 100644 --- a/libmisc/find_new_gid.c +++ b/lib/find_new_gid.c @@ -12,6 +12,7 @@ #include #include +#include "alloc.h" #include "prototypes.h" #include "groupio.h" #include "getdef.h" @@ -40,15 +41,14 @@ static int get_ranges (bool sys_group, gid_t *min_id, gid_t *max_id, *preferred_min = (gid_t) 1; /* Get the minimum ID range from login.defs or default to 101 */ - *min_id = (gid_t) getdef_ulong ("SYS_GID_MIN", 101UL); + *min_id = getdef_ulong ("SYS_GID_MIN", 101UL); /* * If SYS_GID_MAX is unspecified, we should assume it to be one * less than the GID_MIN (which is reserved for non-system accounts) */ - gid_def_max = (gid_t) getdef_ulong ("GID_MIN", 1000UL) - 1; - *max_id = (gid_t) getdef_ulong ("SYS_GID_MAX", - (unsigned long) gid_def_max); + gid_def_max = getdef_ulong ("GID_MIN", 1000UL) - 1; + *max_id = getdef_ulong ("SYS_GID_MAX", gid_def_max); /* Check that the ranges make sense */ if (*max_id < *min_id) { @@ -71,8 +71,8 @@ static int get_ranges (bool sys_group, gid_t *min_id, gid_t *max_id, /* Non-system groups */ /* Get the values from login.defs or use reasonable defaults */ - *min_id = (gid_t) getdef_ulong ("GID_MIN", 1000UL); - *max_id = (gid_t) getdef_ulong ("GID_MAX", 60000UL); + *min_id = getdef_ulong ("GID_MIN", 1000UL); + *max_id = getdef_ulong ("GID_MAX", 60000UL); /* * The preferred minimum should match the standard ID minimum @@ -99,6 +99,7 @@ static int get_ranges (bool sys_group, gid_t *min_id, gid_t *max_id, * * On success, return 0 * If the ID is in use, return EEXIST + * If the ID might clash with -1, return EINVAL * If the ID is outside the range, return ERANGE * In other cases, return errno from getgrgid() */ @@ -112,6 +113,11 @@ static int check_gid (const gid_t gid, return ERANGE; } + /* Check for compatibility with 16b and 32b gid_t error codes */ + if (gid == UINT16_MAX || gid == UINT32_MAX) { + return EINVAL; + } + /* * Check whether we already detected this GID * using the gr_next() loop @@ -183,10 +189,10 @@ int find_new_gid (bool sys_group, * gr_locate_gid() found the GID in an as-yet uncommitted * entry. We'll proceed below and auto-set a GID. */ - } else if (result == EEXIST || result == ERANGE) { + } else if (result == EEXIST || result == ERANGE || result == EINVAL) { /* * Continue on below. At this time, we won't - * treat these two cases differently. + * treat these three cases differently. */ } else { /* @@ -226,14 +232,13 @@ int find_new_gid (bool sys_group, */ /* Create an array to hold all of the discovered GIDs */ - used_gids = malloc (sizeof (bool) * (gid_max +1)); + used_gids = CALLOC (gid_max + 1, bool); if (NULL == used_gids) { fprintf (log_get_logfd(), _("%s: failed to allocate memory: %s\n"), log_get_progname(), strerror (errno)); return -1; } - memset (used_gids, false, sizeof (bool) * (gid_max + 1)); /* First look for the lowest and highest value in the local database */ (void) gr_rewind (); @@ -297,8 +302,11 @@ int find_new_gid (bool sys_group, *gid = id; free (used_gids); return 0; - } else if (result == EEXIST) { - /* This GID is in use, we'll continue to the next */ + } else if (result == EEXIST || result == EINVAL) { + /* + * This GID is in use or unusable, we'll + * continue to the next. + */ } else { /* * An unexpected error occurred. @@ -340,8 +348,11 @@ int find_new_gid (bool sys_group, *gid = id; free (used_gids); return 0; - } else if (result == EEXIST) { - /* This GID is in use, we'll continue to the next */ + } else if (result == EEXIST || result == EINVAL) { + /* + * This GID is in use or unusable, we'll + * continue to the next. + */ } else { /* * An unexpected error occurred. @@ -400,8 +411,11 @@ int find_new_gid (bool sys_group, *gid = id; free (used_gids); return 0; - } else if (result == EEXIST) { - /* This GID is in use, we'll continue to the next */ + } else if (result == EEXIST || result == EINVAL) { + /* + * This GID is in use or unusable, we'll + * continue to the next. + */ } else { /* * An unexpected error occurred. @@ -443,8 +457,11 @@ int find_new_gid (bool sys_group, *gid = id; free (used_gids); return 0; - } else if (result == EEXIST) { - /* This GID is in use, we'll continue to the next */ + } else if (result == EEXIST || result == EINVAL) { + /* + * This GID is in use or unusable, we'll + * continue to the next. + */ } else { /* * An unexpected error occurred. diff --git a/libmisc/find_new_sub_gids.c b/lib/find_new_sub_gids.c similarity index 95% rename from libmisc/find_new_sub_gids.c rename to lib/find_new_sub_gids.c index bbd4570b..74c9d8f5 100644 --- a/libmisc/find_new_sub_gids.c +++ b/lib/find_new_sub_gids.c @@ -59,6 +59,6 @@ int find_new_sub_gids (gid_t *range_start, unsigned long *range_count) return 0; } #else /* !ENABLE_SUBIDS */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !ENABLE_SUBIDS */ diff --git a/libmisc/find_new_sub_uids.c b/lib/find_new_sub_uids.c similarity index 95% rename from libmisc/find_new_sub_uids.c rename to lib/find_new_sub_uids.c index a86b311a..cc4b0cf4 100644 --- a/libmisc/find_new_sub_uids.c +++ b/lib/find_new_sub_uids.c @@ -59,6 +59,6 @@ int find_new_sub_uids (uid_t *range_start, unsigned long *range_count) return 0; } #else /* !ENABLE_SUBIDS */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !ENABLE_SUBIDS */ diff --git a/libmisc/find_new_uid.c b/lib/find_new_uid.c similarity index 91% rename from libmisc/find_new_uid.c rename to lib/find_new_uid.c index 5f7e74b5..45ce712c 100644 --- a/libmisc/find_new_uid.c +++ b/lib/find_new_uid.c @@ -12,6 +12,7 @@ #include #include +#include "alloc.h" #include "prototypes.h" #include "pwio.h" #include "getdef.h" @@ -40,15 +41,14 @@ static int get_ranges (bool sys_user, uid_t *min_id, uid_t *max_id, *preferred_min = (uid_t) 1; /* Get the minimum ID range from login.defs or default to 101 */ - *min_id = (uid_t) getdef_ulong ("SYS_UID_MIN", 101UL); + *min_id = getdef_ulong ("SYS_UID_MIN", 101UL); /* * If SYS_UID_MAX is unspecified, we should assume it to be one * less than the UID_MIN (which is reserved for non-system accounts) */ - uid_def_max = (uid_t) getdef_ulong ("UID_MIN", 1000UL) - 1; - *max_id = (uid_t) getdef_ulong ("SYS_UID_MAX", - (unsigned long) uid_def_max); + uid_def_max = getdef_ulong ("UID_MIN", 1000UL) - 1; + *max_id = getdef_ulong ("SYS_UID_MAX", uid_def_max); /* Check that the ranges make sense */ if (*max_id < *min_id) { @@ -71,8 +71,8 @@ static int get_ranges (bool sys_user, uid_t *min_id, uid_t *max_id, /* Non-system users */ /* Get the values from login.defs or use reasonable defaults */ - *min_id = (uid_t) getdef_ulong ("UID_MIN", 1000UL); - *max_id = (uid_t) getdef_ulong ("UID_MAX", 60000UL); + *min_id = getdef_ulong ("UID_MIN", 1000UL); + *max_id = getdef_ulong ("UID_MAX", 60000UL); /* * The preferred minimum should match the standard ID minimum @@ -99,6 +99,7 @@ static int get_ranges (bool sys_user, uid_t *min_id, uid_t *max_id, * * On success, return 0 * If the ID is in use, return EEXIST + * If the ID might clash with -1, return EINVAL * If the ID is outside the range, return ERANGE * In other cases, return errno from getpwuid() */ @@ -112,6 +113,11 @@ static int check_uid(const uid_t uid, return ERANGE; } + /* Check for compatibility with 16b and 32b uid_t error codes */ + if (uid == UINT16_MAX || uid == UINT32_MAX) { + return EINVAL; + } + /* * Check whether we already detected this UID * using the pw_next() loop @@ -183,10 +189,10 @@ int find_new_uid(bool sys_user, * pw_locate_uid() found the UID in an as-yet uncommitted * entry. We'll proceed below and auto-set an UID. */ - } else if (result == EEXIST || result == ERANGE) { + } else if (result == EEXIST || result == ERANGE || result == EINVAL) { /* * Continue on below. At this time, we won't - * treat these two cases differently. + * treat these three cases differently. */ } else { /* @@ -226,14 +232,13 @@ int find_new_uid(bool sys_user, */ /* Create an array to hold all of the discovered UIDs */ - used_uids = malloc (sizeof (bool) * (uid_max +1)); + used_uids = CALLOC(uid_max + 1, bool); if (NULL == used_uids) { fprintf (log_get_logfd(), _("%s: failed to allocate memory: %s\n"), log_get_progname(), strerror (errno)); return -1; } - memset (used_uids, false, sizeof (bool) * (uid_max + 1)); /* First look for the lowest and highest value in the local database */ (void) pw_rewind (); @@ -297,8 +302,11 @@ int find_new_uid(bool sys_user, *uid = id; free (used_uids); return 0; - } else if (result == EEXIST) { - /* This UID is in use, we'll continue to the next */ + } else if (result == EEXIST || result == EINVAL) { + /* + * This GID is in use or unusable, we'll + * continue to the next. + */ } else { /* * An unexpected error occurred. @@ -340,8 +348,11 @@ int find_new_uid(bool sys_user, *uid = id; free (used_uids); return 0; - } else if (result == EEXIST) { - /* This UID is in use, we'll continue to the next */ + } else if (result == EEXIST || result == EINVAL) { + /* + * This GID is in use or unusable, we'll + * continue to the next. + */ } else { /* * An unexpected error occurred. @@ -400,8 +411,11 @@ int find_new_uid(bool sys_user, *uid = id; free (used_uids); return 0; - } else if (result == EEXIST) { - /* This UID is in use, we'll continue to the next */ + } else if (result == EEXIST || result == EINVAL) { + /* + * This GID is in use or unusable, we'll + * continue to the next. + */ } else { /* * An unexpected error occurred. @@ -443,8 +457,11 @@ int find_new_uid(bool sys_user, *uid = id; free (used_uids); return 0; - } else if (result == EEXIST) { - /* This UID is in use, we'll continue to the next */ + } else if (result == EEXIST || result == EINVAL) { + /* + * This GID is in use or unusable, we'll + * continue to the next. + */ } else { /* * An unexpected error occurred. diff --git a/lib/fputsx.c b/lib/fputsx.c index bb71ab2a..05653101 100644 --- a/lib/fputsx.c +++ b/lib/fputsx.c @@ -16,7 +16,8 @@ #ident "$Id$" -/*@null@*/char *fgetsx (/*@returned@*/ /*@out@*/char *buf, int cnt, FILE * f) +/*@null@*/char * +fgetsx(/*@returned@*/char *restrict buf, int cnt, FILE *restrict f) { char *cp = buf; char *ep; diff --git a/lib/freezero.c b/lib/freezero.c new file mode 100644 index 00000000..c565f435 --- /dev/null +++ b/lib/freezero.c @@ -0,0 +1,30 @@ +/* $OpenBSD: malloc.c,v 1.267 2020/11/23 15:42:11 otto Exp $ */ +/* + * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include + +void +freezero(void *ptr, size_t sz) +{ + /* This is legal. */ + if (ptr == NULL) + return; + + explicit_bzero(ptr, sz); + free(ptr); +} diff --git a/lib/freezero.h b/lib/freezero.h new file mode 100644 index 00000000..8dbcd7c4 --- /dev/null +++ b/lib/freezero.h @@ -0,0 +1,34 @@ +/* + * Copyright © 2005 Aurelien Jarno + * Copyright © 2006 Robert Millan + * Copyright © 2008-2011 Guillem Jover + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef LIBBSD_FREEZERO_H +#define LIBBSD_FREEZERO_H + +void freezero(void *ptr, size_t size); + +#endif diff --git a/lib/get_gid.c b/lib/get_gid.c index cbcd6f4b..2c5030be 100644 --- a/lib/get_gid.c +++ b/lib/get_gid.c @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-3-Clause */ + #include #ident "$Id$" @@ -11,21 +12,23 @@ #include "prototypes.h" #include "defines.h" -int get_gid (const char *gidstr, gid_t *gid) + +int +get_gid(const char *gidstr, gid_t *gid) { - long long int val; + long long val; char *endptr; errno = 0; - val = strtoll (gidstr, &endptr, 10); + val = strtoll(gidstr, &endptr, 10); if ( ('\0' == *gidstr) || ('\0' != *endptr) - || (ERANGE == errno) + || (0 != errno) || (/*@+longintegral@*/val != (gid_t)val)/*@=longintegral@*/) { - return 0; + return -1; } - *gid = (gid_t)val; - return 1; + *gid = val; + return 0; } diff --git a/lib/get_pid.c b/lib/get_pid.c index 383eb695..61caa7aa 100644 --- a/lib/get_pid.c +++ b/lib/get_pid.c @@ -10,22 +10,93 @@ #include "prototypes.h" #include "defines.h" +#include +#include +#include + +#include "string/sprintf.h" + int get_pid (const char *pidstr, pid_t *pid) { - long long int val; + long long val; char *endptr; errno = 0; - val = strtoll (pidstr, &endptr, 10); + val = strtoll(pidstr, &endptr, 10); if ( ('\0' == *pidstr) || ('\0' != *endptr) - || (ERANGE == errno) + || (0 != errno) + || (val < 1) || (/*@+longintegral@*/val != (pid_t)val)/*@=longintegral@*/) { - return 0; + return -1; } - *pid = (pid_t)val; - return 1; + *pid = val; + return 0; } +/* + * If use passed in fd:4 as an argument, then return the + * value '4', the fd to use. + * On error, return -1. + */ +int get_pidfd_from_fd(const char *pidfdstr) +{ + long long val; + char *endptr; + struct stat st; + dev_t proc_st_dev, proc_st_rdev; + + errno = 0; + val = strtoll(pidfdstr, &endptr, 10); + if ( ('\0' == *pidfdstr) + || ('\0' != *endptr) + || (0 != errno) + || (val < 0) + || (/*@+longintegral@*/val != (int)val)/*@=longintegral@*/) { + return -1; + } + + if (stat("/proc/self/uid_map", &st) < 0) { + return -1; + } + + proc_st_dev = st.st_dev; + proc_st_rdev = st.st_rdev; + + if (fstat(val, &st) < 0) { + return -1; + } + + if (st.st_dev != proc_st_dev || st.st_rdev != proc_st_rdev) { + return -1; + } + + return (int)val; +} + +int open_pidfd(const char *pidstr) +{ + int proc_dir_fd; + char proc_dir_name[32]; + 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", + 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"), + target, strerror(errno)); + return -EINVAL; + } + return proc_dir_fd; +} diff --git a/lib/get_uid.c b/lib/get_uid.c index 50f99225..d7169325 100644 --- a/lib/get_uid.c +++ b/lib/get_uid.c @@ -4,6 +4,7 @@ * SPDX-License-Identifier: BSD-3-Clause */ + #include #ident "$Id$" @@ -11,21 +12,23 @@ #include "prototypes.h" #include "defines.h" -int get_uid (const char *uidstr, uid_t *uid) + +int +get_uid(const char *uidstr, uid_t *uid) { - long long int val; + long long val; char *endptr; errno = 0; - val = strtoll (uidstr, &endptr, 10); + val = strtoll(uidstr, &endptr, 10); if ( ('\0' == *uidstr) || ('\0' != *endptr) - || (ERANGE == errno) + || (0 != errno) || (/*@+longintegral@*/val != (uid_t)val)/*@=longintegral@*/) { - return 0; + return -1; } - *uid = (uid_t)val; - return 1; + *uid = val; + return 0; } diff --git a/libmisc/getdate.c b/lib/getdate.c similarity index 96% rename from libmisc/getdate.c rename to lib/getdate.c index fc17c183..556ce624 100644 --- a/libmisc/getdate.c +++ b/lib/getdate.c @@ -82,9 +82,6 @@ #ifdef HAVE_CONFIG_H # include -# ifdef FORCE_ALLOCA_H -# include -# endif #endif /* Since the code of getdate.y is not included in the Emacs executable @@ -101,6 +98,7 @@ #include #include +#include "attr.h" #include "getdate.h" #include @@ -215,7 +213,7 @@ static int yyRelSeconds; static int yyRelYear; -#line 219 "getdate.c" +#line 217 "getdate.c" # ifndef YY_CAST # ifdef __cplusplus @@ -301,12 +299,12 @@ extern int yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 149 "getdate.y" +#line 147 "getdate.y" int Number; enum _MERIDIAN Meridian; -#line 310 "getdate.c" +#line 308 "getdate.c" }; typedef union YYSTYPE YYSTYPE; @@ -746,12 +744,12 @@ static const yytype_int8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 165, 165, 166, 169, 172, 175, 178, 181, 184, - 187, 193, 199, 208, 214, 226, 229, 233, 238, 242, - 246, 252, 256, 274, 280, 286, 290, 295, 299, 306, - 314, 317, 320, 323, 326, 329, 332, 335, 338, 341, - 344, 347, 350, 353, 356, 359, 362, 365, 368, 373, - 407, 410 + 0, 163, 163, 164, 167, 170, 173, 176, 179, 182, + 185, 191, 197, 206, 212, 224, 227, 231, 236, 240, + 244, 250, 254, 272, 278, 284, 288, 293, 297, 304, + 312, 315, 318, 321, 324, 327, 330, 333, 336, 339, + 342, 345, 348, 351, 354, 357, 360, 363, 366, 371, + 405, 408 }; #endif @@ -1352,69 +1350,69 @@ yyreduce: switch (yyn) { case 4: /* item: time */ -#line 169 "getdate.y" +#line 167 "getdate.y" { yyHaveTime++; } -#line 1360 "getdate.c" +#line 1358 "getdate.c" break; case 5: /* item: zone */ -#line 172 "getdate.y" +#line 170 "getdate.y" { yyHaveZone++; } -#line 1368 "getdate.c" +#line 1366 "getdate.c" break; case 6: /* item: date */ -#line 175 "getdate.y" +#line 173 "getdate.y" { yyHaveDate++; } -#line 1376 "getdate.c" +#line 1374 "getdate.c" break; case 7: /* item: day */ -#line 178 "getdate.y" +#line 176 "getdate.y" { yyHaveDay++; } -#line 1384 "getdate.c" +#line 1382 "getdate.c" break; case 8: /* item: rel */ -#line 181 "getdate.y" +#line 179 "getdate.y" { yyHaveRel++; } -#line 1392 "getdate.c" +#line 1390 "getdate.c" break; case 10: /* time: tUNUMBER tMERIDIAN */ -#line 187 "getdate.y" +#line 185 "getdate.y" { yyHour = (yyvsp[-1].Number); yyMinutes = 0; yySeconds = 0; yyMeridian = (yyvsp[0].Meridian); } -#line 1403 "getdate.c" +#line 1401 "getdate.c" break; case 11: /* time: tUNUMBER ':' tUNUMBER o_merid */ -#line 193 "getdate.y" +#line 191 "getdate.y" { yyHour = (yyvsp[-3].Number); yyMinutes = (yyvsp[-1].Number); yySeconds = 0; yyMeridian = (yyvsp[0].Meridian); } -#line 1414 "getdate.c" +#line 1412 "getdate.c" break; case 12: /* time: tUNUMBER ':' tUNUMBER tSNUMBER */ -#line 199 "getdate.y" +#line 197 "getdate.y" { yyHour = (yyvsp[-3].Number); yyMinutes = (yyvsp[-1].Number); @@ -1424,22 +1422,22 @@ yyreduce: ? -(yyvsp[0].Number) % 100 + (-(yyvsp[0].Number) / 100) * 60 : - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60)); } -#line 1428 "getdate.c" +#line 1426 "getdate.c" break; case 13: /* time: tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid */ -#line 208 "getdate.y" +#line 206 "getdate.y" { yyHour = (yyvsp[-5].Number); yyMinutes = (yyvsp[-3].Number); yySeconds = (yyvsp[-1].Number); yyMeridian = (yyvsp[0].Meridian); } -#line 1439 "getdate.c" +#line 1437 "getdate.c" break; case 14: /* time: tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER */ -#line 214 "getdate.y" +#line 212 "getdate.y" { yyHour = (yyvsp[-5].Number); yyMinutes = (yyvsp[-3].Number); @@ -1450,71 +1448,71 @@ yyreduce: ? -(yyvsp[0].Number) % 100 + (-(yyvsp[0].Number) / 100) * 60 : - ((yyvsp[0].Number) % 100 + ((yyvsp[0].Number) / 100) * 60)); } -#line 1454 "getdate.c" +#line 1452 "getdate.c" break; case 15: /* zone: tZONE */ -#line 226 "getdate.y" +#line 224 "getdate.y" { yyTimezone = (yyvsp[0].Number); } -#line 1462 "getdate.c" +#line 1460 "getdate.c" break; case 16: /* zone: tDAYZONE */ -#line 229 "getdate.y" +#line 227 "getdate.y" { yyTimezone = (yyvsp[0].Number) - 60; } -#line 1470 "getdate.c" +#line 1468 "getdate.c" break; case 17: /* zone: tZONE tDST */ -#line 233 "getdate.y" +#line 231 "getdate.y" { yyTimezone = (yyvsp[-1].Number) - 60; } -#line 1478 "getdate.c" +#line 1476 "getdate.c" break; case 18: /* day: tDAY */ -#line 238 "getdate.y" +#line 236 "getdate.y" { yyDayOrdinal = 1; yyDayNumber = (yyvsp[0].Number); } -#line 1487 "getdate.c" +#line 1485 "getdate.c" break; case 19: /* day: tDAY ',' */ -#line 242 "getdate.y" +#line 240 "getdate.y" { yyDayOrdinal = 1; yyDayNumber = (yyvsp[-1].Number); } -#line 1496 "getdate.c" +#line 1494 "getdate.c" break; case 20: /* day: tUNUMBER tDAY */ -#line 246 "getdate.y" +#line 244 "getdate.y" { yyDayOrdinal = (yyvsp[-1].Number); yyDayNumber = (yyvsp[0].Number); } -#line 1505 "getdate.c" +#line 1503 "getdate.c" break; case 21: /* date: tUNUMBER '/' tUNUMBER */ -#line 252 "getdate.y" +#line 250 "getdate.y" { yyMonth = (yyvsp[-2].Number); yyDay = (yyvsp[0].Number); } -#line 1514 "getdate.c" +#line 1512 "getdate.c" break; case 22: /* date: tUNUMBER '/' tUNUMBER '/' tUNUMBER */ -#line 256 "getdate.y" +#line 254 "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 @@ -1533,71 +1531,71 @@ yyreduce: yyYear = (yyvsp[0].Number); } } -#line 1537 "getdate.c" +#line 1535 "getdate.c" break; case 23: /* date: tUNUMBER tSNUMBER tSNUMBER */ -#line 274 "getdate.y" +#line 272 "getdate.y" { /* ISO 8601 format. yyyy-mm-dd. */ yyYear = (yyvsp[-2].Number); yyMonth = -(yyvsp[-1].Number); yyDay = -(yyvsp[0].Number); } -#line 1548 "getdate.c" +#line 1546 "getdate.c" break; case 24: /* date: tUNUMBER tMONTH tSNUMBER */ -#line 280 "getdate.y" +#line 278 "getdate.y" { /* e.g. 17-JUN-1992. */ yyDay = (yyvsp[-2].Number); yyMonth = (yyvsp[-1].Number); yyYear = -(yyvsp[0].Number); } -#line 1559 "getdate.c" +#line 1557 "getdate.c" break; case 25: /* date: tMONTH tUNUMBER */ -#line 286 "getdate.y" +#line 284 "getdate.y" { yyMonth = (yyvsp[-1].Number); yyDay = (yyvsp[0].Number); } -#line 1568 "getdate.c" +#line 1566 "getdate.c" break; case 26: /* date: tMONTH tUNUMBER ',' tUNUMBER */ -#line 290 "getdate.y" +#line 288 "getdate.y" { yyMonth = (yyvsp[-3].Number); yyDay = (yyvsp[-2].Number); yyYear = (yyvsp[0].Number); } -#line 1578 "getdate.c" +#line 1576 "getdate.c" break; case 27: /* date: tUNUMBER tMONTH */ -#line 295 "getdate.y" +#line 293 "getdate.y" { yyMonth = (yyvsp[0].Number); yyDay = (yyvsp[-1].Number); } -#line 1587 "getdate.c" +#line 1585 "getdate.c" break; case 28: /* date: tUNUMBER tMONTH tUNUMBER */ -#line 299 "getdate.y" +#line 297 "getdate.y" { yyMonth = (yyvsp[-1].Number); yyDay = (yyvsp[-2].Number); yyYear = (yyvsp[0].Number); } -#line 1597 "getdate.c" +#line 1595 "getdate.c" break; case 29: /* rel: relunit tAGO */ -#line 306 "getdate.y" +#line 304 "getdate.y" { yyRelSeconds = -yyRelSeconds; yyRelMinutes = -yyRelMinutes; @@ -1606,155 +1604,155 @@ yyreduce: yyRelMonth = -yyRelMonth; yyRelYear = -yyRelYear; } -#line 1610 "getdate.c" +#line 1608 "getdate.c" break; case 31: /* relunit: tUNUMBER tYEAR_UNIT */ -#line 317 "getdate.y" +#line 315 "getdate.y" { yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1618 "getdate.c" +#line 1616 "getdate.c" break; case 32: /* relunit: tSNUMBER tYEAR_UNIT */ -#line 320 "getdate.y" +#line 318 "getdate.y" { yyRelYear += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1626 "getdate.c" +#line 1624 "getdate.c" break; case 33: /* relunit: tYEAR_UNIT */ -#line 323 "getdate.y" +#line 321 "getdate.y" { - yyRelYear++; + yyRelYear += (yyvsp[0].Number); } -#line 1634 "getdate.c" +#line 1632 "getdate.c" break; case 34: /* relunit: tUNUMBER tMONTH_UNIT */ -#line 326 "getdate.y" +#line 324 "getdate.y" { yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1642 "getdate.c" +#line 1640 "getdate.c" break; case 35: /* relunit: tSNUMBER tMONTH_UNIT */ -#line 329 "getdate.y" +#line 327 "getdate.y" { yyRelMonth += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1650 "getdate.c" +#line 1648 "getdate.c" break; case 36: /* relunit: tMONTH_UNIT */ -#line 332 "getdate.y" +#line 330 "getdate.y" { - yyRelMonth++; + yyRelMonth += (yyvsp[0].Number); } -#line 1658 "getdate.c" +#line 1656 "getdate.c" break; case 37: /* relunit: tUNUMBER tDAY_UNIT */ -#line 335 "getdate.y" +#line 333 "getdate.y" { yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1666 "getdate.c" +#line 1664 "getdate.c" break; case 38: /* relunit: tSNUMBER tDAY_UNIT */ -#line 338 "getdate.y" +#line 336 "getdate.y" { yyRelDay += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1674 "getdate.c" +#line 1672 "getdate.c" break; case 39: /* relunit: tDAY_UNIT */ -#line 341 "getdate.y" +#line 339 "getdate.y" { - yyRelDay++; + yyRelDay += (yyvsp[0].Number); } -#line 1682 "getdate.c" +#line 1680 "getdate.c" break; case 40: /* relunit: tUNUMBER tHOUR_UNIT */ -#line 344 "getdate.y" +#line 342 "getdate.y" { yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1690 "getdate.c" +#line 1688 "getdate.c" break; case 41: /* relunit: tSNUMBER tHOUR_UNIT */ -#line 347 "getdate.y" +#line 345 "getdate.y" { yyRelHour += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1698 "getdate.c" +#line 1696 "getdate.c" break; case 42: /* relunit: tHOUR_UNIT */ -#line 350 "getdate.y" +#line 348 "getdate.y" { - yyRelHour++; + yyRelHour += (yyvsp[0].Number); } -#line 1706 "getdate.c" +#line 1704 "getdate.c" break; case 43: /* relunit: tUNUMBER tMINUTE_UNIT */ -#line 353 "getdate.y" +#line 351 "getdate.y" { yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1714 "getdate.c" +#line 1712 "getdate.c" break; case 44: /* relunit: tSNUMBER tMINUTE_UNIT */ -#line 356 "getdate.y" +#line 354 "getdate.y" { yyRelMinutes += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1722 "getdate.c" +#line 1720 "getdate.c" break; case 45: /* relunit: tMINUTE_UNIT */ -#line 359 "getdate.y" +#line 357 "getdate.y" { - yyRelMinutes++; + yyRelMinutes += (yyvsp[0].Number); } -#line 1730 "getdate.c" +#line 1728 "getdate.c" break; case 46: /* relunit: tUNUMBER tSEC_UNIT */ -#line 362 "getdate.y" +#line 360 "getdate.y" { yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1738 "getdate.c" +#line 1736 "getdate.c" break; case 47: /* relunit: tSNUMBER tSEC_UNIT */ -#line 365 "getdate.y" +#line 363 "getdate.y" { yyRelSeconds += (yyvsp[-1].Number) * (yyvsp[0].Number); } -#line 1746 "getdate.c" +#line 1744 "getdate.c" break; case 48: /* relunit: tSEC_UNIT */ -#line 368 "getdate.y" +#line 366 "getdate.y" { - yyRelSeconds++; + yyRelSeconds += (yyvsp[0].Number); } -#line 1754 "getdate.c" +#line 1752 "getdate.c" break; case 49: /* number: tUNUMBER */ -#line 374 "getdate.y" +#line 372 "getdate.y" { if ((yyHaveTime != 0) && (yyHaveDate != 0) && (yyHaveRel == 0)) yyYear = (yyvsp[0].Number); @@ -1785,27 +1783,27 @@ yyreduce: } } } -#line 1789 "getdate.c" +#line 1787 "getdate.c" break; case 50: /* o_merid: %empty */ -#line 407 "getdate.y" +#line 405 "getdate.y" { (yyval.Meridian) = MER24; } -#line 1797 "getdate.c" +#line 1795 "getdate.c" break; case 51: /* o_merid: tMERIDIAN */ -#line 411 "getdate.y" +#line 409 "getdate.y" { (yyval.Meridian) = (yyvsp[0].Meridian); } -#line 1805 "getdate.c" +#line 1803 "getdate.c" break; -#line 1809 "getdate.c" +#line 1807 "getdate.c" default: break; } @@ -1998,7 +1996,7 @@ yyreturnlab: return yyresult; } -#line 416 "getdate.y" +#line 414 "getdate.y" /* Month and day table. */ @@ -2158,7 +2156,7 @@ static TABLE const MilitaryTable[] = { -static int yyerror (unused const char *s) +static int yyerror (MAYBE_UNUSED const char *s) { return 0; } @@ -2511,11 +2509,8 @@ time_t get_date (const char *p, const time_t *now) #if defined (TEST) -/* ARGSUSED */ int -main (ac, av) - int ac; - char *av[]; +main(void) { char buff[MAX_BUFF_LEN + 1]; time_t d; diff --git a/libmisc/getdate.h b/lib/getdate.h similarity index 100% rename from libmisc/getdate.h rename to lib/getdate.h diff --git a/libmisc/getdate.y b/lib/getdate.y similarity index 98% rename from libmisc/getdate.y rename to lib/getdate.y index 0c07f746..8cea2cc4 100644 --- a/libmisc/getdate.y +++ b/lib/getdate.y @@ -12,9 +12,6 @@ #ifdef HAVE_CONFIG_H # include -# ifdef FORCE_ALLOCA_H -# include -# endif #endif /* Since the code of getdate.y is not included in the Emacs executable @@ -31,6 +28,7 @@ #include #include +#include "attr.h" #include "getdate.h" #include @@ -321,7 +319,7 @@ relunit : tUNUMBER tYEAR_UNIT { yyRelYear += $1 * $2; } | tYEAR_UNIT { - yyRelYear++; + yyRelYear += $1; } | tUNUMBER tMONTH_UNIT { yyRelMonth += $1 * $2; @@ -330,7 +328,7 @@ relunit : tUNUMBER tYEAR_UNIT { yyRelMonth += $1 * $2; } | tMONTH_UNIT { - yyRelMonth++; + yyRelMonth += $1; } | tUNUMBER tDAY_UNIT { yyRelDay += $1 * $2; @@ -339,7 +337,7 @@ relunit : tUNUMBER tYEAR_UNIT { yyRelDay += $1 * $2; } | tDAY_UNIT { - yyRelDay++; + yyRelDay += $1; } | tUNUMBER tHOUR_UNIT { yyRelHour += $1 * $2; @@ -348,7 +346,7 @@ relunit : tUNUMBER tYEAR_UNIT { yyRelHour += $1 * $2; } | tHOUR_UNIT { - yyRelHour++; + yyRelHour += $1; } | tUNUMBER tMINUTE_UNIT { yyRelMinutes += $1 * $2; @@ -357,7 +355,7 @@ relunit : tUNUMBER tYEAR_UNIT { yyRelMinutes += $1 * $2; } | tMINUTE_UNIT { - yyRelMinutes++; + yyRelMinutes += $1; } | tUNUMBER tSEC_UNIT { yyRelSeconds += $1 * $2; @@ -366,7 +364,7 @@ relunit : tUNUMBER tYEAR_UNIT { yyRelSeconds += $1 * $2; } | tSEC_UNIT { - yyRelSeconds++; + yyRelSeconds += $1; } ; @@ -572,7 +570,7 @@ static TABLE const MilitaryTable[] = { -static int yyerror (unused const char *s) +static int yyerror (MAYBE_UNUSED const char *s) { return 0; } @@ -925,11 +923,8 @@ time_t get_date (const char *p, const time_t *now) #if defined (TEST) -/* ARGSUSED */ int -main (ac, av) - int ac; - char *av[]; +main(void) { char buff[MAX_BUFF_LEN + 1]; time_t d; diff --git a/lib/getdef.c b/lib/getdef.c index dcd1fe72..ef2ae1f0 100644 --- a/lib/getdef.c +++ b/lib/getdef.c @@ -13,6 +13,7 @@ #include "prototypes.h" #include "defines.h" +#include #include #include #include @@ -20,8 +21,13 @@ #ifdef USE_ECONF #include #endif + +#include "alloc.h" #include "getdef.h" #include "shadowlog_internal.h" +#include "string/sprintf.h" + + /* * A configuration item definition. */ @@ -33,7 +39,6 @@ struct itemdef { #define PAMDEFS \ {"CHFN_AUTH", NULL}, \ {"CHSH_AUTH", NULL}, \ - {"CRACKLIB_DICTPATH", NULL}, \ {"ENV_HZ", NULL}, \ {"ENVIRON_FILE", NULL}, \ {"ENV_TZ", NULL}, \ @@ -132,10 +137,8 @@ static struct itemdef def_table[] = { #ifndef USE_PAM PAMDEFS #endif -#ifdef USE_SYSLOG {"SYSLOG_SG_ENAB", NULL}, {"SYSLOG_SU_ENAB", NULL}, -#endif #ifdef WITH_TCB {"TCB_AUTH_GROUP", NULL}, {"TCB_SYMLINKS", NULL}, @@ -173,7 +176,7 @@ static const char* def_fname = LOGINDEFS; /* login config defs file */ static bool def_loaded = false; /* are defs already loaded? */ /* local function prototypes */ -static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *); +static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *, const char *); static void def_load (void); @@ -192,8 +195,8 @@ static void def_load (void); def_load (); } - d = def_find (item); - return ((NULL == d)? (const char *) NULL : d->value); + d = def_find (item, NULL); + return (NULL == d) ? NULL : d->value; } @@ -211,7 +214,7 @@ bool getdef_bool (const char *item) def_load (); } - d = def_find (item); + d = def_find (item, NULL); if ((NULL == d) || (NULL == d->value)) { return false; } @@ -237,21 +240,21 @@ int getdef_num (const char *item, int dflt) def_load (); } - d = def_find (item); + d = def_find (item, NULL); if ((NULL == d) || (NULL == d->value)) { return dflt; } - if ( (getlong (d->value, &val) == 0) + if ( (getlong(d->value, &val) == -1) || (val > INT_MAX) - || (val < INT_MIN)) { + || (val < -1)) { fprintf (shadow_logfd, _("configuration error - cannot parse %s value: '%s'"), item, d->value); return dflt; } - return (int) val; + return val; } @@ -272,12 +275,12 @@ unsigned int getdef_unum (const char *item, unsigned int dflt) def_load (); } - d = def_find (item); + d = def_find (item, NULL); if ((NULL == d) || (NULL == d->value)) { return dflt; } - if ( (getlong (d->value, &val) == 0) + if ( (getlong(d->value, &val) == -1) || (val < 0) || (val > INT_MAX)) { fprintf (shadow_logfd, @@ -286,7 +289,7 @@ unsigned int getdef_unum (const char *item, unsigned int dflt) return dflt; } - return (unsigned int) val; + return val; } @@ -307,12 +310,12 @@ long getdef_long (const char *item, long dflt) def_load (); } - d = def_find (item); + d = def_find (item, NULL); if ((NULL == d) || (NULL == d->value)) { return dflt; } - if (getlong (d->value, &val) == 0) { + if (getlong(d->value, &val) == -1 || val < -1) { fprintf (shadow_logfd, _("configuration error - cannot parse %s value: '%s'"), item, d->value); @@ -339,12 +342,12 @@ unsigned long getdef_ulong (const char *item, unsigned long dflt) def_load (); } - d = def_find (item); + d = def_find (item, NULL); if ((NULL == d) || (NULL == d->value)) { return dflt; } - if (getulong (d->value, &val) == 0) { + if (getulong(d->value, &val) == -1) { fprintf (shadow_logfd, _("configuration error - cannot parse %s value: '%s'"), item, d->value); @@ -359,7 +362,7 @@ unsigned long getdef_ulong (const char *item, unsigned long dflt) * (also used when loading the initial defaults) */ -int putdef_str (const char *name, const char *value) +int putdef_str (const char *name, const char *value, const char *srcfile) { struct itemdef *d; char *cp; @@ -372,10 +375,9 @@ int putdef_str (const char *name, const char *value) * Locate the slot to save the value. If this parameter * is unknown then "def_find" will print an err message. */ - d = def_find (name); - if (NULL == d) { + d = def_find (name, srcfile); + if (NULL == d) return -1; - } /* * Save off the value. @@ -399,9 +401,12 @@ int putdef_str (const char *name, const char *value) * * Search through a table of configurable items to locate the * specified configuration option. + * + * If srcfile is not NULL, and the item is not found, then report an error saying + * the unknown item was used in this file. */ -static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *name) +static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *name, const char *srcfile) { struct itemdef *ptr; @@ -427,10 +432,11 @@ static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *name) fprintf (shadow_logfd, _("configuration error - unknown item '%s' (notify administrator)\n"), name); - SYSLOG ((LOG_CRIT, "unknown configuration item `%s'", name)); + if (srcfile != NULL) + SYSLOG ((LOG_CRIT, "shadow: unknown configuration item '%s' in '%s'", name, srcfile)); out: - return (struct itemdef *) NULL; + return NULL; } /* @@ -442,21 +448,12 @@ out: void setdef_config_file (const char* file) { #ifdef USE_ECONF - size_t len; - char* cp; + char *cp; - len = strlen(file) + strlen(sysconfdir) + 2; - cp = malloc(len); - if (cp == NULL) - exit (13); - snprintf(cp, len, "%s/%s", file, sysconfdir); + xasprintf(&cp, "%s/%s", file, sysconfdir); sysconfdir = cp; #ifdef VENDORDIR - len = strlen(file) + strlen(vendordir) + 2; - cp = malloc(len); - if (cp == NULL) - exit (13); - snprintf(cp, len, "%s/%s", file, vendordir); + xasprintf(&cp, "%s/%s", file, vendordir); vendordir = cp; #endif #else @@ -470,18 +467,13 @@ void setdef_config_file (const char* file) * Loads the user-configured options from the default configuration file */ +#ifdef USE_ECONF static void def_load (void) { -#ifdef USE_ECONF econf_file *defs_file = NULL; econf_err error; char **keys; size_t key_number; -#else - int i; - FILE *fp; - char buf[1024], *name, *value, *s; -#endif /* * Set the initialized flag. @@ -489,8 +481,6 @@ static void def_load (void) */ def_loaded = true; -#ifdef USE_ECONF - error = econf_readDirs (&defs_file, vendordir, sysconfdir, "login", "defs", " \t", "#"); if (error) { if (error == ECONF_NOFILE) @@ -510,7 +500,12 @@ static void def_load (void) for (size_t i = 0; i < key_number; i++) { char *value; - econf_getStringValue(defs_file, NULL, keys[i], &value); + error = econf_getStringValue(defs_file, NULL, keys[i], &value); + if (error) { + SYSLOG ((LOG_CRIT, "failed reading key %zu from econf [%s]", + i, econf_errString(error))); + exit (EXIT_FAILURE); + } /* * Store the value in def_table. @@ -519,12 +514,27 @@ static void def_load (void) * The error was already reported to the user and to * syslog. The tools will just use their default values. */ - (void)putdef_str (keys[i], value); + (void)putdef_str (keys[i], value, econf_getPath(defs_file)); + + free(value); } econf_free (keys); econf_free (defs_file); -#else +} +#else /* USE_ECONF */ +static void def_load (void) +{ + int i; + FILE *fp; + char buf[1024], *name, *value, *s; + + /* + * Set the initialized flag. + * (do it early to prevent recursion in putdef_str()) + */ + def_loaded = true; + /* * Open the configuration definitions file. */ @@ -542,12 +552,12 @@ static void def_load (void) /* * Go through all of the lines in the file. */ - while (fgets (buf, (int) sizeof (buf), fp) != NULL) { + while (fgets (buf, sizeof (buf), fp) != NULL) { /* * Trim trailing whitespace. */ - for (i = (int) strlen (buf) - 1; i >= 0; --i) { + for (i = (ptrdiff_t) strlen (buf) - 1; i >= 0; --i) { if (!isspace (buf[i])) { break; } @@ -577,7 +587,7 @@ static void def_load (void) * The error was already reported to the user and to * syslog. The tools will just use their default values. */ - (void)putdef_str (name, value); + (void)putdef_str (name, value, def_fname); } if (ferror (fp) != 0) { @@ -588,8 +598,8 @@ static void def_load (void) } (void) fclose (fp); -#endif } +#endif /* USE_ECONF */ #ifdef CKDEFS @@ -602,7 +612,7 @@ int main (int argc, char **argv) def_load (); for (i = 0; i < NUMDEFS; ++i) { - d = def_find (def_table[i].name); + d = def_find (def_table[i].name, NULL); if (NULL == d) { printf ("error - lookup '%s' failed\n", def_table[i].name); diff --git a/lib/getdef.h b/lib/getdef.h index 2bd3fc5f..f55e28b7 100644 --- a/lib/getdef.h +++ b/lib/getdef.h @@ -16,7 +16,7 @@ extern int getdef_num (const char *, int); extern unsigned long getdef_ulong (const char *, unsigned long); extern unsigned int getdef_unum (const char *, unsigned int); extern /*@observer@*/ /*@null@*/const char *getdef_str (const char *); -extern int putdef_str (const char *, const char *); +extern int putdef_str (const char *, const char *, const char *); extern void setdef_config_file (const char* file); /* default UMASK value if not specified in /etc/login.defs */ diff --git a/libmisc/getgr_nam_gid.c b/lib/getgr_nam_gid.c similarity index 88% rename from libmisc/getgr_nam_gid.c rename to lib/getgr_nam_gid.c index 5294f509..6d625979 100644 --- a/libmisc/getgr_nam_gid.c +++ b/lib/getgr_nam_gid.c @@ -23,7 +23,7 @@ */ extern /*@only@*//*@null@*/struct group *getgr_nam_gid (/*@null@*/const char *grname) { - long long int gid; + long long gid; char *endptr; if (NULL == grname) { @@ -31,12 +31,12 @@ extern /*@only@*//*@null@*/struct group *getgr_nam_gid (/*@null@*/const char *gr } errno = 0; - gid = strtoll (grname, &endptr, 10); + gid = strtoll(grname, &endptr, 10); if ( ('\0' != *grname) && ('\0' == *endptr) - && (ERANGE != errno) + && (0 == errno) && (/*@+longintegral@*/gid == (gid_t)gid)/*@=longintegral@*/) { - return xgetgrgid ((gid_t) gid); + return xgetgrgid (gid); } return xgetgrnam (grname); } diff --git a/lib/getlong.c b/lib/getlong.c index ec4aa54d..4f393fe3 100644 --- a/lib/getlong.c +++ b/lib/getlong.c @@ -4,33 +4,33 @@ * SPDX-License-Identifier: BSD-3-Clause */ + #include #ident "$Id$" #include #include + #include "prototypes.h" + /* * getlong - extract a long integer provided by the numstr string in *result * * It supports decimal, hexadecimal or octal representations. - * - * Returns 0 on failure, 1 on success. */ -int getlong (const char *numstr, /*@out@*/long int *result) +int +getlong(const char *restrict numstr, long *restrict result) { - long val; - char *endptr; + char *endptr; + long val; errno = 0; - val = strtol (numstr, &endptr, 0); - if (('\0' == *numstr) || ('\0' != *endptr) || (ERANGE == errno)) { - return 0; - } + val = strtol(numstr, &endptr, 0); + if (('\0' == *numstr) || ('\0' != *endptr) || (0 != errno)) + return -1; *result = val; - return 1; + return 0; } - diff --git a/lib/getrange.c b/lib/getrange.c new file mode 100644 index 00000000..03b0a913 --- /dev/null +++ b/lib/getrange.c @@ -0,0 +1,94 @@ +/* + * SPDX-FileCopyrightText: 2008 , Nicolas François + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include + +#ident "$Id: $" + +#include +#include + +#include "atoi/strtou_noneg.h" +#include "defines.h" +#include "prototypes.h" + + +/* + * Parse a range and indicate if the range is valid. + * Valid ranges are in the form: + * -> min=max=long has_min has_max + * - -> max=long !has_min has_max + * - -> min=long has_min !has_max + * - -> min=long1 max=long2 has_min has_max + */ +int +getrange(const char *range, + unsigned long *min, bool *has_min, + unsigned long *max, bool *has_max) +{ + char *endptr; + unsigned long n; + + if (NULL == range) + return -1; + + if ('-' == range[0]) { + if (!isdigit(range[1])) + return -1; + + errno = 0; + n = strtoul_noneg(&range[1], &endptr, 10); + if (('\0' != *endptr) || (0 != errno)) + return -1; + + /* - */ + *has_min = false; + *has_max = true; + *max = n; + } else { + errno = 0; + n = strtoul_noneg(range, &endptr, 10); + if (endptr == range || 0 != errno) + return -1; + + switch (*endptr) { + case '\0': + /* */ + *has_min = true; + *has_max = true; + *min = n; + *max = n; + break; + case '-': + endptr++; + if ('\0' == *endptr) { + /* - */ + *has_min = true; + *has_max = false; + *min = n; + } else if (!isdigit (*endptr)) { + return -1; + } else { + *has_min = true; + *min = n; + errno = 0; + n = strtoul_noneg(endptr, &endptr, 10); + if ('\0' != *endptr || 0 != errno) + return -1; + + /* - */ + *has_max = true; + *max = n; + } + break; + default: + return -1; + } + } + + return 0; +} diff --git a/libmisc/gettime.c b/lib/gettime.c similarity index 87% rename from libmisc/gettime.c rename to lib/gettime.c index b2884022..19ebe4b3 100644 --- a/libmisc/gettime.c +++ b/lib/gettime.c @@ -11,6 +11,8 @@ #include #include #include + +#include "atoi/strtou_noneg.h" #include "defines.h" #include "prototypes.h" #include "shadowlog.h" @@ -22,7 +24,7 @@ * Epoch, 1970-01-01 00:00:00 +0000 (UTC), except that if the SOURCE_DATE_EPOCH * environment variable is exported it will use that instead. */ -/*@observer@*/time_t gettime () +/*@observer@*/time_t gettime (void) { char *endptr; char *source_date_epoch; @@ -37,9 +39,8 @@ return fallback; errno = 0; - epoch = strtoull (source_date_epoch, &endptr, 10); - if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) - || (errno != 0 && epoch == 0)) { + epoch = strtoull_noneg(source_date_epoch, &endptr, 10); + if (errno != 0) { fprintf (shadow_logfd, _("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n"), strerror(errno)); @@ -55,13 +56,13 @@ fprintf (shadow_logfd, _("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to %lu but was found to be: %llu\n"), ULONG_MAX, epoch); - } else if (epoch > fallback) { + } else if ((time_t)epoch > fallback) { fprintf (shadow_logfd, _("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to the current time (%lu) but was found to be: %llu\n"), fallback, epoch); } else { /* Valid */ - return (time_t)epoch; + return epoch; } return fallback; diff --git a/lib/getulong.c b/lib/getulong.c index 33250e3a..c8628145 100644 --- a/lib/getulong.c +++ b/lib/getulong.c @@ -4,36 +4,34 @@ * SPDX-License-Identifier: BSD-3-Clause */ + #include #ident "$Id: getlong.c 2763 2009-04-23 09:57:03Z nekral-guest $" #include #include + +#include "atoi/strtou_noneg.h" #include "prototypes.h" + /* * getulong - extract an unsigned long integer provided by the numstr string in *result * * It supports decimal, hexadecimal or octal representations. - * - * Returns 0 on failure, 1 on success. */ -int getulong (const char *numstr, /*@out@*/unsigned long int *result) +int +getulong(const char *restrict numstr, unsigned long *restrict result) { - unsigned long int val; - char *endptr; + char *endptr; + unsigned long val; errno = 0; - val = strtoul (numstr, &endptr, 0); - if ( ('\0' == *numstr) - || ('\0' != *endptr) - || (ERANGE == errno) - ) { - return 0; - } + val = strtoul_noneg(numstr, &endptr, 0); + if (('\0' == *numstr) || ('\0' != *endptr) || (0 != errno)) + return -1; *result = val; - return 1; + return 0; } - diff --git a/lib/groupio.c b/lib/groupio.c index 357a30eb..7b9d45f2 100644 --- a/lib/groupio.c +++ b/lib/groupio.c @@ -15,12 +15,14 @@ #include #include +#include "alloc.h" #include "prototypes.h" #include "defines.h" #include "commonio.h" #include "getdef.h" #include "groupio.h" + static /*@null@*/struct commonio_entry *merge_group_entries ( /*@null@*/ /*@returned@*/struct commonio_entry *gr1, /*@null@*/struct commonio_entry *gr2); @@ -34,7 +36,8 @@ static /*@null@*/ /*@only@*/void *group_dup (const void *ent) return __gr_dup (gr); } -static void group_free (/*@out@*/ /*@only@*/void *ent) +static void +group_free(/*@only@*/void *ent) { struct group *gr = ent; @@ -50,7 +53,7 @@ static const char *group_getname (const void *ent) static void *group_parse (const char *line) { - return (void *) sgetgrent (line); + return sgetgrent (line); } static int group_put (const void *ent, FILE * file) @@ -159,7 +162,7 @@ int gr_open (int mode) int gr_update (const struct group *gr) { - return commonio_update (&group_db, (const void *) gr); + return commonio_update (&group_db, gr); } int gr_remove (const char *name) @@ -209,17 +212,25 @@ void __gr_del_entry (const struct commonio_entry *ent) static int gr_cmp (const void *p1, const void *p2) { + const struct commonio_entry *const *ce1; + const struct commonio_entry *const *ce2; + const struct group *g1, *g2; gid_t u1, u2; - if ((*(struct commonio_entry **) p1)->eptr == NULL) { + ce1 = p1; + g1 = (*ce1)->eptr; + if (g1 == NULL) { return 1; } - if ((*(struct commonio_entry **) p2)->eptr == NULL) { + + ce2 = p2; + g2 = (*ce2)->eptr; + if (g2 == NULL) { return -1; } - u1 = ((struct group *) (*(struct commonio_entry **) p1)->eptr)->gr_gid; - u2 = ((struct group *) (*(struct commonio_entry **) p2)->eptr)->gr_gid; + u1 = g1->gr_gid; + u2 = g2->gr_gid; if (u1 < u2) { return -1; @@ -247,8 +258,8 @@ static int group_open_hook (void) for (gr1 = group_db.head; NULL != gr1; gr1 = gr1->next) { for (gr2 = gr1->next; NULL != gr2; gr2 = gr2->next) { - struct group *g1 = (struct group *)gr1->eptr; - struct group *g2 = (struct group *)gr2->eptr; + struct group *g1 = gr1->eptr; + struct group *g2 = gr2->eptr; if (NULL != g1 && NULL != g2 && 0 == strcmp (g1->gr_name, g2->gr_name) && @@ -291,32 +302,28 @@ static /*@null@*/struct commonio_entry *merge_group_entries ( /*@null@*/ /*@returned@*/struct commonio_entry *gr1, /*@null@*/struct commonio_entry *gr2) { - struct group *gptr1; - struct group *gptr2; - char **new_members; - size_t members = 0; - char *new_line; - size_t new_line_len, i; + char *new_line; + char **new_members; + size_t i; + size_t members = 0; + struct group *gptr1; + struct group *gptr2; + if (NULL == gr2 || NULL == gr1) { errno = EINVAL; return NULL; } - gptr1 = (struct group *)gr1->eptr; - gptr2 = (struct group *)gr2->eptr; + gptr1 = gr1->eptr; + gptr2 = gr2->eptr; if (NULL == gptr2 || NULL == gptr1) { errno = EINVAL; return NULL; } /* Concatenate the 2 lines */ - new_line_len = strlen (gr1->line) + strlen (gr2->line) +1; - new_line = (char *)malloc (new_line_len + 1); - if (NULL == new_line) { - errno = ENOMEM; + if (asprintf(&new_line, "%s\n%s", gr1->line, gr2->line) == -1) return NULL; - } - snprintf(new_line, new_line_len + 1, "%s\n%s", gr1->line, gr2->line); /* Concatenate the 2 list of members */ for (i=0; NULL != gptr1->gr_mem[i]; i++); @@ -333,10 +340,9 @@ static /*@null@*/struct commonio_entry *merge_group_entries ( members++; } } - new_members = (char **)calloc ( (members+1), sizeof(char*) ); + new_members = CALLOC (members + 1, char *); if (NULL == new_members) { - free (new_line); - errno = ENOMEM; + free(new_line); return NULL; } for (i=0; NULL != gptr1->gr_mem[i]; i++) { @@ -377,7 +383,7 @@ static int split_groups (unsigned int max_members) struct commonio_entry *gr; for (gr = group_db.head; NULL != gr; gr = gr->next) { - struct group *gptr = (struct group *)gr->eptr; + struct group *gptr = gr->eptr; struct commonio_entry *new; struct group *new_gptr; unsigned int members = 0; @@ -395,9 +401,8 @@ static int split_groups (unsigned int max_members) continue; } - new = (struct commonio_entry *) malloc (sizeof *new); + new = MALLOC(1, struct commonio_entry); if (NULL == new) { - errno = ENOMEM; return 0; } new->eptr = group_dup(gr->eptr); @@ -406,7 +411,7 @@ static int split_groups (unsigned int max_members) errno = ENOMEM; return 0; } - new_gptr = (struct group *)new->eptr; + new_gptr = new->eptr; new->line = NULL; new->changed = true; diff --git a/lib/groupmem.c b/lib/groupmem.c index c858b721..69d4435b 100644 --- a/lib/groupmem.c +++ b/lib/groupmem.c @@ -12,6 +12,8 @@ #ident "$Id$" +#include "alloc.h" +#include "memzero.h" #include "prototypes.h" #include "defines.h" #include "groupio.h" @@ -21,12 +23,11 @@ struct group *gr; int i; - gr = (struct group *) malloc (sizeof *gr); + gr = CALLOC(1, struct group); if (NULL == gr) { return NULL; } /* The libc might define other fields. They won't be copied. */ - memset (gr, 0, sizeof *gr); gr->gr_gid = grent->gr_gid; /*@-mustfreeonly@*/ gr->gr_name = strdup (grent->gr_name); @@ -46,7 +47,7 @@ for (i = 0; grent->gr_mem[i]; i++); /*@-mustfreeonly@*/ - gr->gr_mem = (char **) malloc ((i + 1) * sizeof (char *)); + gr->gr_mem = MALLOC(i + 1, char *); /*@=mustfreeonly@*/ if (NULL == gr->gr_mem) { gr_free(gr); @@ -76,7 +77,8 @@ void gr_free_members (struct group *grent) } } -void gr_free (/*@out@*/ /*@only@*/struct group *grent) +void +gr_free(/*@only@*/struct group *grent) { free (grent->gr_name); if (NULL != grent->gr_passwd) { @@ -86,33 +88,3 @@ void gr_free (/*@out@*/ /*@only@*/struct group *grent) gr_free_members(grent); free (grent); } - -bool gr_append_member(struct group *grp, char *member) -{ - int i; - - if (NULL == grp->gr_mem || grp->gr_mem[0] == NULL) { - grp->gr_mem = (char **)malloc(2 * sizeof(char *)); - if (!grp->gr_mem) { - return false; - } - grp->gr_mem[0] = strdup(member); - if (!grp->gr_mem[0]) { - return false; - } - grp->gr_mem[1] = NULL; - return true; - } - - for (i = 0; grp->gr_mem[i]; i++) ; - grp->gr_mem = realloc(grp->gr_mem, (i + 2) * sizeof(char *)); - if (NULL == grp->gr_mem) { - return false; - } - grp->gr_mem[i] = strdup(member); - if (NULL == grp->gr_mem[i]) { - return false; - } - grp->gr_mem[i + 1] = NULL; - return true; -} diff --git a/lib/gshadow.c b/lib/gshadow.c index 2e129230..3c71bea4 100644 --- a/lib/gshadow.c +++ b/lib/gshadow.c @@ -15,8 +15,12 @@ #ident "$Id$" #include +#include + +#include "alloc.h" #include "prototypes.h" #include "defines.h" + static /*@null@*/FILE *shadow; static /*@null@*//*@only@*/char **members = NULL; static size_t nmembers = 0; @@ -26,34 +30,6 @@ static struct sgrp sgroup; #define FIELDS 4 -#ifdef USE_NIS -static bool nis_used; -static bool nis_ignore; -static enum { native, start, middle, native2 } nis_state; -static bool nis_bound; -static char *nis_domain; -static char *nis_key; -static int nis_keylen; -static char *nis_val; -static int nis_vallen; - -#define IS_NISCHAR(c) ((c)=='+') -#endif - -#ifdef USE_NIS -/* - * bind_nis - bind to NIS server - */ - -static int bind_nis (void) -{ - if (yp_get_default_domain (&nis_domain)) - return -1; - - nis_bound = true; - return 0; -} -#endif static /*@null@*/char **build_list (char *s, char **list[], size_t * nlist) { @@ -62,21 +38,16 @@ static /*@null@*/char **build_list (char *s, char **list[], size_t * nlist) while (s != NULL && *s != '\0') { size = (nelem + 1) * sizeof (ptr); - ptr = realloc (*list, size); + ptr = REALLOC(*list, size, char *); if (NULL != ptr) { - ptr[nelem] = s; + ptr[nelem] = strsep(&s, ","); nelem++; *list = ptr; *nlist = nelem; - s = strchr (s, ','); - if (NULL != s) { - *s = '\0'; - s++; - } } } size = (nelem + 1) * sizeof (ptr); - ptr = realloc (*list, size); + ptr = REALLOC(*list, size, char *); if (NULL != ptr) { ptr[nelem] = NULL; *list = ptr; @@ -86,9 +57,6 @@ static /*@null@*/char **build_list (char *s, char **list[], size_t * nlist) void setsgent (void) { -#ifdef USE_NIS - nis_state = native; -#endif if (NULL != shadow) { rewind (shadow); } else { @@ -102,7 +70,7 @@ void endsgent (void) (void) fclose (shadow); } - shadow = (FILE *) 0; + shadow = NULL; } /*@observer@*//*@null@*/struct sgrp *sgetsgent (const char *string) @@ -116,7 +84,7 @@ void endsgent (void) size_t len = strlen (string) + 1; if (len > sgrbuflen) { - char *buf = (char *) realloc (sgrbuf, sizeof (char) * len); + char *buf = REALLOC(sgrbuf, len, char); if (NULL == buf) { return NULL; } @@ -124,8 +92,7 @@ void endsgent (void) sgrbuflen = len; } - strncpy (sgrbuf, string, len); - sgrbuf[len-1] = '\0'; + strcpy (sgrbuf, string); cp = strrchr (sgrbuf, '\n'); if (NULL != cp) { @@ -137,30 +104,16 @@ void endsgent (void) * all 4 of them and save the starting addresses in fields[]. */ - for (cp = sgrbuf, i = 0; (i < FIELDS) && (NULL != cp); i++) { - fields[i] = cp; - cp = strchr (cp, ':'); - if (NULL != cp) { - *cp++ = '\0'; - } - } + 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)) { -#ifdef USE_NIS - if (!IS_NISCHAR (fields[0][0])) { - return 0; - } else { - nis_used = true; - } -#else + if (NULL != cp || i != FIELDS) return 0; -#endif - } sgroup.sg_name = fields[0]; sgroup.sg_passwd = fields[1]; @@ -195,7 +148,7 @@ void endsgent (void) char *cp; if (0 == buflen) { - buf = (char *) malloc (BUFSIZ); + buf = MALLOC(BUFSIZ, char); if (NULL == buf) { return NULL; } @@ -206,17 +159,12 @@ void endsgent (void) return NULL; } -#ifdef USE_NIS - while (fgetsx (buf, (int) buflen, fp) == buf) -#else - if (fgetsx (buf, (int) buflen, fp) == buf) -#endif - { + if (fgetsx(buf, buflen, fp) == buf) { while ( ((cp = strrchr (buf, '\n')) == NULL) && (feof (fp) == 0)) { size_t len; - cp = (char *) realloc (buf, buflen*2); + cp = REALLOC(buf, buflen * 2, char); if (NULL == cp) { return NULL; } @@ -234,11 +182,6 @@ void endsgent (void) if (NULL != cp) { *cp = '\0'; } -#ifdef USE_NIS - if (nis_ignore && IS_NISCHAR (buf[0])) { - continue; - } -#endif return (sgetsgent (buf)); } return NULL; @@ -250,96 +193,10 @@ void endsgent (void) /*@observer@*//*@null@*/struct sgrp *getsgent (void) { -#ifdef USE_NIS - bool nis_1_group = false; - struct sgrp *val; -#endif if (NULL == shadow) { setsgent (); } - -#ifdef USE_NIS - again: - /* - * See if we are reading from the local file. - */ - - if (nis_state == native || nis_state == native2) { - - /* - * Get the next entry from the shadow group file. Return - * NULL right away if there is none. - */ - - val = fgetsgent (shadow); - if (NULL == val) { - return 0; - } - - /* - * If this entry began with a NIS escape character, we have - * to see if this is just a single group, or if the entire - * map is being asked for. - */ - - if (IS_NISCHAR (val->sg_name[0])) { - if ('\0' != val->sg_name[1]) { - nis_1_group = true; - } else { - nis_state = start; - } - } - - /* - * If this isn't a NIS group and this isn't an escape to go - * use a NIS map, it must be a regular local group. - */ - - if (!nis_1_group && (nis_state != start)) { - return val; - } - - /* - * If this is an escape to use an NIS map, switch over to - * that bunch of code. - */ - - if (nis_state == start) { - goto again; - } - - /* - * NEEDSWORK. Here we substitute pieces-parts of this entry. - */ - - return 0; - } else { - if (!nis_bound) { - if (bind_nis ()) { - nis_state = native2; - goto again; - } - } - if (nis_state == start) { - if (yp_first (nis_domain, "gshadow.byname", &nis_key, - &nis_keylen, &nis_val, &nis_vallen)) { - nis_state = native2; - goto again; - } - nis_state = middle; - } else if (nis_state == middle) { - if (yp_next (nis_domain, "gshadow.byname", nis_key, - nis_keylen, &nis_key, &nis_keylen, - &nis_val, &nis_vallen)) { - nis_state = native2; - goto again; - } - } - return sgetsgent (nis_val); - } -#else return (fgetsgent (shadow)); -#endif } /* @@ -350,63 +207,13 @@ void endsgent (void) { struct sgrp *sgrp; -#ifdef USE_NIS - static char save_name[16]; - int nis_disabled = 0; -#endif - setsgent (); -#ifdef USE_NIS - if (nis_used) { - again: - - /* - * Search the gshadow.byname map for this group. - */ - - if (!nis_bound) { - bind_nis (); - } - - if (nis_bound) { - char *cp; - - if (yp_match (nis_domain, "gshadow.byname", name, - strlen (name), &nis_val, - &nis_vallen) == 0) { - cp = strchr (nis_val, '\n'); - if (NULL != cp) { - *cp = '\0'; - } - - nis_state = middle; - sgrp = sgetsgent (nis_val); - if (NULL != sgrp) { - strcpy (save_name, sgrp->sg_name); - nis_key = save_name; - nis_keylen = strlen (save_name); - } - return sgrp; - } - } - nis_state = native2; - } -#endif -#ifdef USE_NIS - if (nis_used) { - nis_ignore = true; - nis_disabled = true; - } -#endif - while ((sgrp = getsgent ()) != (struct sgrp *) 0) { + while ((sgrp = getsgent ()) != NULL) { if (strcmp (name, sgrp->sg_name) == 0) { break; } } -#ifdef USE_NIS - nis_ignore = false; -#endif return sgrp; } @@ -437,7 +244,7 @@ int putsgent (const struct sgrp *sgrp, FILE * fp) size += strlen (sgrp->sg_mem[i]) + 1; } - buf = malloc (size); + buf = MALLOC(size, char); if (NULL == buf) { return -1; } @@ -502,5 +309,5 @@ int putsgent (const struct sgrp *sgrp, FILE * fp) return 0; } #else -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /*} SHADOWGRP */ diff --git a/libmisc/hushed.c b/lib/hushed.c similarity index 84% rename from libmisc/hushed.c rename to lib/hushed.c index 84b2f550..86c224f3 100644 --- a/libmisc/hushed.c +++ b/lib/hushed.c @@ -18,6 +18,9 @@ #include "defines.h" #include "prototypes.h" #include "getdef.h" +#include "string/sprintf.h" + + /* * hushed - determine if a user receives login messages * @@ -26,11 +29,11 @@ */ bool hushed (const char *username) { - struct passwd *pw; - const char *hushfile; - char buf[BUFSIZ]; - bool found; - FILE *fp; + bool found; + char buf[BUFSIZ]; + FILE *fp; + const char *hushfile; + struct passwd *pw; /* * Get the name of the file to use. If this option is not @@ -53,7 +56,7 @@ bool hushed (const char *username) */ if (hushfile[0] != '/') { - (void) snprintf (buf, sizeof (buf), "%s/%s", pw->pw_dir, hushfile); + SNPRINTF(buf, "%s/%s", pw->pw_dir, hushfile); return (access (buf, F_OK) == 0); } @@ -66,7 +69,7 @@ bool hushed (const char *username) if (NULL == fp) { return false; } - for (found = false; !found && (fgets (buf, (int) sizeof buf, fp) == buf);) { + for (found = false; !found && (fgets (buf, sizeof buf, fp) == buf);) { buf[strcspn (buf, "\n")] = '\0'; found = (strcmp (buf, pw->pw_shell) == 0) || (strcmp (buf, pw->pw_name) == 0); diff --git a/libmisc/idmapping.c b/lib/idmapping.c similarity index 85% rename from libmisc/idmapping.c rename to lib/idmapping.c index 30eb89fd..2af2c202 100644 --- a/libmisc/idmapping.c +++ b/lib/idmapping.c @@ -11,13 +11,18 @@ #include #include #include +#include + +#include "alloc.h" #include "prototypes.h" +#include "string/stpeprintf.h" #include "idmapping.h" #if HAVE_SYS_CAPABILITY_H #include #include #endif #include "shadowlog.h" +#include "sizeof.h" struct map_range *get_map_ranges(int ranges, int argc, char **argv) { @@ -29,21 +34,12 @@ struct map_range *get_map_ranges(int ranges, int argc, char **argv) return NULL; } - if (ranges != ((argc + 2) / 3)) { + if (ranges * 3 != argc) { fprintf(log_get_logfd(), "%s: ranges: %u is wrong for argc: %d\n", log_get_progname(), ranges, argc); return NULL; } - if ((ranges * 3) > argc) { - fprintf(log_get_logfd(), "ranges: %u argc: %d\n", - ranges, argc); - fprintf(log_get_logfd(), - _( "%s: Not enough arguments to form %u mappings\n"), - log_get_progname(), ranges); - return NULL; - } - - mappings = calloc(ranges, sizeof(*mappings)); + mappings = CALLOC(ranges, struct map_range); if (!mappings) { fprintf(log_get_logfd(), _( "%s: Memory allocation failure\n"), log_get_progname()); @@ -53,15 +49,15 @@ struct map_range *get_map_ranges(int ranges, int argc, char **argv) /* Gather up the ranges from the command line */ mapping = mappings; for (idx = 0, argidx = 0; idx < ranges; idx++, argidx += 3, mapping++) { - if (!getulong(argv[argidx + 0], &mapping->upper)) { + if (getulong(argv[argidx + 0], &mapping->upper) == -1) { free(mappings); return NULL; } - if (!getulong(argv[argidx + 1], &mapping->lower)) { + if (getulong(argv[argidx + 1], &mapping->lower) == -1) { free(mappings); return NULL; } - if (!getulong(argv[argidx + 2], &mapping->count)) { + if (getulong(argv[argidx + 2], &mapping->count) == -1) { free(mappings); return NULL; } @@ -99,7 +95,7 @@ struct map_range *get_map_ranges(int ranges, int argc, char **argv) * 8bytes --> 21 ascii estimated -> 18446744073709551616 (20 real) * 16bytes --> 39 ascii estimated -> 340282366920938463463374607431768211456 (39 real) */ -#define ULONG_DIGITS ((((sizeof(unsigned long) * CHAR_BIT) + 9)/10)*3) +#define ULONG_DIGITS (((WIDTHOF(unsigned long) + 9)/10)*3) #if HAVE_SYS_CAPABILITY_H static inline bool maps_lower_root(int cap, int ranges, const struct map_range *mappings) @@ -141,7 +137,7 @@ void write_mapping(int proc_dir_fd, int ranges, const struct map_range *mappings int idx; const struct map_range *mapping; size_t bufsize; - char *buf, *pos; + char *buf, *pos, *end; int fd; #if HAVE_SYS_CAPABILITY_H @@ -172,7 +168,7 @@ void write_mapping(int proc_dir_fd, int ranges, const struct map_range *mappings } /* Lockdown new{g,u}idmap by dropping all unneeded capabilities. */ - memset(data, 0, sizeof(data)); + bzero(data, sizeof(data)); data[0].effective = CAP_TO_MASK(cap); /* * When uid 0 from the ancestor userns is supposed to be mapped into @@ -187,23 +183,22 @@ void write_mapping(int proc_dir_fd, int ranges, const struct map_range *mappings } #endif - bufsize = ranges * ((ULONG_DIGITS + 1) * 3); - pos = buf = xmalloc(bufsize); + bufsize = (ULONG_DIGITS + 1) * 3 * ranges + 1; + pos = buf = XMALLOC(bufsize, char); + end = buf + bufsize; /* Build the mapping command */ mapping = mappings; for (idx = 0; idx < ranges; idx++, mapping++) { /* Append this range to the string that will be written */ - int written = snprintf(pos, bufsize - (pos - buf), - "%lu %lu %lu\n", - mapping->upper, - mapping->lower, - mapping->count); - if ((written <= 0) || (written >= (bufsize - (pos - buf)))) { - fprintf(log_get_logfd(), _("%s: snprintf failed!\n"), log_get_progname()); - exit(EXIT_FAILURE); - } - pos += written; + pos = stpeprintf(pos, end, "%lu %lu %lu\n", + mapping->upper, + mapping->lower, + mapping->count); + } + if (pos == end || pos == NULL) { + fprintf(log_get_logfd(), _("%s: stpeprintf failed!\n"), log_get_progname()); + exit(EXIT_FAILURE); } /* Write the mapping to the mapping file */ @@ -213,11 +208,15 @@ void write_mapping(int proc_dir_fd, int ranges, const struct map_range *mappings log_get_progname(), map_file, strerror(errno)); exit(EXIT_FAILURE); } - if (write(fd, buf, pos - buf) != (pos - buf)) { + if (write_full(fd, buf, pos - buf) == -1) { fprintf(log_get_logfd(), _("%s: write to %s failed: %s\n"), log_get_progname(), map_file, strerror(errno)); exit(EXIT_FAILURE); } - close(fd); + if (close(fd) != 0 && errno != EINTR) { + fprintf(log_get_logfd(), _("%s: closing %s failed: %s\n"), + log_get_progname(), map_file, strerror(errno)); + exit(EXIT_FAILURE); + } free(buf); } diff --git a/libmisc/idmapping.h b/lib/idmapping.h similarity index 100% rename from libmisc/idmapping.h rename to lib/idmapping.h diff --git a/libmisc/isexpired.c b/lib/isexpired.c similarity index 91% rename from libmisc/isexpired.c rename to lib/isexpired.c index ff203967..c275691f 100644 --- a/libmisc/isexpired.c +++ b/lib/isexpired.c @@ -15,11 +15,13 @@ #include #include -#include "prototypes.h" -#include "defines.h" #include #include +#include "adds.h" +#include "defines.h" +#include "prototypes.h" + #ident "$Id$" @@ -38,9 +40,9 @@ */ int isexpired (const struct passwd *pw, /*@null@*/const struct spwd *sp) { - long now; + long now; - now = (long) time ((time_t *) 0) / SCALE; + now = time(NULL) / DAY; if (NULL == sp) { return 0; @@ -72,7 +74,8 @@ int isexpired (const struct passwd *pw, /*@null@*/const struct spwd *sp) if ( (sp->sp_lstchg > 0) && (sp->sp_max >= 0) && (sp->sp_inact >= 0) - && (now >= (sp->sp_lstchg + sp->sp_max + sp->sp_inact))) { + && (now >= addsl(sp->sp_lstchg, sp->sp_max, sp->sp_inact))) + { return 2; } @@ -84,7 +87,7 @@ int isexpired (const struct passwd *pw, /*@null@*/const struct spwd *sp) if ( (-1 == sp->sp_lstchg) || (-1 == sp->sp_max) - || (sp->sp_max >= ((10000L * DAY) / SCALE))) { + || (sp->sp_max >= 10000)) { return 0; } @@ -94,9 +97,9 @@ int isexpired (const struct passwd *pw, /*@null@*/const struct spwd *sp) * the password has expired. */ - if (now >= (sp->sp_lstchg + sp->sp_max)) { + if (now >= addsl(sp->sp_lstchg, sp->sp_max)) return 1; - } + return 0; } diff --git a/libmisc/limits.c b/lib/limits.c similarity index 85% rename from libmisc/limits.c rename to lib/limits.c index fea85fe5..37a1676c 100644 --- a/libmisc/limits.c +++ b/lib/limits.c @@ -28,11 +28,8 @@ #include #include "getdef.h" #include "shadowlog.h" -#ifdef HAVE_SYS_RESOURCE_H #include -#define LIMITS -#endif -#ifdef LIMITS +#include "memzero.h" #ifndef LIMITS_FILE #define LIMITS_FILE "/etc/limits" #endif @@ -48,8 +45,10 @@ static int setrlimit_value (unsigned int resource, const char *value, unsigned int multiplier) { - struct rlimit rlim; - rlim_t limit; + char *endptr; + long l; + rlim_t limit; + struct rlimit rlim; /* The "-" is special, not belonging to a strange negative limit. * It is infinity, in a controlled way. @@ -63,18 +62,13 @@ static int setrlimit_value (unsigned int resource, * Also, we are limited to base 10 here (hex numbers will not * work with the limit string parser as is anyway) */ - char *endptr; - long longlimit = strtol (value, &endptr, 10); - if ((0 == longlimit) && (value == endptr)) { - /* No argument at all. No-op. - * FIXME: We could instead throw an error, though. - */ - return 0; - } - longlimit *= multiplier; - limit = (rlim_t)longlimit; - if (longlimit != limit) - { + errno = 0; + l = strtol(value, &endptr, 10); + + if (value == endptr || errno != 0) + return 0; // FIXME: We could instead throw an error, though. + + if (__builtin_mul_overflow(l, multiplier, &limit)) { /* FIXME: Again, silent error handling... * Wouldn't screaming make more sense? */ @@ -95,11 +89,11 @@ static int set_prio (const char *value) { long prio; - if ( (getlong (value, &prio) == 0) + if ( (getlong(value, &prio) == -1) || (prio != (int) prio)) { return 0; } - if (setpriority (PRIO_PROCESS, 0, (int) prio) != 0) { + if (setpriority (PRIO_PROCESS, 0, prio) != 0) { return LOGIN_ERROR_RLIMIT; } return 0; @@ -108,14 +102,14 @@ static int set_prio (const char *value) static int set_umask (const char *value) { - unsigned long int mask; + unsigned long mask; - if ( (getulong (value, &mask) == 0) + if ( (getulong(value, &mask) == -1) || (mask != (mode_t) mask)) { return 0; } - (void) umask ((mode_t) mask); + (void) umask (mask); return 0; } @@ -123,14 +117,9 @@ static int set_umask (const char *value) /* Counts the number of user logins and check against the limit */ static int check_logins (const char *name, const char *maxlogins) { -#ifdef USE_UTMPX - struct utmpx *ut; -#else /* !USE_UTMPX */ - struct utmp *ut; -#endif /* !USE_UTMPX */ unsigned long limit, count; - if (getulong (maxlogins, &limit) == 0) { + if (getulong(maxlogins, &limit) == -1) { return 0; } @@ -139,38 +128,8 @@ static int check_logins (const char *name, const char *maxlogins) return LOGIN_ERROR_LOGIN; } - count = 0; -#ifdef USE_UTMPX - setutxent (); - while ((ut = getutxent ())) -#else /* !USE_UTMPX */ - setutent (); - while ((ut = getutent ())) -#endif /* !USE_UTMPX */ - { - if (USER_PROCESS != ut->ut_type) { - continue; - } - if ('\0' == ut->ut_user[0]) { - continue; - } - if (strncmp (name, ut->ut_user, sizeof (ut->ut_user)) != 0) { - continue; - } - count++; - if (count > limit) { - break; - } - } -#ifdef USE_UTMPX - endutxent (); -#else /* !USE_UTMPX */ - endutent (); -#endif /* !USE_UTMPX */ - /* - * This is called after setutmp(), so the number of logins counted - * includes the user who is currently trying to log in. - */ + count = active_sessions_count(name, limit); + if (count > limit) { SYSLOG ((LOG_WARN, "Too many logins (max %lu) for %s\n", @@ -243,34 +202,26 @@ static int do_user_limits (const char *buf, const char *name) while ('\0' != *pp) { switch (*pp++) { -#ifdef RLIMIT_AS case 'a': case 'A': /* RLIMIT_AS - max address space (KB) */ retval |= setrlimit_value (RLIMIT_AS, pp, 1024); break; -#endif -#ifdef RLIMIT_CORE case 'c': case 'C': /* RLIMIT_CORE - max core file size (KB) */ retval |= setrlimit_value (RLIMIT_CORE, pp, 1024); break; -#endif -#ifdef RLIMIT_DATA case 'd': case 'D': /* RLIMIT_DATA - max data size (KB) */ retval |= setrlimit_value (RLIMIT_DATA, pp, 1024); break; -#endif -#ifdef RLIMIT_FSIZE case 'f': case 'F': /* RLIMIT_FSIZE - Maximum filesize (KB) */ retval |= setrlimit_value (RLIMIT_FSIZE, pp, 1024); break; -#endif #ifdef RLIMIT_NICE case 'i': case 'I': @@ -294,13 +245,11 @@ static int do_user_limits (const char *buf, const char *name) retval |= setrlimit_value (RLIMIT_MEMLOCK, pp, 1024); break; #endif -#ifdef RLIMIT_NOFILE case 'n': case 'N': /* RLIMIT_NOFILE - max number of open files */ retval |= setrlimit_value (RLIMIT_NOFILE, pp, 1); break; -#endif #ifdef RLIMIT_RTPRIO case 'o': case 'O': @@ -319,20 +268,16 @@ static int do_user_limits (const char *buf, const char *name) retval |= setrlimit_value (RLIMIT_RSS, pp, 1024); break; #endif -#ifdef RLIMIT_STACK case 's': case 'S': /* RLIMIT_STACK - max stack size (KB) */ retval |= setrlimit_value (RLIMIT_STACK, pp, 1024); break; -#endif -#ifdef RLIMIT_CPU case 't': case 'T': /* RLIMIT_CPU - max CPU time (MIN) */ retval |= setrlimit_value (RLIMIT_CPU, pp, 60); break; -#endif #ifdef RLIMIT_NPROC case 'u': case 'U': @@ -409,11 +354,11 @@ static int setup_user_limits (const char *uname) char tempbuf[1024]; /* init things */ - memzero (buf, sizeof (buf)); - memzero (name, sizeof (name)); - memzero (limits, sizeof (limits)); - memzero (deflimits, sizeof (deflimits)); - memzero (tempbuf, sizeof (tempbuf)); + MEMZERO(buf); + MEMZERO(name); + MEMZERO(limits); + MEMZERO(deflimits); + MEMZERO(tempbuf); /* start the checks */ fil = fopen (LIMITS_FILE, "r"); @@ -430,7 +375,7 @@ static int setup_user_limits (const char *uname) if (('#' == buf[0]) || ('\n' == buf[0])) { continue; } - memzero (tempbuf, sizeof (tempbuf)); + MEMZERO(tempbuf); /* a valid line should have a username, then spaces, * then limits * we allow the format: @@ -479,7 +424,6 @@ static int setup_user_limits (const char *uname) } return do_user_limits (limits, uname); } -#endif /* LIMITS */ static void setup_usergroups (const struct passwd *info) @@ -523,7 +467,6 @@ void setup_limits (const struct passwd *info) */ if (getdef_bool ("QUOTAS_ENAB")) { -#ifdef LIMITS if (info->pw_uid != 0) { if ((setup_user_limits (info->pw_name) & LOGIN_ERROR_LOGIN) != 0) { (void) fputs (_("Too many logins.\n"), log_get_logfd()); @@ -531,18 +474,18 @@ void setup_limits (const struct passwd *info) exit (EXIT_FAILURE); } } -#endif for (cp = info->pw_gecos; cp != NULL; cp = strchr (cp, ',')) { if (',' == *cp) { cp++; } if (strncmp (cp, "pri=", 4) == 0) { - long int inc; - if ( (getlong (cp + 4, &inc) == 1) + long inc; + + if ( (getlong(cp + 4, &inc) == 0) && (inc >= -20) && (inc <= 20)) { errno = 0; - if ( (nice ((int) inc) != -1) + if ( (nice (inc) != -1) || (0 != errno)) { continue; } @@ -556,10 +499,10 @@ void setup_limits (const struct passwd *info) continue; } if (strncmp (cp, "ulimit=", 7) == 0) { - long int blocks; - if ( (getlong (cp + 7, &blocks) == 0) + long blocks; + if ( (getlong(cp + 7, &blocks) == -1) || (blocks != (int) blocks) - || (set_filesize_limit ((int) blocks) != 0)) { + || (set_filesize_limit (blocks) != 0)) { SYSLOG ((LOG_WARN, "Can't set the ulimit for user %s", info->pw_name)); @@ -567,14 +510,15 @@ void setup_limits (const struct passwd *info) continue; } if (strncmp (cp, "umask=", 6) == 0) { - unsigned long int mask; - if ( (getulong (cp + 6, &mask) == 0) + unsigned long mask; + + if ( (getulong(cp + 6, &mask) == -1) || (mask != (mode_t) mask)) { SYSLOG ((LOG_WARN, "Can't set umask value for user %s", info->pw_name)); } else { - (void) umask ((mode_t) mask); + (void) umask (mask); } continue; @@ -584,6 +528,6 @@ void setup_limits (const struct passwd *info) } #else /* !USE_PAM */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !USE_PAM */ diff --git a/libmisc/list.c b/lib/list.c similarity index 80% rename from libmisc/list.c rename to lib/list.c index 9d7ec77b..9fc66089 100644 --- a/libmisc/list.c +++ b/lib/list.c @@ -11,6 +11,8 @@ #ident "$Id$" #include + +#include "alloc.h" #include "prototypes.h" #include "defines.h" /* @@ -20,7 +22,8 @@ * name, and if not present it is added to a freshly allocated * list of users. */ -/*@only@*/ /*@out@*/char **add_list (/*@returned@*/ /*@only@*/char **list, const char *member) +/*@only@*/char ** +add_list(/*@returned@*/ /*@only@*/char **list, const char *member) { int i; char **tmp; @@ -33,7 +36,7 @@ * pointer if it is present. */ - for (i = 0; list[i] != (char *) 0; i++) { + for (i = 0; list[i] != NULL; i++) { if (strcmp (list[i], member) == 0) { return list; } @@ -44,7 +47,7 @@ * old entries, and the new entries as well. */ - tmp = (char **) xmalloc ((i + 2) * sizeof member); + tmp = XMALLOC(i + 2, char *); /* * Copy the original list to the new list, then append the @@ -52,12 +55,12 @@ * is returned to the invoker. */ - for (i = 0; list[i] != (char *) 0; i++) { + for (i = 0; list[i] != NULL; i++) { tmp[i] = list[i]; } tmp[i] = xstrdup (member); - tmp[i+1] = (char *) 0; + tmp[i+1] = NULL; return tmp; } @@ -70,7 +73,8 @@ * list of users. */ -/*@only@*/ /*@out@*/char **del_list (/*@returned@*/ /*@only@*/char **list, const char *member) +/*@only@*/char ** +del_list(/*@returned@*/ /*@only@*/char **list, const char *member) { int i, j; char **tmp; @@ -83,7 +87,7 @@ * pointer if it is not present. */ - for (i = j = 0; list[i] != (char *) 0; i++) { + for (i = j = 0; list[i] != NULL; i++) { if (strcmp (list[i], member) != 0) { j++; } @@ -98,7 +102,7 @@ * old entries. */ - tmp = (char **) xmalloc ((j + 1) * sizeof member); + tmp = XMALLOC(j + 1, char *); /* * Copy the original list except the deleted members to the @@ -106,14 +110,14 @@ * is returned to the invoker. */ - for (i = j = 0; list[i] != (char *) 0; i++) { + for (i = j = 0; list[i] != NULL; i++) { if (strcmp (list[i], member) != 0) { tmp[j] = list[i]; j++; } } - tmp[j] = (char *) 0; + tmp[j] = NULL; return tmp; } @@ -124,7 +128,8 @@ * function with list of members, the list elements are not enforced to be * constant strings here. */ -/*@only@*/ /*@out@*/char **dup_list (char *const *list) +/*@only@*/char ** +dup_list(char *const *list) { int i; char **tmp; @@ -133,7 +138,7 @@ for (i = 0; NULL != list[i]; i++); - tmp = (char **) xmalloc ((i + 1) * sizeof (char *)); + tmp = XMALLOC(i + 1, char *); i = 0; while (NULL != *list) { @@ -142,7 +147,7 @@ list++; } - tmp[i] = (char *) 0; + tmp[i] = NULL; return tmp; } @@ -210,14 +215,14 @@ bool is_on_list (char *const *list, const char *member) * Allocate the array we're going to store the pointers into. */ - array = (char **) xmalloc (sizeof (char *) * i); + array = XMALLOC(i, char *); /* * Empty list is special - 0 members, not 1 empty member. --marekm */ if ('\0' == *members) { - *array = (char *) 0; + *array = NULL; free (members); return array; } @@ -227,18 +232,9 @@ bool is_on_list (char *const *list, const char *member) * array of pointers. */ - for (cp = members, i = 0;; i++) { - array[i] = cp; - cp2 = strchr (cp, ','); - if (NULL != cp2) { - *cp2 = '\0'; - cp2++; - cp = cp2; - } else { - array[i + 1] = (char *) 0; - break; - } - } + for (cp = members, i = 0; cp != NULL; i++) + array[i] = strsep(&cp, ","); + array[i] = NULL; /* * Return the new array of pointers diff --git a/lib/lockpw.c b/lib/lockpw.c index aaa317fd..15e7c8f4 100644 --- a/lib/lockpw.c +++ b/lib/lockpw.c @@ -81,5 +81,5 @@ int ulckpwdf (void) return (pw_unlock () && spw_unlock ())? 0 : -1; } #else -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif diff --git a/libmisc/log.c b/lib/log.c similarity index 74% rename from libmisc/log.c rename to lib/log.c index a220be0d..9f54d454 100644 --- a/libmisc/log.c +++ b/lib/log.c @@ -17,14 +17,18 @@ #include #include "defines.h" #include +#include "memzero.h" #include "prototypes.h" +#include "string/strncpy.h" +#include "string/strtcpy.h" + /* * dolastlog - create lastlog entry * * A "last login" entry is created for the user being logged in. The * UID is extracted from the global (struct passwd) entry and the - * TTY information is gotten from the (struct utmp). + * TTY information is gotten from the (struct utmpx). */ void dolastlog ( struct lastlog *ll, @@ -67,7 +71,7 @@ void dolastlog ( * the way we read the old one in. */ - if (read (fd, (void *) &newlog, sizeof newlog) != (ssize_t) sizeof newlog) { + if (read (fd, &newlog, sizeof newlog) != (ssize_t) sizeof newlog) { memzero (&newlog, sizeof newlog); } if (NULL != ll) { @@ -77,17 +81,29 @@ void dolastlog ( ll_time = newlog.ll_time; (void) time (&ll_time); newlog.ll_time = ll_time; - strncpy (newlog.ll_line, line, sizeof (newlog.ll_line) - 1); + STRTCPY(newlog.ll_line, line); #if HAVE_LL_HOST - strncpy (newlog.ll_host, host, sizeof (newlog.ll_host) - 1); + STRNCPY(newlog.ll_host, host); #endif if ( (lseek (fd, offset, SEEK_SET) != offset) - || (write (fd, (const void *) &newlog, sizeof newlog) != (ssize_t) sizeof newlog) - || (close (fd) != 0)) { - SYSLOG ((LOG_WARN, - "Can't write lastlog entry for UID %lu in %s.", - (unsigned long) pw->pw_uid, LASTLOG_FILE)); - (void) close (fd); + || (write_full(fd, &newlog, sizeof newlog) == -1)) { + goto err_write; } -} + if (close (fd) != 0 && errno != EINTR) { + goto err_close; + } + + return; + +err_write: + { + int saved_errno = errno; + (void) close (fd); + errno = saved_errno; + } +err_close: + SYSLOG ((LOG_WARN, + "Can't write lastlog entry for UID %lu in %s: %m", + (unsigned long) pw->pw_uid, LASTLOG_FILE)); +} diff --git a/lib/logind.c b/lib/logind.c new file mode 100644 index 00000000..ba7278ff --- /dev/null +++ b/lib/logind.c @@ -0,0 +1,52 @@ +/* + * SPDX-FileCopyrightText: 2023, Iker Pedrosa + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include + +#ident "$Id$" + +#include "attr.h" +#include "defines.h" +#include "prototypes.h" + +#include + +int get_session_host (char **out) +{ + char *host = NULL; + char *session = NULL; + int ret; + + ret = sd_pid_get_session (getpid(), &session); + if (ret < 0) { + return ret; + } + ret = sd_session_get_remote_host (session, &host); + if (ret < 0) { + goto done; + } + + *out = host; + +done: + free (session); + return ret; +} + +unsigned long active_sessions_count(const char *name, MAYBE_UNUSED unsigned long limit) +{ + struct passwd *pw; + unsigned long count = 0; + + pw = prefix_getpwnam(name); + if (pw == NULL) { + return 0; + } + + count = sd_uid_get_sessions(pw->pw_uid, 0, NULL); + + return count; +} diff --git a/lib/loginprompt.c b/lib/loginprompt.c new file mode 100644 index 00000000..9b2aa25c --- /dev/null +++ b/lib/loginprompt.c @@ -0,0 +1,111 @@ +/* + * SPDX-FileCopyrightText: 1989 - 1993, Julianne Frances Haugh + * SPDX-FileCopyrightText: 1996 - 2000, Marek Michałkiewicz + * SPDX-FileCopyrightText: 2003 - 2005, Tomasz Kłoczko + * SPDX-FileCopyrightText: 2008 - 2011, Nicolas François + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include + +#ident "$Id$" + +#include +#include +#include + +#include "alloc.h" +#include "attr.h" +#include "memzero.h" +#include "prototypes.h" +#include "defines.h" +#include "getdef.h" + +static void login_exit (MAYBE_UNUSED int sig) +{ + _exit (EXIT_FAILURE); +} + +/* + * login_prompt - prompt the user for their login name + * + * login_prompt() displays the standard login prompt. If ISSUE_FILE + * is set in login.defs, this file is displayed before the prompt. + */ + +void login_prompt (char *name, int namesize) +{ + char buf[1024]; + + char *cp; + int i; + FILE *fp; + const char *fname = getdef_str ("ISSUE_FILE"); + + sighandler_t sigquit; + sighandler_t sigtstp; + + /* + * There is a small chance that a QUIT character will be part of + * some random noise during a prompt. Deal with this by exiting + * instead of core dumping. Do the same thing for SIGTSTP. + */ + + sigquit = signal (SIGQUIT, login_exit); + sigtstp = signal (SIGTSTP, login_exit); + + /* + * See if the user has configured the issue file to + * be displayed and display it before the prompt. + */ + + if (NULL != fname) { + fp = fopen (fname, "r"); + if (NULL != fp) { + while ((i = getc (fp)) != EOF) { + (void) putc (i, stdout); + } + + (void) fclose (fp); + } + } + (void) gethostname (buf, sizeof buf); + printf (_("\n%s login: "), buf); + (void) fflush (stdout); + + /* + * Read the user's response. The trailing newline will be + * removed. + */ + + MEMZERO(buf); + if (fgets (buf, sizeof buf, stdin) != buf) { + exit (EXIT_FAILURE); + } + + cp = strchr (buf, '\n'); + if (NULL == cp) { + exit (EXIT_FAILURE); + } + *cp = '\0'; /* remove \n [ must be there ] */ + + /* + * Skip leading whitespace. This makes " username" work right. + * Then copy the rest (up to the end) into the username. + */ + + for (cp = buf; *cp == ' ' || *cp == '\t'; cp++); + + for (i = 0; i < namesize - 1 && *cp != '\0'; name[i++] = *cp++); + + name[i] = '\0'; + + /* + * Set the SIGQUIT handler back to its original value + */ + + (void) signal (SIGQUIT, sigquit); + (void) signal (SIGTSTP, sigtstp); +} + diff --git a/libmisc/mail.c b/lib/mail.c similarity index 84% rename from libmisc/mail.c rename to lib/mail.c index 647f879c..d14bdb18 100644 --- a/libmisc/mail.c +++ b/lib/mail.c @@ -15,7 +15,9 @@ #include #include +#include "alloc.h" #include "getdef.h" +#include "string/sprintf.h" #ident "$Id$" @@ -34,22 +36,18 @@ void mailcheck (void) */ mailbox = getenv ("MAILDIR"); if (NULL != mailbox) { - char *newmail; - size_t len = strlen (mailbox) + 5; - int wlen; + char *newmail; - newmail = xmalloc (len); - wlen = snprintf (newmail, len, "%s/new", mailbox); - assert (wlen == (int) len - 1); + xasprintf(&newmail, "%s/new", mailbox); if (stat (newmail, &statbuf) != -1 && statbuf.st_size != 0) { if (statbuf.st_mtime > statbuf.st_atime) { - free (newmail); + free(newmail); (void) puts (_("You have new mail.")); return; } } - free (newmail); + free(newmail); } mailbox = getenv ("MAIL"); diff --git a/lib/memzero.c b/lib/memzero.c new file mode 100644 index 00000000..8979e5f8 --- /dev/null +++ b/lib/memzero.c @@ -0,0 +1,17 @@ +/* + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include + +#ident "$Id$" + +#include + +#include "memzero.h" + + +extern inline void memzero(void *ptr, size_t size); +extern inline void strzero(char *s); diff --git a/lib/memzero.h b/lib/memzero.h new file mode 100644 index 00000000..1137e830 --- /dev/null +++ b/lib/memzero.h @@ -0,0 +1,49 @@ +/* + * SPDX-FileCopyrightText: 2022-2023, Christian Göttsche + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#ifndef SHADOW_INCLUDE_LIBMISC_MEMZERO_H_ +#define SHADOW_INCLUDE_LIBMISC_MEMZERO_H_ + + +#include + +#include +#include +#include + +#include "sizeof.h" + + +#define MEMZERO(arr) memzero(arr, SIZEOF_ARRAY(arr)) + + +inline void memzero(void *ptr, size_t size); +inline void strzero(char *s); + + +inline void +memzero(void *ptr, size_t size) +{ +#if defined(HAVE_MEMSET_EXPLICIT) + memset_explicit(ptr, 0, size); +#elif defined(HAVE_EXPLICIT_BZERO) + explicit_bzero(ptr, size); +#else + bzero(ptr, size); + __asm__ __volatile__ ("" : : "r"(ptr) : "memory"); +#endif +} + + +inline void +strzero(char *s) +{ + memzero(s, strlen(s)); +} + + +#endif // include guard diff --git a/libmisc/motd.c b/lib/motd.c similarity index 98% rename from libmisc/motd.c rename to lib/motd.c index 7f7e523e..d1d5bf6e 100644 --- a/libmisc/motd.c +++ b/lib/motd.c @@ -12,9 +12,11 @@ #ident "$Id$" #include -#include "prototypes.h" + +#include "alloc.h" #include "defines.h" #include "getdef.h" +#include "prototypes.h" /* * motd -- output the /etc/motd file * diff --git a/lib/must_be.h b/lib/must_be.h new file mode 100644 index 00000000..a7365cba --- /dev/null +++ b/lib/must_be.h @@ -0,0 +1,99 @@ +/* + * 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/libmisc/myname.c b/lib/myname.c similarity index 100% rename from libmisc/myname.c rename to lib/myname.c diff --git a/lib/nscd.c b/lib/nscd.c index 2c2251af..451a5a36 100644 --- a/lib/nscd.c +++ b/lib/nscd.c @@ -53,6 +53,6 @@ int nscd_flush_cache (const char *service) return 0; } #else /* USE_NSCD */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* USE_NSCD */ diff --git a/lib/nss.c b/lib/nss.c index 23d05182..779d8259 100644 --- a/lib/nss.c +++ b/lib/nss.c @@ -1,3 +1,5 @@ +#include + #include #include #include @@ -6,10 +8,14 @@ #include #include #include + +#include "alloc.h" #include "prototypes.h" #include "../libsubid/subid.h" #include "shadowlog_internal.h" #include "shadowlog.h" +#include "string/sprintf.h" + #define NSSWITCH "/etc/nsswitch.conf" @@ -40,10 +46,12 @@ static void nss_exit(void) { // nsswitch_path is an argument only to support testing. void nss_init(const char *nsswitch_path) { - FILE *nssfp = NULL; - char *line = NULL, *p, *token, *saveptr; - size_t len = 0; - FILE *shadow_logfd = log_get_logfd(); + char *line = NULL, *p, *token, *saveptr; + char libname[64]; + FILE *nssfp = NULL; + FILE *shadow_logfd = log_get_logfd(); + void *h; + size_t len = 0; if (atomic_flag_test_and_set(&nss_init_started)) { // Another thread has started nss_init, wait for it to complete @@ -59,82 +67,78 @@ void nss_init(const char *nsswitch_path) { // subid: files nssfp = fopen(nsswitch_path, "r"); if (!nssfp) { + if (errno != ENOENT) + fprintf(shadow_logfd, "Failed opening %s: %m\n", nsswitch_path); + atomic_store(&nss_init_completed, true); return; } - while ((getline(&line, &len, nssfp)) != -1) { - if (line[0] == '\0' || line[0] == '#') + p = NULL; + while (getline(&line, &len, nssfp) != -1) { + if (line[0] == '#') continue; if (strlen(line) < 8) continue; if (strncasecmp(line, "subid:", 6) != 0) continue; p = &line[6]; - while ((*p) && isspace(*p)) + while (isspace(*p)) p++; - if (!*p) - continue; - for (token = strtok_r(p, " \n\t", &saveptr); - token; - token = strtok_r(NULL, " \n\t", &saveptr)) { - char libname[65]; - void *h; - if (strcmp(token, "files") == 0) { - subid_nss = NULL; - goto done; - } - if (strlen(token) > 50) { - fprintf(shadow_logfd, "Subid NSS module name too long (longer than 50 characters): %s\n", token); - fprintf(shadow_logfd, "Using files\n"); - subid_nss = NULL; - goto done; - } - snprintf(libname, 64, "libsubid_%s.so", token); - h = dlopen(libname, RTLD_LAZY); - if (!h) { - fprintf(shadow_logfd, "Error opening %s: %s\n", libname, dlerror()); - fprintf(shadow_logfd, "Using files\n"); - subid_nss = NULL; - goto done; - } - subid_nss = malloc(sizeof(*subid_nss)); - if (!subid_nss) { - dlclose(h); - goto done; - } - subid_nss->has_range = dlsym(h, "shadow_subid_has_range"); - if (!subid_nss->has_range) { - fprintf(shadow_logfd, "%s did not provide @has_range@\n", libname); - dlclose(h); - free(subid_nss); - subid_nss = NULL; - goto done; - } - subid_nss->list_owner_ranges = dlsym(h, "shadow_subid_list_owner_ranges"); - if (!subid_nss->list_owner_ranges) { - fprintf(shadow_logfd, "%s did not provide @list_owner_ranges@\n", libname); - dlclose(h); - free(subid_nss); - subid_nss = NULL; - goto done; - } - subid_nss->find_subid_owners = dlsym(h, "shadow_subid_find_subid_owners"); - if (!subid_nss->find_subid_owners) { - fprintf(shadow_logfd, "%s did not provide @find_subid_owners@\n", libname); - dlclose(h); - free(subid_nss); - subid_nss = NULL; - goto done; - } - subid_nss->handle = h; - goto done; - } + if (*p != '\0') + break; + p = NULL; + } + if (p == NULL) { + goto null_subid; + } + token = strtok_r(p, " \n\t", &saveptr); + if (token == NULL) { fprintf(shadow_logfd, "No usable subid NSS module found, using files\n"); // subid_nss has to be null here, but to ease reviews: - free(subid_nss); - subid_nss = NULL; - goto done; + goto null_subid; } + if (strcmp(token, "files") == 0) { + goto null_subid; + } + if (strlen(token) > 50) { + fprintf(shadow_logfd, "Subid NSS module name too long (longer than 50 characters): %s\n", token); + fprintf(shadow_logfd, "Using files\n"); + goto null_subid; + } + SNPRINTF(libname, "libsubid_%s.so", token); + h = dlopen(libname, RTLD_LAZY); + if (!h) { + fprintf(shadow_logfd, "Error opening %s: %s\n", libname, dlerror()); + fprintf(shadow_logfd, "Using files\n"); + goto null_subid; + } + subid_nss = MALLOC(1, struct subid_nss_ops); + if (!subid_nss) { + goto close_lib; + } + subid_nss->has_range = dlsym(h, "shadow_subid_has_range"); + if (!subid_nss->has_range) { + fprintf(shadow_logfd, "%s did not provide @has_range@\n", libname); + goto close_lib; + } + subid_nss->list_owner_ranges = dlsym(h, "shadow_subid_list_owner_ranges"); + if (!subid_nss->list_owner_ranges) { + fprintf(shadow_logfd, "%s did not provide @list_owner_ranges@\n", libname); + goto close_lib; + } + subid_nss->find_subid_owners = dlsym(h, "shadow_subid_find_subid_owners"); + if (!subid_nss->find_subid_owners) { + fprintf(shadow_logfd, "%s did not provide @find_subid_owners@\n", libname); + goto close_lib; + } + subid_nss->handle = h; + goto done; + +close_lib: + dlclose(h); + free(subid_nss); +null_subid: + subid_nss = NULL; done: atomic_store(&nss_init_completed, true); diff --git a/libmisc/obscure.c b/lib/obscure.c similarity index 69% rename from libmisc/obscure.c rename to lib/obscure.c index 3daaa958..549c2a8d 100644 --- a/libmisc/obscure.c +++ b/lib/obscure.c @@ -9,25 +9,27 @@ #include -#ifndef USE_PAM - #ident "$Id$" -/* - * This version of obscure.c contains modifications to support "cracklib" - * by Alec Muffet (alec.muffett@uk.sun.com). You must obtain the Cracklib - * library source code for this function to operate. - */ #include #include + +#include "alloc.h" +#include "attr.h" +#include "memzero.h" #include "prototypes.h" #include "defines.h" #include "getdef.h" + +#if WITH_LIBBSD == 0 +#include "freezero.h" +#endif /* WITH_LIBBSD */ + /* * can't be a palindrome - like `R A D A R' or `M A D A M' */ -static bool palindrome (unused const char *old, const char *new) +static bool palindrome (MAYBE_UNUSED const char *old, const char *new) { size_t i, j; @@ -73,57 +75,6 @@ static bool similar (/*@notnull@*/const char *old, /*@notnull@*/const char *new) return true; } -/* - * a nice mix of characters. - */ - -static bool simple (unused const char *old, const char *new) -{ - bool digits = false; - bool uppers = false; - bool lowers = false; - bool others = false; - int size; - int i; - - for (i = 0; '\0' != new[i]; i++) { - if (isdigit (new[i])) { - digits = true; - } else if (isupper (new[i])) { - uppers = true; - } else if (islower (new[i])) { - lowers = true; - } else { - others = true; - } - } - - /* - * The scam is this - a password of only one character type - * must be 8 letters long. Two types, 7, and so on. - */ - - size = 9; - if (digits) { - size--; - } - if (uppers) { - size--; - } - if (lowers) { - size--; - } - if (others) { - size--; - } - - if (size <= i) { - return false; - } - - return true; -} - static char *str_lower (/*@returned@*/char *string) { char *cp; @@ -137,28 +88,18 @@ static char *str_lower (/*@returned@*/char *string) static /*@observer@*//*@null@*/const char *password_check ( /*@notnull@*/const char *old, /*@notnull@*/const char *new, - /*@notnull@*/const struct passwd *pwdp) + /*@notnull@*/MAYBE_UNUSED const struct passwd *pwdp) { const char *msg = NULL; char *oldmono, *newmono, *wrapped; -#ifdef HAVE_LIBCRACK - char *dictpath; - -#ifdef HAVE_LIBCRACK_PW - char *FascistCheckPw (); -#else - char *FascistCheck (); -#endif -#endif - if (strcmp (new, old) == 0) { return _("no change"); } newmono = str_lower (xstrdup (new)); oldmono = str_lower (xstrdup (old)); - wrapped = xmalloc (strlen (oldmono) * 2 + 1); + wrapped = XMALLOC(strlen(oldmono) * 2 + 1, char); strcpy (wrapped, oldmono); strcat (wrapped, oldmono); @@ -168,25 +109,8 @@ static /*@observer@*//*@null@*/const char *password_check ( msg = _("case changes only"); } else if (similar (oldmono, newmono)) { msg = _("too similar"); - } else if (simple (old, new)) { - msg = _("too simple"); } else if (strstr (wrapped, newmono) != NULL) { msg = _("rotated"); - } else { -#ifdef HAVE_LIBCRACK - /* - * Invoke Alec Muffett's cracklib routines. - */ - - dictpath = getdef_str ("CRACKLIB_DICTPATH"); - if (NULL != dictpath) { -#ifdef HAVE_LIBCRACK_PW - msg = FascistCheckPw (new, dictpath, pwdp); -#else - msg = FascistCheck (new, dictpath); -#endif - } -#endif } strzero (newmono); strzero (oldmono); @@ -257,7 +181,7 @@ static /*@observer@*//*@null@*/const char *obscure_msg ( } } - maxlen = (size_t) getdef_num ("PASS_MAX_LEN", 8); + maxlen = getdef_num ("PASS_MAX_LEN", 8); if ( (oldlen <= maxlen) && (newlen <= maxlen)) { return NULL; @@ -274,10 +198,8 @@ static /*@observer@*//*@null@*/const char *obscure_msg ( msg = password_check (old1, new1, pwdp); - memzero (new1, newlen); - memzero (old1, oldlen); - free (new1); - free (old1); + freezero (new1, newlen); + freezero (old1, oldlen); return msg; } @@ -300,7 +222,3 @@ bool obscure (const char *old, const char *new, const struct passwd *pwdp) } return true; } - -#else /* !USE_PAM */ -extern int errno; /* warning: ANSI C forbids an empty source file */ -#endif /* !USE_PAM */ diff --git a/lib/pam_defs.h b/lib/pam_defs.h index 2dcda3cd..dd016e5c 100644 --- a/lib/pam_defs.h +++ b/lib/pam_defs.h @@ -15,7 +15,7 @@ #endif -static struct pam_conv conv = { +static const struct pam_conv conv = { SHADOW_PAM_CONVERSATION, NULL }; diff --git a/libmisc/pam_pass.c b/lib/pam_pass.c similarity index 95% rename from libmisc/pam_pass.c rename to lib/pam_pass.c index 166a42ef..ff491739 100644 --- a/libmisc/pam_pass.c +++ b/lib/pam_pass.c @@ -55,5 +55,5 @@ void do_pam_passwd (const char *user, bool silent, bool change_expired) (void) pam_end (pamh, PAM_SUCCESS); } #else /* !USE_PAM */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !USE_PAM */ diff --git a/libmisc/pam_pass_non_interactive.c b/lib/pam_pass_non_interactive.c similarity index 88% rename from libmisc/pam_pass_non_interactive.c rename to lib/pam_pass_non_interactive.c index 34cdc1f2..3d10908b 100644 --- a/libmisc/pam_pass_non_interactive.c +++ b/lib/pam_pass_non_interactive.c @@ -13,7 +13,13 @@ #include #include #include +#include + #include + +#include "alloc.h" +#include "attr.h" +#include "memzero.h" #include "prototypes.h" #include "shadowlog.h" @@ -21,7 +27,7 @@ static int ni_conv (int num_msg, const struct pam_message **msg, struct pam_response **resp, - unused void *appdata_ptr); + MAYBE_UNUSED void *appdata_ptr); static const struct pam_conv non_interactive_pam_conv = { ni_conv, NULL @@ -32,7 +38,7 @@ static const struct pam_conv non_interactive_pam_conv = { static int ni_conv (int num_msg, const struct pam_message **msg, struct pam_response **resp, - unused void *appdata_ptr) + MAYBE_UNUSED void *appdata_ptr) { struct pam_response *responses; int count; @@ -43,8 +49,7 @@ static int ni_conv (int num_msg, return PAM_CONV_ERR; } - responses = (struct pam_response *) calloc ((size_t) num_msg, - sizeof (*responses)); + responses = CALLOC (num_msg, struct pam_response); if (NULL == responses) { return PAM_CONV_ERR; } @@ -93,9 +98,8 @@ static int ni_conv (int num_msg, failed_conversation: for (count=0; count < num_msg; count++) { if (NULL != responses[count].resp) { - memset (responses[count].resp, 0, - strlen (responses[count].resp)); - free (responses[count].resp); + strzero(responses[count].resp); + free(responses[count].resp); responses[count].resp = NULL; } } @@ -141,5 +145,5 @@ int do_pam_passwd_non_interactive (const char *pam_service, return ((PAM_SUCCESS == ret) ? 0 : 1); } #else /* !USE_PAM */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !USE_PAM */ diff --git a/lib/port.c b/lib/port.c index 0bea2ef4..05b95651 100644 --- a/lib/port.c +++ b/lib/port.c @@ -79,7 +79,7 @@ static void endportent (void) (void) fclose (ports); } - ports = (FILE *) 0; + ports = NULL; } /* @@ -127,14 +127,14 @@ static struct port *getportent (void) * - parse off a list of days and times */ - again: +again: /* - * Get the next line and remove the last character, which - * is a '\n'. Lines which begin with '#' are all ignored. + * Get the next line and remove optional trailing '\n'. + * Lines which begin with '#' are all ignored. */ - if (fgets (buf, (int) sizeof buf, ports) == 0) { + if (fgets (buf, sizeof buf, ports) == 0) { errno = saveerr; return 0; } @@ -149,18 +149,14 @@ static struct port *getportent (void) * TTY devices. */ - buf[strlen (buf) - 1] = 0; + buf[strcspn (buf, "\n")] = 0; port.pt_names = ttys; for (cp = buf, j = 0; j < PORT_TTY; j++) { port.pt_names[j] = cp; - while (('\0' != *cp) && (':' != *cp) && (',' != *cp)) { - cp++; - } - - if ('\0' == *cp) { + cp = strpbrk(cp, ":,"); + if (cp == NULL) goto again; /* line format error */ - } if (':' == *cp) { /* end of tty name list */ break; @@ -172,13 +168,13 @@ static struct port *getportent (void) } *cp = '\0'; cp++; - port.pt_names[j + 1] = (char *) 0; + port.pt_names[j + 1] = NULL; /* * Get the list of user names. It is the second colon * separated field, and is a comma separated list of user * names. The entry '*' is used to specify all usernames. - * The last entry in the list is a (char *) 0 pointer. + * The last entry in the list is a NULL pointer. */ if (':' != *cp) { @@ -243,9 +239,7 @@ static struct port *getportent (void) * week or the other two values. */ - for (i = 0; - ('\0' != cp[i]) && ('\0' != cp[i + 1]) && isalpha (cp[i]); - i += 2) { + for (i = 0; isalpha(cp[i]) && ('\0' != cp[i + 1]); i += 2) { switch ((cp[i] << 8) | (cp[i + 1])) { case ('S' << 8) | 'u': port.pt_times[j].t_days |= 01; @@ -294,7 +288,7 @@ static struct port *getportent (void) * representing the times of day. */ - for (dtime = 0; ('\0' != cp[i]) && isdigit (cp[i]); i++) { + for (dtime = 0; isdigit (cp[i]); i++) { dtime = dtime * 10 + cp[i] - '0'; } @@ -304,9 +298,7 @@ static struct port *getportent (void) port.pt_times[j].t_start = dtime; cp = cp + i + 1; - for (dtime = 0, i = 0; - ('\0' != cp[i]) && isdigit (cp[i]); - i++) { + for (dtime = 0, i = 0; isdigit (cp[i]); i++) { dtime = dtime * 10 + cp[i] - '0'; } diff --git a/libmisc/prefix_flag.c b/lib/prefix_flag.c similarity index 78% rename from libmisc/prefix_flag.c rename to lib/prefix_flag.c index 4eb51547..d42657d5 100644 --- a/libmisc/prefix_flag.c +++ b/lib/prefix_flag.c @@ -11,7 +11,9 @@ #include #include + #include "defines.h" +#include "alloc.h" #include "prototypes.h" /*@-exitarg@*/ #include "exitcodes.h" @@ -26,6 +28,8 @@ #endif /* ENABLE_SUBIDS */ #include "getdef.h" #include "shadowlog.h" +#include "string/sprintf.h" + static char *passwd_db_file = NULL; static char *spw_db_file = NULL; @@ -83,6 +87,15 @@ extern const char* process_prefix_flag (const char* short_opt, int argc, char ** if (prefix != NULL) { + /* Drop privileges */ + if ( (setregid (getgid (), getgid ()) != 0) + || (setreuid (getuid (), getuid ()) != 0)) { + fprintf (log_get_logfd(), + _("%s: failed to drop privileges (%s)\n"), + log_get_progname(), strerror (errno)); + exit (EXIT_FAILURE); + } + if ( prefix[0] == '\0' || !strcmp(prefix, "/")) return ""; /* if prefix is "/" then we ignore the flag option */ /* should we prevent symbolic link from being used as a prefix? */ @@ -93,50 +106,33 @@ extern const char* process_prefix_flag (const char* short_opt, int argc, char ** log_get_progname()); exit (E_BAD_ARG); } - size_t len; - len = strlen(prefix) + strlen(PASSWD_FILE) + 2; - passwd_db_file = xmalloc(len); - snprintf(passwd_db_file, len, "%s/%s", prefix, PASSWD_FILE); + + xasprintf(&passwd_db_file, "%s/%s", prefix, PASSWD_FILE); pw_setdbname(passwd_db_file); - len = strlen(prefix) + strlen(GROUP_FILE) + 2; - group_db_file = xmalloc(len); - snprintf(group_db_file, len, "%s/%s", prefix, GROUP_FILE); + xasprintf(&group_db_file, "%s/%s", prefix, GROUP_FILE); gr_setdbname(group_db_file); #ifdef SHADOWGRP - len = strlen(prefix) + strlen(SGROUP_FILE) + 2; - sgroup_db_file = xmalloc(len); - snprintf(sgroup_db_file, len, "%s/%s", prefix, SGROUP_FILE); + xasprintf(&sgroup_db_file, "%s/%s", prefix, SGROUP_FILE); sgr_setdbname(sgroup_db_file); #endif -#ifdef USE_NIS - __setspNIS(0); /* disable NIS for now, at least until it is properly supporting a "prefix" */ -#endif - len = strlen(prefix) + strlen(SHADOW_FILE) + 2; - spw_db_file = xmalloc(len); - snprintf(spw_db_file, len, "%s/%s", prefix, SHADOW_FILE); + xasprintf(&spw_db_file, "%s/%s", prefix, SHADOW_FILE); spw_setdbname(spw_db_file); #ifdef ENABLE_SUBIDS - len = strlen(prefix) + strlen("/etc/subuid") + 2; - suid_db_file = xmalloc(len); - snprintf(suid_db_file, len, "%s/%s", prefix, "/etc/subuid"); + xasprintf(&suid_db_file, "%s/%s", prefix, SUBUID_FILE); sub_uid_setdbname(suid_db_file); - len = strlen(prefix) + strlen("/etc/subgid") + 2; - sgid_db_file = xmalloc(len); - snprintf(sgid_db_file, len, "%s/%s", prefix, "/etc/subgid"); + xasprintf(&sgid_db_file, "%s/%s", prefix, SUBGID_FILE); sub_gid_setdbname(sgid_db_file); #endif #ifdef USE_ECONF setdef_config_file(prefix); #else - len = strlen(prefix) + strlen("/etc/login.defs") + 2; - def_conf_file = xmalloc(len); - snprintf(def_conf_file, len, "%s/%s", prefix, "/etc/login.defs"); + xasprintf(&def_conf_file, "%s/%s", prefix, "/etc/login.defs"); setdef_config_file(def_conf_file); #endif } @@ -227,6 +223,29 @@ extern struct passwd *prefix_getpwnam(const char* name) return getpwnam(name); } } +#if HAVE_FGETPWENT_R +extern int prefix_getpwnam_r(const char* name, struct passwd* pwd, + char* buf, size_t buflen, struct passwd** result) +{ + if (passwd_db_file) { + FILE* fg; + int ret = 0; + + fg = fopen(passwd_db_file, "rt"); + if (!fg) + return errno; + while ((ret = fgetpwent_r(fg, pwd, buf, buflen, result)) == 0) { + if (!strcmp(name, pwd->pw_name)) + break; + } + fclose(fg); + return ret; + } + else { + return getpwnam_r(name, pwd, buf, buflen, result); + } +} +#endif extern struct spwd *prefix_getspnam(const char* name) { if (spw_db_file) { @@ -315,7 +334,7 @@ extern void prefix_endgrent(void) extern struct group *prefix_getgr_nam_gid(const char *grname) { - long long int gid; + long long gid; char *endptr; struct group *g; @@ -323,18 +342,19 @@ extern struct group *prefix_getgr_nam_gid(const char *grname) return NULL; } - if (group_db_file) { - errno = 0; - gid = strtoll (grname, &endptr, 10); - if ( ('\0' != *grname) - && ('\0' == *endptr) - && (ERANGE != errno) - && (gid == (gid_t)gid)) { - return prefix_getgrgid ((gid_t) gid); - } - g = prefix_getgrnam (grname); - return g ? __gr_dup(g) : NULL; - } - else + if (!group_db_file) return getgr_nam_gid(grname); + + errno = 0; + gid = strtoll(grname, &endptr, 10); + if ( ('\0' != *grname) + && ('\0' == *endptr) + && (0 == errno) + && (gid == (gid_t)gid)) + { + return prefix_getgrgid(gid); + } + + g = prefix_getgrnam(grname); + return g ? __gr_dup(g) : NULL; } diff --git a/lib/prototypes.h b/lib/prototypes.h index 1172b5d7..0838884b 100644 --- a/lib/prototypes.h +++ b/lib/prototypes.h @@ -10,7 +10,7 @@ /* * prototypes.h * - * prototypes of libmisc functions, and private lib functions. + * prototypes of some lib functions, and private lib functions. * * $Id$ * @@ -21,18 +21,17 @@ #include +#include #include -#ifdef USE_UTMPX -#include -#else -#include -#endif #include #include #include #include +#ifdef ENABLE_LASTLOG #include +#endif /* ENABLE_LASTLOG */ +#include "attr.h" #include "defines.h" #include "commonio.h" @@ -44,6 +43,7 @@ extern int add_groups (const char *); /* age.c */ extern void agecheck (/*@null@*/const struct spwd *); extern int expire (const struct passwd *, /*@null@*/const struct spwd *); + /* isexpired.c */ extern int isexpired (const struct passwd *, /*@null@*/const struct spwd *); @@ -92,11 +92,11 @@ void cleanup_report_del_group_gshadow (void *group_name); void cleanup_report_mod_passwd (void *cleanup_info); void cleanup_report_mod_group (void *cleanup_info); void cleanup_report_mod_gshadow (void *cleanup_info); -void cleanup_unlock_group (/*@null@*/void *unused); +void cleanup_unlock_group (/*@null@*/void *MAYBE_UNUSED); #ifdef SHADOWGRP -void cleanup_unlock_gshadow (/*@null@*/void *unused); +void cleanup_unlock_gshadow (/*@null@*/void *MAYBE_UNUSED); #endif -void cleanup_unlock_passwd (/*@null@*/void *unused); +void cleanup_unlock_passwd (/*@null@*/void *MAYBE_UNUSED); /* console.c */ extern bool console (const char *); @@ -108,21 +108,18 @@ extern int copy_tree (const char *src_root, const char *dst_root, uid_t old_uid, uid_t new_uid, gid_t old_gid, gid_t new_gid); -/* date_to_str.c */ -extern void date_to_str (size_t size, char buf[size], long date); - /* encrypt.c */ extern /*@exposed@*//*@null@*/char *pw_encrypt (const char *, const char *); -/* entry.c */ -extern void pw_entry (const char *, struct passwd *); - /* env.c */ extern void addenv (const char *, /*@null@*/const char *); extern void initenv (void); extern void set_env (int, char *const *); 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 *); @@ -153,10 +150,13 @@ extern int get_gid (const char *gidstr, gid_t *gid); extern /*@only@*//*@null@*/struct group *getgr_nam_gid (/*@null@*/const char *grname); /* getlong.c */ -extern int getlong (const char *numstr, /*@out@*/long int *result); +ATTR_ACCESS(write_only, 2) +extern int getlong(const char *restrict numstr, long *restrict result); /* get_pid.c */ extern int get_pid (const char *pidstr, pid_t *pid); +extern int get_pidfd_from_fd(const char *pidfdstr); +extern int open_pidfd(const char *pidstr); /* getrange */ extern int getrange (const char *range, @@ -170,10 +170,12 @@ extern time_t gettime (void); extern int get_uid (const char *uidstr, uid_t *uid); /* getulong.c */ -extern int getulong (const char *numstr, /*@out@*/unsigned long int *result); +ATTR_ACCESS(write_only, 2) +extern int getulong(const char *restrict numstr, unsigned long *restrict result); /* fputsx.c */ -extern /*@null@*/char *fgetsx (/*@returned@*/ /*@out@*/char *, int, FILE *); +ATTR_ACCESS(write_only, 1, 2) +extern /*@null@*/char *fgetsx(/*@returned@*/char *restrict, int, FILE *restrict); extern int fputsx (const char *, FILE *); /* groupio.c */ @@ -185,8 +187,7 @@ extern void __gr_set_changed (void); /* groupmem.c */ extern /*@null@*/ /*@only@*/struct group *__gr_dup (const struct group *grent); extern void gr_free_members (struct group *grent); -extern void gr_free (/*@out@*/ /*@only@*/struct group *grent); -extern bool gr_append_member (struct group *grp, char *member); +extern void gr_free(/*@only@*/struct group *grent); /* hushed.c */ extern bool hushed (const char *username); @@ -212,24 +213,26 @@ extern void setup_limits (const struct passwd *); #endif /* list.c */ -extern /*@only@*/ /*@out@*/char **add_list (/*@returned@*/ /*@only@*/char **, const char *); -extern /*@only@*/ /*@out@*/char **del_list (/*@returned@*/ /*@only@*/char **, const char *); -extern /*@only@*/ /*@out@*/char **dup_list (char *const *); +extern /*@only@*/char **add_list (/*@returned@*/ /*@only@*/char **, const char *); +extern /*@only@*/char **del_list (/*@returned@*/ /*@only@*/char **, const char *); +extern /*@only@*/char **dup_list (char *const *); extern bool is_on_list (char *const *list, const char *member); extern /*@only@*/char **comma_to_list (const char *); +#ifdef ENABLE_LASTLOG /* log.c */ extern void dolastlog ( struct lastlog *ll, const struct passwd *pw, /*@unique@*/const char *line, /*@unique@*/const char *host); +#endif /* ENABLE_LASTLOG */ /* login_nopam.c */ extern int login_access (const char *user, const char *from); /* loginprompt.c */ -extern void login_prompt (const char *, char *, int); +extern void login_prompt (char *, int); /* mail.c */ extern void mailcheck (void); @@ -304,9 +307,7 @@ extern int do_pam_passwd_non_interactive (const char *pam_service, #endif /* USE_PAM */ /* obscure.c */ -#ifndef USE_PAM extern bool obscure (const char *, const char *, const struct passwd *); -#endif /* pam_pass.c */ #ifdef USE_PAM @@ -322,6 +323,10 @@ extern struct group *prefix_getgrnam(const char *name); extern struct group *prefix_getgrgid(gid_t gid); extern struct passwd *prefix_getpwuid(uid_t uid); extern struct passwd *prefix_getpwnam(const char* name); +#if HAVE_FGETPWENT_R +extern int prefix_getpwnam_r(const char* name, struct passwd* pwd, + char* buf, size_t buflen, struct passwd** result); +#endif extern struct spwd *prefix_getspnam(const char* name); extern struct group *prefix_getgr_nam_gid(const char *grname); extern void prefix_setpwent(void); @@ -332,9 +337,7 @@ extern struct group* prefix_getgrent(void); extern void prefix_endgrent(void); /* pwd2spwd.c */ -#ifndef USE_PAM extern struct spwd *pwd_to_spwd (const struct passwd *); -#endif /* pwdcheck.c */ #ifndef USE_PAM @@ -351,14 +354,19 @@ extern /*@dependent@*/ /*@null@*/struct commonio_entry *__pw_get_head (void); /* pwmem.c */ extern /*@null@*/ /*@only@*/struct passwd *__pw_dup (const struct passwd *pwent); -extern void pw_free (/*@out@*/ /*@only@*/struct passwd *pwent); +extern void pw_free(/*@only@*/struct passwd *pwent); + +/* csrand.c */ +unsigned long csrand (void); +unsigned long csrand_uniform (unsigned long n); +unsigned long csrand_interval (unsigned long min, unsigned long max); /* remove_tree.c */ extern int remove_tree (const char *root, bool remove_root); /* rlogin.c */ -extern int do_rlogin (const char *remote_host, char *name, size_t namelen, - char *term, size_t termlen); +extern int do_rlogin(const char *remote_host, char *name, size_t namesize, + char *term, size_t termsize); /* root_flag.c */ extern void process_root_flag (const char* short_opt, int argc, char **argv); @@ -376,7 +384,7 @@ extern int check_selinux_permit (const char *perm_name); /* semanage.c */ #ifdef WITH_SELINUX -extern int set_seuser(const char *login_name, const char *seuser_name); +extern int set_seuser(const char *login_name, const char *seuser_name, const char *serange); extern int del_seuser(const char *login_name); #endif @@ -409,7 +417,7 @@ extern struct spwd *sgetspent (const char *string); /* sgroupio.c */ extern void __sgr_del_entry (const struct commonio_entry *ent); extern /*@null@*/ /*@only@*/struct sgrp *__sgr_dup (const struct sgrp *sgent); -extern void sgr_free (/*@out@*/ /*@only@*/struct sgrp *sgent); +extern void sgr_free(/*@only@*/struct sgrp *sgent); extern /*@dependent@*/ /*@null@*/struct commonio_entry *__sgr_get_head (void); extern void __sgr_set_changed (void); @@ -419,14 +427,15 @@ extern void __spw_del_entry (const struct commonio_entry *ent); /* shadowmem.c */ extern /*@null@*/ /*@only@*/struct spwd *__spw_dup (const struct spwd *spent); -extern void spw_free (/*@out@*/ /*@only@*/struct spwd *spent); +extern void spw_free(/*@only@*/struct spwd *spent); /* shell.c */ extern int shell (const char *file, /*@null@*/const char *arg, char *const envp[]); /* spawn.c */ -extern int run_command (const char *cmd, const char *argv[], - /*@null@*/const char *envp[], /*@out@*/int *status); +ATTR_ACCESS(write_only, 4) +extern int run_command(const char *cmd, const char *argv[], + /*@null@*/const char *envp[], int *restrict status); /* strtoday.c */ extern long strtoday (const char *); @@ -459,33 +468,68 @@ extern int set_filesize_limit (int blocks); /* user_busy.c */ extern int user_busy (const char *name, uid_t uid); -/* utmp.c */ -#ifndef USE_UTMPX -extern /*@null@*/struct utmp *get_current_utmp (void); -extern struct utmp *prepare_utmp (const char *name, - const char *line, - const char *host, - /*@null@*/const struct utmp *ut); -extern int setutmp (struct utmp *ut); -#else -extern /*@null@*/struct utmpx *get_current_utmp (void); -extern struct utmpx *prepare_utmpx (const char *name, - const char *line, - const char *host, - /*@null@*/const struct utmpx *ut); -extern int setutmpx (struct utmpx *utx); -#endif /* USE_UTMPX */ +/* + * Session management: utmp.c or logind.c + */ + +/** + * @brief Get host for the current session + * + * @param[out] out Host name + * + * @return 0 or a positive integer if the host was obtained properly, + * another value on error. + */ +extern int get_session_host (char **out); +#ifndef ENABLE_LOGIND +/** + * @brief Update or create an utmp entry in utmp, wtmp, utmpw, or wtmpx + * + * @param[in] user username + * @param[in] tty tty + * @param[in] host hostname + * + * @return 0 if utmp was updated properly, + * 1 on error. + */ +extern int update_utmp (const char *user, + const char *tty, + const char *host); +/** + * @brief Update the cumulative failure log + * + * @param[in] failent_user username + * @param[in] tty tty + * @param[in] host hostname + * + */ +extern void record_failure(const char *failent_user, + const char *tty, + const char *hostname); +#endif /* ENABLE_LOGIND */ + +/** + * @brief Number of active user sessions + * + * @param[in] name username + * @param[in] limit maximum number of active sessions + * + * @return number of active sessions. + * + */ +extern unsigned long active_sessions_count(const char *name, + unsigned long limit); /* valid.c */ extern bool valid (const char *, const struct passwd *); -/* xmalloc.c */ -extern /*@maynotreturn@*/ /*@only@*//*@out@*//*@notnull@*/void *xmalloc (size_t size) - /*@ensures MaxSet(result) == (size - 1); @*/; -extern /*@maynotreturn@*/ /*@only@*//*@notnull@*/char *xstrdup (const char *); +/* write_full.c */ +extern int write_full(int fd, const void *buf, size_t count); /* xgetpwnam.c */ extern /*@null@*/ /*@only@*/struct passwd *xgetpwnam (const char *); +/* xprefix_getpwnam.c */ +extern /*@null@*/ /*@only@*/struct passwd *xprefix_getpwnam (const char *); /* xgetpwuid.c */ extern /*@null@*/ /*@only@*/struct passwd *xgetpwuid (uid_t); /* xgetgrnam.c */ diff --git a/lib/pwauth.c b/lib/pwauth.c index 62de4723..0cd3412b 100644 --- a/lib/pwauth.c +++ b/lib/pwauth.c @@ -18,21 +18,26 @@ #include #include #include -#include "prototypes.h" + +#include "agetpass.h" #include "defines.h" +#include "memzero.h" +#include "prototypes.h" #include "pwauth.h" #include "getdef.h" +#include "string/sprintf.h" + #ifdef SKEY #include #endif + + #ifdef __linux__ /* standard password prompt by default */ static const char *PROMPT = gettext_noop ("Password: "); #else static const char *PROMPT = gettext_noop ("%s's Password: "); #endif -bool wipe_clear_pass = true; -/*@null@*/char *clear_pass = NULL; /* * pw_auth - perform getpass/crypt authentication @@ -47,16 +52,16 @@ int pw_auth (const char *cipher, int reason, /*@null@*/const char *input) { - char prompt[1024]; - char *clear = NULL; - const char *cp; - const char *encrypted; - int retval; + int retval; + char prompt[1024]; + char *clear = NULL; + const char *cp; + const char *encrypted; #ifdef SKEY - bool use_skey = false; - char challenge_info[40]; - struct skey skey; + bool use_skey = false; + char challenge_info[40]; + struct skey skey; #endif /* @@ -137,15 +142,9 @@ int pw_auth (const char *cipher, } #endif - snprintf (prompt, sizeof prompt, cp, user); - clear = getpass (prompt); - if (NULL == clear) { - static char c[1]; - - c[0] = '\0'; - clear = c; - } - input = clear; + SNPRINTF(prompt, cp, user); + clear = agetpass(prompt); + input = (clear == NULL) ? "" : clear; } /* @@ -171,14 +170,9 @@ int pw_auth (const char *cipher, * -- AR 8/22/1999 */ if ((0 != retval) && ('\0' == input[0]) && use_skey) { - clear = getpass (prompt); - if (NULL == clear) { - static char c[1]; - - c[0] = '\0'; - clear = c; - } - input = clear; + erase_pass(clear); + clear = agetpass(prompt); + input = (clear == NULL) ? "" : clear; } if ((0 != retval) && use_skey) { @@ -192,20 +186,10 @@ int pw_auth (const char *cipher, } } #endif + erase_pass(clear); - /* - * Things like RADIUS authentication may need the password - - * if the external variable wipe_clear_pass is zero, we will - * not wipe it (the caller should wipe clear_pass when it is - * no longer needed). --marekm - */ - - clear_pass = clear; - if (wipe_clear_pass && (NULL != clear) && ('\0' != *clear)) { - strzero (clear); - } return retval; } #else /* !USE_PAM */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !USE_PAM */ diff --git a/libmisc/pwd2spwd.c b/lib/pwd2spwd.c similarity index 85% rename from libmisc/pwd2spwd.c rename to lib/pwd2spwd.c index 139a0240..eea95198 100644 --- a/libmisc/pwd2spwd.c +++ b/lib/pwd2spwd.c @@ -11,8 +11,6 @@ #ident "$Id$" -#ifndef USE_PAM - #include #include "prototypes.h" #include "defines.h" @@ -41,8 +39,8 @@ struct spwd *pwd_to_spwd (const struct passwd *pw) * Defaults used if there is no pw_age information. */ sp.sp_min = 0; - sp.sp_max = (10000L * DAY) / SCALE; - sp.sp_lstchg = (long) gettime () / SCALE; + sp.sp_max = 10000; + sp.sp_lstchg = gettime () / DAY; if (0 == sp.sp_lstchg) { /* Better disable aging than requiring a password * change */ @@ -61,7 +59,4 @@ struct spwd *pwd_to_spwd (const struct passwd *pw) return &sp; } -#else /* USE_PAM */ -extern int errno; /* warning: ANSI C forbids an empty source file */ -#endif /* !USE_PAM */ diff --git a/libmisc/pwd_init.c b/lib/pwd_init.c similarity index 74% rename from libmisc/pwd_init.c rename to lib/pwd_init.c index 63c71e28..b3f94e1b 100644 --- a/libmisc/pwd_init.c +++ b/lib/pwd_init.c @@ -15,9 +15,7 @@ #include #include #include -#ifdef HAVE_SYS_RESOURCE_H #include -#endif #include "prototypes.h" @@ -28,39 +26,22 @@ */ void pwd_init (void) { -#ifdef HAVE_SYS_RESOURCE_H struct rlimit rlim; -#ifdef RLIMIT_CORE rlim.rlim_cur = rlim.rlim_max = 0; setrlimit (RLIMIT_CORE, &rlim); -#endif + rlim.rlim_cur = rlim.rlim_max = RLIM_INFINITY; -#ifdef RLIMIT_AS setrlimit (RLIMIT_AS, &rlim); -#endif -#ifdef RLIMIT_CPU + setrlimit (RLIMIT_CPU, &rlim); -#endif -#ifdef RLIMIT_DATA setrlimit (RLIMIT_DATA, &rlim); -#endif -#ifdef RLIMIT_FSIZE setrlimit (RLIMIT_FSIZE, &rlim); -#endif -#ifdef RLIMIT_NOFILE setrlimit (RLIMIT_NOFILE, &rlim); -#endif #ifdef RLIMIT_RSS setrlimit (RLIMIT_RSS, &rlim); #endif -#ifdef RLIMIT_STACK setrlimit (RLIMIT_STACK, &rlim); -#endif -#else /* !HAVE_SYS_RESOURCE_H */ - set_filesize_limit (30000); - /* don't know how to set the other limits... */ -#endif /* !HAVE_SYS_RESOURCE_H */ signal (SIGALRM, SIG_IGN); signal (SIGHUP, SIG_IGN); @@ -68,12 +49,8 @@ void pwd_init (void) signal (SIGPIPE, SIG_IGN); signal (SIGQUIT, SIG_IGN); signal (SIGTERM, SIG_IGN); -#ifdef SIGTSTP signal (SIGTSTP, SIG_IGN); -#endif -#ifdef SIGTTOU signal (SIGTTOU, SIG_IGN); -#endif umask (077); } diff --git a/libmisc/pwdcheck.c b/lib/pwdcheck.c similarity index 76% rename from libmisc/pwdcheck.c rename to lib/pwdcheck.c index 15fc3a33..93c9f5ce 100644 --- a/libmisc/pwdcheck.c +++ b/lib/pwdcheck.c @@ -13,12 +13,14 @@ #include #include + +#include "attr.h" #include "prototypes.h" #include "defines.h" #include "pwauth.h" #include "shadowlog.h" -void passwd_check (const char *user, const char *passwd, unused const char *progname) +void passwd_check (const char *user, const char *passwd, MAYBE_UNUSED const char *progname) { struct spwd *sp; @@ -26,7 +28,7 @@ void passwd_check (const char *user, const char *passwd, unused const char *prog if (NULL != sp) { passwd = sp->sp_pwdp; } - if (pw_auth (passwd, user, PW_LOGIN, (char *) 0) != 0) { + if (pw_auth (passwd, user, PW_LOGIN, NULL) != 0) { SYSLOG ((LOG_WARN, "incorrect password for `%s'", user)); (void) sleep (1); fprintf (log_get_logfd(), _("Incorrect password for %s.\n"), user); @@ -34,5 +36,5 @@ void passwd_check (const char *user, const char *passwd, unused const char *prog } } #else /* USE_PAM */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* USE_PAM */ diff --git a/lib/pwio.c b/lib/pwio.c index e59b473c..3497c754 100644 --- a/lib/pwio.c +++ b/lib/pwio.c @@ -26,7 +26,8 @@ static /*@null@*/ /*@only@*/void *passwd_dup (const void *ent) return __pw_dup (pw); } -static void passwd_free (/*@out@*/ /*@only@*/void *ent) +static void +passwd_free(/*@only@*/void *ent) { struct passwd *pw = ent; @@ -42,7 +43,7 @@ static const char *passwd_getname (const void *ent) static void *passwd_parse (const char *line) { - return (void *) sgetpwent (line); + return sgetpwent (line); } static int passwd_put (const void *ent, FILE * file) @@ -137,7 +138,7 @@ int pw_open (int mode) int pw_update (const struct passwd *pw) { - return commonio_update (&passwd_db, (const void *) pw); + return commonio_update (&passwd_db, pw); } int pw_remove (const char *name) @@ -182,15 +183,23 @@ struct commonio_db *__pw_get_db (void) static int pw_cmp (const void *p1, const void *p2) { + const struct commonio_entry *const *ce1; + const struct commonio_entry *const *ce2; + const struct passwd *pw1, *pw2; uid_t u1, u2; - if ((*(struct commonio_entry **) p1)->eptr == NULL) + ce1 = p1; + pw1 = (*ce1)->eptr; + if (pw1 == NULL) return 1; - if ((*(struct commonio_entry **) p2)->eptr == NULL) + + ce2 = p2; + pw2 = (*ce2)->eptr; + if (pw2 == NULL) return -1; - u1 = ((struct passwd *) (*(struct commonio_entry **) p1)->eptr)->pw_uid; - u2 = ((struct passwd *) (*(struct commonio_entry **) p2)->eptr)->pw_uid; + u1 = pw1->pw_uid; + u2 = pw2->pw_uid; if (u1 < u2) return -1; diff --git a/lib/pwmem.c b/lib/pwmem.c index 867e3f74..9c6e58d7 100644 --- a/lib/pwmem.c +++ b/lib/pwmem.c @@ -13,7 +13,10 @@ #ident "$Id$" #include + +#include "alloc.h" #include "defines.h" +#include "memzero.h" #include "prototypes.h" #include "pwio.h" @@ -21,12 +24,11 @@ { struct passwd *pw; - pw = (struct passwd *) malloc (sizeof *pw); + pw = CALLOC (1, struct passwd); if (NULL == pw) { return NULL; } /* The libc might define other fields. They won't be copied. */ - memset (pw, 0, sizeof *pw); pw->pw_uid = pwent->pw_uid; pw->pw_gid = pwent->pw_gid; /*@-mustfreeonly@*/ @@ -68,7 +70,8 @@ return pw; } -void pw_free (/*@out@*/ /*@only@*/struct passwd *pwent) +void +pw_free(/*@only@*/struct passwd *pwent) { if (pwent != NULL) { free (pwent->pw_name); diff --git a/lib/readpassphrase.c b/lib/readpassphrase.c new file mode 100644 index 00000000..5ff060cc --- /dev/null +++ b/lib/readpassphrase.c @@ -0,0 +1,198 @@ +/* $OpenBSD: readpassphrase.c,v 1.26 2016/10/18 12:47:18 millert Exp $ */ + +/* + * Copyright (c) 2000-2002, 2007, 2010 + * Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Sponsored in part by the Defense Advanced Research Projects + * Agency (DARPA) and Air Force Research Laboratory, Air Force + * Materiel Command, USAF, under agreement number F39502-99-1-0512. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef TCSASOFT +#define TCSASOFT 0 +#endif + +#ifndef _NSIG +#if defined(NSIG) +#define _NSIG NSIG +#else +/* The SIGRTMAX define might be set to a function such as sysconf(). */ +#define _NSIG (SIGRTMAX + 1) +#endif +#endif + +static volatile sig_atomic_t signo[_NSIG]; + +static void handler(int); + +char * +readpassphrase(const char *prompt, char *buf, size_t bufsiz, int flags) +{ + ssize_t nr; + int input, output, save_errno, i, need_restart; + char ch, *p, *end; + struct termios term, oterm; + struct sigaction sa, savealrm, saveint, savehup, savequit, saveterm; + struct sigaction savetstp, savettin, savettou, savepipe; + + /* I suppose we could alloc on demand in this case (XXX). */ + if (bufsiz == 0) { + errno = EINVAL; + return(NULL); + } + +restart: + for (i = 0; i < _NSIG; i++) + signo[i] = 0; + nr = -1; + save_errno = 0; + need_restart = 0; + /* + * Read and write to /dev/tty if available. If not, read from + * stdin and write to stderr unless a tty is required. + */ + if ((flags & RPP_STDIN) || + (input = output = open(_PATH_TTY, O_RDWR)) == -1) { + if (flags & RPP_REQUIRE_TTY) { + errno = ENOTTY; + return(NULL); + } + input = STDIN_FILENO; + output = STDERR_FILENO; + } + + /* + * Turn off echo if possible. + * If we are using a tty but are not the foreground pgrp this will + * generate SIGTTOU, so do it *before* installing the signal handlers. + */ + if (input != STDIN_FILENO && tcgetattr(input, &oterm) == 0) { + memcpy(&term, &oterm, sizeof(term)); + if (!(flags & RPP_ECHO_ON)) + term.c_lflag &= ~(ECHO | ECHONL); +#ifdef VSTATUS + if (term.c_cc[VSTATUS] != _POSIX_VDISABLE) + term.c_cc[VSTATUS] = _POSIX_VDISABLE; +#endif + (void)tcsetattr(input, TCSAFLUSH|TCSASOFT, &term); + } else { + memset(&term, 0, sizeof(term)); + term.c_lflag |= ECHO; + memset(&oterm, 0, sizeof(oterm)); + oterm.c_lflag |= ECHO; + } + + /* + * Catch signals that would otherwise cause the user to end + * up with echo turned off in the shell. Don't worry about + * things like SIGXCPU and SIGVTALRM for now. + */ + sigemptyset(&sa.sa_mask); + sa.sa_flags = 0; /* don't restart system calls */ + sa.sa_handler = handler; + (void)sigaction(SIGALRM, &sa, &savealrm); + (void)sigaction(SIGHUP, &sa, &savehup); + (void)sigaction(SIGINT, &sa, &saveint); + (void)sigaction(SIGPIPE, &sa, &savepipe); + (void)sigaction(SIGQUIT, &sa, &savequit); + (void)sigaction(SIGTERM, &sa, &saveterm); + (void)sigaction(SIGTSTP, &sa, &savetstp); + (void)sigaction(SIGTTIN, &sa, &savettin); + (void)sigaction(SIGTTOU, &sa, &savettou); + + if (!(flags & RPP_STDIN)) + (void)write(output, prompt, strlen(prompt)); + end = buf + bufsiz - 1; + p = buf; + while ((nr = read(input, &ch, 1)) == 1 && ch != '\n' && ch != '\r') { + if (p < end) { + if ((flags & RPP_SEVENBIT)) + ch &= 0x7f; + if (isalpha((unsigned char)ch)) { + if ((flags & RPP_FORCELOWER)) + ch = (char)tolower((unsigned char)ch); + if ((flags & RPP_FORCEUPPER)) + ch = (char)toupper((unsigned char)ch); + } + *p++ = ch; + } + } + *p = '\0'; + save_errno = errno; + if (!(term.c_lflag & ECHO)) + (void)write(output, "\n", 1); + + /* Restore old terminal settings and signals. */ + if (memcmp(&term, &oterm, sizeof(term)) != 0) { + const int sigttou = signo[SIGTTOU]; + + /* Ignore SIGTTOU generated when we are not the fg pgrp. */ + while (tcsetattr(input, TCSAFLUSH|TCSASOFT, &oterm) == -1 && + errno == EINTR && !signo[SIGTTOU]) + continue; + signo[SIGTTOU] = sigttou; + } + (void)sigaction(SIGALRM, &savealrm, NULL); + (void)sigaction(SIGHUP, &savehup, NULL); + (void)sigaction(SIGINT, &saveint, NULL); + (void)sigaction(SIGQUIT, &savequit, NULL); + (void)sigaction(SIGPIPE, &savepipe, NULL); + (void)sigaction(SIGTERM, &saveterm, NULL); + (void)sigaction(SIGTSTP, &savetstp, NULL); + (void)sigaction(SIGTTIN, &savettin, NULL); + (void)sigaction(SIGTTOU, &savettou, NULL); + if (input != STDIN_FILENO) + (void)close(input); + + /* + * If we were interrupted by a signal, resend it to ourselves + * now that we have restored the signal handlers. + */ + for (i = 0; i < _NSIG; i++) { + if (signo[i]) { + kill(getpid(), i); + switch (i) { + case SIGTSTP: + case SIGTTIN: + case SIGTTOU: + need_restart = 1; + } + } + } + if (need_restart) + goto restart; + + if (save_errno) + errno = save_errno; + return(nr == -1 ? NULL : buf); +} + +static void handler(int s) +{ + + signo[s] = 1; +} diff --git a/lib/readpassphrase.h b/lib/readpassphrase.h new file mode 100644 index 00000000..2530b7fe --- /dev/null +++ b/lib/readpassphrase.h @@ -0,0 +1,47 @@ +/* $OpenBSD: readpassphrase.h,v 1.4 2003/06/03 01:52:39 millert Exp $ */ + +/* + * Copyright (c) 2000, 2002 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Sponsored in part by the Defense Advanced Research Projects + * Agency (DARPA) and Air Force Research Laboratory, Air Force + * Materiel Command, USAF, under agreement number F39502-99-1-0512. + */ + +#ifndef LIBBSD_READPASSPHRASE_H +#define LIBBSD_READPASSPHRASE_H + +#define RPP_ECHO_OFF 0x00 /* Turn off echo (default). */ +#define RPP_ECHO_ON 0x01 /* Leave echo on. */ +#define RPP_REQUIRE_TTY 0x02 /* Fail if there is no tty. */ +#define RPP_FORCELOWER 0x04 /* Force input to lower case. */ +#define RPP_FORCEUPPER 0x08 /* Force input to upper case. */ +#define RPP_SEVENBIT 0x10 /* Strip the high bit from input. */ +#define RPP_STDIN 0x20 /* Read from stdin, not /dev/tty */ + +#ifdef LIBBSD_OVERLAY +#include +#endif +#include + +#ifdef __cplusplus +extern "C" { +#endif +char * readpassphrase(const char *, char *, size_t, int); +#ifdef __cplusplus +} +#endif + +#endif /* !LIBBSD_READPASSPHRASE_H */ diff --git a/libmisc/remove_tree.c b/lib/remove_tree.c similarity index 100% rename from libmisc/remove_tree.c rename to lib/remove_tree.c diff --git a/libmisc/rlogin.c b/lib/rlogin.c similarity index 68% rename from libmisc/rlogin.c rename to lib/rlogin.c index fa67dc34..c2b899eb 100644 --- a/libmisc/rlogin.c +++ b/lib/rlogin.c @@ -23,71 +23,27 @@ static struct { int spd_baud; } speed_table[] = { -#ifdef B50 - { - B50, 50}, -#endif -#ifdef B75 - { - B75, 75}, -#endif -#ifdef B110 - { - B110, 110}, -#endif -#ifdef B134 - { - B134, 134}, -#endif -#ifdef B150 - { - B150, 150}, -#endif -#ifdef B200 - { - B200, 200}, -#endif -#ifdef B300 - { - B300, 300}, -#endif -#ifdef B600 - { - B600, 600}, -#endif -#ifdef B1200 - { - B1200, 1200}, -#endif -#ifdef B1800 - { - B1800, 1800}, -#endif -#ifdef B2400 - { - B2400, 2400}, -#endif -#ifdef B4800 - { - B4800, 4800}, -#endif -#ifdef B9600 - { - B9600, 9600}, -#endif -#ifdef B19200 - { - B19200, 19200}, -#endif -#ifdef B38400 - { - B38400, 38400}, -#endif - { - -1, -1} + { B50, 50}, + { B75, 75}, + { B110, 110}, + { B134, 134}, + { B150, 150}, + { B200, 200}, + { B300, 300}, + { B600, 600}, + { B1200, 1200}, + { B1800, 1800}, + { B2400, 2400}, + { B4800, 4800}, + { B9600, 9600}, + { B19200, 19200}, + { B38400, 38400}, + { -1, -1} }; -static void get_remote_string (char *buf, size_t size) + +static void +get_remote_string(char *buf, size_t size) { for (;;) { if (read (0, buf, 1) != 1) { @@ -101,11 +57,13 @@ static void get_remote_string (char *buf, size_t size) ++buf; } } - /*NOTREACHED*/} + /*NOTREACHED*/ +} + int -do_rlogin (const char *remote_host, char *name, size_t namelen, char *term, - size_t termlen) +do_rlogin(const char *remote_host, char *name, size_t namesize, char *term, + size_t termsize) { struct passwd *pwd; char remote_name[32]; @@ -115,16 +73,16 @@ do_rlogin (const char *remote_host, char *name, size_t namelen, char *term, int i; TERMIO termio; - get_remote_string (remote_name, sizeof remote_name); - get_remote_string (name, namelen); - get_remote_string (term, termlen); + get_remote_string(remote_name, sizeof(remote_name)); + get_remote_string(name, namesize); + get_remote_string(term, termsize); cp = strchr (term, '/'); if (NULL != cp) { *cp = '\0'; cp++; - if (getulong (cp, &remote_speed) == 0) { + if (getulong(cp, &remote_speed) == -1) { remote_speed = 9600; } } @@ -172,4 +130,3 @@ do_rlogin (const char *remote_host, char *name, size_t namelen, char *term, #endif } #endif /* RLOGIN */ - diff --git a/libmisc/root_flag.c b/lib/root_flag.c similarity index 94% rename from libmisc/root_flag.c rename to lib/root_flag.c index 62915b06..5572831a 100644 --- a/libmisc/root_flag.c +++ b/lib/root_flag.c @@ -91,16 +91,16 @@ static void change_root (const char* newroot) exit (E_BAD_ARG); } - if (chdir (newroot) != 0) { + if (chroot (newroot) != 0) { fprintf(log_get_logfd(), - _("%s: cannot chdir to chroot directory %s: %s\n"), + _("%s: unable to chroot to directory %s: %s\n"), log_get_progname(), newroot, strerror (errno)); exit (E_BAD_ARG); } - if (chroot (newroot) != 0) { + if (chdir ("/") != 0) { fprintf(log_get_logfd(), - _("%s: unable to chroot to directory %s: %s\n"), + _("%s: cannot chdir in chroot directory %s: %s\n"), log_get_progname(), newroot, strerror (errno)); exit (E_BAD_ARG); } diff --git a/lib/run_part.c b/lib/run_part.c index bce11d37..670d8150 100644 --- a/lib/run_part.c +++ b/lib/run_part.c @@ -1,3 +1,5 @@ +#include + #include #include #include @@ -8,9 +10,12 @@ #include #include #include + +#include "alloc.h" #include "run_part.h" #include "shadowlog_internal.h" + int run_part (char *script_path, const char *name, const char *action) { int pid; @@ -53,25 +58,22 @@ int run_parts (const char *directory, const char *name, const char *action) } for (n=0; nd_name) + 2; - char *s = (char*)malloc(path_length); - if (!s) { - printf ("could not allocate memory\n"); + if (asprintf(&s, "%s/%s", directory, namelist[n]->d_name) == -1) { + fprintf(stderr, "could not allocate memory\n"); for (; nd_name); execute_result = 0; if (stat (s, &sb) == -1) { perror ("stat"); - free (s); + free(s); for (; n, * it is in the public domain. - * - * l64a was Written by J.T. Conklin . Public domain. */ #include @@ -22,9 +20,8 @@ #include #include #include -#if HAVE_SYS_RANDOM_H -#include -#endif +#include + #include "prototypes.h" #include "defines.h" #include "getdef.h" @@ -91,13 +88,9 @@ #define GENSALT_SETTING_SIZE 100 /* local function prototypes */ -static long read_random_bytes (void); #if !USE_XCRYPT_GENSALT static /*@observer@*/const char *gensalt (size_t salt_size); #endif /* !USE_XCRYPT_GENSALT */ -#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) -static long shadow_random (long min, long max); -#endif /* USE_SHA_CRYPT || USE_BCRYPT */ #ifdef USE_SHA_CRYPT static /*@observer@*/unsigned long SHA_get_salt_rounds (/*@null@*/const int *prefered_rounds); static /*@observer@*/void SHA_salt_rounds_to_buf (char *buf, unsigned long rounds); @@ -111,113 +104,6 @@ static /*@observer@*/unsigned long YESCRYPT_get_salt_cost (/*@null@*/const int * static /*@observer@*/void YESCRYPT_salt_cost_to_buf (char *buf, unsigned long cost); #endif /* USE_YESCRYPT */ -#if !USE_XCRYPT_GENSALT && !defined(HAVE_L64A) -static /*@observer@*/char *l64a (long value) -{ - static char buf[8]; - char *s = buf; - int digit; - int i; - - if (value < 0) { - errno = EINVAL; - return(NULL); - } - - for (i = 0; value != 0 && i < 6; i++) { - digit = value & 0x3f; - - if (digit < 2) { - *s = digit + '.'; - } else if (digit < 12) { - *s = digit + '0' - 2; - } else if (digit < 38) { - *s = digit + 'A' - 12; - } else { - *s = digit + 'a' - 38; - } - - value >>= 6; - s++; - } - - *s = '\0'; - - return buf; -} -#endif /* !USE_XCRYPT_GENSALT && !defined(HAVE_L64A) */ - -/* Read sizeof (long) random bytes from /dev/urandom. */ -static long read_random_bytes (void) -{ - long randval = 0; - -#ifdef HAVE_ARC4RANDOM_BUF - /* arc4random_buf, if it exists, can never fail. */ - arc4random_buf (&randval, sizeof (randval)); - goto end; -#endif - -#ifdef HAVE_GETENTROPY - /* getentropy may exist but lack kernel support. */ - if (getentropy (&randval, sizeof (randval)) == 0) { - goto end; - } -#endif - -#ifdef HAVE_GETRANDOM - /* Likewise getrandom. */ - if ((size_t) getrandom (&randval, sizeof (randval), 0) == sizeof (randval)) { - goto end; - } -#endif - - /* Use /dev/urandom as a last resort. */ - FILE *f = fopen ("/dev/urandom", "r"); - if (NULL == f) { - goto fail; - } - - if (fread (&randval, sizeof (randval), 1, f) != 1) { - fclose(f); - goto fail; - } - - fclose(f); - goto end; - -fail: - fprintf (log_get_logfd(), - _("Unable to obtain random bytes.\n")); - exit (1); - -end: - return randval; -} - -#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) -/* - * Return a random number between min and max (both included). - * - * It favors slightly the higher numbers. - */ -static long shadow_random (long min, long max) -{ - double drand; - long ret; - - drand = (double) (read_random_bytes () & RAND_MAX) / (double) RAND_MAX; - drand *= (double) (max - min + 1); - /* On systems were this is not random() range is lower, we favor - * higher numbers of salt. */ - ret = (long) (max + 1 - drand); - /* And we catch limits, and use the highest number */ - if ((ret < min) || (ret > max)) { - ret = max; - } - return ret; -} -#endif /* USE_SHA_CRYPT || USE_BCRYPT */ #ifdef USE_SHA_CRYPT /* Return the the rounds number for the SHA crypt methods. */ @@ -245,7 +131,7 @@ static /*@observer@*/unsigned long SHA_get_salt_rounds (/*@null@*/const int *pre max_rounds = min_rounds; } - rounds = (unsigned long) shadow_random (min_rounds, max_rounds); + rounds = csrand_interval (min_rounds, max_rounds); } } else if (0 == *prefered_rounds) { rounds = SHA_ROUNDS_DEFAULT; @@ -318,7 +204,7 @@ static /*@observer@*/unsigned long BCRYPT_get_salt_rounds (/*@null@*/const int * max_rounds = min_rounds; } - rounds = (unsigned long) shadow_random (min_rounds, max_rounds); + rounds = csrand_interval (min_rounds, max_rounds); } } else if (0 == *prefered_rounds) { rounds = B_ROUNDS_DEFAULT; @@ -435,13 +321,13 @@ static /*@observer@*/const char *gensalt (size_t salt_size) { static char salt[MAX_SALT_SIZE + 6]; - memset (salt, '\0', MAX_SALT_SIZE + 6); + bzero(salt, MAX_SALT_SIZE + 6); assert (salt_size >= MIN_SALT_SIZE && salt_size <= MAX_SALT_SIZE); - strcat (salt, l64a (read_random_bytes ())); + strcat (salt, l64a (csrand ())); do { - strcat (salt, l64a (read_random_bytes ())); + strcat (salt, l64a (csrand ())); } while (strlen (salt) < salt_size); salt[salt_size] = '\0'; @@ -474,7 +360,7 @@ static /*@observer@*/const char *gensalt (size_t salt_size) const char *method; unsigned long rounds = 0; - memset (result, '\0', GENSALT_SETTING_SIZE); + bzero(result, GENSALT_SETTING_SIZE); if (NULL != meth) method = meth; @@ -493,26 +379,26 @@ static /*@observer@*/const char *gensalt (size_t salt_size) } else if (0 == strcmp (method, "BCRYPT")) { BCRYPTMAGNUM(result); salt_len = BCRYPT_SALT_SIZE; - rounds = BCRYPT_get_salt_rounds ((int *) arg); + rounds = BCRYPT_get_salt_rounds (arg); BCRYPT_salt_rounds_to_buf (result, rounds); #endif /* USE_BCRYPT */ #ifdef USE_YESCRYPT } else if (0 == strcmp (method, "YESCRYPT")) { MAGNUM(result, 'y'); salt_len = YESCRYPT_SALT_SIZE; - rounds = YESCRYPT_get_salt_cost ((int *) arg); + rounds = YESCRYPT_get_salt_cost (arg); YESCRYPT_salt_cost_to_buf (result, rounds); #endif /* USE_YESCRYPT */ #ifdef USE_SHA_CRYPT } else if (0 == strcmp (method, "SHA256")) { MAGNUM(result, '5'); salt_len = SHA_CRYPT_SALT_SIZE; - rounds = SHA_get_salt_rounds ((int *) arg); + rounds = SHA_get_salt_rounds (arg); SHA_salt_rounds_to_buf (result, rounds); } else if (0 == strcmp (method, "SHA512")) { MAGNUM(result, '6'); salt_len = SHA_CRYPT_SALT_SIZE; - rounds = SHA_get_salt_rounds ((int *) arg); + rounds = SHA_get_salt_rounds (arg); SHA_salt_rounds_to_buf (result, rounds); #endif /* USE_SHA_CRYPT */ } else if (0 != strcmp (method, "DES")) { @@ -522,7 +408,7 @@ static /*@observer@*/const char *gensalt (size_t salt_size) method); salt_len = MAX_SALT_SIZE; rounds = 0; - memset (result, '\0', GENSALT_SETTING_SIZE); + bzero(result, GENSALT_SETTING_SIZE); } #if USE_XCRYPT_GENSALT @@ -534,7 +420,7 @@ static /*@observer@*/const char *gensalt (size_t salt_size) /* Avoid -Wunused-but-set-variable. */ salt_len = GENSALT_SETTING_SIZE - 1; rounds = 0; - memset (result, '.', salt_len); + memset(result, '.', salt_len); result[salt_len] = '\0'; } diff --git a/lib/selinux.c b/lib/selinux.c index ad639bd3..6eb2894c 100644 --- a/lib/selinux.c +++ b/lib/selinux.c @@ -188,7 +188,7 @@ int check_selinux_permit (const char *perm_name) return 0; } - selinux_set_callback (SELINUX_CB_LOG, (union selinux_callback) selinux_log_cb); + selinux_set_callback (SELINUX_CB_LOG, (union selinux_callback) { .func_log = selinux_log_cb }); if (getprevcon_raw (&user_context_raw) != 0) { fprintf (shadow_logfd, @@ -206,5 +206,5 @@ int check_selinux_permit (const char *perm_name) } #else /* !WITH_SELINUX */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !WITH_SELINUX */ diff --git a/lib/semanage.c b/lib/semanage.c index 082a6e8e..277e20ec 100644 --- a/lib/semanage.c +++ b/lib/semanage.c @@ -16,19 +16,19 @@ #endif #include #include + #include + #include + +#include "attr.h" #include "prototypes.h" #include "shadowlog_internal.h" -#ifndef DEFAULT_SERANGE -#define DEFAULT_SERANGE "s0" -#endif - format_attr(printf, 3, 4) -static void semanage_error_callback (unused void *varg, +static void semanage_error_callback (MAYBE_UNUSED void *varg, semanage_handle_t *handle, const char *fmt, ...) { @@ -101,6 +101,8 @@ static semanage_handle_t *semanage_init (void) return handle; fail: + if (handle) + semanage_disconnect (handle); semanage_handle_destroy (handle); return NULL; } @@ -109,7 +111,8 @@ fail: static int semanage_user_mod (semanage_handle_t *handle, semanage_seuser_key_t *key, const char *login_name, - const char *seuser_name) + const char *seuser_name, + const char *serange) { int ret; semanage_seuser_t *seuser = NULL; @@ -122,11 +125,12 @@ static int semanage_user_mod (semanage_handle_t *handle, goto done; } - if (semanage_mls_enabled(handle)) { - ret = semanage_seuser_set_mlsrange (handle, seuser, DEFAULT_SERANGE); + if (serange && semanage_mls_enabled(handle)) { + ret = semanage_seuser_set_mlsrange (handle, seuser, serange); if (ret != 0) { fprintf (shadow_logfd, - _("Could not set serange for %s\n"), login_name); + _("Could not set serange for %s to %s\n"), + login_name, serange); ret = 1; goto done; } @@ -158,9 +162,10 @@ done: static int semanage_user_add (semanage_handle_t *handle, - semanage_seuser_key_t *key, + const semanage_seuser_key_t *key, const char *login_name, - const char *seuser_name) + const char *seuser_name, + const char *serange) { int ret; semanage_seuser_t *seuser = NULL; @@ -181,11 +186,12 @@ static int semanage_user_add (semanage_handle_t *handle, goto done; } - if (semanage_mls_enabled(handle)) { - ret = semanage_seuser_set_mlsrange (handle, seuser, DEFAULT_SERANGE); + if (serange && semanage_mls_enabled(handle)) { + ret = semanage_seuser_set_mlsrange (handle, seuser, serange); if (ret != 0) { fprintf (shadow_logfd, - _("Could not set serange for %s\n"), login_name); + _("Could not set serange for %s to %s\n"), + login_name, serange); ret = 1; goto done; } @@ -216,7 +222,7 @@ done: } -int set_seuser (const char *login_name, const char *seuser_name) +int set_seuser (const char *login_name, const char *seuser_name, const char *serange) { semanage_handle_t *handle = NULL; semanage_seuser_key_t *key = NULL; @@ -250,7 +256,7 @@ int set_seuser (const char *login_name, const char *seuser_name) } if (0 != seuser_exists) { - ret = semanage_user_mod (handle, key, login_name, seuser_name); + ret = semanage_user_mod (handle, key, login_name, seuser_name, serange); if (ret != 0) { fprintf (shadow_logfd, _("Cannot modify SELinux user mapping\n")); @@ -258,7 +264,7 @@ int set_seuser (const char *login_name, const char *seuser_name) goto done; } } else { - ret = semanage_user_add (handle, key, login_name, seuser_name); + ret = semanage_user_add (handle, key, login_name, seuser_name, serange); if (ret != 0) { fprintf (shadow_logfd, _("Cannot add SELinux user mapping\n")); @@ -279,6 +285,8 @@ int set_seuser (const char *login_name, const char *seuser_name) done: semanage_seuser_key_free (key); + if (handle) + semanage_disconnect (handle); semanage_handle_destroy (handle); return ret; } @@ -353,9 +361,12 @@ int del_seuser (const char *login_name) ret = 0; done: + semanage_seuser_key_free (key); + if (handle) + semanage_disconnect (handle); semanage_handle_destroy (handle); return ret; } #else /* !WITH_SELINUX */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !WITH_SELINUX */ diff --git a/libmisc/setugid.c b/lib/setugid.c similarity index 100% rename from libmisc/setugid.c rename to lib/setugid.c diff --git a/libmisc/setupenv.c b/lib/setupenv.c similarity index 92% rename from libmisc/setupenv.c rename to lib/setupenv.c index 5d7aefa2..c9b7f26f 100644 --- a/libmisc/setupenv.c +++ b/lib/setupenv.c @@ -20,26 +20,25 @@ #include #include #include + +#include "alloc.h" #include "prototypes.h" #include "defines.h" #include #include "getdef.h" #include "shadowlog.h" +#include "string/sprintf.h" + #ifndef USE_PAM static void -addenv_path (const char *varname, const char *dirname, const char *filename) +addenv_path(const char *varname, const char *dirname, const char *filename) { - char *buf; - size_t len = strlen (dirname) + strlen (filename) + 2; - int wlen; + char *buf; - buf = xmalloc (len); - wlen = snprintf (buf, len, "%s/%s", dirname, filename); - assert (wlen == (int) len - 1); - - addenv (varname, buf); - free (buf); + xasprintf(&buf, "%s/%s", dirname, filename); + addenv(varname, buf); + free(buf); } static void read_env_file (const char *filename) @@ -61,7 +60,7 @@ static void read_env_file (const char *filename) cp = buf; /* ignore whitespace and comments */ - while (('\0' != *cp) && isspace (*cp)) { + while (isspace (*cp)) { cp++; } if (('\0' == *cp) || ('#' == *cp)) { @@ -194,8 +193,6 @@ void setup_env (struct passwd *info) */ if (chdir (info->pw_dir) == -1) { - static char temp_pw_dir[] = "/"; - if (!getdef_bool ("DEFAULT_HOME") || chdir ("/") == -1) { fprintf (log_get_logfd(), _("Unable to cd to '%s'\n"), info->pw_dir); @@ -207,7 +204,7 @@ void setup_env (struct passwd *info) } (void) puts (_("No directory, logging in with HOME=/")); free (info->pw_dir); - info->pw_dir = xstrdup (temp_pw_dir); + info->pw_dir = xstrdup ("/"); } /* @@ -221,10 +218,8 @@ void setup_env (struct passwd *info) */ if ((NULL == info->pw_shell) || ('\0' == *info->pw_shell)) { - static char temp_pw_shell[] = SHELL; - free (info->pw_shell); - info->pw_shell = xstrdup (temp_pw_shell); + info->pw_shell = xstrdup (SHELL); } addenv ("SHELL", info->pw_shell); diff --git a/lib/sgetgrent.c b/lib/sgetgrent.c index ad4fcc86..6cde15c3 100644 --- a/lib/sgetgrent.c +++ b/lib/sgetgrent.c @@ -14,6 +14,9 @@ #include #include #include +#include + +#include "alloc.h" #include "defines.h" #include "prototypes.h" @@ -25,19 +28,15 @@ * list() converts the comma-separated list of member names into * an array of character pointers. * - * WARNING: I profiled this once with and without strchr() calls - * and found that using a register variable and an explicit loop - * works best. For large /etc/group files, this is a major win. - * * FINALLY added dynamic allocation. Still need to fix sgetsgent(). * --marekm */ -static char **list (char *s) +static char ** +list(char *s) { - static char **members = 0; - static int size = 0; /* max members + 1 */ - int i; - char **rbuf; + static char **members = NULL; + static size_t size = 0; /* max members + 1 */ + size_t i; i = 0; for (;;) { @@ -45,40 +44,24 @@ static char **list (char *s) member name, or terminating NULL). */ if (i >= size) { size = i + 100; /* at least: i + 1 */ - if (members) { - rbuf = - realloc (members, size * sizeof (char *)); - } else { - /* for old (before ANSI C) implementations of - realloc() that don't handle NULL properly */ - rbuf = malloc (size * sizeof (char *)); - } - if (!rbuf) { - free (members); - members = 0; + members = REALLOCF(members, size, char *); + if (!members) { size = 0; - return (char **) 0; + return NULL; } - members = rbuf; } if (!s || s[0] == '\0') break; - members[i++] = s; - while (('\0' != *s) && (',' != *s)) { - s++; - } - if ('\0' != *s) { - *s++ = '\0'; - } + members[i++] = strsep(&s, ","); } - members[i] = (char *) 0; + members[i] = NULL; return members; } struct group *sgetgrent (const char *buf) { - static char *grpbuf = 0; + static char *grpbuf = NULL; static size_t size = 0; static char *grpfields[NFIELDS]; static struct group grent; @@ -90,10 +73,10 @@ struct group *sgetgrent (const char *buf) allocate a larger block */ free (grpbuf); size = strlen (buf) + 1000; /* at least: strlen(buf) + 1 */ - grpbuf = malloc (size); - if (!grpbuf) { + grpbuf = MALLOC(size, char); + if (grpbuf == NULL) { size = 0; - return 0; + return NULL; } } strcpy (grpbuf, buf); @@ -103,25 +86,20 @@ struct group *sgetgrent (const char *buf) *cp = '\0'; } - for (cp = grpbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++) { - grpfields[i] = cp; - cp = strchr (cp, ':'); - if (NULL != cp) { - *cp = '\0'; - cp++; - } - } + for (cp = grpbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++) + grpfields[i] = strsep(&cp, ":"); + if (i < (NFIELDS - 1) || *grpfields[2] == '\0' || cp != NULL) { - return (struct group *) 0; + return NULL; } grent.gr_name = grpfields[0]; grent.gr_passwd = grpfields[1]; - if (get_gid (grpfields[2], &grent.gr_gid) == 0) { - return (struct group *) 0; + if (get_gid(grpfields[2], &grent.gr_gid) == -1) { + return NULL; } grent.gr_mem = list (grpfields[3]); if (NULL == grent.gr_mem) { - return (struct group *) 0; /* out of memory */ + return NULL; /* out of memory */ } return &grent; diff --git a/lib/sgetpwent.c b/lib/sgetpwent.c index 1c8c63e0..75c91770 100644 --- a/lib/sgetpwent.c +++ b/lib/sgetpwent.c @@ -12,9 +12,11 @@ #ident "$Id$" #include -#include "defines.h" #include #include +#include + +#include "defines.h" #include "prototypes.h" #include "shadowlog_internal.h" @@ -32,7 +34,8 @@ * performance reasons. I am going to come up with some conditional * compilation glarp to improve on this in the future. */ -struct passwd *sgetpwent (const char *buf) +struct passwd * +sgetpwent(const char *buf) { static struct passwd pwent; static char pwdbuf[PASSWD_ENTRY_MAX_LENGTH]; @@ -58,19 +61,8 @@ struct passwd *sgetpwent (const char *buf) * field. The fields are converted into NUL terminated strings. */ - for (cp = pwdbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++) { - fields[i] = cp; - while (('\0' != *cp) && (':' != *cp)) { - cp++; - } - - if ('\0' != *cp) { - *cp = '\0'; - cp++; - } else { - cp = NULL; - } - } + for (cp = pwdbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++) + fields[i] = strsep(&cp, ":"); /* something at the end, columns over shot */ if ( cp != NULL ) { @@ -94,10 +86,10 @@ struct passwd *sgetpwent (const char *buf) pwent.pw_name = fields[0]; pwent.pw_passwd = fields[1]; - if (get_uid (fields[2], &pwent.pw_uid) == 0) { + if (get_uid(fields[2], &pwent.pw_uid) == -1) { return NULL; } - if (get_gid (fields[3], &pwent.pw_gid) == 0) { + if (get_gid(fields[3], &pwent.pw_gid) == -1) { return NULL; } pwent.pw_gecos = fields[4]; diff --git a/lib/sgetspent.c b/lib/sgetspent.c index f1d4b201..758258f9 100644 --- a/lib/sgetspent.c +++ b/lib/sgetspent.c @@ -14,17 +14,25 @@ #ident "$Id$" +#include +#include #include +#include + #include "prototypes.h" #include "shadowlog_internal.h" #include "defines.h" -#include + + #define FIELDS 9 #define OFIELDS 5 + + /* * sgetspent - convert string in shadow file format to (struct spwd *) */ -struct spwd *sgetspent (const char *string) +struct spwd * +sgetspent(const char *string) { static char spwbuf[PASSWD_ENTRY_MAX_LENGTH]; static struct spwd spwd; @@ -41,7 +49,7 @@ struct spwd *sgetspent (const char *string) fprintf (shadow_logfd, "%s: Too long passwd entry encountered, file corruption?\n", shadow_progname); - return 0; /* fail if too long */ + return NULL; /* fail if too long */ } strcpy (spwbuf, string); @@ -57,9 +65,7 @@ struct spwd *sgetspent (const char *string) for (cp = spwbuf, i = 0; ('\0' != *cp) && (i < FIELDS); i++) { fields[i] = cp; - while (('\0' != *cp) && (':' != *cp)) { - cp++; - } + cp = strchrnul(cp, ':'); if ('\0' != *cp) { *cp = '\0'; @@ -67,13 +73,12 @@ struct spwd *sgetspent (const char *string) } } - if (i == (FIELDS - 1)) { - fields[i++] = cp; - } + if (i == (FIELDS - 1)) + fields[i++] = ""; if ( ((NULL != cp) && ('\0' != *cp)) || ((i != FIELDS) && (i != OFIELDS)) ) { - return 0; + return NULL; } /* @@ -92,9 +97,9 @@ struct spwd *sgetspent (const char *string) if (fields[2][0] == '\0') { spwd.sp_lstchg = -1; - } else if ( (getlong (fields[2], &spwd.sp_lstchg) == 0) + } else if ( (getlong(fields[2], &spwd.sp_lstchg) == -1) || (spwd.sp_lstchg < 0)) { - return 0; + return NULL; } /* @@ -103,9 +108,9 @@ struct spwd *sgetspent (const char *string) if (fields[3][0] == '\0') { spwd.sp_min = -1; - } else if ( (getlong (fields[3], &spwd.sp_min) == 0) + } else if ( (getlong(fields[3], &spwd.sp_min) == -1) || (spwd.sp_min < 0)) { - return 0; + return NULL; } /* @@ -114,9 +119,9 @@ struct spwd *sgetspent (const char *string) if (fields[4][0] == '\0') { spwd.sp_max = -1; - } else if ( (getlong (fields[4], &spwd.sp_max) == 0) + } else if ( (getlong(fields[4], &spwd.sp_max) == -1) || (spwd.sp_max < 0)) { - return 0; + return NULL; } /* @@ -139,9 +144,9 @@ struct spwd *sgetspent (const char *string) if (fields[5][0] == '\0') { spwd.sp_warn = -1; - } else if ( (getlong (fields[5], &spwd.sp_warn) == 0) + } else if ( (getlong(fields[5], &spwd.sp_warn) == -1) || (spwd.sp_warn < 0)) { - return 0; + return NULL; } /* @@ -151,9 +156,9 @@ struct spwd *sgetspent (const char *string) if (fields[6][0] == '\0') { spwd.sp_inact = -1; - } else if ( (getlong (fields[6], &spwd.sp_inact) == 0) + } else if ( (getlong(fields[6], &spwd.sp_inact) == -1) || (spwd.sp_inact < 0)) { - return 0; + return NULL; } /* @@ -163,9 +168,9 @@ struct spwd *sgetspent (const char *string) if (fields[7][0] == '\0') { spwd.sp_expire = -1; - } else if ( (getlong (fields[7], &spwd.sp_expire) == 0) + } else if ( (getlong(fields[7], &spwd.sp_expire) == -1) || (spwd.sp_expire < 0)) { - return 0; + return NULL; } /* @@ -175,13 +180,12 @@ struct spwd *sgetspent (const char *string) if (fields[8][0] == '\0') { spwd.sp_flag = SHADOW_SP_FLAG_UNSET; - } else if (getulong (fields[8], &spwd.sp_flag) == 0) { - return 0; + } else if (getulong(fields[8], &spwd.sp_flag) == -1) { + return NULL; } return (&spwd); } #else -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif - diff --git a/lib/sgroupio.c b/lib/sgroupio.c index 871749bd..0297df4a 100644 --- a/lib/sgroupio.c +++ b/lib/sgroupio.c @@ -14,10 +14,12 @@ #ident "$Id$" +#include "alloc.h" #include "prototypes.h" #include "defines.h" #include "commonio.h" #include "getdef.h" +#include "memzero.h" #include "sgroupio.h" /*@null@*/ /*@only@*/struct sgrp *__sgr_dup (const struct sgrp *sgent) @@ -25,13 +27,12 @@ struct sgrp *sg; int i; - sg = (struct sgrp *) malloc (sizeof *sg); + sg = CALLOC (1, struct sgrp); if (NULL == sg) { return NULL; } /* Do the same as the other _dup function, even if we know the * structure. */ - memset (sg, 0, sizeof *sg); /*@-mustfreeonly@*/ sg->sg_name = strdup (sgent->sg_name); /*@=mustfreeonly@*/ @@ -50,7 +51,7 @@ for (i = 0; NULL != sgent->sg_adm[i]; i++); /*@-mustfreeonly@*/ - sg->sg_adm = (char **) malloc ((i + 1) * sizeof (char *)); + sg->sg_adm = MALLOC(i + 1, char *); /*@=mustfreeonly@*/ if (NULL == sg->sg_adm) { free (sg->sg_passwd); @@ -75,7 +76,7 @@ for (i = 0; NULL != sgent->sg_mem[i]; i++); /*@-mustfreeonly@*/ - sg->sg_mem = (char **) malloc ((i + 1) * sizeof (char *)); + sg->sg_mem = MALLOC(i + 1, char *); /*@=mustfreeonly@*/ if (NULL == sg->sg_mem) { for (i = 0; NULL != sg->sg_adm[i]; i++) { @@ -116,14 +117,16 @@ static /*@null@*/ /*@only@*/void *gshadow_dup (const void *ent) return __sgr_dup (sg); } -static void gshadow_free (/*@out@*/ /*@only@*/void *ent) +static void +gshadow_free(/*@only@*/void *ent) { struct sgrp *sg = ent; sgr_free (sg); } -void sgr_free (/*@out@*/ /*@only@*/struct sgrp *sgent) +void +sgr_free(/*@only@*/struct sgrp *sgent) { size_t i; free (sgent->sg_name); @@ -151,7 +154,7 @@ static const char *gshadow_getname (const void *ent) static void *gshadow_parse (const char *line) { - return (void *) sgetsgent (line); + return sgetsgent (line); } static int gshadow_put (const void *ent, FILE * file) @@ -253,7 +256,7 @@ int sgr_open (int mode) int sgr_update (const struct sgrp *sg) { - return commonio_update (&gshadow_db, (const void *) sg); + return commonio_update (&gshadow_db, sg); } int sgr_remove (const char *name) @@ -302,5 +305,5 @@ int sgr_sort () return commonio_sort_wrt (&gshadow_db, __gr_get_db ()); } #else -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif diff --git a/lib/shadow.c b/lib/shadow.c index b628b657..8d2c7007 100644 --- a/lib/shadow.c +++ b/lib/shadow.c @@ -18,54 +18,13 @@ #include "prototypes.h" #include "defines.h" #include -#ifdef USE_NIS -static bool nis_used; -static bool nis_ignore; -static enum { native, start, middle, native2 } nis_state; -static bool nis_bound; -static char *nis_domain; -static char *nis_key; -static int nis_keylen; -static char *nis_val; -static int nis_vallen; -#define IS_NISCHAR(c) ((c)=='+') -#endif static FILE *shadow; #define FIELDS 9 #define OFIELDS 5 -#ifdef USE_NIS - -/* - * __setspNIS - turn on or off NIS searches - */ - -void __setspNIS (bool flag) -{ - nis_ignore = !flag; - - if (nis_ignore) { - nis_used = false; - } -} - -/* - * bind_nis - bind to NIS server - */ - -static int bind_nis (void) -{ - if (yp_get_default_domain (&nis_domain)) { - return -1; - } - - nis_bound = true; - return 0; -} -#endif /* * setspent - initialize access to shadow text and DBM files @@ -78,10 +37,6 @@ void setspent (void) }else { shadow = fopen (SHADOW_FILE, "r"); } - -#ifdef USE_NIS - nis_state = native; -#endif } /* @@ -94,7 +49,7 @@ void endspent (void) (void) fclose (shadow); } - shadow = (FILE *) 0; + shadow = NULL; } /* @@ -150,11 +105,6 @@ static struct spwd *my_sgetspent (const char *string) */ spwd.sp_namp = fields[0]; -#ifdef USE_NIS - if (IS_NISCHAR (fields[0][0])) { - nis_used = true; - } -#endif spwd.sp_pwdp = fields[1]; /* @@ -166,16 +116,10 @@ static struct spwd *my_sgetspent (const char *string) if (fields[2][0] == '\0') { spwd.sp_lstchg = -1; } else { - if (getlong (fields[2], &spwd.sp_lstchg) == 0) { -#ifdef USE_NIS - if (nis_used) { - spwd.sp_lstchg = -1; - } else -#endif - return 0; - } else if (spwd.sp_lstchg < 0) { + if (getlong(fields[2], &spwd.sp_lstchg) == -1) + return 0; + if (spwd.sp_lstchg < 0) return 0; - } } /* @@ -185,18 +129,10 @@ static struct spwd *my_sgetspent (const char *string) if (fields[3][0] == '\0') { spwd.sp_min = -1; } else { - if (getlong (fields[3], &spwd.sp_min) == 0) { -#ifdef USE_NIS - if (nis_used) { - spwd.sp_min = -1; - } else -#endif - { - return 0; - } - } else if (spwd.sp_min < 0) { + if (getlong(fields[3], &spwd.sp_min) == -1) + return 0; + if (spwd.sp_min < 0) return 0; - } } /* @@ -206,16 +142,10 @@ static struct spwd *my_sgetspent (const char *string) if (fields[4][0] == '\0') { spwd.sp_max = -1; } else { - if (getlong (fields[4], &spwd.sp_max) == 0) { -#ifdef USE_NIS - if (nis_used) { - spwd.sp_max = -1; - } else -#endif - return 0; - } else if (spwd.sp_max < 0) { + if (getlong(fields[4], &spwd.sp_max) == -1) + return 0; + if (spwd.sp_max < 0) return 0; - } } /* @@ -239,18 +169,10 @@ static struct spwd *my_sgetspent (const char *string) if (fields[5][0] == '\0') { spwd.sp_warn = -1; } else { - if (getlong (fields[5], &spwd.sp_warn) == 0) { -#ifdef USE_NIS - if (nis_used) { - spwd.sp_warn = -1; - } else -#endif - { - return 0; - } - } else if (spwd.sp_warn < 0) { + if (getlong(fields[5], &spwd.sp_warn) == -1) + return 0; + if (spwd.sp_warn < 0) return 0; - } } /* @@ -261,18 +183,10 @@ static struct spwd *my_sgetspent (const char *string) if (fields[6][0] == '\0') { spwd.sp_inact = -1; } else { - if (getlong (fields[6], &spwd.sp_inact) == 0) { -#ifdef USE_NIS - if (nis_used) { - spwd.sp_inact = -1; - } else -#endif - { - return 0; - } - } else if (spwd.sp_inact < 0) { + if (getlong(fields[6], &spwd.sp_inact) == -1) + return 0; + if (spwd.sp_inact < 0) return 0; - } } /* @@ -283,18 +197,10 @@ static struct spwd *my_sgetspent (const char *string) if (fields[7][0] == '\0') { spwd.sp_expire = -1; } else { - if (getlong (fields[7], &spwd.sp_expire) == 0) { -#ifdef USE_NIS - if (nis_used) { - spwd.sp_expire = -1; - } else -#endif - { - return 0; - } - } else if (spwd.sp_expire < 0) { + if (getlong(fields[7], &spwd.sp_expire) == -1) + return 0; + if (spwd.sp_expire < 0) return 0; - } } /* @@ -305,18 +211,10 @@ static struct spwd *my_sgetspent (const char *string) if (fields[8][0] == '\0') { spwd.sp_flag = SHADOW_SP_FLAG_UNSET; } else { - if (getulong (fields[8], &spwd.sp_flag) == 0) { -#ifdef USE_NIS - if (nis_used) { - spwd.sp_flag = SHADOW_SP_FLAG_UNSET; - } else -#endif - { - return 0; - } - } else if (spwd.sp_flag < 0) { + if (getulong(fields[8], &spwd.sp_flag) == -1) + return 0; + if (spwd.sp_flag < 0) return 0; - } } return (&spwd); @@ -335,21 +233,12 @@ struct spwd *fgetspent (FILE * fp) return (0); } -#ifdef USE_NIS - while (fgets (buf, (int) sizeof buf, fp) != (char *) 0) -#else - if (fgets (buf, (int) sizeof buf, fp) != (char *) 0) -#endif + if (fgets (buf, sizeof buf, fp) != NULL) { cp = strchr (buf, '\n'); if (NULL != cp) { *cp = '\0'; } -#ifdef USE_NIS - if (nis_ignore && IS_NISCHAR (buf[0])) { - continue; - } -#endif return my_sgetspent (buf); } return 0; @@ -361,92 +250,10 @@ struct spwd *fgetspent (FILE * fp) struct spwd *getspent (void) { -#ifdef USE_NIS - int nis_1_user = 0; - struct spwd *val; -#endif if (NULL == shadow) { setspent (); } - -#ifdef USE_NIS - again: - /* - * See if we are reading from the local file. - */ - - if (nis_state == native || nis_state == native2) { - - /* - * Get the next entry from the shadow file. Return NULL - * right away if there is none. - */ - - val = fgetspent (shadow); - if (NULL == val) - return 0; - - /* - * If this entry began with a NIS escape character, we have - * to see if this is just a single user, or if the entire - * map is being asked for. - */ - - if (IS_NISCHAR (val->sp_namp[0])) { - if (val->sp_namp[1]) - nis_1_user = 1; - else - nis_state = start; - } - - /* - * If this isn't a NIS user and this isn't an escape to go - * use a NIS map, it must be a regular local user. - */ - - if (nis_1_user == 0 && nis_state != start) - return val; - - /* - * If this is an escape to use an NIS map, switch over to - * that bunch of code. - */ - - if (nis_state == start) - goto again; - - /* - * NEEDSWORK. Here we substitute pieces-parts of this entry. - */ - - return 0; - } else { - if (!nis_bound) { - if (bind_nis ()) { - nis_state = native2; - goto again; - } - } - if (nis_state == start) { - if (yp_first (nis_domain, "shadow.bynam", &nis_key, - &nis_keylen, &nis_val, &nis_vallen)) { - nis_state = native2; - goto again; - } - nis_state = middle; - } else if (nis_state == middle) { - if (yp_next (nis_domain, "shadow.bynam", nis_key, - nis_keylen, &nis_key, &nis_keylen, - &nis_val, &nis_vallen)) { - nis_state = native2; - goto again; - } - } - return my_sgetspent (nis_val); - } -#else return (fgetspent (shadow)); -#endif } /* @@ -457,74 +264,16 @@ struct spwd *getspnam (const char *name) { struct spwd *sp; -#ifdef USE_NIS - static char save_name[16]; - bool nis_disabled = false; -#endif - setspent (); -#ifdef USE_NIS - /* - * Search the shadow.byname map for this user. - */ - - if (!nis_ignore && !nis_bound) { - bind_nis (); - } - - if (!nis_ignore && nis_bound) { - char *cp; - - if (yp_match (nis_domain, "shadow.byname", name, - strlen (name), &nis_val, &nis_vallen) == 0) { - - cp = strchr (nis_val, '\n'); - if (NULL != cp) { - *cp = '\0'; - } - - nis_state = middle; - sp = my_sgetspent (nis_val); - if (NULL != sp) { - strcpy (save_name, sp->sp_namp); - nis_key = save_name; - nis_keylen = strlen (save_name); - } - endspent (); - return sp; - } else { - nis_state = native2; - } - } -#endif -#ifdef USE_NIS - /* - * NEEDSWORK -- this is a mess, and it is the same mess in the - * other three files. I can't just blindly turn off NIS because - * this might be the first pass through the local files. In - * that case, I never discover that NIS is present. - */ - - if (nis_used) { - nis_ignore = true; - nis_disabled = true; - } -#endif - while ((sp = getspent ()) != (struct spwd *) 0) { + while ((sp = getspent ()) != NULL) { if (strcmp (name, sp->sp_namp) == 0) { break; } } -#ifdef USE_NIS - if (nis_disabled) { - nis_ignore = false; - } -#endif endspent (); return (sp); } #else -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif - diff --git a/lib/shadowio.c b/lib/shadowio.c index 683b6c81..d2c3b473 100644 --- a/lib/shadowio.c +++ b/lib/shadowio.c @@ -31,7 +31,8 @@ static /*@null@*/ /*@only@*/void *shadow_dup (const void *ent) return __spw_dup (sp); } -static void shadow_free (/*@out@*//*@only@*/void *ent) +static void +shadow_free(/*@only@*/void *ent) { struct spwd *sp = ent; @@ -47,7 +48,7 @@ static const char *shadow_getname (const void *ent) static void *shadow_parse (const char *line) { - return (void *) sgetspent (line); + return sgetspent (line); } static int shadow_put (const void *ent, FILE * file) @@ -164,7 +165,7 @@ int spw_open (int mode) int spw_update (const struct spwd *sp) { - return commonio_update (&shadow_db, (const void *) sp); + return commonio_update (&shadow_db, sp); } int spw_remove (const char *name) diff --git a/lib/shadowlog_internal.h b/lib/shadowlog_internal.h index 72a0e0c3..f972a3c4 100644 --- a/lib/shadowlog_internal.h +++ b/lib/shadowlog_internal.h @@ -2,6 +2,6 @@ #define _SHADOWLOG_INTERNAL_H extern const char *shadow_progname; /* Program name showed in error messages */ -extern FILE *shadow_logfd; /* file descripter to which error messages are printed */ +extern FILE *shadow_logfd; /* file descriptor to which error messages are printed */ #endif /* _SHADOWLOG_INTERNAL_H */ diff --git a/lib/shadowmem.c b/lib/shadowmem.c index 82f99e72..9d8f193b 100644 --- a/lib/shadowmem.c +++ b/lib/shadowmem.c @@ -16,18 +16,20 @@ #include "defines.h" #include #include + +#include "alloc.h" +#include "memzero.h" #include "shadowio.h" /*@null@*/ /*@only@*/struct spwd *__spw_dup (const struct spwd *spent) { struct spwd *sp; - sp = (struct spwd *) malloc (sizeof *sp); + sp = CALLOC (1, struct spwd); if (NULL == sp) { return NULL; } /* The libc might define other fields. They won't be copied. */ - memset (sp, 0, sizeof *sp); sp->sp_lstchg = spent->sp_lstchg; sp->sp_min = spent->sp_min; sp->sp_max = spent->sp_max; @@ -54,7 +56,8 @@ return sp; } -void spw_free (/*@out@*/ /*@only@*/struct spwd *spent) +void +spw_free(/*@only@*/struct spwd *spent) { if (spent != NULL) { free (spent->sp_namp); diff --git a/libmisc/shell.c b/lib/shell.c similarity index 82% rename from libmisc/shell.c rename to lib/shell.c index 7c67500d..25ef3e30 100644 --- a/libmisc/shell.c +++ b/lib/shell.c @@ -15,6 +15,9 @@ #include #include "prototypes.h" #include "defines.h" +#include "string/sprintf.h" + + extern char **newenvp; extern size_t newenvc; @@ -30,10 +33,10 @@ extern size_t newenvc; int shell (const char *file, /*@null@*/const char *arg, char *const envp[]) { - char arg0[1024]; - int err; + int err; + char arg0[1024]; - if (file == (char *) 0) { + if (file == NULL) { errno = EINVAL; return errno; } @@ -44,9 +47,8 @@ int shell (const char *file, /*@null@*/const char *arg, char *const envp[]) * that. So, we determine the 0'th entry only if they * don't want to tell us what it is themselves. */ - if (arg == (char *) 0) { - (void) snprintf (arg0, sizeof arg0, "-%s", Basename (file)); - arg0[sizeof arg0 - 1] = '\0'; + if (arg == NULL) { + SNPRINTF(arg0, "-%s", Basename(file)); arg = arg0; } @@ -55,7 +57,7 @@ int shell (const char *file, /*@null@*/const char *arg, char *const envp[]) * able to figure out what we are up to without too much * grief. */ - (void) execle (file, arg, (char *) 0, envp); + (void) execle (file, arg, (char *) NULL, envp); err = errno; if (access (file, R_OK|X_OK) == 0) { @@ -63,7 +65,7 @@ int shell (const char *file, /*@null@*/const char *arg, char *const envp[]) * Assume this is a shell script (with no shebang). * Interpret it with /bin/sh */ - (void) execle (SHELL, "sh", "-", file, (char *)0, envp); + (void) execle (SHELL, "sh", "-", file, (char *) NULL, envp); err = errno; } @@ -72,7 +74,7 @@ int shell (const char *file, /*@null@*/const char *arg, char *const envp[]) * how to execute this stupid shell, so I might as well give * up in disgust ... */ - (void) snprintf (arg0, sizeof arg0, _("Cannot execute %s"), file); + SNPRINTF(arg0, _("Cannot execute %s"), file); errno = err; perror (arg0); return err; diff --git a/lib/sizeof.h b/lib/sizeof.h new file mode 100644 index 00000000..6847068e --- /dev/null +++ b/lib/sizeof.h @@ -0,0 +1,25 @@ +/* + * SPDX-FileCopyrightText: 2022-2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#ifndef SHADOW_INCLUDE_LIBMISC_SIZEOF_H_ +#define SHADOW_INCLUDE_LIBMISC_SIZEOF_H_ + + +#include + +#include + +#include "must_be.h" + + +#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) + + +#endif // include guard diff --git a/lib/spawn.c b/lib/spawn.c index ce1a97db..57a41219 100644 --- a/lib/spawn.c +++ b/lib/spawn.c @@ -17,8 +17,9 @@ #include "shadowlog_internal.h" -int run_command (const char *cmd, const char *argv[], - /*@null@*/const char *envp[], /*@out@*/int *status) +int +run_command(const char *cmd, const char *argv[], + /*@null@*/const char *envp[], int *restrict status) { pid_t pid, wpid; diff --git a/lib/sssd.c b/lib/sssd.c index 786ccd60..fadb378d 100644 --- a/lib/sssd.c +++ b/lib/sssd.c @@ -4,8 +4,11 @@ #ifdef USE_SSSD #include +#include #include #include + +#include "alloc.h" #include "exitcodes.h" #include "defines.h" #include "prototypes.h" @@ -19,12 +22,17 @@ int sssd_flush_cache (int dbflags) { int status, code, rv; const char *cmd = "/usr/sbin/sss_cache"; + struct stat sb; char *sss_cache_args = NULL; const char *spawnedArgs[] = {"sss_cache", NULL, NULL}; const char *spawnedEnv[] = {NULL}; int i = 0; - sss_cache_args = malloc(4); + rv = stat(cmd, &sb); + if (rv == -1 && errno == ENOENT) + return 0; + + sss_cache_args = MALLOC(4, char); if (sss_cache_args == NULL) { return -1; } @@ -70,6 +78,6 @@ int sssd_flush_cache (int dbflags) return 0; } #else /* USE_SSSD */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* USE_SSSD */ diff --git a/lib/string/sprintf.c b/lib/string/sprintf.c new file mode 100644 index 00000000..cf3c210b --- /dev/null +++ b/lib/string/sprintf.c @@ -0,0 +1,24 @@ +/* + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include + +#ident "$Id$" + +#include "string/sprintf.h" + +#include +#include +#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); + +extern inline int snprintf_(char *restrict s, size_t size, + const char *restrict fmt, ...); +extern inline int vsnprintf_(char *restrict s, size_t size, + const char *restrict fmt, va_list ap); diff --git a/lib/string/sprintf.h b/lib/string/sprintf.h new file mode 100644 index 00000000..74853694 --- /dev/null +++ b/lib/string/sprintf.h @@ -0,0 +1,97 @@ +/* + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#ifndef SHADOW_INCLUDE_LIB_SPRINTF_H_ +#define SHADOW_INCLUDE_LIB_SPRINTF_H_ + + +#include + +#include +#include +#include + +#include "attr.h" +#include "defines.h" +#include "sizeof.h" + + +#define SNPRINTF(s, fmt, ...) \ + snprintf_(s, NITEMS(s), fmt __VA_OPT__(,) __VA_ARGS__) + + +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); + +format_attr(printf, 3, 4) +inline int snprintf_(char *restrict s, size_t size, const char *restrict fmt, + ...); +format_attr(printf, 3, 0) +inline int vsnprintf_(char *restrict s, size_t size, 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; +} + + +inline int +snprintf_(char *restrict s, size_t size, const char *restrict fmt, ...) +{ + int len; + va_list ap; + + va_start(ap, fmt); + len = vsnprintf_(s, size, fmt, ap); + va_end(ap); + + return len; +} + + +inline int +vsnprintf_(char *restrict s, size_t size, const char *restrict fmt, va_list ap) +{ + int len; + + len = vsnprintf(s, size, fmt, ap); + if (len == -1) + return -1; + if ((size_t) len >= size) + return -1; + + return len; +} + + +#endif // include guard diff --git a/lib/string/stpecpy.c b/lib/string/stpecpy.c new file mode 100644 index 00000000..97593884 --- /dev/null +++ b/lib/string/stpecpy.c @@ -0,0 +1,20 @@ +/* + * SPDX-FileCopyrightText: 2022 - 2023, Alejandro Colomar + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include + +#if !defined(HAVE_STPECPY) + +#ident "$Id$" + +#include "string/stpecpy.h" + + +extern inline char *stpecpy(char *dst, char *end, const char *restrict src); + + +#endif // !HAVE_STPECPY diff --git a/lib/string/stpecpy.h b/lib/string/stpecpy.h new file mode 100644 index 00000000..2324baa5 --- /dev/null +++ b/lib/string/stpecpy.h @@ -0,0 +1,90 @@ +/* + * SPDX-FileCopyrightText: 2022 - 2023, Alejandro Colomar + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#ifndef SHADOW_INCLUDE_LIB_STPECPY_H_ +#define SHADOW_INCLUDE_LIB_STPECPY_H_ + + +#include + +#if !defined(HAVE_STPECPY) + +#include +#include +#include + +#include "attr.h" + + +ATTR_STRING(3) +inline char *stpecpy(char *dst, char *end, const char *restrict src); + + +/* + * SYNOPSIS + * [[gnu::null_terminated_string_arg(3)]] + * char *_Nullable stpecpy(char *_Nullable dst, char end[0], + * const char *restrict src); + * + * ARGUMENTS + * dst Destination buffer where to copy a string. + * + * end Pointer to one after the last element of the buffer + * pointed to by `dst`. Usually, it should be calculated + * as `dst + NITEMS(dst)`. + * + * src Source string to be copied into dst. + * + * DESCRIPTION + * This function copies the string pointed to by src, into a string + * at the buffer pointed to by dst. If the destination buffer, + * limited by a pointer to its end --one after its last element--, + * isn't large enough to hold the copy, the resulting string is + * truncated. + * + * This function can be chained with calls to [v]stpeprintf(). + * + * RETURN VALUE + * dst + strlen(dst) + * • On success, this function returns a pointer to the + * terminating NUL byte. + * + * end + * • If this call truncated the resulting string. + * • If `dst == end` (a previous chained call to these + * functions truncated). + * NULL + * • If `dst == NULL` (a previous chained call to + * [v]stpeprintf() failed). + * + * ERRORS + * This function doesn't set errno. + */ + + +inline char * +stpecpy(char *dst, char *end, const char *restrict src) +{ + bool trunc; + size_t dsize, dlen, slen; + + if (dst == end) + return end; + if (dst == NULL) + return NULL; + + dsize = end - dst; + slen = strnlen(src, dsize); + trunc = (slen == dsize); + dlen = slen - trunc; + + return stpcpy(mempcpy(dst, src, dlen), "") + trunc; +} + + +#endif // !HAVE_STPECPY +#endif // include guard diff --git a/lib/string/stpeprintf.c b/lib/string/stpeprintf.c new file mode 100644 index 00000000..cecd95d7 --- /dev/null +++ b/lib/string/stpeprintf.c @@ -0,0 +1,25 @@ +/* + * SPDX-FileCopyrightText: 2022 - 2023, Alejandro Colomar + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include + +#if !defined(HAVE_STPEPRINTF) + +#ident "$Id$" + +#include "string/stpeprintf.h" + +#include + + +extern inline char *stpeprintf(char *dst, char *end, const char *restrict fmt, + ...); +extern inline char *vstpeprintf(char *dst, char *end, const char *restrict fmt, + va_list ap); + + +#endif // !HAVE_STPEPRINTF diff --git a/lib/string/stpeprintf.h b/lib/string/stpeprintf.h new file mode 100644 index 00000000..14ee7b6e --- /dev/null +++ b/lib/string/stpeprintf.h @@ -0,0 +1,120 @@ +/* + * SPDX-FileCopyrightText: 2022 - 2023, Alejandro Colomar + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#ifndef SHADOW_INCLUDE_LIB_STPEPRINTF_H_ +#define SHADOW_INCLUDE_LIB_STPEPRINTF_H_ + + +#include + +#if !defined(HAVE_STPEPRINTF) + +#include +#include +#include + +#include "attr.h" +#include "defines.h" + + +format_attr(printf, 3, 4) +inline char *stpeprintf(char *dst, char *end, const char *restrict fmt, ...); + +format_attr(printf, 3, 0) +inline char *vstpeprintf(char *dst, char *end, const char *restrict fmt, + va_list ap); + + +/* + * SYNOPSIS + * [[gnu::format(printf, 3, 4)]] + * char *_Nullable stpeprintf(char *_Nullable dst, char end[0], + * const char *restrict fmt, ...); + * + * [[gnu::format(printf, 3, 0)]] + * char *_Nullable vstpeprintf(char *_Nullable dst, char end[0], + * const char *restrict fmt, va_list ap); + * + * + * ARGUMENTS + * dst Destination buffer where to write a string. + * + * end Pointer to one after the last element of the buffer + * pointed to by `dst`. Usually, it should be calculated + * as `dst + NITEMS(dst)`. + * + * fmt Format string + * + * ... + * ap Variadic argument list + * + * DESCRIPTION + * These functions are very similar to [v]snprintf(3). + * + * The destination buffer is limited by a pointer to its end --one + * after its last element-- instead of a size. This allows + * chaining calls to it safely, unlike [v]snprintf(3), which is + * difficult to chain without invoking Undefined Behavior. + * + * RETURN VALUE + * dst + strlen(dst) + * • On success, these functions return a pointer to the + * terminating NUL byte. + * + * end + * • If this call truncated the resulting string. + * • If `dst == end` (a previous chained call to these + * functions truncated). + * NULL + * • If this function failed (see ERRORS). + * • If `dst == NULL` (a previous chained call to these + * functions failed). + * + * ERRORS + * These functions may fail for the same reasons as vsnprintf(3). + */ + + +inline char * +stpeprintf(char *dst, char *end, const char *restrict fmt, ...) +{ + char *p; + va_list ap; + + va_start(ap, fmt); + p = vstpeprintf(dst, end, fmt, ap); + va_end(ap); + + return p; +} + + +inline char * +vstpeprintf(char *dst, char *end, const char *restrict fmt, va_list ap) +{ + int len; + ptrdiff_t size; + + if (dst == end) + return end; + if (dst == NULL) + return NULL; + + size = end - dst; + len = vsnprintf(dst, size, fmt, ap); + + if (len == -1) + return NULL; + if (len >= size) + return end; + + return dst + len; +} + + +#endif // !HAVE_STPEPRINTF +#endif // include guard diff --git a/lib/string/strftime.c b/lib/string/strftime.c new file mode 100644 index 00000000..ea1deb3f --- /dev/null +++ b/lib/string/strftime.c @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "strftime.h" diff --git a/lib/string/strftime.h b/lib/string/strftime.h new file mode 100644 index 00000000..bebb31a4 --- /dev/null +++ b/lib/string/strftime.h @@ -0,0 +1,19 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRFTIME_H_ +#define SHADOW_INCLUDE_LIB_STRFTIME_H_ + + +#include + +#include + +#include "sizeof.h" + + +#define STRFTIME(dst, fmt, ...) strftime(dst, NITEMS(dst), fmt, __VA_ARGS__) + + +#endif // include guard diff --git a/lib/string/strncpy.h b/lib/string/strncpy.h new file mode 100644 index 00000000..fc6fcc96 --- /dev/null +++ b/lib/string/strncpy.h @@ -0,0 +1,21 @@ +/* + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#ifndef SHADOW_INCLUDE_LIB_STRNCPY_H_ +#define SHADOW_INCLUDE_LIB_STRNCPY_H_ + + +#include + +#include + +#include "sizeof.h" + + +#define STRNCPY(dst, src) strncpy(dst, src, NITEMS(dst)) + + +#endif // include guard diff --git a/lib/string/strtcpy.c b/lib/string/strtcpy.c new file mode 100644 index 00000000..74de4fc4 --- /dev/null +++ b/lib/string/strtcpy.c @@ -0,0 +1,18 @@ +/* + * SPDX-FileCopyrightText: 2022-2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include + +#include +#include + +#ident "$Id$" + +#include "string/strtcpy.h" + + +extern inline ssize_t strtcpy(char *restrict dst, const char *restrict src, + size_t dsize); diff --git a/lib/string/strtcpy.h b/lib/string/strtcpy.h new file mode 100644 index 00000000..4ff6e111 --- /dev/null +++ b/lib/string/strtcpy.h @@ -0,0 +1,80 @@ +/* + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#ifndef SHADOW_INCLUDE_LIB_STRTCPY_H_ +#define SHADOW_INCLUDE_LIB_STRTCPY_H_ + + +#include + +#include +#include +#include +#include + +#include "attr.h" +#include "defines.h" +#include "sizeof.h" + + +/* + * SYNOPSIS + * [[gnu::null_terminated_string_arg(2)]] + * int STRTCPY(char dst[restrict], const char *restrict src); + * + * ARGUMENTS + * dst Destination buffer where to copy a string. + * src Source string to be copied into dst. + * + * DESCRIPTION + * This macro copies the string pointed to by src, into a string + * 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(). + * + * RETURN VALUE + * -1 If this call truncated the resulting string. + * + * strlen(dst) + * On success. + * + * ERRORS + * This function doesn't set errno. + */ + + +#define STRTCPY(dst, src) strtcpy(dst, src, NITEMS(dst)) + + +ATTR_STRING(2) +inline ssize_t strtcpy(char *restrict dst, const char *restrict src, + size_t dsize); + + +inline ssize_t +strtcpy(char *restrict dst, const char *restrict src, size_t dsize) +{ + bool trunc; + size_t dlen, slen; + + if (dsize == 0) + return -1; + + slen = strnlen(src, dsize); + trunc = (slen == dsize); + dlen = slen - trunc; + + stpcpy(mempcpy(dst, src, dlen), ""); + + if (trunc) + return -1; + + return slen; +} + + +#endif // include guard diff --git a/lib/string/zustr2stp.h b/lib/string/zustr2stp.h new file mode 100644 index 00000000..152102b7 --- /dev/null +++ b/lib/string/zustr2stp.h @@ -0,0 +1,58 @@ +// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_STRING_ZUSTR2STP_H_ +#define SHADOW_INCLUDE_LIB_STRING_ZUSTR2STP_H_ + + +#include + +#include +#include + +#include "must_be.h" +#include "sizeof.h" + + +/* + * SYNOPSIS + * char *ZUSTR2STP(char *restrict dst, const char src[restrict]); + * + * ARGUMENTS + * dst Destination buffer. + * src Source null-padded character sequence. + * + * DESCRIPTION + * This macro copies at most NITEMS(src) non-null bytes from the + * array pointed to by src, followed by a null character, to the + * buffer pointed to by dst. + * + * RETURN VALUE + * dst + strlen(dst) + * This function returns a pointer to the terminating NUL + * byte. + * + * CAVEATS + * This function doesn't know the size of the destination buffer. + * It assumes it will always be large enough. Since the size of + * the source buffer is known to the caller, it should make sure to + * allocate a destination buffer of at least `NITEMS(src) + 1`. + * + * EXAMPLES + * char hostname[NITEMS(utmp->ut_host) + 1]; + * + * len = ZUSTR2STP(hostname, utmp->ut_host) - hostname; + * puts(hostname); + */ + + +#define ZUSTR2STP(dst, src) \ +({ \ + static_assert(!is_array(dst) || sizeof(dst) > SIZEOF_ARRAY(src), ""); \ + \ + stpcpy(mempcpy(dst, src, strnlen(src, NITEMS(src))), ""); \ +}) + + +#endif // include guard diff --git a/lib/strtoday.c b/lib/strtoday.c new file mode 100644 index 00000000..0c7a0b01 --- /dev/null +++ b/lib/strtoday.c @@ -0,0 +1,76 @@ +/* + * 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 + */ + +#include + +#include + +#ident "$Id$" + +#include "prototypes.h" +#include "getdate.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) +{ + time_t t; + bool isnum = true; + const char *s = str; + + /* + * 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) || ('\0' == *str)) { + return -1; + } + + /* If a numerical value is provided, this is already a number of + * days since EPOCH. + */ + if ('-' == *s) { + s++; + } + while (' ' == *s) { + s++; + } + while (isnum && ('\0' != *s)) { + if (!isdigit (*s)) { + isnum = false; + } + s++; + } + if (isnum) { + long retdate; + if (getlong(str, &retdate) == -1) { + return -2; + } + return retdate; + } + + t = get_date(str, NULL); + if ((time_t) - 1 == t) { + return -2; + } + return t / DAY; +} diff --git a/libmisc/sub.c b/lib/sub.c similarity index 77% rename from libmisc/sub.c rename to lib/sub.c index d30c4c76..d8e24473 100644 --- a/libmisc/sub.c +++ b/lib/sub.c @@ -15,8 +15,10 @@ #include #include "prototypes.h" #include "defines.h" +#define MAX_SUBROOT2 "maximum subsystem depth reached\n" #define BAD_SUBROOT2 "invalid root `%s' for user `%s'\n" #define NO_SUBROOT2 "no subsystem root `%s' for user `%s'\n" +#define MAX_DEPTH 1024 /* * subsystem - change to subsystem root * @@ -27,6 +29,18 @@ */ void subsystem (const struct passwd *pw) { + static int depth = 0; + + /* + * Prevent endless loop on misconfigured systems. + */ + if (++depth > MAX_DEPTH) { + printf (_("Maximum subsystem depth reached\n")); + SYSLOG ((LOG_WARN, MAX_SUBROOT2)); + closelog (); + exit (EXIT_FAILURE); + } + /* * The new root directory must begin with a "/" character. */ @@ -43,8 +57,8 @@ void subsystem (const struct passwd *pw) * must be able to change into it. */ - if ( (chdir (pw->pw_dir) != 0) - || (chroot (pw->pw_dir) != 0)) { + if ( (chroot (pw->pw_dir) != 0) + || (chdir ("/") != 0)) { (void) printf (_("Can't change root directory to '%s'\n"), pw->pw_dir); SYSLOG ((LOG_WARN, NO_SUBROOT2, pw->pw_dir, pw->pw_name)); diff --git a/lib/subordinateio.c b/lib/subordinateio.c index bd1af26b..b1080f82 100644 --- a/lib/subordinateio.c +++ b/lib/subordinateio.c @@ -16,6 +16,11 @@ #include #include #include +#include + +#include "alloc.h" +#include "string/sprintf.h" + #define ID_SIZE 31 @@ -32,7 +37,7 @@ static /*@null@*/ /*@only@*/void *subordinate_dup (const void *ent) const struct subordinate_range *rangeent = ent; struct subordinate_range *range; - range = (struct subordinate_range *) malloc (sizeof *range); + range = MALLOC(1, struct subordinate_range); if (NULL == range) { return NULL; } @@ -52,7 +57,8 @@ static /*@null@*/ /*@only@*/void *subordinate_dup (const void *ent) * * @ent: pointer to a subordinate_range struct to free. */ -static void subordinate_free (/*@out@*/ /*@only@*/void *ent) +static void +subordinate_free(/*@only@*/void *ent) { struct subordinate_range *rangeent = ent; @@ -69,7 +75,8 @@ static void subordinate_free (/*@out@*/ /*@only@*/void *ent) * in @line, or NULL on failure. Note that the returned value should not * be freed by the caller. */ -static void *subordinate_parse (const char *line) +static void * +subordinate_parse(const char *line) { static struct subordinate_range range; static char rangebuf[1024]; @@ -90,19 +97,8 @@ static void *subordinate_parse (const char *line) * field. The fields are converted into NUL terminated strings. */ - for (cp = rangebuf, i = 0; (i < SUBID_NFIELDS) && (NULL != cp); i++) { - fields[i] = cp; - while (('\0' != *cp) && (':' != *cp)) { - cp++; - } - - if ('\0' != *cp) { - *cp = '\0'; - cp++; - } else { - cp = NULL; - } - } + 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 @@ -111,9 +107,9 @@ static void *subordinate_parse (const char *line) if (i != SUBID_NFIELDS || *fields[0] == '\0' || *fields[1] == '\0' || *fields[2] == '\0') return NULL; range.owner = fields[0]; - if (getulong (fields[1], &range.start) == 0) + if (getulong(fields[1], &range.start) == -1) return NULL; - if (getulong (fields[2], &range.count) == 0) + if (getulong(fields[2], &range.count) == -1) return NULL; return ⦥ @@ -208,7 +204,7 @@ static const struct subordinate_range *find_range(struct commonio_db *db, /* * We only do special handling for these two files */ - if ((0 != strcmp(db->filename, "/etc/subuid")) && (0 != strcmp(db->filename, "/etc/subgid"))) + if ((0 != strcmp(db->filename, SUBUID_FILE)) && (0 != strcmp(db->filename, SUBGID_FILE))) return NULL; /* @@ -218,9 +214,9 @@ static const struct subordinate_range *find_range(struct commonio_db *db, * (It may be specified as literal UID or as another username which * has the same UID as the username we are looking for.) */ - struct passwd *pwd; + char owner_uid_string[33]; uid_t owner_uid; - char owner_uid_string[33] = ""; + struct passwd *pwd; /* Get UID of the username we are looking for */ @@ -230,7 +226,8 @@ static const struct subordinate_range *find_range(struct commonio_db *db, return NULL; } owner_uid = pwd->pw_uid; - sprintf(owner_uid_string, "%lu", (unsigned long int)owner_uid); + if (SNPRINTF(owner_uid_string, "%lu", (unsigned long) owner_uid) == -1) + return NULL; commonio_rewind(db); while ((range = commonio_next(db)) != NULL) { @@ -313,19 +310,16 @@ static bool have_range(struct commonio_db *db, static bool append_range(struct subid_range **ranges, const struct subordinate_range *new, int n) { - if (!*ranges) { - *ranges = malloc(sizeof(struct subid_range)); - if (!*ranges) - return false; - } else { - struct subid_range *alloced; - alloced = realloc(*ranges, (n + 1) * (sizeof(struct subid_range))); - if (!alloced) - return false; - *ranges = alloced; - } - (*ranges)[n].start = new->start; - (*ranges)[n].count = new->count; + struct subid_range *sr; + + sr = REALLOC(*ranges, n + 1, struct subid_range); + if (!sr) + return false; + + sr[n].start = new->start; + sr[n].count = new->count; + *ranges = sr; + return true; } @@ -353,15 +347,19 @@ void free_subordinate_ranges(struct subordinate_range **ranges, int count) */ static int subordinate_range_cmp (const void *p1, const void *p2) { - struct subordinate_range *range1, *range2; + const struct commonio_entry *const *ce1; + const struct commonio_entry *const *ce2; + const struct subordinate_range *range1, *range2; - if ((*(struct commonio_entry **) p1)->eptr == NULL) + ce1 = p1; + range1 = (*ce1)->eptr; + if (range1 == NULL) return 1; - if ((*(struct commonio_entry **) p2)->eptr == NULL) - return -1; - range1 = ((struct subordinate_range *) (*(struct commonio_entry **) p1)->eptr); - range2 = ((struct subordinate_range *) (*(struct commonio_entry **) p2)->eptr); + ce2 = p2; + range2 = (*ce2)->eptr; + if (range2 == NULL) + return -1; if (range1->start < range2->start) return -1; @@ -556,7 +554,7 @@ static int remove_range (struct commonio_db *db, } static struct commonio_db subordinate_uid_db = { - "/etc/subuid", /* filename */ + SUBUID_FILE, /* filename */ &subordinate_ops, /* ops */ NULL, /* fp */ #ifdef WITH_SELINUX @@ -620,17 +618,28 @@ bool have_sub_uids(const char *owner, uid_t start, unsigned long count) return have_range (&subordinate_uid_db, owner, start, count); } +/* + * sub_uid_add: add a subuid range, perhaps through nss. + * + * Return 1 if the range is already present or on success. On error + * return 0 and set errno appropriately. + */ int sub_uid_add (const char *owner, uid_t start, unsigned long count) { - if (get_subid_nss_handle()) - return -EOPNOTSUPP; + if (get_subid_nss_handle()) { + errno = EOPNOTSUPP; + return 0; + } return add_range (&subordinate_uid_db, owner, start, count); } +/* Return 1 on success. on failure, return 0 and set errno appropriately */ int sub_uid_remove (const char *owner, uid_t start, unsigned long count) { - if (get_subid_nss_handle()) - return -EOPNOTSUPP; + if (get_subid_nss_handle()) { + errno = EOPNOTSUPP; + return 0; + } return remove_range (&subordinate_uid_db, owner, start, count); } @@ -652,7 +661,7 @@ uid_t sub_uid_find_free_range(uid_t min, uid_t max, unsigned long count) } static struct commonio_db subordinate_gid_db = { - "/etc/subgid", /* filename */ + SUBGID_FILE, /* filename */ &subordinate_ops, /* ops */ NULL, /* fp */ #ifdef WITH_SELINUX @@ -716,17 +725,28 @@ bool local_sub_gid_assigned(const char *owner) return range_exists (&subordinate_gid_db, owner); } +/* + * sub_gid_add: add a subgid range, perhaps through nss. + * + * Return 1 if the range is already present or on success. On error + * return 0 and set errno appropriately. + */ int sub_gid_add (const char *owner, gid_t start, unsigned long count) { - if (get_subid_nss_handle()) - return -EOPNOTSUPP; + if (get_subid_nss_handle()) { + errno = EOPNOTSUPP; + return 0; + } return add_range (&subordinate_gid_db, owner, start, count); } +/* Return 1 on success. on failure, return 0 and set errno appropriately */ int sub_gid_remove (const char *owner, gid_t start, unsigned long count) { - if (get_subid_nss_handle()) - return -EOPNOTSUPP; + if (get_subid_nss_handle()) { + errno = EOPNOTSUPP; + return 0; + } return remove_range (&subordinate_gid_db, owner, start, count); } @@ -910,7 +930,7 @@ static int append_uids(uid_t **uids, const char *owner, int n) return n; } - ret = realloc(*uids, (n + 1) * sizeof(uid_t)); + ret = REALLOC(*uids, n + 1, uid_t); if (!ret) { free(*uids); return -1; @@ -985,7 +1005,7 @@ bool new_subid_range(struct subordinate_range *range, enum subid_type id_type, b switch (id_type) { case ID_TYPE_UID: if (!sub_uid_lock()) { - printf("Failed loging subuids (errno %d)\n", errno); + printf("Failed locking subuids (errno %d)\n", errno); return false; } if (!sub_uid_open(O_CREAT | O_RDWR)) { @@ -997,7 +1017,7 @@ bool new_subid_range(struct subordinate_range *range, enum subid_type id_type, b break; case ID_TYPE_GID: if (!sub_gid_lock()) { - printf("Failed loging subgids (errno %d)\n", errno); + printf("Failed locking subgids (errno %d)\n", errno); return false; } if (!sub_gid_open(O_CREAT | O_RDWR)) { @@ -1057,7 +1077,7 @@ bool release_subid_range(struct subordinate_range *range, enum subid_type id_typ switch (id_type) { case ID_TYPE_UID: if (!sub_uid_lock()) { - printf("Failed loging subuids (errno %d)\n", errno); + printf("Failed locking subuids (errno %d)\n", errno); return false; } if (!sub_uid_open(O_CREAT | O_RDWR)) { @@ -1069,7 +1089,7 @@ bool release_subid_range(struct subordinate_range *range, enum subid_type id_typ break; case ID_TYPE_GID: if (!sub_gid_lock()) { - printf("Failed loging subgids (errno %d)\n", errno); + printf("Failed locking subgids (errno %d)\n", errno); return false; } if (!sub_gid_open(O_CREAT | O_RDWR)) { @@ -1097,6 +1117,6 @@ bool release_subid_range(struct subordinate_range *range, enum subid_type id_typ } #else /* !ENABLE_SUBIDS */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !ENABLE_SUBIDS */ diff --git a/libmisc/sulog.c b/lib/sulog.c similarity index 98% rename from libmisc/sulog.c rename to lib/sulog.c index 3e956134..2ef22b2e 100644 --- a/libmisc/sulog.c +++ b/lib/sulog.c @@ -64,7 +64,7 @@ void sulog (const char *tty, bool success, const char *oldname, const char *name /* Do not return if the group permission were raised. */ exit (EXIT_FAILURE); } - if (fp == (FILE *) 0) { + if (fp == NULL) { return; /* can't open or create logfile */ } diff --git a/lib/tcbfuncs.c b/lib/tcbfuncs.c index 1ed5d030..b5915fcd 100644 --- a/lib/tcbfuncs.c +++ b/lib/tcbfuncs.c @@ -141,7 +141,7 @@ static /*@null@*/ char *shadowtcb_path_rel_existing (const char *name) shadow_progname, link); return NULL; } - link[(size_t)ret] = '\0'; + link[ret] = '\0'; rval = strdup (link); if (NULL == rval) { OUT_OF_MEMORY; @@ -527,7 +527,7 @@ shadowtcb_status shadowtcb_create (const char *name, uid_t uid) struct stat tcbdir_stat; gid_t shadowgid, authgid; struct group *gr; - int fd; + int fd = -1; shadowtcb_status ret = SHADOWTCB_FAILURE; if (!getdef_bool ("USE_TCB")) { @@ -566,14 +566,13 @@ shadowtcb_status shadowtcb_create (const char *name, uid_t uid) shadow_progname, shadow, strerror (errno)); goto out_free; } - close (fd); - if (chown (shadow, 0, authgid) != 0) { + if (fchown (fd, 0, authgid) != 0) { fprintf (shadow_logfd, _("%s: Cannot change owner of %s: %s\n"), shadow_progname, shadow, strerror (errno)); goto out_free; } - if (chmod (shadow, (mode_t) ((authgid == shadowgid) ? 0600 : 0640)) != 0) { + if (fchmod (fd, (mode_t) ((authgid == shadowgid) ? 0600 : 0640)) != 0) { fprintf (shadow_logfd, _("%s: Cannot change mode of %s: %s\n"), shadow_progname, shadow, strerror (errno)); @@ -597,6 +596,8 @@ shadowtcb_status shadowtcb_create (const char *name, uid_t uid) } ret = SHADOWTCB_SUCCESS; out_free: + if (fd != -1) + close(fd); free (dir); free (shadow); return ret; diff --git a/lib/time/day_to_str.c b/lib/time/day_to_str.c new file mode 100644 index 00000000..e3e42210 --- /dev/null +++ b/lib/time/day_to_str.c @@ -0,0 +1,11 @@ +// SPDX-FileCopyrightText: 2021-2024, Alejandro Colomar +// SPDX-FileCopyrightText: 2024, Tobias Stoeckmann +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include "time/day_to_str.h" + + +extern inline void day_to_str(size_t size, char buf[size], long day); diff --git a/lib/time/day_to_str.h b/lib/time/day_to_str.h new file mode 100644 index 00000000..96cec6e1 --- /dev/null +++ b/lib/time/day_to_str.h @@ -0,0 +1,51 @@ +// SPDX-FileCopyrightText: 2021-2024, Alejandro Colomar +// SPDX-FileCopyrightText: 2024, Tobias Stoeckmann +// SPDX-License-Identifier: BSD-3-Clause + + +#ifndef SHADOW_INCLUDE_LIB_TIME_DAY_TO_STR_H_ +#define SHADOW_INCLUDE_LIB_TIME_DAY_TO_STR_H_ + + +#include + +#include + +#include "defines.h" +#include "sizeof.h" +#include "string/strtcpy.h" + + +#define DAY_TO_STR(str, day) day_to_str(NITEMS(str), str, day) + + +inline void day_to_str(size_t size, char buf[size], long day); + + +inline void +day_to_str(size_t size, char buf[size], long day) +{ + time_t date; + struct tm tm; + + if (day < 0) { + strtcpy(buf, "never", size); + return; + } + + if (__builtin_mul_overflow(day, DAY, &date)) { + strtcpy(buf, "future", size); + return; + } + + if (gmtime_r(&date, &tm) == NULL) { + strtcpy(buf, "future", size); + return; + } + + if (strftime(buf, size, "%Y-%m-%d", &tm) == 0) + strtcpy(buf, "future", size); +} + + +#endif // include guard diff --git a/libmisc/ttytype.c b/lib/ttytype.c similarity index 90% rename from libmisc/ttytype.c rename to lib/ttytype.c index f72d9573..a9fb0e86 100644 --- a/libmisc/ttytype.c +++ b/lib/ttytype.c @@ -34,16 +34,14 @@ void ttytype (const char *line) if (NULL == typefile) { return; } - if (access (typefile, F_OK) != 0) { - return; - } fp = fopen (typefile, "r"); if (NULL == fp) { - perror (typefile); + if (errno != ENOENT) + perror (typefile); return; } - while (fgets (buf, (int) sizeof buf, fp) == buf) { + while (fgets (buf, sizeof buf, fp) == buf) { if (buf[0] == '#') { continue; } diff --git a/libmisc/tz.c b/lib/tz.c similarity index 85% rename from libmisc/tz.c rename to lib/tz.c index 16d92ade..83b295c7 100644 --- a/libmisc/tz.c +++ b/lib/tz.c @@ -34,7 +34,7 @@ fp = fopen (fname, "r"); if ( (NULL == fp) - || (fgets (tzbuf, (int) sizeof (tzbuf), fp) == NULL)) { + || (fgets (tzbuf, sizeof (tzbuf), fp) == NULL)) { def_tz = getdef_str ("ENV_TZ"); if ((NULL == def_tz) || ('/' == def_tz[0])) { def_tz = "TZ=CST6CDT"; @@ -42,7 +42,8 @@ strcpy (tzbuf, def_tz); } else { - tzbuf[strlen (tzbuf) - 1] = '\0'; + /* Remove optional trailing '\n'. */ + tzbuf[strcspn (tzbuf, "\n")] = '\0'; } if (NULL != fp) { @@ -52,6 +53,6 @@ return tzbuf; } #else /* !USE_PAM */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !USE_PAM */ diff --git a/libmisc/ulimit.c b/lib/ulimit.c similarity index 59% rename from libmisc/ulimit.c rename to lib/ulimit.c index e331d46c..45a184af 100644 --- a/libmisc/ulimit.c +++ b/lib/ulimit.c @@ -11,36 +11,18 @@ #ident "$Id$" -#if HAVE_ULIMIT_H -#include -#ifndef UL_SETFSIZE -#ifdef UL_SFILLIM -#define UL_SETFSIZE UL_SFILLIM -#else -#define UL_SETFSIZE 2 -#endif -#endif -#elif HAVE_SYS_RESOURCE_H -#include /* for struct timeval on sunos4 */ -/* XXX - is the above ok or should it be on ultrix? */ +#include #include -#endif #include "prototypes.h" int set_filesize_limit (int blocks) { int ret = -1; -#if HAVE_ULIMIT_H - if (ulimit (UL_SETFSIZE, blocks) != -1) { - ret = 0; - } -#elif defined(RLIMIT_FSIZE) struct rlimit rlimit_fsize; rlimit_fsize.rlim_cur = 512L * blocks; rlimit_fsize.rlim_max = rlimit_fsize.rlim_cur; ret = setrlimit (RLIMIT_FSIZE, &rlimit_fsize); -#endif return ret; } diff --git a/libmisc/user_busy.c b/lib/user_busy.c similarity index 83% rename from libmisc/user_busy.c rename to lib/user_busy.c index c03feb29..a622376a 100644 --- a/libmisc/user_busy.c +++ b/lib/user_busy.c @@ -23,6 +23,8 @@ #include "subordinateio.h" #endif /* ENABLE_SUBIDS */ #include "shadowlog.h" +#include "string/sprintf.h" + #ifdef __linux__ static int check_status (const char *name, const char *sname, uid_t uid); @@ -32,7 +34,7 @@ static int user_busy_utmp (const char *name); #endif /* !__linux__ */ /* - * user_busy - check if an user if currently running processes + * user_busy - check if a user is currently running processes */ int user_busy (const char *name, uid_t uid) { @@ -43,26 +45,21 @@ int user_busy (const char *name, uid_t uid) /* On Linux, directly parse /proc */ return user_busy_processes (name, uid); #else /* !__linux__ */ - /* If we cannot rely on /proc, check is there is a record in utmp + /* If we cannot rely on /proc, check if there is a record in utmp * indicating that the user is still logged in */ return user_busy_utmp (name); #endif /* !__linux__ */ } + #ifndef __linux__ -static int user_busy_utmp (const char *name) +static int +user_busy_utmp(const char *name) { -#ifdef USE_UTMPX - struct utmpx *utent; + struct utmpx *utent; - setutxent (); - while ((utent = getutxent ()) != NULL) -#else /* !USE_UTMPX */ - struct utmp *utent; - - setutent (); - while ((utent = getutent ()) != NULL) -#endif /* !USE_UTMPX */ + setutxent(); + while ((utent = getutxent()) != NULL) { if (utent->ut_type != USER_PROCESS) { continue; @@ -84,17 +81,18 @@ static int user_busy_utmp (const char *name) } #endif /* !__linux__ */ + #ifdef __linux__ #ifdef ENABLE_SUBIDS #define in_parentuid_range(uid) ((uid) >= parentuid && (uid) < parentuid + range) static int different_namespace (const char *sname) { /* 41: /proc/xxxxxxxxxx/task/xxxxxxxxxx/ns/user + \0 */ - char path[41]; - char buf[512], buf2[512]; - ssize_t llen1, llen2; + char path[41]; + char buf[512], buf2[512]; + ssize_t llen1, llen2; - snprintf (path, 41, "/proc/%s/ns/user", sname); + SNPRINTF(path, "/proc/%s/ns/user", sname); if ((llen1 = readlink (path, buf, sizeof(buf))) == -1) return 0; @@ -113,11 +111,11 @@ static int different_namespace (const char *sname) static int check_status (const char *name, const char *sname, uid_t uid) { /* 40: /proc/xxxxxxxxxx/task/xxxxxxxxxx/status + \0 */ - char status[40]; - char line[1024]; - FILE *sfile; + char status[40]; + char line[1024]; + FILE *sfile; - snprintf (status, 40, "/proc/%s/status", sname); + SNPRINTF(status, "/proc/%s/status", sname); sfile = fopen (status, "r"); if (NULL == sfile) { @@ -158,16 +156,16 @@ static int check_status (const char *name, const char *sname, uid_t uid) static int user_busy_processes (const char *name, uid_t uid) { - DIR *proc; - struct dirent *ent; - char *tmp_d_name; - pid_t pid; - DIR *task_dir; + DIR *proc; + DIR *task_dir; + char *tmp_d_name; /* 22: /proc/xxxxxxxxxx/task + \0 */ - char task_path[22]; - char root_path[22]; - struct stat sbroot; - struct stat sbroot_process; + char task_path[22]; + char root_path[22]; + pid_t pid; + struct stat sbroot; + struct stat sbroot_process; + struct dirent *ent; #ifdef ENABLE_SUBIDS sub_uid_open (O_RDONLY); @@ -207,13 +205,12 @@ static int user_busy_processes (const char *name, uid_t uid) } /* Check if this is a valid PID */ - if (get_pid (tmp_d_name, &pid) == 0) { + if (get_pid(tmp_d_name, &pid) == -1) { continue; } /* Check if the process is in our chroot */ - snprintf (root_path, 22, "/proc/%lu/root", (unsigned long) pid); - root_path[21] = '\0'; + SNPRINTF(root_path, "/proc/%lu/root", (unsigned long) pid); if (stat (root_path, &sbroot_process) != 0) { continue; } @@ -233,13 +230,12 @@ static int user_busy_processes (const char *name, uid_t uid) return 1; } - snprintf (task_path, 22, "/proc/%lu/task", (unsigned long) pid); - task_path[21] = '\0'; + SNPRINTF(task_path, "/proc/%lu/task", (unsigned long) pid); task_dir = opendir (task_path); if (task_dir != NULL) { while ((ent = readdir (task_dir)) != NULL) { pid_t tid; - if (get_pid (ent->d_name, &tid) == 0) { + if (get_pid(ent->d_name, &tid) == -1) { continue; } if (tid == pid) { diff --git a/lib/utent.c b/lib/utent.c deleted file mode 100644 index d5e6daea..00000000 --- a/lib/utent.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * SPDX-FileCopyrightText: 1993 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 1998, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2005 , Tomasz Kłoczko - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include - -#ifndef HAVE_GETUTENT - -#include "defines.h" -#include -#include -#include - -#ifndef lint -static char rcsid[] = "$Id$"; -#endif - -static int utmp_fd = -1; -static struct utmp utmp_buf; - -/* - * setutent - open or rewind the utmp file - */ - -void setutent (void) -{ - if (utmp_fd == -1) - if ((utmp_fd = open (_UTMP_FILE, O_RDWR)) == -1) - utmp_fd = open (_UTMP_FILE, O_RDONLY); - - if (utmp_fd != -1) - lseek (utmp_fd, (off_t) 0L, SEEK_SET); -} - -/* - * endutent - close the utmp file - */ - -void endutent (void) -{ - if (utmp_fd != -1) - close (utmp_fd); - - utmp_fd = -1; -} - -/* - * getutent - get the next record from the utmp file - */ - -struct utmp *getutent (void) -{ - if (utmp_fd == -1) - setutent (); - - if (utmp_fd == -1) - return 0; - - if (read (utmp_fd, &utmp_buf, sizeof utmp_buf) != sizeof utmp_buf) - return 0; - - return &utmp_buf; -} -#else -extern int errno; /* warning: ANSI C forbids an empty source file */ -#endif diff --git a/lib/utmp.c b/lib/utmp.c new file mode 100644 index 00000000..08e9b625 --- /dev/null +++ b/lib/utmp.c @@ -0,0 +1,434 @@ +/* + * SPDX-FileCopyrightText: 1989 - 1994, Julianne Frances Haugh + * SPDX-FileCopyrightText: 1996 - 1999, Marek Michałkiewicz + * SPDX-FileCopyrightText: 2001 - 2005, Tomasz Kłoczko + * SPDX-FileCopyrightText: 2008 - 2009, Nicolas François + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include + +#include "defines.h" +#include "prototypes.h" +#include "getdef.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "alloc.h" +#include "sizeof.h" +#include "string/strncpy.h" +#include "string/strtcpy.h" +#include "string/zustr2stp.h" + +#ident "$Id$" + + +#define UTX_LINESIZE NITEMS(memberof(struct utmpx, ut_line)) + + +/* + * is_my_tty -- determine if "tty" is the same TTY stdin is using + */ +static bool +is_my_tty(const char tty[UTX_LINESIZE]) +{ + char full_tty[STRLEN("/dev/") + UTX_LINESIZE + 1]; + /* tmptty shall be bigger than full_tty */ + static char tmptty[sizeof(full_tty) + 1]; + + full_tty[0] = '\0'; + if (tty[0] != '/') + strcpy (full_tty, "/dev/"); + strncat(full_tty, tty, UTX_LINESIZE); + + if ('\0' == tmptty[0]) { + const char *tname = ttyname (STDIN_FILENO); + if (NULL != tname) + STRTCPY(tmptty, tname); + } + + if ('\0' == tmptty[0]) { + (void) puts (_("Unable to determine your tty name.")); + exit (EXIT_FAILURE); + } + + return strcmp (full_tty, tmptty) == 0; +} + + +/* + * failtmp - update the cumulative failure log + * + * failtmp updates the (struct utmpx) formatted failure log which + * maintains a record of all login failures. + */ +static void +failtmp(const char *username, const struct utmpx *failent) +{ + const char *ftmp; + int fd; + + /* + * Get the name of the failure file. If no file has been defined + * in login.defs, don't do this. + */ + + ftmp = getdef_str ("FTMP_FILE"); + if (NULL == ftmp) { + return; + } + + /* + * Open the file for append. It must already exist for this + * feature to be used. + */ + + fd = open (ftmp, O_WRONLY | O_APPEND); + if (-1 == fd) { + if (errno != ENOENT) { + SYSLOG ((LOG_WARN, + "Can't append failure of user %s to %s: %m", + username, ftmp)); + } + return; + } + + /* + * Append the new failure record and close the log file. + */ + + if (write_full(fd, failent, sizeof *failent) == -1) { + goto err_write; + } + + if (close (fd) != 0 && errno != EINTR) { + goto err_close; + } + + return; + +err_write: + { + int saved_errno = errno; + (void) close (fd); + errno = saved_errno; + } +err_close: + SYSLOG ((LOG_WARN, + "Can't append failure of user %s to %s: %m", + username, ftmp)); +} + + +/* + * get_current_utmp - return the most probable utmp entry for the current + * session + * + * The utmp file is scanned for an entry with the same process ID. + * The line entered by the *getty / telnetd, etc. should also match + * the current terminal. + * + * When an entry is returned by get_current_utmp, and if the utmpx + * structure has a ut_id field, this field should be used to update + * the entry information. + * + * Return NULL if no entries exist in utmp for the current process. + */ +static /*@null@*/ /*@only@*/struct utmpx * +get_current_utmp(void) +{ + struct utmpx *ut; + struct utmpx *ret = NULL; + + setutxent(); + + /* First, try to find a valid utmp entry for this process. */ + while ((ut = getutxent()) != NULL) { + if ( (ut->ut_pid == getpid ()) + && ('\0' != ut->ut_id[0]) + && ( (LOGIN_PROCESS == ut->ut_type) + || (USER_PROCESS == ut->ut_type)) + /* A process may have failed to close an entry + * Check if this entry refers to the current tty */ + && is_my_tty(ut->ut_line)) + { + break; + } + } + + if (NULL != ut) { + ret = XMALLOC(1, struct utmpx); + memcpy (ret, ut, sizeof (*ret)); + } + + endutxent(); + + return ret; +} + + +int +get_session_host(char **out) +{ + int ret = 0; + struct utmpx *ut; + + ut = get_current_utmp(); + +#if defined(HAVE_STRUCT_UTMPX_UT_HOST) + if ((ut != NULL) && (ut->ut_host[0] != '\0')) { + char *hostname; + + hostname = XMALLOC(sizeof(ut->ut_host) + 1, char); + ZUSTR2STP(hostname, ut->ut_host); + *out = hostname; + free (ut); + } else { + *out = NULL; + ret = -2; + } +#else + *out = NULL; + ret = -2; +#endif + + return ret; +} + + +#if !defined(USE_PAM) && !defined(HAVE_UPDWTMPX) +/* + * Some systems already have updwtmpx(). Others + * don't, so we re-implement these functions if necessary. + */ +static void +updwtmpx(const char *filename, const struct utmpx *ut) +{ + int fd; + + fd = open (filename, O_APPEND | O_WRONLY, 0); + if (fd >= 0) { + write_full(fd, ut, sizeof(*ut)); + close (fd); + } +} +#endif + + +/* + * prepare_utmp - prepare an utmp entry so that it can be logged in a + * utmp/wtmp file. + * + * It accepts an utmp entry in input (ut) to return an entry with + * the right ut_id. This is typically an entry returned by + * get_current_utmp + * If ut is NULL, ut_id will be forged based on the line argument. + * + * The ut_host field of the input structure may also be kept, and is + * used to define the ut_addr/ut_addr_v6 fields. (if these fields + * exist) + * + * Other fields are discarded and filed with new values (if they + * exist). + * + * The returned structure shall be freed by the caller. + */ +static /*@only@*/struct utmpx * +prepare_utmp(const char *name, const char *line, const char *host, + /*@null@*/const struct utmpx *ut) +{ + char *hostname = NULL; + struct utmpx *utent; + struct timeval tv; + + assert (NULL != name); + assert (NULL != line); + + + + if ( (NULL != host) + && ('\0' != host[0])) { + hostname = XMALLOC(strlen(host) + 1, char); + strcpy (hostname, host); +#if defined(HAVE_STRUCT_UTMPX_UT_HOST) + } else if ( (NULL != ut) + && ('\0' != ut->ut_host[0])) { + hostname = XMALLOC(NITEMS(ut->ut_host) + 1, char); + ZUSTR2STP(hostname, ut->ut_host); +#endif + } + + if (strncmp(line, "/dev/", 5) == 0) { + line += 5; + } + + + utent = XCALLOC(1, struct utmpx); + + + utent->ut_type = USER_PROCESS; + utent->ut_pid = getpid (); + STRNCPY(utent->ut_line, line); + if (NULL != ut) { + STRNCPY(utent->ut_id, ut->ut_id); + } else { + /* XXX - assumes /dev/tty?? */ + STRNCPY(utent->ut_id, line + 3); + } +#if defined(HAVE_STRUCT_UTMPX_UT_NAME) + STRNCPY(utent->ut_name, name); +#endif + STRNCPY(utent->ut_user, name); + if (NULL != hostname) { + struct addrinfo *info = NULL; +#if defined(HAVE_STRUCT_UTMPX_UT_HOST) + STRNCPY(utent->ut_host, hostname); +#endif +#if defined(HAVE_STRUCT_UTMPX_UT_SYSLEN) + utent->ut_syslen = MIN (strlen (hostname), + sizeof (utent->ut_host)); +#endif +#if defined(HAVE_STRUCT_UTMPX_UT_ADDR) || defined(HAVE_STRUCT_UTMPX_UT_ADDR_V6) + if (getaddrinfo (hostname, NULL, NULL, &info) == 0) { + /* getaddrinfo might not be reliable. + * Just try to log what may be useful. + */ + if (info->ai_family == AF_INET) { + struct sockaddr_in *sa = + (struct sockaddr_in *) info->ai_addr; +# if defined(HAVE_STRUCT_UTMPX_UT_ADDR) + memcpy (&(utent->ut_addr), + &(sa->sin_addr), + MIN (sizeof (utent->ut_addr), + sizeof (sa->sin_addr))); +# endif +# if defined(HAVE_STRUCT_UTMPX_UT_ADDR_V6) + memcpy (utent->ut_addr_v6, + &(sa->sin_addr), + MIN (sizeof (utent->ut_addr_v6), + sizeof (sa->sin_addr))); + } else if (info->ai_family == AF_INET6) { + struct sockaddr_in6 *sa = + (struct sockaddr_in6 *) info->ai_addr; + memcpy (utent->ut_addr_v6, + &(sa->sin6_addr), + MIN (sizeof (utent->ut_addr_v6), + sizeof (sa->sin6_addr))); +# endif + } + freeaddrinfo (info); + } +#endif + free (hostname); + } + /* ut_exit is only for DEAD_PROCESS */ + utent->ut_session = getsid (0); + if (gettimeofday (&tv, NULL) == 0) { +#if defined(HAVE_STRUCT_UTMPX_UT_TIME) + utent->ut_time = tv.tv_sec; +#endif +#if defined(HAVE_STRUCT_UTMPX_UT_XTIME) + utent->ut_xtime = tv.tv_usec; +#endif + utent->ut_tv.tv_sec = tv.tv_sec; + utent->ut_tv.tv_usec = tv.tv_usec; + } + + return utent; +} + + +/* + * setutmp - Update an entry in utmp and log an entry in wtmp + * + * Return 1 on failure and 0 on success. + */ +static int +setutmp(struct utmpx *ut) +{ + int err = 0; + + assert (NULL != ut); + + setutxent(); + if (pututxline(ut) == NULL) { + err = 1; + } + endutxent(); + +#if !defined(USE_PAM) + /* This is done by pam_lastlog */ + updwtmpx(_WTMP_FILE, ut); +#endif + + return err; +} + + +int +update_utmp(const char *user, const char *tty, const char *host) +{ + struct utmpx *utent, *ut; + + utent = get_current_utmp (); + ut = prepare_utmp (user, tty, host, utent); + + (void) setutmp (ut); /* make entry in the utmp & wtmp files */ + + free(utent); + free(ut); + + return 0; +} + + +void +record_failure(const char *failent_user, const char *tty, const char *hostname) +{ + struct utmpx *utent, *failent; + + if (getdef_str ("FTMP_FILE") != NULL) { + utent = get_current_utmp (); + failent = prepare_utmp (failent_user, tty, hostname, utent); + failtmp (failent_user, failent); + free (utent); + free (failent); + } +} + + +unsigned long +active_sessions_count(const char *name, unsigned long limit) +{ + struct utmpx *ut; + unsigned long count = 0; + + setutxent(); + while ((ut = getutxent())) + { + if (USER_PROCESS != ut->ut_type) { + continue; + } + if ('\0' == ut->ut_user[0]) { + continue; + } + if (strncmp (name, ut->ut_user, sizeof (ut->ut_user)) != 0) { + continue; + } + count++; + if (count > limit) { + break; + } + } + endutxent(); + + return count; +} diff --git a/libmisc/valid.c b/lib/valid.c similarity index 100% rename from libmisc/valid.c rename to lib/valid.c diff --git a/lib/write_full.c b/lib/write_full.c new file mode 100644 index 00000000..4ef902cd --- /dev/null +++ b/lib/write_full.c @@ -0,0 +1,77 @@ +/* + * SPDX-FileCopyrightText: 2023, Christian Göttsche + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include + +#ident "$Id$" + +#include +#include + +#include "prototypes.h" + + +/* + * SYNOPSIS + * int write_full(int fd, const void *buf, size_t count); + * + * ARGUMENTS + * fd File descriptor. + * buf Source buffer to write(2) into 'fd'. + * count Size of 'buf'. + * + * DESCRIPTION + * Write 'count' bytes from the buffer starting at 'buf' to the + * file referred to by 'fd'. + * + * This function is similar to write(2), except that it retries + * in case of a short write. + * + * Since this function either performs a full write, or fails, the + * return value is simpler than for write(2). + * + * RETURN VALUE + * 0 On success. + * -1 On error. + * + * ERRORS + * See write(2). + * + * CAVEATS + * This function can still perform partial writes: if the function + * fails in the loop after one or more write(2) calls have + * succeeded, it will report a failure, but some data may have been + * written. In such a case, it's the caller's responsibility to + * make sure that the partial write is not problematic, and + * remediate it if it is --maybe by trying to remove the file--. + */ + + +int +write_full(int fd, const void *buf, size_t count) +{ + ssize_t w; + const unsigned char *p; + + p = buf; + + while (count > 0) { + w = write(fd, p, count); + if (w == -1) { + if (errno == EINTR) + continue; + + return -1; + } + + p += w; + count -= w; + } + + return 0; +} diff --git a/libmisc/xgetXXbyYY.c b/lib/xgetXXbyYY.c similarity index 78% rename from libmisc/xgetXXbyYY.c rename to lib/xgetXXbyYY.c index 6a3f9693..7d5e914e 100644 --- a/libmisc/xgetXXbyYY.c +++ b/lib/xgetXXbyYY.c @@ -23,13 +23,15 @@ * Two important function classes that fall into this category are * getpwnam(3) and syslog(3). * - * This file provide wrapper to the getpwnam or getpwnam_r functions. + * This file provides wrapper to the name or name_r functions. */ #include #include #include #include + +#include "alloc.h" #include "prototypes.h" #include "shadowlog.h" @@ -50,46 +52,38 @@ /* we have to start with something */ size_t length = 0x100; - result = malloc(sizeof(LOOKUP_TYPE)); + result = MALLOC(1, LOOKUP_TYPE); if (NULL == result) { - fprintf (log_get_logfd(), _("%s: out of memory\n"), - "x" STRINGIZE(FUNCTION_NAME)); - exit (13); + goto oom; } while (true) { int status; LOOKUP_TYPE *resbuf = NULL; - buffer = (char *)realloc (buffer, length); - if (NULL == buffer) { - fprintf (log_get_logfd(), _("%s: out of memory\n"), - "x" STRINGIZE(FUNCTION_NAME)); - exit (13); - } + buffer = XREALLOC(buffer, length, char); status = REENTRANT_NAME(ARG_NAME, result, buffer, length, &resbuf); if ((0 == status) && (resbuf == result)) { /* Build a result structure that can be freed by * the shadow *_free functions. */ LOOKUP_TYPE *ret_result = DUP_FUNCTION(result); + if (NULL == ret_result) { + goto oom; + } free(buffer); free(result); return ret_result; } if (ERANGE != status) { - free (buffer); - free (result); - return NULL; + break; } - if (length <= ((size_t)-1 / 4)) { - length *= 4; - } else if (length == (size_t) -1) { + if (length == SIZE_MAX) { break; - } else { - length = (size_t) -1; } + + length = (length <= SIZE_MAX / 4) ? length * 4 : SIZE_MAX; } free(buffer); @@ -109,13 +103,16 @@ if (result) { result = DUP_FUNCTION(result); if (NULL == result) { - fprintf (log_get_logfd(), _("%s: out of memory\n"), - "x" STRINGIZE(FUNCTION_NAME)); - exit (13); + goto oom; } } return result; #endif + +oom: + fprintf (log_get_logfd(), _("%s: out of memory\n"), + "x" STRINGIZE(FUNCTION_NAME)); + exit (13); } diff --git a/libmisc/xgetgrgid.c b/lib/xgetgrgid.c similarity index 90% rename from libmisc/xgetgrgid.c rename to lib/xgetgrgid.c index fe99929b..64191966 100644 --- a/libmisc/xgetgrgid.c +++ b/lib/xgetgrgid.c @@ -23,7 +23,7 @@ * Two important function classes that fall into this category are * getpwnam(3) and syslog(3). * - * This file provide wrapper to the getpwnam or getpwnam_r functions. + * This file provides wrapper to the getgrgid or getgrgid_r functions. */ #include @@ -35,7 +35,7 @@ #define ARG_TYPE gid_t #define ARG_NAME gid #define DUP_FUNCTION __gr_dup -#define HAVE_FUNCTION_R (defined HAVE_GETGRGID_R) +#define HAVE_FUNCTION_R 1 #include "xgetXXbyYY.c" diff --git a/libmisc/xgetgrnam.c b/lib/xgetgrnam.c similarity index 90% rename from libmisc/xgetgrnam.c rename to lib/xgetgrnam.c index 66d6f933..35ad9ee9 100644 --- a/libmisc/xgetgrnam.c +++ b/lib/xgetgrnam.c @@ -23,7 +23,7 @@ * Two important function classes that fall into this category are * getpwnam(3) and syslog(3). * - * This file provide wrapper to the getpwnam or getpwnam_r functions. + * This file provides wrapper to the getgrnam or getgrnam_r functions. */ #include @@ -35,7 +35,7 @@ #define ARG_TYPE const char * #define ARG_NAME name #define DUP_FUNCTION __gr_dup -#define HAVE_FUNCTION_R (defined HAVE_GETGRNAM_R) +#define HAVE_FUNCTION_R 1 #include "xgetXXbyYY.c" diff --git a/libmisc/xgetpwnam.c b/lib/xgetpwnam.c similarity index 90% rename from libmisc/xgetpwnam.c rename to lib/xgetpwnam.c index 74eb9721..4387e798 100644 --- a/libmisc/xgetpwnam.c +++ b/lib/xgetpwnam.c @@ -23,7 +23,7 @@ * Two important function classes that fall into this category are * getpwnam(3) and syslog(3). * - * This file provide wrapper to the getpwnam or getpwnam_r functions. + * This file provides wrapper to the getpwnam or getpwnam_r functions. */ #include @@ -35,7 +35,7 @@ #define ARG_TYPE const char * #define ARG_NAME name #define DUP_FUNCTION __pw_dup -#define HAVE_FUNCTION_R (defined HAVE_GETPWNAM_R) +#define HAVE_FUNCTION_R 1 #include "xgetXXbyYY.c" diff --git a/libmisc/xgetpwuid.c b/lib/xgetpwuid.c similarity index 90% rename from libmisc/xgetpwuid.c rename to lib/xgetpwuid.c index 23b2d0c3..d663a429 100644 --- a/libmisc/xgetpwuid.c +++ b/lib/xgetpwuid.c @@ -23,7 +23,7 @@ * Two important function classes that fall into this category are * getpwnam(3) and syslog(3). * - * This file provide wrapper to the getpwnam or getpwnam_r functions. + * This file provides wrapper to the getpwuid or getpwuid_r functions. */ #include @@ -35,7 +35,7 @@ #define ARG_TYPE uid_t #define ARG_NAME uid #define DUP_FUNCTION __pw_dup -#define HAVE_FUNCTION_R (defined HAVE_GETPWUID_R) +#define HAVE_FUNCTION_R 1 #include "xgetXXbyYY.c" diff --git a/libmisc/xgetspnam.c b/lib/xgetspnam.c similarity index 94% rename from libmisc/xgetspnam.c rename to lib/xgetspnam.c index 148185f4..ebda94ba 100644 --- a/libmisc/xgetspnam.c +++ b/lib/xgetspnam.c @@ -23,7 +23,7 @@ * Two important function classes that fall into this category are * getpwnam(3) and syslog(3). * - * This file provide wrapper to the getpwnam or getpwnam_r functions. + * This file provides wrapper to the getspnam or getspnam_r functions. */ #include diff --git a/lib/xprefix_getpwnam.c b/lib/xprefix_getpwnam.c new file mode 100644 index 00000000..cec01062 --- /dev/null +++ b/lib/xprefix_getpwnam.c @@ -0,0 +1,41 @@ +/* + * SPDX-FileCopyrightText: 2007 - 2009, Nicolas François + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/* + * According to the Linux-PAM documentation: + * + * 4.1. Care about standard library calls + * + * In general, writers of authorization-granting applications should + * assume that each module is likely to call any or all 'libc' functions. + * For 'libc' functions that return pointers to static/dynamically + * allocated structures (ie. the library allocates the memory and the + * user is not expected to 'free()' it) any module call to this function + * is likely to corrupt a pointer previously obtained by the application. + * The application programmer should either re-call such a 'libc' + * function after a call to the Linux-PAM library, or copy the structure + * contents to some safe area of memory before passing control to the + * Linux-PAM library. + * + * Two important function classes that fall into this category are + * getpwnam(3) and syslog(3). + * + * This file provides wrapper to the prefix_getpwnam or prefix_getpwnam_r functions. + */ + +#include + +#include "pwio.h" + +#define LOOKUP_TYPE struct passwd +#define FUNCTION_NAME prefix_getpwnam +#define ARG_TYPE const char * +#define ARG_NAME name +#define DUP_FUNCTION __pw_dup +#define HAVE_FUNCTION_R HAVE_FGETPWENT_R + +#include "xgetXXbyYY.c" + diff --git a/lib/yesno.c b/lib/yesno.c new file mode 100644 index 00000000..029cd815 --- /dev/null +++ b/lib/yesno.c @@ -0,0 +1,87 @@ +/* + * SPDX-FileCopyrightText: 1992 - 1994, Julianne Frances Haugh + * SPDX-FileCopyrightText: 2007 - 2008, Nicolas François + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include + +#ident "$Id$" + +#include +#include +#include +#include "prototypes.h" + + +/* + * Synopsis + * bool yes_or_no(bool read_only); + * + * Arguments + * read_only + * In read-only mode, all questions are answered "no". It + * will print "No" to stdout. + * + * Description + * After a yes/no question, this function gets the answer from the + * user. + * + * Calls to this function will normally be preceeded by a prompt on + * stdout, so we should fflush(3). + * + * Return value + * false "no" + * true "yes" + * + * See also + * rpmatch(3) + */ + + +#if !defined(HAVE_RPMATCH) +static int rpmatch(const char *response); +#endif + + +bool +yes_or_no(bool read_only) +{ + bool ret; + char *buf; + size_t size; + + if (read_only) { + puts(_("No")); + return false; + } + + fflush(stdout); + + buf = NULL; + ret = false; + size = 0; + if (getline(&buf, &size, stdin) != -1) + ret = rpmatch(buf) == 1; + + free(buf); + return ret; +} + + +#if !defined(HAVE_RPMATCH) +static int +rpmatch(const char *response) +{ + if (response[0] == 'y' || response[0] == 'Y') + return 1; + + if (response[0] == 'n' || response[0] == 'n') + return 0; + + return -1; +} +#endif diff --git a/libmisc/.indent.pro b/libmisc/.indent.pro deleted file mode 100644 index fe572bb7..00000000 --- a/libmisc/.indent.pro +++ /dev/null @@ -1,5 +0,0 @@ --kr --i8 --bad --pcs --l80 diff --git a/libmisc/Makefile.am b/libmisc/Makefile.am deleted file mode 100644 index 3d319cd8..00000000 --- a/libmisc/Makefile.am +++ /dev/null @@ -1,80 +0,0 @@ - -EXTRA_DIST = .indent.pro xgetXXbyYY.c - -AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) $(ECONF_CPPFLAGS) - -noinst_LTLIBRARIES = libmisc.la - -libmisc_la_SOURCES = \ - addgrps.c \ - age.c \ - audit_help.c \ - basename.c \ - chkname.c \ - chkname.h \ - chowndir.c \ - chowntty.c \ - cleanup.c \ - cleanup_group.c \ - cleanup_user.c \ - console.c \ - copydir.c \ - date_to_str.c \ - entry.c \ - env.c \ - failure.c \ - failure.h \ - find_new_gid.c \ - find_new_uid.c \ - find_new_sub_gids.c \ - find_new_sub_uids.c \ - getdate.h \ - getdate.y \ - getgr_nam_gid.c \ - getrange.c \ - gettime.c \ - hushed.c \ - idmapping.h \ - idmapping.c \ - isexpired.c \ - limits.c \ - list.c log.c \ - loginprompt.c \ - mail.c \ - motd.c \ - myname.c \ - obscure.c \ - pam_pass.c \ - pam_pass_non_interactive.c \ - prefix_flag.c \ - pwd2spwd.c \ - pwdcheck.c \ - pwd_init.c \ - remove_tree.c \ - rlogin.c \ - root_flag.c \ - salt.c \ - setugid.c \ - setupenv.c \ - shell.c \ - strtoday.c \ - sub.c \ - sulog.c \ - ttytype.c \ - tz.c \ - ulimit.c \ - user_busy.c \ - utmp.c \ - valid.c \ - xgetpwnam.c \ - xgetpwuid.c \ - xgetgrnam.c \ - xgetgrgid.c \ - xgetspnam.c \ - xmalloc.c \ - yesno.c - -if WITH_BTRFS -libmisc_la_SOURCES += btrfs.c -endif - diff --git a/libmisc/Makefile.in b/libmisc/Makefile.in deleted file mode 100644 index 2defd8e7..00000000 --- a/libmisc/Makefile.in +++ /dev/null @@ -1,927 +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@ - -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@ -@WITH_BTRFS_TRUE@am__append_1 = btrfs.c -subdir = libmisc -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 = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libmisc_la_LIBADD = -am__libmisc_la_SOURCES_DIST = addgrps.c age.c audit_help.c basename.c \ - chkname.c chkname.h chowndir.c chowntty.c cleanup.c \ - cleanup_group.c cleanup_user.c console.c copydir.c \ - date_to_str.c entry.c env.c failure.c failure.h find_new_gid.c \ - find_new_uid.c find_new_sub_gids.c find_new_sub_uids.c \ - getdate.h getdate.y getgr_nam_gid.c getrange.c gettime.c \ - hushed.c idmapping.h idmapping.c isexpired.c limits.c list.c \ - log.c loginprompt.c mail.c motd.c myname.c obscure.c \ - pam_pass.c pam_pass_non_interactive.c prefix_flag.c pwd2spwd.c \ - pwdcheck.c pwd_init.c remove_tree.c rlogin.c root_flag.c \ - salt.c setugid.c setupenv.c shell.c strtoday.c sub.c sulog.c \ - ttytype.c tz.c ulimit.c user_busy.c utmp.c valid.c xgetpwnam.c \ - xgetpwuid.c xgetgrnam.c xgetgrgid.c xgetspnam.c xmalloc.c \ - yesno.c btrfs.c -@WITH_BTRFS_TRUE@am__objects_1 = btrfs.lo -am_libmisc_la_OBJECTS = addgrps.lo age.lo audit_help.lo basename.lo \ - chkname.lo chowndir.lo chowntty.lo cleanup.lo cleanup_group.lo \ - cleanup_user.lo console.lo copydir.lo date_to_str.lo entry.lo \ - env.lo failure.lo find_new_gid.lo find_new_uid.lo \ - find_new_sub_gids.lo find_new_sub_uids.lo getdate.lo \ - getgr_nam_gid.lo getrange.lo gettime.lo hushed.lo idmapping.lo \ - isexpired.lo limits.lo list.lo log.lo loginprompt.lo mail.lo \ - motd.lo myname.lo obscure.lo pam_pass.lo \ - pam_pass_non_interactive.lo prefix_flag.lo pwd2spwd.lo \ - pwdcheck.lo pwd_init.lo remove_tree.lo rlogin.lo root_flag.lo \ - salt.lo setugid.lo setupenv.lo shell.lo strtoday.lo sub.lo \ - sulog.lo ttytype.lo tz.lo ulimit.lo user_busy.lo utmp.lo \ - valid.lo xgetpwnam.lo xgetpwuid.lo xgetgrnam.lo xgetgrgid.lo \ - xgetspnam.lo xmalloc.lo yesno.lo $(am__objects_1) -libmisc_la_OBJECTS = $(am_libmisc_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -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 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/addgrps.Plo ./$(DEPDIR)/age.Plo \ - ./$(DEPDIR)/audit_help.Plo ./$(DEPDIR)/basename.Plo \ - ./$(DEPDIR)/btrfs.Plo ./$(DEPDIR)/chkname.Plo \ - ./$(DEPDIR)/chowndir.Plo ./$(DEPDIR)/chowntty.Plo \ - ./$(DEPDIR)/cleanup.Plo ./$(DEPDIR)/cleanup_group.Plo \ - ./$(DEPDIR)/cleanup_user.Plo ./$(DEPDIR)/console.Plo \ - ./$(DEPDIR)/copydir.Plo ./$(DEPDIR)/date_to_str.Plo \ - ./$(DEPDIR)/entry.Plo ./$(DEPDIR)/env.Plo \ - ./$(DEPDIR)/failure.Plo ./$(DEPDIR)/find_new_gid.Plo \ - ./$(DEPDIR)/find_new_sub_gids.Plo \ - ./$(DEPDIR)/find_new_sub_uids.Plo ./$(DEPDIR)/find_new_uid.Plo \ - ./$(DEPDIR)/getdate.Plo ./$(DEPDIR)/getgr_nam_gid.Plo \ - ./$(DEPDIR)/getrange.Plo ./$(DEPDIR)/gettime.Plo \ - ./$(DEPDIR)/hushed.Plo ./$(DEPDIR)/idmapping.Plo \ - ./$(DEPDIR)/isexpired.Plo ./$(DEPDIR)/limits.Plo \ - ./$(DEPDIR)/list.Plo ./$(DEPDIR)/log.Plo \ - ./$(DEPDIR)/loginprompt.Plo ./$(DEPDIR)/mail.Plo \ - ./$(DEPDIR)/motd.Plo ./$(DEPDIR)/myname.Plo \ - ./$(DEPDIR)/obscure.Plo ./$(DEPDIR)/pam_pass.Plo \ - ./$(DEPDIR)/pam_pass_non_interactive.Plo \ - ./$(DEPDIR)/prefix_flag.Plo ./$(DEPDIR)/pwd2spwd.Plo \ - ./$(DEPDIR)/pwd_init.Plo ./$(DEPDIR)/pwdcheck.Plo \ - ./$(DEPDIR)/remove_tree.Plo ./$(DEPDIR)/rlogin.Plo \ - ./$(DEPDIR)/root_flag.Plo ./$(DEPDIR)/salt.Plo \ - ./$(DEPDIR)/setugid.Plo ./$(DEPDIR)/setupenv.Plo \ - ./$(DEPDIR)/shell.Plo ./$(DEPDIR)/strtoday.Plo \ - ./$(DEPDIR)/sub.Plo ./$(DEPDIR)/sulog.Plo \ - ./$(DEPDIR)/ttytype.Plo ./$(DEPDIR)/tz.Plo \ - ./$(DEPDIR)/ulimit.Plo ./$(DEPDIR)/user_busy.Plo \ - ./$(DEPDIR)/utmp.Plo ./$(DEPDIR)/valid.Plo \ - ./$(DEPDIR)/xgetgrgid.Plo ./$(DEPDIR)/xgetgrnam.Plo \ - ./$(DEPDIR)/xgetpwnam.Plo ./$(DEPDIR)/xgetpwuid.Plo \ - ./$(DEPDIR)/xgetspnam.Plo ./$(DEPDIR)/xmalloc.Plo \ - ./$(DEPDIR)/yesno.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -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 = $(libmisc_la_SOURCES) -DIST_SOURCES = $(am__libmisc_la_SOURCES_DIST) -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) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__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 -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@ -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@ -LIBATTR = @LIBATTR@ -LIBAUDIT = @LIBAUDIT@ -LIBCRACK = @LIBCRACK@ -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@ -LIBTCB = @LIBTCB@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LIYESCRYPT = @LIYESCRYPT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -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@ -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 = .indent.pro xgetXXbyYY.c -AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) $(ECONF_CPPFLAGS) -noinst_LTLIBRARIES = libmisc.la -libmisc_la_SOURCES = addgrps.c age.c audit_help.c basename.c chkname.c \ - chkname.h chowndir.c chowntty.c cleanup.c cleanup_group.c \ - cleanup_user.c console.c copydir.c date_to_str.c entry.c env.c \ - failure.c failure.h find_new_gid.c find_new_uid.c \ - find_new_sub_gids.c find_new_sub_uids.c getdate.h getdate.y \ - getgr_nam_gid.c getrange.c gettime.c hushed.c idmapping.h \ - idmapping.c isexpired.c limits.c list.c log.c loginprompt.c \ - mail.c motd.c myname.c obscure.c pam_pass.c \ - pam_pass_non_interactive.c prefix_flag.c pwd2spwd.c pwdcheck.c \ - pwd_init.c remove_tree.c rlogin.c root_flag.c salt.c setugid.c \ - setupenv.c shell.c strtoday.c sub.c sulog.c ttytype.c tz.c \ - ulimit.c user_busy.c utmp.c valid.c xgetpwnam.c xgetpwuid.c \ - xgetgrnam.c xgetgrgid.c xgetspnam.c xmalloc.c yesno.c \ - $(am__append_1) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj .y -$(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 libmisc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign libmisc/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): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libmisc.la: $(libmisc_la_OBJECTS) $(libmisc_la_DEPENDENCIES) $(EXTRA_libmisc_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libmisc_la_OBJECTS) $(libmisc_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addgrps.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/age.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audit_help.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/btrfs.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkname.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowndir.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chowntty.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cleanup.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cleanup_group.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cleanup_user.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/console.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/copydir.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/date_to_str.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entry.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/failure.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_gid.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_sub_gids.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_sub_uids.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/find_new_uid.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getdate.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgr_nam_gid.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrange.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettime.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hushed.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/idmapping.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/isexpired.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/limits.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loginprompt.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mail.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/motd.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/myname.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obscure.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pam_pass.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pam_pass_non_interactive.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prefix_flag.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwd2spwd.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwd_init.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwdcheck.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remove_tree.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rlogin.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/root_flag.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/salt.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setugid.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setupenv.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shell.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoday.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sub.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sulog.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttytype.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tz.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ulimit.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/user_busy.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utmp.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/valid.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetgrgid.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetgrnam.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetpwnam.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetpwuid.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetspnam.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yesno.Plo@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -.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 - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -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 $(LTLIBRARIES) -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." - -rm -f getdate.c -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/addgrps.Plo - -rm -f ./$(DEPDIR)/age.Plo - -rm -f ./$(DEPDIR)/audit_help.Plo - -rm -f ./$(DEPDIR)/basename.Plo - -rm -f ./$(DEPDIR)/btrfs.Plo - -rm -f ./$(DEPDIR)/chkname.Plo - -rm -f ./$(DEPDIR)/chowndir.Plo - -rm -f ./$(DEPDIR)/chowntty.Plo - -rm -f ./$(DEPDIR)/cleanup.Plo - -rm -f ./$(DEPDIR)/cleanup_group.Plo - -rm -f ./$(DEPDIR)/cleanup_user.Plo - -rm -f ./$(DEPDIR)/console.Plo - -rm -f ./$(DEPDIR)/copydir.Plo - -rm -f ./$(DEPDIR)/date_to_str.Plo - -rm -f ./$(DEPDIR)/entry.Plo - -rm -f ./$(DEPDIR)/env.Plo - -rm -f ./$(DEPDIR)/failure.Plo - -rm -f ./$(DEPDIR)/find_new_gid.Plo - -rm -f ./$(DEPDIR)/find_new_sub_gids.Plo - -rm -f ./$(DEPDIR)/find_new_sub_uids.Plo - -rm -f ./$(DEPDIR)/find_new_uid.Plo - -rm -f ./$(DEPDIR)/getdate.Plo - -rm -f ./$(DEPDIR)/getgr_nam_gid.Plo - -rm -f ./$(DEPDIR)/getrange.Plo - -rm -f ./$(DEPDIR)/gettime.Plo - -rm -f ./$(DEPDIR)/hushed.Plo - -rm -f ./$(DEPDIR)/idmapping.Plo - -rm -f ./$(DEPDIR)/isexpired.Plo - -rm -f ./$(DEPDIR)/limits.Plo - -rm -f ./$(DEPDIR)/list.Plo - -rm -f ./$(DEPDIR)/log.Plo - -rm -f ./$(DEPDIR)/loginprompt.Plo - -rm -f ./$(DEPDIR)/mail.Plo - -rm -f ./$(DEPDIR)/motd.Plo - -rm -f ./$(DEPDIR)/myname.Plo - -rm -f ./$(DEPDIR)/obscure.Plo - -rm -f ./$(DEPDIR)/pam_pass.Plo - -rm -f ./$(DEPDIR)/pam_pass_non_interactive.Plo - -rm -f ./$(DEPDIR)/prefix_flag.Plo - -rm -f ./$(DEPDIR)/pwd2spwd.Plo - -rm -f ./$(DEPDIR)/pwd_init.Plo - -rm -f ./$(DEPDIR)/pwdcheck.Plo - -rm -f ./$(DEPDIR)/remove_tree.Plo - -rm -f ./$(DEPDIR)/rlogin.Plo - -rm -f ./$(DEPDIR)/root_flag.Plo - -rm -f ./$(DEPDIR)/salt.Plo - -rm -f ./$(DEPDIR)/setugid.Plo - -rm -f ./$(DEPDIR)/setupenv.Plo - -rm -f ./$(DEPDIR)/shell.Plo - -rm -f ./$(DEPDIR)/strtoday.Plo - -rm -f ./$(DEPDIR)/sub.Plo - -rm -f ./$(DEPDIR)/sulog.Plo - -rm -f ./$(DEPDIR)/ttytype.Plo - -rm -f ./$(DEPDIR)/tz.Plo - -rm -f ./$(DEPDIR)/ulimit.Plo - -rm -f ./$(DEPDIR)/user_busy.Plo - -rm -f ./$(DEPDIR)/utmp.Plo - -rm -f ./$(DEPDIR)/valid.Plo - -rm -f ./$(DEPDIR)/xgetgrgid.Plo - -rm -f ./$(DEPDIR)/xgetgrnam.Plo - -rm -f ./$(DEPDIR)/xgetpwnam.Plo - -rm -f ./$(DEPDIR)/xgetpwuid.Plo - -rm -f ./$(DEPDIR)/xgetspnam.Plo - -rm -f ./$(DEPDIR)/xmalloc.Plo - -rm -f ./$(DEPDIR)/yesno.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -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 ./$(DEPDIR)/addgrps.Plo - -rm -f ./$(DEPDIR)/age.Plo - -rm -f ./$(DEPDIR)/audit_help.Plo - -rm -f ./$(DEPDIR)/basename.Plo - -rm -f ./$(DEPDIR)/btrfs.Plo - -rm -f ./$(DEPDIR)/chkname.Plo - -rm -f ./$(DEPDIR)/chowndir.Plo - -rm -f ./$(DEPDIR)/chowntty.Plo - -rm -f ./$(DEPDIR)/cleanup.Plo - -rm -f ./$(DEPDIR)/cleanup_group.Plo - -rm -f ./$(DEPDIR)/cleanup_user.Plo - -rm -f ./$(DEPDIR)/console.Plo - -rm -f ./$(DEPDIR)/copydir.Plo - -rm -f ./$(DEPDIR)/date_to_str.Plo - -rm -f ./$(DEPDIR)/entry.Plo - -rm -f ./$(DEPDIR)/env.Plo - -rm -f ./$(DEPDIR)/failure.Plo - -rm -f ./$(DEPDIR)/find_new_gid.Plo - -rm -f ./$(DEPDIR)/find_new_sub_gids.Plo - -rm -f ./$(DEPDIR)/find_new_sub_uids.Plo - -rm -f ./$(DEPDIR)/find_new_uid.Plo - -rm -f ./$(DEPDIR)/getdate.Plo - -rm -f ./$(DEPDIR)/getgr_nam_gid.Plo - -rm -f ./$(DEPDIR)/getrange.Plo - -rm -f ./$(DEPDIR)/gettime.Plo - -rm -f ./$(DEPDIR)/hushed.Plo - -rm -f ./$(DEPDIR)/idmapping.Plo - -rm -f ./$(DEPDIR)/isexpired.Plo - -rm -f ./$(DEPDIR)/limits.Plo - -rm -f ./$(DEPDIR)/list.Plo - -rm -f ./$(DEPDIR)/log.Plo - -rm -f ./$(DEPDIR)/loginprompt.Plo - -rm -f ./$(DEPDIR)/mail.Plo - -rm -f ./$(DEPDIR)/motd.Plo - -rm -f ./$(DEPDIR)/myname.Plo - -rm -f ./$(DEPDIR)/obscure.Plo - -rm -f ./$(DEPDIR)/pam_pass.Plo - -rm -f ./$(DEPDIR)/pam_pass_non_interactive.Plo - -rm -f ./$(DEPDIR)/prefix_flag.Plo - -rm -f ./$(DEPDIR)/pwd2spwd.Plo - -rm -f ./$(DEPDIR)/pwd_init.Plo - -rm -f ./$(DEPDIR)/pwdcheck.Plo - -rm -f ./$(DEPDIR)/remove_tree.Plo - -rm -f ./$(DEPDIR)/rlogin.Plo - -rm -f ./$(DEPDIR)/root_flag.Plo - -rm -f ./$(DEPDIR)/salt.Plo - -rm -f ./$(DEPDIR)/setugid.Plo - -rm -f ./$(DEPDIR)/setupenv.Plo - -rm -f ./$(DEPDIR)/shell.Plo - -rm -f ./$(DEPDIR)/strtoday.Plo - -rm -f ./$(DEPDIR)/sub.Plo - -rm -f ./$(DEPDIR)/sulog.Plo - -rm -f ./$(DEPDIR)/ttytype.Plo - -rm -f ./$(DEPDIR)/tz.Plo - -rm -f ./$(DEPDIR)/ulimit.Plo - -rm -f ./$(DEPDIR)/user_busy.Plo - -rm -f ./$(DEPDIR)/utmp.Plo - -rm -f ./$(DEPDIR)/valid.Plo - -rm -f ./$(DEPDIR)/xgetgrgid.Plo - -rm -f ./$(DEPDIR)/xgetgrnam.Plo - -rm -f ./$(DEPDIR)/xgetpwnam.Plo - -rm -f ./$(DEPDIR)/xgetpwuid.Plo - -rm -f ./$(DEPDIR)/xgetspnam.Plo - -rm -f ./$(DEPDIR)/xmalloc.Plo - -rm -f ./$(DEPDIR)/yesno.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libtool clean-noinstLTLIBRARIES \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags 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-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags 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/libmisc/date_to_str.c b/libmisc/date_to_str.c deleted file mode 100644 index 07e99f1a..00000000 --- a/libmisc/date_to_str.c +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2021, Alejandro Colomar - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the copyright holders or contributors may not be used to - * endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include - -#ident "$Id$" - -#include "prototypes.h" - -void date_to_str (size_t size, char buf[size], long date) -{ - time_t t; - - t = date; - if (date < 0) - (void) strncpy (buf, "never", size); - else - (void) strftime (buf, size, "%Y-%m-%d", gmtime (&t)); - buf[size - 1] = '\0'; -} diff --git a/libmisc/entry.c b/libmisc/entry.c deleted file mode 100644 index 87f57545..00000000 --- a/libmisc/entry.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * SPDX-FileCopyrightText: 1989 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 2000, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2003 - 2005, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2007 - 2008, Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include - -#ident "$Id$" - -#include -#include -#include "prototypes.h" -#include "defines.h" -#include - -void pw_entry (const char *name, struct passwd *pwent) -{ - struct passwd *passwd; - - struct spwd *spwd; - - if (!(passwd = getpwnam (name))) { /* local, no need for xgetpwnam */ - pwent->pw_name = (char *) 0; - return; - } else { - pwent->pw_name = xstrdup (passwd->pw_name); - pwent->pw_uid = passwd->pw_uid; - pwent->pw_gid = passwd->pw_gid; - pwent->pw_gecos = xstrdup (passwd->pw_gecos); - pwent->pw_dir = xstrdup (passwd->pw_dir); - pwent->pw_shell = xstrdup (passwd->pw_shell); -#if !defined(AUTOSHADOW) - /* local, no need for xgetspnam */ - if ((spwd = getspnam (name))) { - pwent->pw_passwd = xstrdup (spwd->sp_pwdp); - return; - } -#endif - pwent->pw_passwd = xstrdup (passwd->pw_passwd); - } -} diff --git a/libmisc/getrange.c b/libmisc/getrange.c deleted file mode 100644 index 82f2edfa..00000000 --- a/libmisc/getrange.c +++ /dev/null @@ -1,101 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2008 , Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include - -#ident "$Id: $" - -#include -#include - -#include "defines.h" -#include "prototypes.h" - -/* - * Parse a range and indicate if the range is valid. - * Valid ranges are in the form: - * -> min=max=long has_min has_max - * - -> max=long !has_min has_max - * - -> min=long has_min !has_max - * - -> min=long1 max=long2 has_min has_max - * - * If the range is valid, getrange returns 1. - * If the range is not valid, getrange returns 0. - */ -int getrange (const char *range, - unsigned long *min, bool *has_min, - unsigned long *max, bool *has_max) -{ - char *endptr; - unsigned long n; - - if (NULL == range) { - return 0; - } - - if ('-' == range[0]) { - if (!isdigit(range[1])) { - /* invalid */ - return 0; - } - errno = 0; - n = strtoul (&range[1], &endptr, 10); - if (('\0' != *endptr) || (ERANGE == errno)) { - /* invalid */ - return 0; - } - /* - */ - *has_min = false; - *has_max = true; - *max = n; - } else { - errno = 0; - n = strtoul (range, &endptr, 10); - if (ERANGE == errno) { - /* invalid */ - return 0; - } - switch (*endptr) { - case '\0': - /* */ - *has_min = true; - *has_max = true; - *min = n; - *max = n; - break; - case '-': - endptr++; - if ('\0' == *endptr) { - /* - */ - *has_min = true; - *has_max = false; - *min = n; - } else if (!isdigit (*endptr)) { - /* invalid */ - return 0; - } else { - *has_min = true; - *min = n; - errno = 0; - n = strtoul (endptr, &endptr, 10); - if ( ('\0' != *endptr) - || (ERANGE == errno)) { - /* invalid */ - return 0; - } - /* - */ - *has_max = true; - *max = n; - } - break; - default: - return 0; - } - } - - return 1; -} - diff --git a/libmisc/loginprompt.c b/libmisc/loginprompt.c deleted file mode 100644 index 0a67f463..00000000 --- a/libmisc/loginprompt.c +++ /dev/null @@ -1,155 +0,0 @@ -/* - * SPDX-FileCopyrightText: 1989 - 1993, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 2000, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2003 - 2005, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2008 - 2011, Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include - -#ident "$Id$" - -#include -#include -#include -#include -#include "prototypes.h" -#include "defines.h" -#include "getdef.h" - -static void login_exit (unused int sig) -{ - exit (EXIT_FAILURE); -} - -/* - * login_prompt - prompt the user for their login name - * - * login_prompt() displays the standard login prompt. If ISSUE_FILE - * is set in login.defs, this file is displayed before the prompt. - */ - -void login_prompt (const char *prompt, char *name, int namesize) -{ - char buf[1024]; - -#define MAX_ENV 32 - char *envp[MAX_ENV]; - char *cp; - int i; - FILE *fp; - - sighandler_t sigquit; -#ifdef SIGTSTP - sighandler_t sigtstp; -#endif - - /* - * There is a small chance that a QUIT character will be part of - * some random noise during a prompt. Deal with this by exiting - * instead of core dumping. If SIGTSTP is defined, do the same - * thing for that signal. - */ - - sigquit = signal (SIGQUIT, login_exit); -#ifdef SIGTSTP - sigtstp = signal (SIGTSTP, login_exit); -#endif - - /* - * See if the user has configured the issue file to - * be displayed and display it before the prompt. - */ - - if (NULL != prompt) { - const char *fname = getdef_str ("ISSUE_FILE"); - if (NULL != fname) { - fp = fopen (fname, "r"); - if (NULL != fp) { - while ((i = getc (fp)) != EOF) { - (void) putc (i, stdout); - } - - (void) fclose (fp); - } - } - (void) gethostname (buf, sizeof buf); - printf (prompt, buf); - (void) fflush (stdout); - } - - /* - * Read the user's response. The trailing newline will be - * removed. - */ - - memzero (buf, sizeof buf); - if (fgets (buf, (int) sizeof buf, stdin) != buf) { - exit (EXIT_FAILURE); - } - - cp = strchr (buf, '\n'); - if (NULL == cp) { - exit (EXIT_FAILURE); - } - *cp = '\0'; /* remove \n [ must be there ] */ - - /* - * Skip leading whitespace. This makes " username" work right. - * Then copy the rest (up to the end or the first "non-graphic" - * character into the username. - */ - - for (cp = buf; *cp == ' ' || *cp == '\t'; cp++); - - for (i = 0; i < namesize - 1 && isgraph (*cp); name[i++] = *cp++); - while (isgraph (*cp)) { - cp++; - } - - if ('\0' != *cp) { - cp++; - } - - name[i] = '\0'; - - /* - * This is a disaster, at best. The user may have entered extra - * environmental variables at the prompt. There are several ways - * to do this, and I just take the easy way out. - */ - - if ('\0' != *cp) { /* process new variables */ - char *nvar; - int count = 1; - int envc; - - for (envc = 0; envc < MAX_ENV; envc++) { - nvar = strtok ((0 != envc) ? (char *) 0 : cp, " \t,"); - if (NULL == nvar) { - break; - } - if (strchr (nvar, '=') != NULL) { - envp[envc] = nvar; - } else { - size_t len = strlen (nvar) + 32; - envp[envc] = xmalloc (len); - (void) snprintf (envp[envc], len, - "L%d=%s", count++, nvar); - } - } - set_env (envc, envp); - } - - /* - * Set the SIGQUIT handler back to its original value - */ - - (void) signal (SIGQUIT, sigquit); -#ifdef SIGTSTP - (void) signal (SIGTSTP, sigtstp); -#endif -} - diff --git a/libmisc/strtoday.c b/libmisc/strtoday.c deleted file mode 100644 index d3218738..00000000 --- a/libmisc/strtoday.c +++ /dev/null @@ -1,220 +0,0 @@ -/* - * 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 - */ - -#if !defined(__GLIBC__) -#define _XOPEN_SOURCE 500 -#endif - -#include - -#include - -#ident "$Id$" - -#include "defines.h" -#include "prototypes.h" - -#ifndef USE_GETDATE -#define USE_GETDATE 1 -#endif - -#if USE_GETDATE -#include "getdate.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) -{ - time_t t; - bool isnum = true; - const char *s = str; - - /* - * 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) || ('\0' == *str)) { - return -1; - } - - /* If a numerical value is provided, this is already a number of - * days since EPOCH. - */ - if ('-' == *s) { - s++; - } - while (' ' == *s) { - s++; - } - while (isnum && ('\0' != *s)) { - if (!isdigit (*s)) { - isnum = false; - } - s++; - } - if (isnum) { - long retdate; - if (getlong (str, &retdate) == 0) { - return -2; - } - return retdate; - } - - t = get_date (str, NULL); - if ((time_t) - 1 == t) { - return -2; - } - /* convert seconds to days since 1970-01-01 */ - return (long) (t + DAY / 2) / DAY; -} - -#else /* !USE_GETDATE */ -/* - * Old code, just in case get_date() doesn't work as expected... - */ -#include -#ifdef HAVE_STRPTIME -/* - * for now we allow just one format, but we can define more later - * (we try them all until one succeeds). --marekm - */ -static const char *const date_formats[] = { - "%Y-%m-%d", - (char *) 0 -}; -#else -/* - * days and juldays are used to compute the number of days in the - * current month, and the cumulative number of days in the preceding - * months. they are declared so that january is 1, not 0. - */ -static const short days[13] = { 0, - 31, 28, 31, 30, 31, 30, /* JAN - JUN */ - 31, 31, 30, 31, 30, 31 -}; /* JUL - DEC */ - -static const short juldays[13] = { 0, - 0, 31, 59, 90, 120, 151, /* JAN - JUN */ - 181, 212, 243, 273, 304, 334 -}; /* JUL - DEC */ -#endif - -/* - * strtoday - compute the number of days since 1970. - * - * the total number of days prior to the current date is - * computed. january 1, 1970 is used as the origin with - * it having a day number of 0. - */ - -long strtoday (const char *str) -{ -#ifdef HAVE_STRPTIME - struct tm tp; - const char *const *fmt; - char *cp; - time_t result; - - memzero (&tp, sizeof tp); - for (fmt = date_formats; *fmt; fmt++) { - cp = strptime ((char *) str, *fmt, &tp); - if ((NULL == cp) || ('\0' != *cp)) { - continue; - } - - result = mktime (&tp); - if ((time_t) - 1 == result) { - continue; - } - - return (long) (result / DAY); /* success */ - } - return -1; -#else - char slop[2]; - int month; - int day; - int year; - long total; - - /* - * start by separating the month, day and year. the order - * is compiled in ... - */ - - if (sscanf (str, "%d/%d/%d%c", &year, &month, &day, slop) != 3) { - return -1; - } - - /* - * the month, day of the month, and year are checked for - * correctness and the year adjusted so it falls between - * 1970 and 2069. - */ - - if ((month < 1) || (month > 12)) { - return -1; - } - - if (day < 1) { - return -1; - } - - if ( ((2 != month) || ((year % 4) != 0)) - && (day > days[month])) { - return -1; - } else if ((month == 2) && ((year % 4) == 0) && (day > 29)) { - return -1; - } - - if (year < 0) { - return -1; - } else if (year <= 69) { - year += 2000; - } else if (year <= 99) { - year += 1900; - } - - /* - * On systems with 32-bit signed time_t, time wraps around in 2038 - * - for now we just limit the year to 2037 (instead of 2069). - * This limit can be removed once no one is using 32-bit systems - * anymore :-). --marekm - */ - if ((year < 1970) || (year > 2037)) { - return -1; - } - - /* - * the total number of days is the total number of days in all - * the whole years, plus the number of leap days, plus the - * number of days in the whole months preceding, plus the number - * of days so far in the month. - */ - - total = (long) ((year - 1970) * 365L) + (((year + 1) - 1970) / 4); - total += (long) juldays[month] + (month > 2 && (year % 4) == 0 ? 1 : 0); - total += (long) day - 1; - - return total; -#endif /* HAVE_STRPTIME */ -} -#endif /* !USE_GETDATE */ diff --git a/libmisc/utmp.c b/libmisc/utmp.c deleted file mode 100644 index 45b479f1..00000000 --- a/libmisc/utmp.c +++ /dev/null @@ -1,474 +0,0 @@ -/* - * SPDX-FileCopyrightText: 1989 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 1996 - 1999, Marek Michałkiewicz - * SPDX-FileCopyrightText: 2001 - 2005, Tomasz Kłoczko - * SPDX-FileCopyrightText: 2008 - 2009, Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#include - -#include "defines.h" -#include "prototypes.h" - -#ifdef USE_UTMPX -#include -#else -#include -#endif - -#include -#include -#include -#include -#include -#include - -#ident "$Id$" - - -/* - * is_my_tty -- determine if "tty" is the same TTY stdin is using - */ -static bool is_my_tty (const char *tty) -{ - /* full_tty shall be at least sizeof utmp.ut_line + 5 */ - char full_tty[200]; - /* tmptty shall be bigger than full_tty */ - static char tmptty[sizeof (full_tty)+1]; - - if ('/' != *tty) { - (void) snprintf (full_tty, sizeof full_tty, "/dev/%s", tty); - tty = &full_tty[0]; - } - - if ('\0' == tmptty[0]) { - const char *tname = ttyname (STDIN_FILENO); - if (NULL != tname) { - (void) strncpy (tmptty, tname, sizeof tmptty); - tmptty[sizeof (tmptty) - 1] = '\0'; - } - } - - if ('\0' == tmptty[0]) { - (void) puts (_("Unable to determine your tty name.")); - exit (EXIT_FAILURE); - } else if (strncmp (tty, tmptty, sizeof (tmptty)) != 0) { - return false; - } else { - return true; - } -} - -/* - * get_current_utmp - return the most probable utmp entry for the current - * session - * - * The utmp file is scanned for an entry with the same process ID. - * The line entered by the *getty / telnetd, etc. should also match - * the current terminal. - * - * When an entry is returned by get_current_utmp, and if the utmp - * structure has a ut_id field, this field should be used to update - * the entry information. - * - * Return NULL if no entries exist in utmp for the current process. - */ -#ifndef USE_UTMPX -/*@null@*/ /*@only@*/struct utmp *get_current_utmp (void) -{ - struct utmp *ut; - struct utmp *ret = NULL; - - setutent (); - - /* First, try to find a valid utmp entry for this process. */ - while ((ut = getutent ()) != NULL) { - if ( (ut->ut_pid == getpid ()) -#ifdef HAVE_STRUCT_UTMP_UT_ID - && ('\0' != ut->ut_id[0]) -#endif -#ifdef HAVE_STRUCT_UTMP_UT_TYPE - && ( (LOGIN_PROCESS == ut->ut_type) - || (USER_PROCESS == ut->ut_type)) -#endif - /* A process may have failed to close an entry - * Check if this entry refers to the current tty */ - && is_my_tty (ut->ut_line)) { - break; - } - } - - if (NULL != ut) { - ret = (struct utmp *) xmalloc (sizeof (*ret)); - memcpy (ret, ut, sizeof (*ret)); - } - - endutent (); - - return ret; -} -#else -/*@null@*/ /*@only*/struct utmpx *get_current_utmp(void) -{ - struct utmpx *ut; - struct utmpx *ret = NULL; - - setutxent (); - - /* Find the utmpx entry for this PID. */ - while ((ut = getutxent ()) != NULL) { - if ( (ut->ut_pid == getpid ()) - && ('\0' != ut->ut_id[0]) - && ( (LOGIN_PROCESS == ut->ut_type) - || (USER_PROCESS == ut->ut_type)) - && is_my_tty (ut->ut_line)) { - break; - } - } - - if (NULL != ut) { - ret = (struct utmpx *) xmalloc (sizeof (*ret)); - memcpy (ret, ut, sizeof (*ret)); - } - - endutxent (); - - return ret; -} -#endif - - -#ifndef USE_PAM -/* - * Some systems already have updwtmp() and possibly updwtmpx(). Others - * don't, so we re-implement these functions if necessary. - */ -#ifndef HAVE_UPDWTMP -static void updwtmp (const char *filename, const struct utmp *ut) -{ - int fd; - - fd = open (filename, O_APPEND | O_WRONLY, 0); - if (fd >= 0) { - write (fd, (const char *) ut, sizeof (*ut)); - close (fd); - } -} -#endif /* ! HAVE_UPDWTMP */ - -#ifdef USE_UTMPX -#ifndef HAVE_UPDWTMPX -static void updwtmpx (const char *filename, const struct utmpx *utx) -{ - int fd; - - fd = open (filename, O_APPEND | O_WRONLY, 0); - if (fd >= 0) { - write (fd, (const char *) utx, sizeof (*utx)); - close (fd); - } -} -#endif /* ! HAVE_UPDWTMPX */ -#endif /* ! USE_UTMPX */ -#endif /* ! USE_PAM */ - - -#ifndef USE_UTMPX -/* - * prepare_utmp - prepare an utmp entry so that it can be logged in a - * utmp/wtmp file. - * - * It accepts an utmp entry in input (ut) to return an entry with - * the right ut_id. This is typically an entry returned by - * get_current_utmp - * If ut is NULL, ut_id will be forged based on the line argument. - * - * The ut_host field of the input structure may also be kept, and is - * used to define the ut_addr/ut_addr_v6 fields. (if these fields - * exist) - * - * Other fields are discarded and filed with new values (if they - * exist). - * - * The returned structure shall be freed by the caller. - */ -/*@only@*/struct utmp *prepare_utmp (const char *name, - const char *line, - const char *host, - /*@null@*/const struct utmp *ut) -{ - struct timeval tv; - char *hostname = NULL; - struct utmp *utent; - - assert (NULL != name); - assert (NULL != line); - - - - if ( (NULL != host) - && ('\0' != host[0])) { - hostname = (char *) xmalloc (strlen (host) + 1); - strcpy (hostname, host); -#ifdef HAVE_STRUCT_UTMP_UT_HOST - } else if ( (NULL != ut) - && ('\0' != ut->ut_host[0])) { - hostname = (char *) xmalloc (sizeof (ut->ut_host) + 1); - strncpy (hostname, ut->ut_host, sizeof (ut->ut_host)); - hostname[sizeof (ut->ut_host)] = '\0'; -#endif /* HAVE_STRUCT_UTMP_UT_HOST */ - } - - if (strncmp(line, "/dev/", 5) == 0) { - line += 5; - } - - - utent = (struct utmp *) xmalloc (sizeof (*utent)); - memzero (utent, sizeof (*utent)); - - - -#ifdef HAVE_STRUCT_UTMP_UT_TYPE - utent->ut_type = USER_PROCESS; -#endif /* HAVE_STRUCT_UTMP_UT_TYPE */ - utent->ut_pid = getpid (); - strncpy (utent->ut_line, line, sizeof (utent->ut_line) - 1); -#ifdef HAVE_STRUCT_UTMP_UT_ID - if (NULL != ut) { - strncpy (utent->ut_id, ut->ut_id, sizeof (utent->ut_id)); - } else { - /* XXX - assumes /dev/tty?? */ - strncpy (utent->ut_id, line + 3, sizeof (utent->ut_id) - 1); - } -#endif /* HAVE_STRUCT_UTMP_UT_ID */ -#ifdef HAVE_STRUCT_UTMP_UT_NAME - strncpy (utent->ut_name, name, sizeof (utent->ut_name)); -#endif /* HAVE_STRUCT_UTMP_UT_NAME */ -#ifdef HAVE_STRUCT_UTMP_UT_USER - strncpy (utent->ut_user, name, sizeof (utent->ut_user) - 1); -#endif /* HAVE_STRUCT_UTMP_UT_USER */ - if (NULL != hostname) { - struct addrinfo *info = NULL; -#ifdef HAVE_STRUCT_UTMP_UT_HOST - strncpy (utent->ut_host, hostname, sizeof (utent->ut_host) - 1); -#endif /* HAVE_STRUCT_UTMP_UT_HOST */ -#ifdef HAVE_STRUCT_UTMP_UT_SYSLEN - utent->ut_syslen = MIN (strlen (hostname), - sizeof (utent->ut_host)); -#endif /* HAVE_STRUCT_UTMP_UT_SYSLEN */ -#if defined(HAVE_STRUCT_UTMP_UT_ADDR) || defined(HAVE_STRUCT_UTMP_UT_ADDR_V6) - if (getaddrinfo (hostname, NULL, NULL, &info) == 0) { - /* getaddrinfo might not be reliable. - * Just try to log what may be useful. - */ - if (info->ai_family == AF_INET) { - struct sockaddr_in *sa = - (struct sockaddr_in *) info->ai_addr; -#ifdef HAVE_STRUCT_UTMP_UT_ADDR - memcpy (&(utent->ut_addr), - &(sa->sin_addr), - MIN (sizeof (utent->ut_addr), - sizeof (sa->sin_addr))); -#endif /* HAVE_STRUCT_UTMP_UT_ADDR */ -#ifdef HAVE_STRUCT_UTMP_UT_ADDR_V6 - memcpy (utent->ut_addr_v6, - &(sa->sin_addr), - MIN (sizeof (utent->ut_addr_v6), - sizeof (sa->sin_addr))); - } else if (info->ai_family == AF_INET6) { - struct sockaddr_in6 *sa = - (struct sockaddr_in6 *) info->ai_addr; - memcpy (utent->ut_addr_v6, - &(sa->sin6_addr), - MIN (sizeof (utent->ut_addr_v6), - sizeof (sa->sin6_addr))); -#endif /* HAVE_STRUCT_UTMP_UT_ADDR_V6 */ - } - freeaddrinfo (info); - } -#endif /* HAVE_STRUCT_UTMP_UT_ADDR || HAVE_STRUCT_UTMP_UT_ADDR_V6 */ - free (hostname); - } - /* ut_exit is only for DEAD_PROCESS */ - utent->ut_session = getsid (0); - if (gettimeofday (&tv, NULL) == 0) { -#ifdef HAVE_STRUCT_UTMP_UT_TIME - utent->ut_time = tv.tv_sec; -#endif /* HAVE_STRUCT_UTMP_UT_TIME */ -#ifdef HAVE_STRUCT_UTMP_UT_XTIME - utent->ut_xtime = tv.tv_usec; -#endif /* HAVE_STRUCT_UTMP_UT_XTIME */ -#ifdef HAVE_STRUCT_UTMP_UT_TV - utent->ut_tv.tv_sec = tv.tv_sec; - utent->ut_tv.tv_usec = tv.tv_usec; -#endif /* HAVE_STRUCT_UTMP_UT_TV */ - } - - return utent; -} - -/* - * setutmp - Update an entry in utmp and log an entry in wtmp - * - * Return 1 on failure and 0 on success. - */ -int setutmp (struct utmp *ut) -{ - int err = 0; - - assert (NULL != ut); - - setutent (); - if (pututline (ut) == NULL) { - err = 1; - } - endutent (); - -#ifndef USE_PAM - /* This is done by pam_lastlog */ - updwtmp (_WTMP_FILE, ut); -#endif /* ! USE_PAM */ - - return err; -} - -#else -/* - * prepare_utmpx - the UTMPX version for prepare_utmp - */ -/*@only@*/struct utmpx *prepare_utmpx (const char *name, - const char *line, - const char *host, - /*@null@*/const struct utmpx *ut) -{ - struct timeval tv; - char *hostname = NULL; - struct utmpx *utxent; - - assert (NULL != name); - assert (NULL != line); - - - - if ( (NULL != host) - && ('\0' != host[0])) { - hostname = (char *) xmalloc (strlen (host) + 1); - strcpy (hostname, host); -#ifdef HAVE_STRUCT_UTMP_UT_HOST - } else if ( (NULL != ut) - && (NULL != ut->ut_host) - && ('\0' != ut->ut_host[0])) { - hostname = (char *) xmalloc (sizeof (ut->ut_host) + 1); - strncpy (hostname, ut->ut_host, sizeof (ut->ut_host)); - hostname[sizeof (ut->ut_host)] = '\0'; -#endif /* HAVE_STRUCT_UTMP_UT_TYPE */ - } - - if (strncmp(line, "/dev/", 5) == 0) { - line += 5; - } - - utxent = (struct utmpx *) xmalloc (sizeof (*utxent)); - memzero (utxent, sizeof (*utxent)); - - - - utxent->ut_type = USER_PROCESS; - utxent->ut_pid = getpid (); - strncpy (utxent->ut_line, line, sizeof (utxent->ut_line)); - /* existence of ut->ut_id is enforced by configure */ - if (NULL != ut) { - strncpy (utxent->ut_id, ut->ut_id, sizeof (utxent->ut_id)); - } else { - /* XXX - assumes /dev/tty?? */ - strncpy (utxent->ut_id, line + 3, sizeof (utxent->ut_id)); - } -#ifdef HAVE_STRUCT_UTMPX_UT_NAME - strncpy (utxent->ut_name, name, sizeof (utxent->ut_name)); -#endif /* HAVE_STRUCT_UTMPX_UT_NAME */ - strncpy (utxent->ut_user, name, sizeof (utxent->ut_user)); - if (NULL != hostname) { - struct addrinfo *info = NULL; -#ifdef HAVE_STRUCT_UTMPX_UT_HOST - strncpy (utxent->ut_host, hostname, sizeof (utxent->ut_host)); -#endif /* HAVE_STRUCT_UTMPX_UT_HOST */ -#ifdef HAVE_STRUCT_UTMPX_UT_SYSLEN - utxent->ut_syslen = MIN (strlen (hostname), - sizeof (utxent->ut_host)); -#endif /* HAVE_STRUCT_UTMPX_UT_SYSLEN */ -#if defined(HAVE_STRUCT_UTMPX_UT_ADDR) || defined(HAVE_STRUCT_UTMPX_UT_ADDR_V6) - if (getaddrinfo (hostname, NULL, NULL, &info) == 0) { - /* getaddrinfo might not be reliable. - * Just try to log what may be useful. - */ - if (info->ai_family == AF_INET) { - struct sockaddr_in *sa = - (struct sockaddr_in *) info->ai_addr; -#ifdef HAVE_STRUCT_UTMPX_UT_ADDR - memcpy (&utxent->ut_addr, - &(sa->sin_addr), - MIN (sizeof (utxent->ut_addr), - sizeof (sa->sin_addr))); -#endif /* HAVE_STRUCT_UTMPX_UT_ADDR */ -#ifdef HAVE_STRUCT_UTMPX_UT_ADDR_V6 - memcpy (utxent->ut_addr_v6, - &(sa->sin_addr), - MIN (sizeof (utxent->ut_addr_v6), - sizeof (sa->sin_addr))); - } else if (info->ai_family == AF_INET6) { - struct sockaddr_in6 *sa = - (struct sockaddr_in6 *) info->ai_addr; - memcpy (utxent->ut_addr_v6, - &(sa->sin6_addr), - MIN (sizeof (utxent->ut_addr_v6), - sizeof (sa->sin6_addr))); -#endif /* HAVE_STRUCT_UTMPX_UT_ADDR_V6 */ - } - freeaddrinfo (info); - } -#endif /* HAVE_STRUCT_UTMPX_UT_ADDR || HAVE_STRUCT_UTMPX_UT_ADDR_V6 */ - free (hostname); - } - /* ut_exit is only for DEAD_PROCESS */ - utxent->ut_session = getsid (0); - if (gettimeofday (&tv, NULL) == 0) { -#ifdef HAVE_STRUCT_UTMPX_UT_TIME - utxent->ut_time = tv.tv_sec; -#endif /* HAVE_STRUCT_UTMPX_UT_TIME */ -#ifdef HAVE_STRUCT_UTMPX_UT_XTIME - utxent->ut_xtime = tv.tv_usec; -#endif /* HAVE_STRUCT_UTMPX_UT_XTIME */ - utxent->ut_tv.tv_sec = tv.tv_sec; - utxent->ut_tv.tv_usec = tv.tv_usec; - } - - return utxent; -} - -/* - * setutmpx - the UTMPX version for setutmp - */ -int setutmpx (struct utmpx *utx) -{ - int err = 0; - - assert (NULL != utx); - - setutxent (); - if (pututxline (utx) == NULL) { - err = 1; - } - endutxent (); - -#ifndef USE_PAM - /* This is done by pam_lastlog */ - updwtmpx (_WTMP_FILE "x", utx); -#endif /* ! USE_PAM */ - - return err; -} -#endif /* USE_UTMPX */ - diff --git a/libmisc/yesno.c b/libmisc/yesno.c deleted file mode 100644 index cfbe6ecc..00000000 --- a/libmisc/yesno.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - * SPDX-FileCopyrightText: 1992 - 1994, Julianne Frances Haugh - * SPDX-FileCopyrightText: 2007 - 2008, Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -/* - * Common code for yes/no prompting - * - * Used by pwck.c and grpck.c - */ - -#include - -#ident "$Id$" - -#include -#include "prototypes.h" - -/* - * yes_or_no - get answer to question from the user - * - * It returns false if no. - * - * If the read_only flag is set, it will print No, and will return - * false. - */ -bool yes_or_no (bool read_only) -{ - char buf[80]; - - /* - * In read-only mode all questions are answered "no". - */ - if (read_only) { - (void) puts (_("No")); - return false; - } - - /* - * Typically, there's a prompt on stdout, sometimes unflushed. - */ - (void) fflush (stdout); - - /* - * Get a line and see what the first character is. - */ - /* TODO: use gettext */ - if (fgets (buf, (int) sizeof buf, stdin) == buf) { - return buf[0] == 'y' || buf[0] == 'Y'; - } - - return false; -} - diff --git a/libsubid/Makefile.am b/libsubid/Makefile.am index 09ec3416..b6488e77 100644 --- a/libsubid/Makefile.am +++ b/libsubid/Makefile.am @@ -8,7 +8,6 @@ MISCLIBS = \ $(LIBAUDIT) \ $(LIBSELINUX) \ $(LIBSEMANAGE) \ - $(LIBCRACK) \ $(LIBCRYPT_NOPAM) \ $(LIBSKEY) \ $(LIBMD) \ @@ -21,10 +20,8 @@ MISCLIBS = \ libsubid_la_LIBADD = \ $(top_builddir)/lib/libshadow.la \ - $(top_builddir)/libmisc/libmisc.la \ $(MISCLIBS) -ldl AM_CPPFLAGS = \ -I${top_srcdir}/lib \ - -I${top_srcdir}/libmisc \ -DLOCALEDIR=\"$(datadir)/locale\" diff --git a/libsubid/Makefile.in b/libsubid/Makefile.in index ed8dc949..0395dee3 100644 --- a/libsubid/Makefile.in +++ b/libsubid/Makefile.in @@ -143,9 +143,9 @@ am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) libsubid_la_DEPENDENCIES = $(top_builddir)/lib/libshadow.la \ - $(top_builddir)/libmisc/libmisc.la $(am__DEPENDENCIES_2) + $(am__DEPENDENCIES_2) am_libsubid_la_OBJECTS = api.lo libsubid_la_OBJECTS = $(am_libsubid_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) @@ -229,6 +229,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -262,9 +264,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -280,6 +288,7 @@ 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@ @@ -288,6 +297,8 @@ 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@ @@ -310,6 +321,9 @@ 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@ @@ -389,7 +403,6 @@ MISCLIBS = \ $(LIBAUDIT) \ $(LIBSELINUX) \ $(LIBSEMANAGE) \ - $(LIBCRACK) \ $(LIBCRYPT_NOPAM) \ $(LIBSKEY) \ $(LIBMD) \ @@ -402,12 +415,10 @@ MISCLIBS = \ libsubid_la_LIBADD = \ $(top_builddir)/lib/libshadow.la \ - $(top_builddir)/libmisc/libmisc.la \ $(MISCLIBS) -ldl AM_CPPFLAGS = \ -I${top_srcdir}/lib \ - -I${top_srcdir}/libmisc \ -DLOCALEDIR=\"$(datadir)/locale\" all: all-am @@ -499,22 +510,25 @@ $(am__depfiles_remade): am--depfiles: $(am__depfiles_remade) .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< diff --git a/libsubid/api.c b/libsubid/api.c index 00da74f6..65d20abf 100644 --- a/libsubid/api.c +++ b/libsubid/api.c @@ -66,12 +66,12 @@ int get_subid_owner(unsigned long id, enum subid_type id_type, uid_t **owner) int subid_get_uid_owners(uid_t uid, uid_t **owner) { - return get_subid_owner((unsigned long)uid, ID_TYPE_UID, owner); + return get_subid_owner(uid, ID_TYPE_UID, owner); } int subid_get_gid_owners(gid_t gid, uid_t **owner) { - return get_subid_owner((unsigned long)gid, ID_TYPE_GID, owner); + return get_subid_owner(gid, ID_TYPE_GID, owner); } static diff --git a/man/Makefile.am b/man/Makefile.am index 4382df60..83b1d688 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -26,7 +26,6 @@ man_MANS = \ man8/grpconv.8 \ man8/grpunconv.8 \ man5/gshadow.5 \ - man8/lastlog.8 \ man1/login.1 \ man5/login.defs.5 \ man8/logoutd.8 \ @@ -48,6 +47,10 @@ man_MANS = \ man8/vigr.8 \ man8/vipw.8 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + man_nopam = \ man5/limits.5 \ man5/login.access.5 \ @@ -90,7 +93,6 @@ man_XMANS = \ groups.1.xml \ grpck.8.xml \ gshadow.5.xml \ - lastlog.8.xml \ limits.5.xml \ login.1.xml \ login.access.5.xml \ @@ -118,7 +120,12 @@ man_XMANS = \ usermod.8.xml \ vipw.8.xml +if ENABLE_LASTLOG +man_XMANS += lastlog.8.xml +endif + login_defs_v = \ + BCRYPT_MIN_ROUNDS.xml \ CHFN_AUTH.xml \ CHFN_RESTRICT.xml \ CHSH_AUTH.xml \ @@ -185,18 +192,22 @@ login_defs_v = \ SUB_GID_COUNT.xml \ SUB_UID_COUNT.xml \ SYS_GID_MAX.xml \ - SYS_UID_MAX.xml + SYS_UID_MAX.xml \ + YESCRYPT_COST_FACTOR.xml EXTRA_DIST = \ $(man_MANS) \ $(man_XMANS) \ + config.xml \ $(addprefix login.defs.d/,$(login_defs_v)) \ man1/id.1 \ id.1.xml \ man8/sulogin.8 \ sulogin.8.xml \ generate_mans.mak \ - generate_translations.mak + generate_translations.mak \ + its.rules \ + shadow-man.xsl if USE_PAM EXTRA_DIST += $(man_nopam) @@ -206,9 +217,9 @@ if !ENABLE_SUBIDS EXTRA_DIST += $(man_subids) endif -generate_mans.deps: *.xml +generate_mans.deps: $(man_XMANS) echo "# This file is generated" > $@ - awk 'BEGIN{FS="\"";} /^$$/{ f=FILENAME; sub(/.xml/,"",f); print "man" substr(f, length (f)) "/" f ": " $$2 }' $(man_XMANS) >> $@ + awk 'BEGIN{FS="\"";} /^$$/{ f=FILENAME; sub(/.xml/,"",f); print "man" substr(f, length (f)) "/" f ": " $$2 }' $< >> $@ if ENABLE_REGENERATE_MAN diff --git a/man/Makefile.in b/man/Makefile.in index fa8a0ea8..41773ad7 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -87,11 +87,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@WITH_SU_TRUE@am__append_1 = man1/su.1 -@USE_PAM_FALSE@am__append_2 = $(man_nopam) -@ENABLE_SUBIDS_TRUE@am__append_3 = $(man_subids) -@USE_PAM_TRUE@am__append_4 = $(man_nopam) -@ENABLE_SUBIDS_FALSE@am__append_5 = $(man_subids) +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 +@WITH_SU_TRUE@am__append_2 = man1/su.1 +@USE_PAM_FALSE@am__append_3 = $(man_nopam) +@ENABLE_SUBIDS_TRUE@am__append_4 = $(man_subids) +@ENABLE_LASTLOG_TRUE@am__append_5 = lastlog.8.xml +@USE_PAM_TRUE@am__append_6 = $(man_nopam) +@ENABLE_SUBIDS_FALSE@am__append_7 = $(man_subids) subdir = man ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -238,6 +240,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -271,9 +275,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -289,6 +299,7 @@ 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@ @@ -297,6 +308,8 @@ 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@ @@ -319,6 +332,9 @@ 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@ @@ -398,13 +414,13 @@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man5/suauth.5 man8/useradd.8 \ - man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ - $(am__append_1) $(am__append_2) $(am__append_3) + man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ + man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ + man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ + man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ + man5/shadow.5 man5/suauth.5 man8/useradd.8 man8/userdel.8 \ + man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) \ + $(am__append_2) $(am__append_3) $(am__append_4) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ @@ -417,53 +433,19 @@ man_subids = \ man5/subgid.5 \ man5/subuid.5 -man_XMANS = \ - chage.1.xml \ - chfn.1.xml \ - chgpasswd.8.xml \ - chpasswd.8.xml \ - chsh.1.xml \ - expiry.1.xml \ - faillog.5.xml \ - faillog.8.xml \ - getsubids.1.xml \ - gpasswd.1.xml \ - groupadd.8.xml \ - groupdel.8.xml \ - groupmems.8.xml \ - groupmod.8.xml \ - groups.1.xml \ - grpck.8.xml \ - gshadow.5.xml \ - lastlog.8.xml \ - limits.5.xml \ - login.1.xml \ - login.access.5.xml \ - login.defs.5.xml \ - logoutd.8.xml \ - newgidmap.1.xml \ - newgrp.1.xml \ - newuidmap.1.xml \ - newusers.8.xml \ - nologin.8.xml \ - passwd.1.xml \ - passwd.5.xml \ - porttime.5.xml \ - pwck.8.xml \ - pwconv.8.xml \ - shadow.3.xml \ - shadow.5.xml \ - sg.1.xml \ - su.1.xml \ - suauth.5.xml \ - subgid.5.xml \ - subuid.5.xml \ - useradd.8.xml \ - userdel.8.xml \ - usermod.8.xml \ - vipw.8.xml - +man_XMANS = chage.1.xml chfn.1.xml chgpasswd.8.xml chpasswd.8.xml \ + chsh.1.xml expiry.1.xml faillog.5.xml faillog.8.xml \ + getsubids.1.xml gpasswd.1.xml groupadd.8.xml groupdel.8.xml \ + groupmems.8.xml groupmod.8.xml groups.1.xml grpck.8.xml \ + gshadow.5.xml limits.5.xml login.1.xml login.access.5.xml \ + login.defs.5.xml logoutd.8.xml newgidmap.1.xml newgrp.1.xml \ + newuidmap.1.xml newusers.8.xml nologin.8.xml passwd.1.xml \ + passwd.5.xml porttime.5.xml pwck.8.xml pwconv.8.xml \ + shadow.3.xml shadow.5.xml sg.1.xml su.1.xml suauth.5.xml \ + subgid.5.xml subuid.5.xml useradd.8.xml userdel.8.xml \ + usermod.8.xml vipw.8.xml $(am__append_5) login_defs_v = \ + BCRYPT_MIN_ROUNDS.xml \ CHFN_AUTH.xml \ CHFN_RESTRICT.xml \ CHSH_AUTH.xml \ @@ -530,12 +512,16 @@ login_defs_v = \ SUB_GID_COUNT.xml \ SUB_UID_COUNT.xml \ SYS_GID_MAX.xml \ - SYS_UID_MAX.xml + SYS_UID_MAX.xml \ + YESCRYPT_COST_FACTOR.xml -EXTRA_DIST = $(man_MANS) $(man_XMANS) $(addprefix \ +EXTRA_DIST = $(man_MANS) $(man_XMANS) config.xml $(addprefix \ login.defs.d/,$(login_defs_v)) man1/id.1 id.1.xml \ man8/sulogin.8 sulogin.8.xml generate_mans.mak \ - generate_translations.mak $(am__append_4) $(am__append_5) + generate_translations.mak its.rules shadow-man.xsl \ + $(am__append_6) $(am__append_7) +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam @ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow @@ -544,8 +530,15 @@ EXTRA_DIST = $(man_MANS) $(man_XMANS) $(addprefix \ @ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_FALSE@BCRYPT_COND = no_bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_TRUE@BCRYPT_COND = bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_FALSE@YESCRYPT_COND = no_yescrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_TRUE@YESCRYPT_COND = yescrypt @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids +@ENABLE_LASTLOG_FALSE@@ENABLE_REGENERATE_MAN_TRUE@LASTLOG_COND = no_lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@LASTLOG_COND = lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@LASTLOG_COND = no_lastlog @ENABLE_REGENERATE_MAN_TRUE@CLEANFILES = $(man_MANS) man1/id.1 man8/sulogin.8 all: all-recursive @@ -1047,9 +1040,9 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ .PRECIOUS: Makefile -generate_mans.deps: *.xml +generate_mans.deps: $(man_XMANS) echo "# This file is generated" > $@ - awk 'BEGIN{FS="\"";} /^$$/{ f=FILENAME; sub(/.xml/,"",f); print "man" substr(f, length (f)) "/" f ": " $$2 }' $(man_XMANS) >> $@ + awk 'BEGIN{FS="\"";} /^$$/{ f=FILENAME; sub(/.xml/,"",f); print "man" substr(f, length (f)) "/" f ": " $$2 }' $< >> $@ @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_REGENERATE_MAN_TRUE@include generate_mans.deps @@ -1061,11 +1054,13 @@ generate_mans.deps: *.xml @ENABLE_REGENERATE_MAN_TRUE@ fi @ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(BCRYPT_COND);$(YESCRYPT_COND);$(SUBIDS_COND);$(VENDORDIR_COND);$(LASTLOG_COND)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ @ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ +@ENABLE_REGENERATE_MAN_TRUE@ --stringparam vendordir "$(VENDORDIR)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< +@ENABLE_REGENERATE_MAN_TRUE@ --path "$(srcdir)/login.defs.d" \ +@ENABLE_REGENERATE_MAN_TRUE@ -nonet $(top_srcdir)/man/shadow-man.xsl $< @ENABLE_REGENERATE_MAN_TRUE@clean-local: @ENABLE_REGENERATE_MAN_TRUE@ rm -rf man1 man3 man5 man8 diff --git a/man/chage.1.xml b/man/chage.1.xml index 055c1ed6..060409b8 100644 --- a/man/chage.1.xml +++ b/man/chage.1.xml @@ -198,6 +198,21 @@ + + + ,  PREFIX_DIR + + + + Apply changes to configuration files under the root filesystem + found under the directory PREFIX_DIR. + 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. + + + ,  WARN_DAYS diff --git a/man/chgpasswd.8.xml b/man/chgpasswd.8.xml index bd2d1179..f4a83c24 100644 --- a/man/chgpasswd.8.xml +++ b/man/chgpasswd.8.xml @@ -6,10 +6,12 @@ --> + ]> @@ -88,12 +90,16 @@ , Use the specified method to encrypt the passwords. - - The available methods are DES, MD5, and NONE. - - - The available methods are DES, MD5, NONE, and SHA256 or SHA512 - if your libc support these methods. + + The available methods are + BCRYPT, + DES, + MD5, + SHA256, + SHA512, + YESCRYPT and + NONE + if your libc supports these methods. @@ -131,29 +137,49 @@ - + , Use the specified number of rounds to encrypt the passwords. - The value 0 means that the system will choose the default - number of rounds for the crypt method (5000). + You can only use this option with crypt method: + + BCRYPT + + SHA256 + SHA512 + + YESCRYPT - - A minimal value of 1000 and a maximal value of 999,999,999 - will be enforced. - - - You can only use this option with the SHA256 or SHA512 - crypt method. - - - By default, the number of rounds is defined by the - SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in + + By default, the number of rounds for BCRYPT is defined by the + BCRYPT_MIN_ROUNDS and BCRYPT_MAX_ROUNDS variables in /etc/login.defs. + + A minimal value of 4 and a maximal value of 31 + will be enforced for BCRYPT. The default number of rounds is 13. + + + 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 + /etc/login.defs. + + + 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. + + + By default, the number of rounds for YESCRYPT is defined by the + YESCRYPT_COST_FACTOR in /etc/login.defs. + + + A minimal value of 1 and a maximal value of 11 + will be enforced for YESCRYPT. The default number of rounds is 5. + @@ -179,10 +205,12 @@ tool: + &BCRYPT_MIN_ROUNDS; &ENCRYPT_METHOD; &MAX_MEMBERS_PER_GROUP; &MD5_CRYPT_ENAB; &SHA_CRYPT_MIN_ROUNDS; + &YESCRYPT_COST_FACTOR; diff --git a/man/chpasswd.8.xml b/man/chpasswd.8.xml index 6353419c..cffd9df1 100644 --- a/man/chpasswd.8.xml +++ b/man/chpasswd.8.xml @@ -6,9 +6,11 @@ --> + ]> @@ -115,12 +117,16 @@ Use the specified method to encrypt the passwords. - - The available methods are DES, MD5, and NONE. - - - The available methods are DES, MD5, NONE, and SHA256 or SHA512 - if your libc support these methods. + + The available methods are + BCRYPT, + DES, + MD5, + SHA256, + SHA512, + YESCRYPT and + NONE + if your libc supports these methods. By default, PAM is used to encrypt the passwords. @@ -173,7 +179,22 @@ - + + + ,  PREFIX_DIR + + + + Apply changes to configuration files under the root filesystem + found under the directory PREFIX_DIR. + 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. + + + + ,  ROUNDS @@ -182,23 +203,42 @@ Use the specified number of rounds to encrypt the passwords. - The value 0 means that the system will choose the default - number of rounds for the crypt method (5000). + You can only use this option with crypt method: + + BCRYPT + + SHA256 + SHA512 + + YESCRYPT - - A minimal value of 1000 and a maximal value of 999,999,999 - will be enforced. - - - You can only use this option with the SHA256 or SHA512 - crypt method. - - - By default, the number of rounds is defined by the - and - variables in + + By default, the number of rounds for BCRYPT is defined by the + BCRYPT_MIN_ROUNDS and BCRYPT_MAX_ROUNDS variables in /etc/login.defs. + + A minimal value of 4 and a maximal value of 31 + will be enforced for BCRYPT. The default number of rounds is 13. + + + 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 + /etc/login.defs. + + + 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. + + + By default, the number of rounds for YESCRYPT is defined by the + YESCRYPT_COST_FACTOR in /etc/login.defs. + + + A minimal value of 1 and a maximal value of 11 + will be enforced for YESCRYPT. The default number of rounds is 5. + @@ -224,7 +264,9 @@ &MD5_CRYPT_ENAB; + &BCRYPT_MIN_ROUNDS; &SHA_CRYPT_MIN_ROUNDS; + &YESCRYPT_COST_FACTOR; diff --git a/man/chsh.1.xml b/man/chsh.1.xml index 373aa928..db2d0ceb 100644 --- a/man/chsh.1.xml +++ b/man/chsh.1.xml @@ -115,7 +115,7 @@ NOTE - + 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 @@ -125,6 +125,25 @@ changing to a restricted shell would prevent the user from ever changing her login shell back to its original value. + + The only restriction placed on the login shell is that the command + name must be listed in /etc/shells. + If this file does not exist, the definitions are taken from the files + %vendordir%/shells, + %vendordir%/shells.d/* and + /etc/shells.d/* in that order. + If /etc/shells.d/@filename@ exists, then + %vendordir%/shells.d/@filename@ 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. + + + 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. + @@ -151,9 +170,31 @@ /etc/shells - + List of valid login shells. + + User defined list of valid login shells. + + + + %vendordir%/shells + + Default configuration file if + /etc/shells does not exist. + + + + %vendordir%/shells.d + + Directory for additional vendor specific configuration files. + + + + /etc/shells.d + + Directory for additional user defined configuration files. + /etc/login.defs diff --git a/man/config.xml b/man/config.xml new file mode 100644 index 00000000..ba226717 --- /dev/null +++ b/man/config.xml @@ -0,0 +1,2 @@ + + diff --git a/man/cs/Makefile.am b/man/cs/Makefile.am index 3b2be0ce..84407d71 100644 --- a/man/cs/Makefile.am +++ b/man/cs/Makefile.am @@ -12,13 +12,16 @@ man_MANS = \ man1/groups.1 \ man8/grpck.8 \ man5/gshadow.5 \ - man8/lastlog.8 \ man8/nologin.8 \ man5/passwd.5 \ man5/shadow.5 \ man1/su.1 \ man8/vipw.8 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + EXTRA_DIST = $(man_MANS) \ man1/id.1 \ man8/groupmems.8 \ diff --git a/man/cs/Makefile.in b/man/cs/Makefile.in index 516c58d2..a4a88c88 100644 --- a/man/cs/Makefile.in +++ b/man/cs/Makefile.in @@ -87,6 +87,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 subdir = man/cs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -172,6 +173,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -205,9 +208,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -223,6 +232,7 @@ 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@ @@ -231,6 +241,8 @@ 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@ @@ -253,6 +265,9 @@ 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@ @@ -324,24 +339,10 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -man_MANS = \ - man1/expiry.1 \ - man5/faillog.5 \ - man8/faillog.8 \ - man1/gpasswd.1 \ - man8/groupadd.8 \ - man8/groupdel.8 \ - man8/groupmod.8 \ - man1/groups.1 \ - man8/grpck.8 \ - man5/gshadow.5 \ - man8/lastlog.8 \ - man8/nologin.8 \ - man5/passwd.5 \ - man5/shadow.5 \ - man1/su.1 \ - man8/vipw.8 - +man_MANS = man1/expiry.1 man5/faillog.5 man8/faillog.8 man1/gpasswd.1 \ + man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man1/groups.1 \ + man8/grpck.8 man5/gshadow.5 man8/nologin.8 man5/passwd.5 \ + man5/shadow.5 man1/su.1 man8/vipw.8 $(am__append_1) EXTRA_DIST = $(man_MANS) \ man1/id.1 \ man8/groupmems.8 \ diff --git a/man/da/Makefile.in b/man/da/Makefile.in index 3ed052b0..e042b371 100644 --- a/man/da/Makefile.in +++ b/man/da/Makefile.in @@ -175,6 +175,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -208,9 +210,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -226,6 +234,7 @@ 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@ @@ -234,6 +243,8 @@ 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@ @@ -256,6 +267,9 @@ 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@ @@ -335,6 +349,8 @@ man_MANS = man1/chfn.1 man8/groupdel.8 man1/groups.1 man5/gshadow.5 \ man_nopam = EXTRA_DIST = $(man_MANS) man1/id.1 $(am__append_2) LANG = $(notdir $(CURDIR)) +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam @ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow @@ -343,8 +359,15 @@ LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_FALSE@BCRYPT_COND = no_bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_TRUE@BCRYPT_COND = bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_FALSE@YESCRYPT_COND = no_yescrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_TRUE@YESCRYPT_COND = yescrypt @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids +@ENABLE_LASTLOG_FALSE@@ENABLE_REGENERATE_MAN_TRUE@LASTLOG_COND = no_lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@LASTLOG_COND = lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@LASTLOG_COND = no_lastlog CLEANFILES = messages.mo login.defs.d $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml all: all-am @@ -684,10 +707,10 @@ uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 @ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ @ENABLE_REGENERATE_MAN_TRUE@messages.mo: ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ msgfmt ../po/$(LANG).po -o messages.mo +@ENABLE_REGENERATE_MAN_TRUE@ msgfmt $< -o messages.mo @ENABLE_REGENERATE_MAN_TRUE@login.defs.d: -@ENABLE_REGENERATE_MAN_TRUE@ ln -sf ../login.defs.d login.defs.d +@ENABLE_REGENERATE_MAN_TRUE@ ln -sf $(srcdir)/../login.defs.d login.defs.d @ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml messages.mo login.defs.d @ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $< ; then \ @@ -695,7 +718,7 @@ uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 @ENABLE_REGENERATE_MAN_TRUE@ else \ @ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ @ENABLE_REGENERATE_MAN_TRUE@ fi -@ENABLE_REGENERATE_MAN_TRUE@ itstool -d -l $(LANG) -m messages.mo -o . $@ +@ENABLE_REGENERATE_MAN_TRUE@ itstool -i $(srcdir)/../its.rules -d -l $(LANG) -m messages.mo -o . $@ @ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ @ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml @@ -706,11 +729,13 @@ uninstall-man: uninstall-man1 uninstall-man5 uninstall-man8 @ENABLE_REGENERATE_MAN_TRUE@ fi @ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(BCRYPT_COND);$(YESCRYPT_COND);$(SUBIDS_COND);$(VENDORDIR_COND);$(LASTLOG_COND)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ @ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ +@ENABLE_REGENERATE_MAN_TRUE@ --stringparam vendordir "$(VENDORDIR)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< +@ENABLE_REGENERATE_MAN_TRUE@ --path "$(srcdir)/login.defs.d" \ +@ENABLE_REGENERATE_MAN_TRUE@ -nonet $(top_srcdir)/man/shadow-man.xsl $< @ENABLE_REGENERATE_MAN_TRUE@clean-local: @ENABLE_REGENERATE_MAN_TRUE@ rm -rf man1 man3 man5 man8 diff --git a/man/da/man1/chfn.1 b/man/da/man1/chfn.1 index d8c3a2d3..e76758f0 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Danish .\" -.TH "CHFN" "1" "08/11/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "CHFN" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chfn \- change real user name and information .SH "SYNOPSIS" .HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fItilvalg\fR] [\fILOGIND\fR] +\fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "BESKRIVELSE" .PP The diff --git a/man/da/man1/groups.1 b/man/da/man1/groups.1 index 76e39849..10b1fb70 100644 --- a/man/da/man1/groups.1 +++ b/man/da/man1/groups.1 @@ -2,12 +2,12 @@ .\" Title: groups .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Danish .\" -.TH "GROUPS" "1" "08/11/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "GROUPS" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groups \- vis aktuelle gruppenavne .SH "SYNOPSIS" .HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIbruger\fR] +\fBgroups\fR [\fIuser\fR] .SH "BESKRIVELSE" .PP The diff --git a/man/da/man1/id.1 b/man/da/man1/id.1 index 1cf00d5b..9edb0944 100644 --- a/man/da/man1/id.1 +++ b/man/da/man1/id.1 @@ -2,12 +2,12 @@ .\" Title: id .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Danish .\" -.TH "ID" "1" "08/11/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "ID" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man1/newgrp.1 b/man/da/man1/newgrp.1 index d56f969b..5a8ecd91 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Danish .\" -.TH "NEWGRP" "1" "08/11/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "NEWGRP" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man1/sg.1 b/man/da/man1/sg.1 index e36d5146..6b74bb7d 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Danish .\" -.TH "SG" "1" "08/11/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "SG" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man5/gshadow.5 b/man/da/man5/gshadow.5 index b885e1c2..1927c885 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Danish .\" -.TH "GSHADOW" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "GSHADOW" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,7 +38,7 @@ This file must not be readable by regular users if password security is to be ma .PP Each line of this file contains the following colon\-separated fields: .PP -\fBgruppenavn\fR +\fBgroup name\fR .RS 4 Det skal v\(aere et gyldigt gruppenavn, som findes p\(oa systemet\&. .RE @@ -63,7 +63,7 @@ This password supersedes any password specified in /etc/group\&. .RE .PP -\fBadministratorer\fR +\fBadministrators\fR .RS 4 Det skal v\(aere en kommaadskilt liste af brugernavne\&. .sp @@ -72,7 +72,7 @@ Administratorer kan \(aendre adgangskoden eller medlemmerne af gruppen\&. Administratorer har ogs\(oa de samme rettigheder som medlemmerne (se nedenfor)\&. .RE .PP -\fBmedlemmer\fR +\fBmembers\fR .RS 4 Det skal v\(aere en kommaadskilt liste af brugernavne\&. .sp diff --git a/man/da/man8/groupdel.8 b/man/da/man8/groupdel.8 index 87a94b86..017f3053 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: 08/11/2022 -.\" Manual: Kommandoer for systemh\(oandtering -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Danish .\" -.TH "GROUPDEL" "8" "08/11/2022" "shadow\-utils 4\&.13" "Kommandoer for systemh\(oandterin" +.TH "GROUPDEL" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupdel \- slet en gruppe .SH "SYNOPSIS" .HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fItilvalg\fR] \fIGRUPPE\fR +\fBgroupdel\fR [\fIoptions\fR] \fIGROUP\fR .SH "BESKRIVELSE" .PP The diff --git a/man/da/man8/logoutd.8 b/man/da/man8/logoutd.8 index 8379e283..31b974a4 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: 08/11/2022 -.\" Manual: Kommandoer for systemh\(oandtering -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Danish .\" -.TH "LOGOUTD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Kommandoer for systemh\(oandterin" +.TH "LOGOUTD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man8/nologin.8 b/man/da/man8/nologin.8 index c89d06e3..77d2a653 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: 08/11/2022 -.\" Manual: Kommandoer for systemh\(oandtering -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Danish .\" -.TH "NOLOGIN" "8" "08/11/2022" "shadow\-utils 4\&.13" "Kommandoer for systemh\(oandterin" +.TH "NOLOGIN" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/da/man8/vipw.8 b/man/da/man8/vipw.8 index 43ea9854..5e011be8 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: 08/11/2022 -.\" Manual: Kommandoer for systemh\(oandtering -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Danish .\" -.TH "VIPW" "8" "08/11/2022" "shadow\-utils 4\&.13" "Kommandoer for systemh\(oandterin" +.TH "VIPW" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,16 +31,16 @@ vipw, vigr \- rediger adgangskoden, gruppe, shadow\-adgangskode\- eller shadow\-gruppe\-fil .SH "SYNOPSIS" .HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fItilvalg\fR] +\fBvipw\fR [\fIoptions\fR] .HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fItilvalg\fR] +\fBvigr\fR [\fIoptions\fR] .SH "BESKRIVELSE" .PP The \fBvipw\fR and \fBvigr\fR -commands edits the files +commands edit the files /etc/passwd and /etc/group, respectively\&. With the @@ -95,12 +95,12 @@ Rediger shadow\- eller gshadow\-database\&. .RE .SH "MILJ\(/O" .PP -\fBVISUEL\fR +\fBVISUAL\fR .RS 4 Redigeringsprogram der skal bruges\&. .RE .PP -\fBREDIGERINGSPROGRAM\fR +\fBEDITOR\fR .RS 4 Editor to be used if \fBVISUAL\fR diff --git a/man/de/Makefile.am b/man/de/Makefile.am index 3cd302ee..671432d3 100644 --- a/man/de/Makefile.am +++ b/man/de/Makefile.am @@ -21,7 +21,6 @@ man_MANS = \ man8/grpconv.8 \ man8/grpunconv.8 \ man5/gshadow.5 \ - man8/lastlog.8 \ man1/login.1 \ man5/login.defs.5 \ man8/logoutd.8 \ @@ -44,6 +43,10 @@ man_MANS = \ man8/vigr.8 \ man8/vipw.8 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + man_nopam = \ man5/limits.5 \ man5/login.access.5 \ diff --git a/man/de/Makefile.in b/man/de/Makefile.in index 20899d32..49dc69e1 100644 --- a/man/de/Makefile.in +++ b/man/de/Makefile.in @@ -87,8 +87,9 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 +@USE_PAM_FALSE@am__append_2 = $(man_nopam) +@USE_PAM_TRUE@am__append_3 = $(man_nopam) subdir = man/de ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -176,6 +177,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -209,9 +212,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -227,6 +236,7 @@ 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@ @@ -235,6 +245,8 @@ 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@ @@ -257,6 +269,9 @@ 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@ @@ -332,20 +347,22 @@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) + man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ + man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ + man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ + man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ + man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ + man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ + $(am__append_1) $(am__append_2) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_2) +EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) LANG = $(notdir $(CURDIR)) +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam @ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow @@ -354,8 +371,15 @@ LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_FALSE@BCRYPT_COND = no_bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_TRUE@BCRYPT_COND = bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_FALSE@YESCRYPT_COND = no_yescrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_TRUE@YESCRYPT_COND = yescrypt @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids +@ENABLE_LASTLOG_FALSE@@ENABLE_REGENERATE_MAN_TRUE@LASTLOG_COND = no_lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@LASTLOG_COND = lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@LASTLOG_COND = no_lastlog CLEANFILES = messages.mo login.defs.d $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml all: all-am @@ -739,10 +763,10 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ @ENABLE_REGENERATE_MAN_TRUE@messages.mo: ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ msgfmt ../po/$(LANG).po -o messages.mo +@ENABLE_REGENERATE_MAN_TRUE@ msgfmt $< -o messages.mo @ENABLE_REGENERATE_MAN_TRUE@login.defs.d: -@ENABLE_REGENERATE_MAN_TRUE@ ln -sf ../login.defs.d login.defs.d +@ENABLE_REGENERATE_MAN_TRUE@ ln -sf $(srcdir)/../login.defs.d login.defs.d @ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml messages.mo login.defs.d @ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $< ; then \ @@ -750,7 +774,7 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ else \ @ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ @ENABLE_REGENERATE_MAN_TRUE@ fi -@ENABLE_REGENERATE_MAN_TRUE@ itstool -d -l $(LANG) -m messages.mo -o . $@ +@ENABLE_REGENERATE_MAN_TRUE@ itstool -i $(srcdir)/../its.rules -d -l $(LANG) -m messages.mo -o . $@ @ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ @ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml @@ -761,11 +785,13 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ fi @ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(BCRYPT_COND);$(YESCRYPT_COND);$(SUBIDS_COND);$(VENDORDIR_COND);$(LASTLOG_COND)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ @ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ +@ENABLE_REGENERATE_MAN_TRUE@ --stringparam vendordir "$(VENDORDIR)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< +@ENABLE_REGENERATE_MAN_TRUE@ --path "$(srcdir)/login.defs.d" \ +@ENABLE_REGENERATE_MAN_TRUE@ -nonet $(top_srcdir)/man/shadow-man.xsl $< @ENABLE_REGENERATE_MAN_TRUE@clean-local: @ENABLE_REGENERATE_MAN_TRUE@ rm -rf man1 man3 man5 man8 diff --git a/man/de/man1/chage.1 b/man/de/man1/chage.1 index eae65f1a..af9d652c 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: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "CHAGE" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "CHAGE" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,10 +28,10 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -chage \- \(:andert die Information zum Passwortverfall +chage \- \(:andert das Ablaufdatum des Passworts und damit verkn\(:upfte Fristen .SH "\(:UBERSICHT" .HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIOptionen\fR] \fIANMELDENAME\fR +\fBchage\fR [\fIoptions\fR] \fILOGIN\fR .SH "BESCHREIBUNG" .PP The @@ -54,7 +54,7 @@ the user is forced to change his password on the next log on\&. .PP \fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -Setzt das Datum oder die Anzahl der Tage seit dem 1\&. Januar 1970, ab dem auf das Benutzerkonto nicht mehr zugegriffen werden kann\&. 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 gesperrt ist, muss sich mit dem Systemadministrator in Verbindung setzen, ehe er sich wieder am System anmelden kann\&. +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\&. .sp For example the following can be used to set an account to expire in 180 days: .sp @@ -78,12 +78,12 @@ will remove an account expiration date\&. .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-i\fR, \fB\-\-iso8601\fR .RS 4 -When printing dates, use YYYY\-MM\-DD format\&. +Bei der Datumsausgabe das ISO\-Format JJJJ\-MM\-TT verwenden .RE .PP \fB\-I\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR @@ -101,7 +101,7 @@ will remove an account\*(Aqs inactivity\&. .PP \fB\-l\fR, \fB\-\-list\fR .RS 4 -zeigt Informationen zur Kontoalterung an +zeigt den Zugang zum Benutzerkonto betreffende Fristen an\&. .RE .PP \fB\-m\fR, \fB\-\-mindays\fR\ \&\fIMIN_DAYS\fR @@ -136,6 +136,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR .RS 4 Set the number of days of warning before a password change is required\&. The @@ -181,7 +187,7 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .SH "R\(:UCKGABEWERTE" .PP diff --git a/man/de/man1/chfn.1 b/man/de/man1/chfn.1 index a08815f6..2f2ac908 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: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "CHFN" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "CHFN" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,10 +28,10 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -chfn \- \(:andert den vollst\(:andigen Namen eines Benutzers und sonstige Informationen +chfn \- \(:andert den vollst\(:andigen Namen und sonstige Informationen zum Benutzer .SH "\(:UBERSICHT" .HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fIOptionen\fR] [\fIANMELDENAME\fR] +\fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "BESCHREIBUNG" .PP The @@ -56,22 +56,22 @@ command are: .PP \fB\-f\fR, \fB\-\-full\-name\fR\ \&\fIFULL_NAME\fR .RS 4 -ver\(:andert den vollst\(:andigen Namen des Benutzers +\(:andert den vollst\(:andigen Namen des Benutzers\&. .RE .PP \fB\-h\fR, \fB\-\-home\-phone\fR\ \&\fIHOME_PHONE\fR .RS 4 -\(:andert die private Telefonnummer des Benutzers +\(:andert die private Telefonnummer des Benutzers\&. .RE .PP \fB\-o\fR, \fB\-\-other\fR\ \&\fIOTHER\fR .RS 4 -Ver\(:andert die sonstigen Informationen \(:uber den Benutzer in der GECOS\-Zeile\&. In diesem Feld werden Kontoinformationen anderer Anwendungen gespeichert\&. Es kann nur vom Superuser ver\(:andert werden\&. +\(:andert sonstige GECOS\-Informationen \(:uber den Benutzer\&. In diesem Feld werden Kontoinformationen anderer Anwendungen gespeichert\&. Es kann nur vom Systemadministrator ver\(:andert werden\&. .RE .PP \fB\-r\fR, \fB\-\-room\fR\ \&\fIROOM_NUMBER\fR .RS 4 -\(:andert die Zimmernummer des Benutzers +\(:andert die Raumnummer des Benutzers\&. .RE .PP \fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR @@ -85,12 +85,12 @@ directory\&. Only absolute paths are supported\&. .PP \fB\-u\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-w\fR, \fB\-\-work\-phone\fR\ \&\fIWORK_PHONE\fR .RS 4 -ver\(:andert die berufliche Telefonnummer des Benutzers +\(:andert die berufliche Telefonnummer des Benutzers\&. .RE .PP If none of the options are selected, @@ -109,7 +109,7 @@ change the behavior of this tool: .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .PP /etc/passwd diff --git a/man/de/man1/chsh.1 b/man/de/man1/chsh.1 index 666adc2e..db677db0 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: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "CHSH" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "CHSH" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chsh \- \(:andert die Anmelde\-Shell .SH "\(:UBERSICHT" .HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIOptionen\fR] [\fIANMELDENAME\fR] +\fBchsh\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "BESCHREIBUNG" .PP The @@ -45,7 +45,7 @@ command are: .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR @@ -59,7 +59,11 @@ directory\&. Only absolute paths are supported\&. .PP \fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR .RS 4 -The name of the user\*(Aqs new login shell\&. Setting this field to blank causes the system to select the default login shell\&. +\(:andert die Anmelde\-Shell des Benutzers\&. Mit dem Leerstring als +\fISHELL\fR +wird dieser in die Datei +/etc/passwd +\(:ubernommen und dem Benutzer nach der Anmeldung die Standard\-Shell des Systems zur Verf\(:ugung gestellt\&. .RE .PP If the @@ -77,6 +81,12 @@ The only restriction placed on the login shell is that the command name must be 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\&. +.PP +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\&. .SH "KONFIGURATION" .PP The following configuration variables in @@ -91,12 +101,12 @@ Informationen zu den Benutzerkonten .PP /etc/shells .RS 4 -Liste der m\(:oglichen Anmelde\-Shells +Liste g\(:ultiger Anmelde\-Shells .RE .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man1/expiry.1 b/man/de/man1/expiry.1 index a67539ed..f6e61369 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: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "EXPIRY" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "EXPIRY" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,10 +28,10 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -expiry \- \(:uberpr\(:uft die Regeln f\(:ur den Verfall des Passworts und setzt diese um +expiry \- \(:uberpr\(:uft das Passwort auf G\(:ultigkeit .SH "\(:UBERSICHT" .HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fIOption\fR +\fBexpiry\fR \fIoption\fR .SH "BESCHREIBUNG" .PP The @@ -45,7 +45,7 @@ command are: .PP \fB\-c\fR, \fB\-\-check\fR .RS 4 -\(:uberpr\(:uft den Verfall des Passworts des aktuellen Benutzers +\(:uberpr\(:uft, ob das Passwort des aktuellen Benutzers abgelaufen ist\&. .RE .PP \fB\-f\fR, \fB\-\-force\fR @@ -55,7 +55,7 @@ erzwingt den Wechsel des Passworts des aktuellen Benutzers, falls dieses abgelau .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .SH "DATEIEN" .PP @@ -66,7 +66,7 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man1/gpasswd.1 b/man/de/man1/gpasswd.1 index ba0a3a62..b7baffac 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: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "GPASSWD" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "GPASSWD" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ gpasswd \- administer /etc/group and /etc/gshadow .SH "\(:UBERSICHT" .HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fIOption\fR] \fIGruppe\fR +\fBgpasswd\fR [\fIoption\fR] \fIgroup\fR .SH "BESCHREIBUNG" .PP The @@ -58,7 +58,7 @@ If a password is set the members can still use without a password, and non\-members must supply the password\&. .SS "Hinweise zu Gruppenpassw\(:ortern" .PP -Gruppenpassw\(:orter beinhalten ein Sicherheitsrisiko, da mehrere Personen das Passwort kennen\&. Dennoch k\(:onnen sie sinnvoll sein, um die Zusammenarbeit zwischen Benutzern zu erleichtern\&. +Gruppenpassw\(:orter bergen ein Sicherheitsrisiko, da mehrere Personen das Passwort kennen\&. Dennoch sind Gruppen ein n\(:utzliches Mittel f\(:ur die Zusammenarbeit zwischen Benutzern\&. .SH "OPTIONEN" .PP Except for the @@ -89,7 +89,7 @@ from the named .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-Q\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR @@ -121,12 +121,12 @@ to join the named .PP \fB\-A\fR, \fB\-\-administrators\fR\ \&\fIuser\fR,\&.\&.\&. .RS 4 -Liste der Gruppenverwalter bestimmen +definiert eine Liste von Benutzern als Gruppenverwalter .RE .PP \fB\-M\fR, \fB\-\-members\fR\ \&\fIuser\fR,\&.\&.\&. .RS 4 -Liste der Mitglieder der Gruppe bestimmen +definiert eine Liste von Benutzern als Gruppenmitglieder .RE .SH "WARNUNGEN" .PP @@ -148,7 +148,7 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man1/groups.1 b/man/de/man1/groups.1 index f732cd11..b963d047 100644 --- a/man/de/man1/groups.1 +++ b/man/de/man1/groups.1 @@ -2,12 +2,12 @@ .\" Title: groups .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "GROUPS" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "GROUPS" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,10 +28,10 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -groups \- zeigt die aktuell verwendeten Gruppennamen an +groups \- gibt die aktuellen Gruppenzugeh\(:origkeiten des Benutzers aus .SH "\(:UBERSICHT" .HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIBenutzer\fR] +\fBgroups\fR [\fIuser\fR] .SH "BESCHREIBUNG" .PP The diff --git a/man/de/man1/id.1 b/man/de/man1/id.1 index 70b2c558..a23b4f35 100644 --- a/man/de/man1/id.1 +++ b/man/de/man1/id.1 @@ -2,12 +2,12 @@ .\" Title: id .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "ID" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "ID" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man1/login.1 b/man/de/man1/login.1 index 9c9d062f..e2fb66e9 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: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "LOGIN" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "LOGIN" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,9 +31,9 @@ login \- startet eine Sitzung auf dem System .SH "\(:UBERSICHT" .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fIBenutzername\fR] [\fIENV=VAR\fR...] +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fIusername\fR] [\fIENV=VAR\fR...] .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fIBenutzername\fR +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fIusername\fR .HP \w'\fBlogin\fR\ 'u \fBlogin\fR [\-p] \-r\ \fIhost\fR .SH "BESCHREIBUNG" @@ -80,9 +80,9 @@ On some installations, the environmental variable will be initialized to the terminal type on your tty line, as specified in /etc/ttytype\&. .PP -Ein Startskript f\(:ur Ihren Befehlsinterpreter kann auch ausgef\(:uhrt werden\&. Sehen Sie bitte in den entsprechenden Handbuchseiten f\(:ur weitere Informationen dar\(:uber nach\&. +Ein Startskript f\(:ur Ihren Befehlsinterpreter kann auch ausgef\(:uhrt werden\&. F\(:ur weitere Informationen dar\(:uber sehen Sie bitte in den entsprechenden Handbuchseiten nach\&. .PP -Eine Subsystem\-Anmeldung wird durch einen \(Fc*\(Fo als erstes Zeichen der Anmelde\-Shell gekennzeichnet\&. Das angegebene Home\-Verzeichnis wird als Wurzel f\(:ur das Dateisystem verwendet, auf welchem der Benutzer tats\(:achlich angemeldet ist\&. +Eine Subsystem\-Anmeldung wird durch einen \(Fc*\(Fo als erstes Zeichen der Anmelde\-Shell gekennzeichnet\&. Das angegebene pers\(:onliche Verzeichnis wird zur Wurzel des Verzeichnisbaumes, in dem der Benutzer tats\(:achlich angemeldet ist\&. .PP The \fBlogin\fR @@ -98,7 +98,7 @@ from the shell prompt without .PP \fB\-f\fR .RS 4 -Keine Authentifizierung durchf\(:uhren, Benutzer ist bereits angemeldet\&. +Keine Authentifizierung durchf\(:uhren, der Benutzer ist vorauthentifiziert\&. .sp Note: In that case, \fIusername\fR @@ -107,17 +107,19 @@ is mandatory\&. .PP \fB\-h\fR .RS 4 -Name des entfernt stehenden Rechners f\(:ur die Anmeldung +Name des fernen Rechners f\(:ur diese Anmeldung\&. .RE .PP \fB\-p\fR .RS 4 -beh\(:alt die Umgebungseinstellungen bei +beh\(:alt die Umgebung bei\&. .RE .PP \fB\-r\fR .RS 4 -f\(:uhrt das Autologin\-Protokoll f\(:ur rlogin aus +f\(:uhrt das Autologin\-Protokoll f\(:ur +\fBrlogin\fR +aus\&. .RE .PP The @@ -134,7 +136,7 @@ This version of \fBlogin\fR has many compilation options, only some of which may be in use at any particular site\&. .PP -Der Ort der Konfigurationsdateien kann je nach Konfiguration des Systems unterschiedlich sein\&. +Der Ort von Dateien ist von der Konfiguration des Systems abh\(:angig\&. .PP The \fBlogin\fR @@ -158,12 +160,12 @@ change the behavior of this tool: .PP /var/run/utmp .RS 4 -Liste der aktuellen angemeldeten Sitzungen +Liste aktueller Anmeldungen .RE .PP /var/log/wtmp .RS 4 -Liste der vorangegangenen angemeldeten Sitzungen +Liste vorangegangener Anmeldungen .RE .PP /etc/passwd @@ -173,7 +175,7 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .PP /etc/motd @@ -183,7 +185,7 @@ Datei mit der Systemmeldung des Tages .PP /etc/nologin .RS 4 -verhindert, dass sich Benutzer au\(sser Root anmelden +existiert diese Datei, kann sich mit Ausnahme des Systemadministrators niemand anmelden\&. .RE .PP /etc/ttytype @@ -193,12 +195,12 @@ Liste der Terminaltypen .PP $HOME/\&.hushlogin .RS 4 -unterdr\(:uckt die Ausgabe von Systemnachrichten +unterdr\(:uckt die Ausgabe von Systemnachrichten nach erfolgreicher Anmeldung .RE .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man1/newgrp.1 b/man/de/man1/newgrp.1 index 1945c41f..9946f374 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: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "NEWGRP" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "NEWGRP" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,10 +28,10 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -newgrp \- als neue Gruppe anmelden +newgrp \- sich mit einer anderen Gruppenzugeh\(:origkeit anmelden .SH "\(:UBERSICHT" .HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIGruppe\fR] +\fBnewgrp\fR [\-] [\fIgroup\fR] .SH "BESCHREIBUNG" .PP The @@ -69,7 +69,7 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .PP /etc/group @@ -79,7 +79,7 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man1/passwd.1 b/man/de/man1/passwd.1 index 7d41905d..5e6c102c 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: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "PASSWD" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "PASSWD" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ passwd \- \(:andert das Passwort eines Benutzers .SH "\(:UBERSICHT" .HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fIOptionen\fR] [\fIANMELDENAME\fR] +\fBpasswd\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "BESCHREIBUNG" .PP The @@ -41,7 +41,7 @@ command changes passwords for user accounts\&. A normal user may only change the 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 Superuser kann diesen Schritt \(:uberspringen, um so vergessene Passw\(:orter zu \(:andern\&. +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\&. .PP After the password has been entered, password aging information is checked to see if the user is permitted to change the password at this time\&. If not, \fBpasswd\fR @@ -49,44 +49,9 @@ 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\&. .PP -Anschlie\(ssend wird das Passwort auf seine Komplexit\(:at \(:uberpr\(:uft\&. Eine allgemeine Richtlinie besagt, dass Passw\(:orter aus sechs bis acht Zeichen bestehen sollten und ein oder mehrere Zeichen aus folgenden Mengen enthalten sollten: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Kleinbuchstaben -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Ziffern 0 bis 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -Satzzeichen -.RE -.PP -Care must be taken not to include the system default erase or kill characters\&. +Then, the password is tested for complexity\&. \fBpasswd\fR -will reject any password which is not suitably complex\&. +will reject any password which is not suitably complex\&. Care must be taken not to 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 @@ -94,9 +59,11 @@ The security of a password depends upon the strength of the encryption algorithm 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\&. .PP -Gefahren f\(:ur die Sicherheit von Passw\(:ortern kommen gew\(:ohnlich von sorgloser Wahl oder Handhabung des Passworts\&. Daher sollten Sie kein Passwort w\(:ahlen, das in einem W\(:orterbuch auftaucht oder das aufgeschrieben werden muss\&. Das Passwort sollte somit kein echter Name, Ihr Autokennzeichen, Geburtstag oder Ihre Adresse sein\&. All das kann dazu verwendet werden, das Passwort zu erraten, und stellt daher eine Gefahr f\(:ur die Sicherheit Ihres Systems dar\&. +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\&. .PP -You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength +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 +Ratschl\(:age, wie Sie ein sicheres Passwort w\(:ahlen, finden Sie unter http://de\&.wikipedia\&.org/wiki/Passwort#Wahl_von_sicheren_Passw%C3%B6rter \&. .SH "OPTIONEN" .PP The options which apply to the @@ -112,17 +79,17 @@ 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\&. +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\&. .RE .PP \fB\-e\fR, \fB\-\-expire\fR .RS 4 -L\(:asst das Passwort eines Kontos sofort verfallen\&. Im Ergebnis kann damit erreicht werden, dass ein Benutzer beim n\(:achsten Login das Passwort \(:andern muss\&. +macht dem Passwort sofort ung\(:ultig\&. Damit ist der Benutzer gezwungen, das Passwort bei der n\(:achsten Anmeldung zu \(:andern\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-i\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR @@ -134,12 +101,12 @@ days, the user may no longer sign on to the account\&. .PP \fB\-k\fR, \fB\-\-keep\-tokens\fR .RS 4 -Zeigt an, dass nur abgelaufene Passw\(:orter ge\(:andert werden sollen\&. Der Benutzer m\(:ochte seine g\(:ultigen Passw\(:orter unver\(:andert lassen\&. +gibt an, dass nur abgelaufene Passw\(:orter ge\(:andert werden sollen und der Benutzer ein g\(:ultiges behalten will\&. .RE .PP \fB\-l\fR, \fB\-\-lock\fR .RS 4 -Sperrt das Passwort des bezeichneten Kontos\&. Die Option schaltet ein Passwort ab, indem es ihm einen Wert zuweist, der mit keinem m\(:oglichen verschl\(:usselten Wert \(:ubereinstimmen kann\&. Dies geschieht, indem ein \(Fc!\(Fo dem Passwort vorangestellt wird\&. +sperrt das Passwort des bezeichneten Kontos\&. Die Option schaltet ein Passwort ab, indem es ihm einen Wert zuweist, der mit keinem m\(:oglichen verschl\(:usselten Wert \(:ubereinstimmen kann\&. Dies geschieht, indem ein \(Fc!\(Fo dem Passwort vorangestellt wird\&. .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 @@ -175,9 +142,15 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-S\fR, \fB\-\-status\fR .RS 4 -Zeigt Informationen \(:uber den Kontostatus an\&. Die Statusinformation besteht aus sieben Feldern\&. Das erste Feld ist der Anmeldename des Benutzers\&. Das zweite Feld zeigt an, ob das Benutzerkonto ein gesperrtes Passwort (L), kein Passwort (NP) oder ein verwendbares Passwort hat (P)\&. Das dritte Feld zeigt das Datum der letzten \(:Anderung des Passworts an\&. Die n\(:achsten vier Felder sind das Mindestalter, das H\(:ochstalter, die Dauer der Warnung und die Dauer der Unt\(:atigkeit f\(:ur das Passwort\&. Die Zeitr\(:aume werden in Tagen ausgedr\(:uckt\&. +zeigt den Status des Kontos an\&. Er setzt sich aus Informationen in sieben Feldern zusammen\&. Das erste Feld ist der Anmeldename des Benutzers\&. Das zweite Feld zeigt an, ob das Benutzerkonto ein gesperrtes Passwort (L), kein Passwort (NP) oder ein verwendbares Passwort hat (P)\&. Das dritte Feld zeigt das Datum der letzten \(:Anderung des Passworts an\&. Die n\(:achsten vier Felder sind die Mindest\- und H\(:ochstzeit f\(:ur seine Verwendung, die Vorwarnzeit und die Karenzzeit in Zusammenhang mit seinem Ablauf\&. Diese Zeiten werden in Tagen ausgedr\(:uckt\&. .RE .PP \fB\-u\fR, \fB\-\-unlock\fR @@ -205,9 +178,14 @@ as \fIMAX_DAYS\fR will remove checking a password\*(Aqs validity\&. .RE +.PP +\fB\-s\fR, \fB\-\-stdin\fR +.RS 4 +This option is used to indicate that passwd should read the new password from standard input, which can be a pipe\&. +.RE .SH "WARNUNGEN" .PP -Die Komplexit\(:at der Passwortpr\(:ufung kann sich auf verschiedenen Systemen unterscheiden\&. Der Benutzer wird angehalten, ein m\(:oglichst komplexes, von ihm aber gut zu verwendendes Passwort zu w\(:ahlen\&. +Die Pr\(:ufung des Passwortes auf Komplexit\(:at kann je nach System verschieden sein\&. Benutzer und Benutzerinnen werden angehalten, ein komplexes aber noch angenehmes Passwort zu w\(:ahlen\&. .PP Benutzer k\(:onnen unter Umst\(:anden ihr Passwort nicht \(:andern, wenn auf dem System NIS aktiviert ist, sie aber nicht am NIS\-Server angemeldet sind\&. .SH "KONFIGURATION" @@ -224,12 +202,12 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .SH "R\(:UCKGABEWERTE" .PP @@ -277,7 +255,10 @@ invalid argument to option .SH "SIEHE AUCH" .PP \fBchpasswd\fR(8), +\fBmakepasswd\fR(1), \fBpasswd\fR(5), \fBshadow\fR(5), \fBlogin.defs\fR(5), \fBusermod\fR(8)\&. +.PP +The following web page comically (yet correctly) compares the strength of two different methods for choosing a password: "https://xkcd\&.com/936/" diff --git a/man/de/man1/sg.1 b/man/de/man1/sg.1 index 7a90391d..d4e095ff 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: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "SG" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "SG" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -sg \- f\(:uhrt einen Befehl unter einer anderen Gruppen\-ID aus +sg \- f\(:uhrt einen Befehl unter einer anderen Gruppenkennung aus .SH "\(:UBERSICHT" .HP \w'\fBsg\fR\ 'u \fBsg\fR [\-] [group\ [\-c\ ]\ command] @@ -68,7 +68,7 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .PP /etc/group @@ -78,7 +78,7 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man1/su.1 b/man/de/man1/su.1 index ae284646..fb3a3927 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: 08.11.2022 -.\" Manual: Dienstprogramme f\(:ur Benutzer -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "SU" "1" "08.11.2022" "shadow\-utils 4\&.13" "Dienstprogramme f\(:ur Benutzer" +.TH "SU" "1" "23.03.2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,10 +28,10 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -su \- \(:andert die Benutzer\-ID oder wechselt zu Root +su \- wechseln in die Identit\(:at des Systemadministrators oder die eines anderen Benutzers .SH "\(:UBERSICHT" .HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fIOptionen\fR] [\fI\-\fR] [\fIBenutzername\fR\ [\ \fIargs\fR\ ]] +\fBsu\fR [\fIoptions\fR] [\fI\-\fR] [\fIusername\fR\ [\ \fIargs\fR\ ]] .SH "BESCHREIBUNG" .PP The @@ -53,7 +53,7 @@ option is special: it is also recognized after \fB\-\-\fR, but has to be placed before \fBusername\fR\&. .PP -Der Benutzer wird gegebenenfalls nach einem Passwort gefragt\&. Ung\(:ultige Passworteingaben werden eine Fehlermeldung erzeugen\&. Sowohl erfolgreiche als auch misslungene Versuche werden protokolliert, um Missbrauch des Systems zu entdecken\&. +Der Benutzer wird gegebenenfalls nach einem Passwort gefragt\&. Ung\(:ultige Passw\(:orter l\(:osen eine Fehlermeldung aus\&. Als Schutz gegen einen Missbrauch des Systems werden sowohl erfolgreiche als auch misslungene Versuche protokolliert\&. .PP The current environment is passed to the new shell\&. The value of \fB$PATH\fR @@ -68,7 +68,7 @@ and definitions in /etc/login\&.defs\&. .PP -Eine Subsystem\-Anmeldung wird durch einen \(Fc*\(Fo als erstes Zeichen der Anmelde\-Shell gekennzeichnet\&. Das angegebene Home\-Verzeichnis wird als Wurzel f\(:ur das Dateisystem verwendet, auf welchem der Benutzer tats\(:achlich angemeldet ist\&. +Eine Subsystem\-Anmeldung wird durch einen \(Fc*\(Fo als erstes Zeichen der Anmelde\-Shell gekennzeichnet\&. Das angegebene pers\(:onliche Verzeichnis wird zur Wurzel des Verzeichnisbaumes, in dem der Benutzer tats\(:achlich angemeldet ist\&. .SH "OPTIONEN" .PP The options which apply to the @@ -80,12 +80,12 @@ command are: Specify a command that will be invoked by the shell using its \fB\-c\fR\&. .sp -The executed command will have no controlling terminal\&. This option cannot be used to execute interactive programs which need a controlling TTY\&. +Der Befehl wird ohne ein ihm zugeordnetes Terminal ausgef\(:uhrt\&. Daher eignet sich diese Option nicht f\(:ur interaktive Programme, deren Bedienung \(:uber ein Terminalfenster (TTY) erfolgt\&. .RE .PP \fB\-\fR, \fB\-l\fR, \fB\-\-login\fR .RS 4 -Eine Umgebung wird zur Verf\(:ugung gestellt, die der entspricht, die der Benutzer nach einer direkten Anmeldung erwartet\&. +stellt eine Umgebung zur Verf\(:ugung, die jener entspricht, die der Benutzer erwarten w\(:urde, wenn er sich direkt anmeldete\&. .sp When \fB\-\fR @@ -98,7 +98,7 @@ and .PP \fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR .RS 4 -die Shell, die gestartet wird +gibt die zu startende Shell an\&. .sp The invoked shell is chosen from (highest priority first): .PP @@ -237,12 +237,12 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .SH "R\(:UCKGABEWERTE" .PP diff --git a/man/de/man3/shadow.3 b/man/de/man3/shadow.3 index 0fd6d69c..f2ac79ec 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: 08.11.2022 -.\" Manual: Bibliotheksaufrufe -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: Library Calls +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "SHADOW" "3" "08.11.2022" "shadow\-utils 4\&.13" "Bibliotheksaufrufe" +.TH "SHADOW" "3" "23.03.2024" "shadow\-utils 4\&.15\&.1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,14 +28,14 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -shadow, getspnam \- Routinen f\(:ur die Datei, die die verschl\(:usselten Passw\(:orter enth\(:alt +shadow, getspnam \- Routinen f\(:ur die Dateien mit verschl\(:usselten Passw\(:ortern .SH "SYNTAX" .PP \fI#include \fR .PP \fIstruct spwd *getspent();\fR .PP -\fItruct spwd *getspnam(char\fR +\fIstruct spwd *getspnam(char\fR \fI*name\fR\fI);\fR .PP \fIvoid setspent();\fR @@ -50,7 +50,7 @@ shadow, getspnam \- Routinen f\(:ur die Datei, die die verschl\(:usselten Passw\ .PP \fIint putspent(struct spwd\fR \fI*p,\fR -\fIDATEIEN\fR +\fIFILE\fR \fI*fp\fR\fI);\fR .PP \fIint lckpwdf();\fR @@ -95,7 +95,7 @@ Die Bedeutung dieser Felder ist: .sp -1 .IP \(bu 2.3 .\} -sp_namp \- Verweis auf Benutzername, der mit einer Null endet +sp_namp \- Verweis auf den Anmeldenamen, mit NULL als Schlusszeichen .RE .sp .RS 4 @@ -106,7 +106,7 @@ sp_namp \- Verweis auf Benutzername, der mit einer Null endet .sp -1 .IP \(bu 2.3 .\} -sp_pwdp \- Verweis auf Passwort, das mit einer Null endet +sp_pwdp \- Verweis auf verschl\(:usseltes Passwort, mit NULL als Schlusszeichen .RE .sp .RS 4 @@ -117,7 +117,7 @@ sp_pwdp \- Verweis auf Passwort, das mit einer Null endet .sp -1 .IP \(bu 2.3 .\} -sp_lstchg \- Anzahl der Tage gerechnet ab dem 1\&. Januar 1970, seitdem das Passwort das letzte Mal ge\(:andert wurde +sp_lstchg \- Tag, gez\(:ahlt ab dem 1\&. Januar 1970, an dem das Passwort das letzte Mal ge\(:andert wurde .RE .sp .RS 4 @@ -128,7 +128,7 @@ sp_lstchg \- Anzahl der Tage gerechnet ab dem 1\&. Januar 1970, seitdem das Pass .sp -1 .IP \(bu 2.3 .\} -sp_min \- Anzahl der Tage, ehe das Passwort nicht ge\(:andert werden darf +sp_min \- Anzahl der Tage, die das Passwort nicht ge\(:andert werden darf .RE .sp .RS 4 @@ -150,7 +150,7 @@ sp_max \- Anzahl der Tage, nach denen das Passwort ge\(:andert werden muss .sp -1 .IP \(bu 2.3 .\} -sp_warn \- Anzahl der Tage ehe das Passwort verf\(:allt, an denen der Benutzer vor dem Verfall gewarnt wird +sp_warn \- Anzahl der Tage vor dem Ablaufen des Passworts, an welchen der Benutzer eine entsprechende Warnung erh\(:alt .RE .sp .RS 4 @@ -161,7 +161,7 @@ sp_warn \- Anzahl der Tage ehe das Passwort verf\(:allt, an denen der Benutzer v .sp -1 .IP \(bu 2.3 .\} -sp_inact \- Anzahl der Tage nach dem Verfall des Passworts, nach denen das Konto als inaktiv angesehen und abgeschaltet wird +sp_inact \- Anzahl der Tage nach Ablauf des Passworts, nach denen der Benutzer als inaktiv angesehen wird und den Zugriff auf das Konto verliert .RE .sp .RS 4 @@ -172,7 +172,7 @@ sp_inact \- Anzahl der Tage nach dem Verfall des Passworts, nach denen das Konto .sp -1 .IP \(bu 2.3 .\} -sp_expire \- Anzahl Tage gerechnet ab dem 1\&. Januar 1970, f\(:ur die das Konto abgeschaltet ist +sp_expire \- Tage, gez\(:ahlt ab dem 1\&. Januar 1970, an dem das Konto erl\(:oschen soll .RE .sp .RS 4 @@ -232,12 +232,12 @@ Routines return NULL if no more entries are available or if an error occurs duri as the return value return 0 for success and \-1 for failure\&. .SH "WARNUNGEN" .PP -Diese Routinen k\(:onnen nur von Root verwendet werden, da der Zugriff auf die Shadow\-Passwort\-Datei beschr\(:ankt ist\&. +Nur der Systemadministrator kann diese Routinen verwenden, da der Zugriff auf die gesch\(:utzte Passwortdatei beschr\(:ankt ist\&. .SH "DATEIEN" .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man5/faillog.5 b/man/de/man5/faillog.5 index e423aeb9..d8beb9f9 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: 08.11.2022 +.\" Date: 23.03.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "FAILLOG" "5" "08.11.2022" "shadow\-utils 4\&.13" "File Formats and Configuratio" +.TH "FAILLOG" "5" "23.03.2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,15 +28,15 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -faillog \- Datei mit fehlgeschlagenen Anmeldungen +faillog \- Datei zur Protokollierung von Anmeldefehlschl\(:agen .SH "BESCHREIBUNG" .PP /var/log/faillog maintains a count of login failures and the limits for each account\&. .PP -Eintr\(:age in dieser Datei haben eine festgelegte L\(:ange und sind der zahlenm\(:a\(ssigen UID nach angeordnet\&. Jeder Eintrag besteht aus der Anzahl der fehlgeschlagenen Anmeldungen seit der letzten erfolgreichen Anmeldung, der maximalen Anzahl von Fehlschl\(:agen, ehe das Konto abgeschaltet wird, dem Ger\(:at, auf dem die letzte fehlgeschlagene Anmeldung erfolgte, das Datum der letzten fehlgeschlagenen Anmeldung und die Dauer in Sekunden, f\(:ur die das Konto nach einem Fehlschlag gesperrt ist\&. +Eintr\(:age in dieser Datei haben eine feste L\(:ange und sind mit der Benutzerkennung als Index versehen\&. Jeder Eintrag besteht aus der Anzahl der Anmeldefehlschl\(:age seit der letzten erfolgreichen Anmeldung, der maximalen Anzahl von Fehlschl\(:agen, ehe das Konto gesperrt wird, der xxx Leitung|Verbindung, auf der der letzte Anmeldefehlschlag erfolgte, dessen Datum und die Zeit in Sekunden, f\(:ur die nach einem Fehlschlag das Konto gesperrt wird\&. .PP -Die Datei ist so aufgebaut: +Die Datei ist folgenderma\(ssen aufgebaut: .sp .if n \{\ .RS 4 @@ -57,7 +57,7 @@ struct faillog { .PP /var/log/faillog .RS 4 -Datei mit fehlgeschlagenen Anmeldungen +Datei zur Protokollierung von Anmeldefehlchl\(:agen .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man5/gshadow.5 b/man/de/man5/gshadow.5 index e8d07438..6747839d 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: 08.11.2022 +.\" Date: 23.03.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "GSHADOW" "5" "08.11.2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "GSHADOW" "5" "23.03.2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -gshadow \- Shadow\-Datei f\(:ur Gruppen +gshadow \- gesch\(:utzte Datei mit Benutzergruppen .SH "BESCHREIBUNG" .PP /etc/gshadow @@ -36,14 +36,14 @@ contains the shadowed information for group accounts\&. .PP Um die Sicherheit der Passw\(:orter zu gew\(:ahrleisten, darf diese Datei nicht f\(:ur normale Benutzer lesbar sein\&. .PP -Die darin enthaltenen Zeilen haben folgende Felder, die durch Doppelpunkt getrennt sind: +Jede Zeile dieser Datei setzt sich aus folgenden, durch Doppelpunkt getrennte Felder zusammen: .PP -\fBGruppenname\fR +\fBgroup name\fR .RS 4 Es muss sich um einen g\(:ultigen, auf dem System vorhandenen Gruppennamen handeln\&. .RE .PP -\fBverschl\(:usseltes Passwort\fR +\fBencrypted password\fR .RS 4 Refer to \fBcrypt\fR(3) @@ -55,15 +55,15 @@ If the password field contains some string that is not a valid result of The password is used when a user who is not a member of the group wants to gain the permissions of this group (see \fBnewgrp\fR(1))\&. .sp -Dieses Feld kann leer bleiben\&. Dies hat zur Folge, dass nur Gruppenmitglieder von den Rechten der Gruppe Gebrauch machen k\(:onnen\&. +Dieses Feld kann leer bleiben\&. Dies hat zur Folge, dass die Rechte der Gruppe Gruppenmitglieder vorbehalten sind\&. .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\&. +Ein Passwortfeld, das mit einem Ausrufezeichen beginnt, f\(:uhrt dazu, dass das Passwort gesperrt ist\&. Die \(:ubrigen Zeichen entsprechen dem Passwort vor der Sperrung\&. .sp This password supersedes any password specified in /etc/group\&. .RE .PP -\fBGruppenverwalter\fR +\fBadministrators\fR .RS 4 Es muss sich dabei um eine durch Kommas getrennte Liste von Benutzernamen handeln\&. .sp @@ -72,11 +72,11 @@ Gruppenverwalter k\(:onnen das Passwort und die Mitglieder der Gruppe \(:andern\ Gruppenverwalter haben die gleichen Recht wie die Gruppenmitglieder (siehe unten)\&. .RE .PP -\fBMitglieder\fR +\fBmembers\fR .RS 4 Es muss sich dabei um eine durch Kommas getrennte Liste von Benutzernamen handeln\&. .sp -Mitglieder haben Zugang zu der Gruppe, ohne eine Passwort eingeben zu m\(:ussen\&. +Mitglieder haben, ohne um ein Passwort gebeten zu werden, Zugang zu der Gruppe\&. .sp You should use the same list of users as in /etc/group\&. @@ -90,7 +90,7 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man5/limits.5 b/man/de/man5/limits.5 index 07222ef4..40d21333 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: 08.11.2022 +.\" Date: 23.03.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "LIMITS" "5" "08.11.2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LIMITS" "5" "23.03.2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -limits \- Festlegung von Resourcenbeschr\(:ankungen +limits \- legt Beschr\(:ankungen zur Nutzung von Ressourcen fest .SH "BESCHREIBUNG" .PP The @@ -37,15 +37,15 @@ file (/etc/limits by default or LIMITS_FILE defined config\&.h) describes the resource limits you wish to impose\&. It should be owned by root and readable by root account only\&. .PP -Standardm\(:a\(ssig bestehen f\(:ur Root keine Einschr\(:ankungen\&. Tats\(:achlich gibt es keine M\(:oglichkeit, mit diesem Verfahren Root\-Konten (Konten mit der UID 0) Beschr\(:ankungen aufzuerlegen\&. +Standardm\(:a\(ssig sind dem Benutzer \(Fcroot\(Fo keine Beschr\(:ankungen auferlegt\&. Tats\(:achlich gibt ist keinen Weg, ihm oder \(:ahnlich privilegierten Nutzern (Konten mit der Benutzerkennung 0) Beschr\(:ankungen aufzuerlegen\&. .PP Jede Zeile beschreibt eine Beschr\(:ankung f\(:ur einen Benutzer in der Form: .PP -\fIBenutzer BESCHR\(:ANKUNGSZEICHENKETTE\fR +\fIuser LIMITS_STRING\fR .PP oder in der Form: .PP -\fI@Gruppe BESCHR\(:ANKUNGSZEICHENKETTE\fR +\fI@group LIMITS_STRING\fR .PP The \fILIMITS_STRING\fR @@ -61,7 +61,7 @@ G\(:ultige Kennungen sind: .sp -1 .IP \(bu 2.3 .\} -A: maximaler Adressraum (KB) +A: maximaler Adressraum (kB) .RE .sp .RS 4 @@ -72,7 +72,7 @@ A: maximaler Adressraum (KB) .sp -1 .IP \(bu 2.3 .\} -C: maximale Gr\(:o\(sse der Speicherabbild\-Datei +C: maximale Gr\(:o\(sse der Speicherauszugs\-Datei (kB) .RE .sp .RS 4 @@ -83,7 +83,7 @@ C: maximale Gr\(:o\(sse der Speicherabbild\-Datei .sp -1 .IP \(bu 2.3 .\} -D: maximale Datengr\(:o\(sse (KB) +D: maximale Datenmenge (kB) .RE .sp .RS 4 @@ -94,7 +94,7 @@ D: maximale Datengr\(:o\(sse (KB) .sp -1 .IP \(bu 2.3 .\} -F: maximum file size (KB) +F: maximale Dateigr\(:o\(sse (kB) .RE .sp .RS 4 @@ -128,7 +128,7 @@ I: Maximaler Wert von nice (0 bis 39, was in 20 bis \-19 \(:ubersetzt wird) .sp -1 .IP \(bu 2.3 .\} -L: maximale Anzahl von Logins f\(:ur diesen Benutzer +L: maximale Anzahl von Anmeldungen f\(:ur diesen Benutzer .RE .sp .RS 4 @@ -139,7 +139,7 @@ L: maximale Anzahl von Logins f\(:ur diesen Benutzer .sp -1 .IP \(bu 2.3 .\} -M: maximaler gesperrter Adressbereich im Speicher (KB) +M: maximaler gesperrter Adressbereich im Speicher (kB) .RE .sp .RS 4 @@ -161,7 +161,7 @@ N: maximale Anzahl offener Dateien .sp -1 .IP \(bu 2.3 .\} -O: Maximale Echtzeit\-Priorit\(:at +O: maximale Echtzeit\-Priorit\(:at .RE .sp .RS 4 @@ -184,7 +184,9 @@ P: process priority, set by .sp -1 .IP \(bu 2.3 .\} -R: maximale Resident Set Size (KB) +R: maximale Arbeitsspeicherbelegung, siehe +\fBproc\fR(5) +\(Fcresident set size\(Fo (kB) .RE .sp .RS 4 @@ -195,7 +197,9 @@ R: maximale Resident Set Size (KB) .sp -1 .IP \(bu 2.3 .\} -S: maximale Gr\(:o\(sse des Stapelverarbeitungsspeichers (KB) +S: maximale Gr\(:o\(sse des Stapelverarbeitungsspeichers, siehe +\fBproc\fR(5) +\(Fcstack\(Fo (kB) .RE .sp .RS 4 @@ -206,7 +210,7 @@ S: maximale Gr\(:o\(sse des Stapelverarbeitungsspeichers (KB) .sp -1 .IP \(bu 2.3 .\} -T: maximale CPU\-Zeit (Min) +T: maximale CPU\-Zeit (min) .RE .sp .RS 4 @@ -251,7 +255,7 @@ entries in your The limits specified in the form "\fI@group\fR" apply to the members of the specified \fIgroup\fR\&. .PP -If more than one line with limits for a user exist, only the first line for this user will be considered\&. +Wenn mehr als eine Zeile mit Beschr\(:ankungen f\(:ur eine Benutzerin vorhanden ist, wird f\(:ur sie nur die erste Zeile ber\(:ucksichtigt\&. .PP If no lines are specified for a user, the last \fI@group\fR @@ -261,7 +265,9 @@ To completely disable limits for a user, a single dash "\fI\-\fR" will do\&. .PP To disable a limit for a user, a single dash "\fI\-\fR" can be used instead of the numerical value for this limit\&. .PP -Ber\(:ucksichtigen Sie auch, dass alle Beschr\(:ankungen nur JE ANMELDUNG gelten\&. Sie sind nicht global und auch nicht dauerhaft\&. Vielleicht wird es einmal globale Beschr\(:ankungen geben, f\(:ur jetzt muss dies aber reichen ;) +Ber\(:ucksichtigen Sie auch, dass alle Beschr\(:ankungen nur +\fIje Anmeldung\fR +gelten\&. Sie sind nicht global und auch nicht dauerhaft\&. Vielleicht wird es einmal globale Beschr\(:ankungen geben, f\(:ur jetzt muss dies aber reichen ;) .SH "DATEIEN" .PP /etc/limits diff --git a/man/de/man5/login.access.5 b/man/de/man5/login.access.5 index 04fd0bbb..234f1641 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: 08.11.2022 +.\" Date: 23.03.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "LOGIN\&.ACCESS" "5" "08.11.2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "23.03.2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -login.access \- Tabelle f\(:ur die Zugangskontrolle zur Anmeldung +login.access \- Tabelle zur Zugangssteuerung .SH "BESCHREIBUNG" .PP The @@ -39,7 +39,7 @@ When someone logs in, the \fIlogin\&.access\fR is scanned for the first entry that matches the (user, host) combination, or, in case of non\-networked logins, the first entry that matches the (user, tty) combination\&. The permissions field of that table entry determines whether the login will be accepted or refused\&. .PP -Jede Zeile der Tabelle f\(:ur die Zugangskontrolle enth\(:alt drei Felder, die jeweils durch einen Doppelpunkt \(Fc:\(Fo getrennt sind: +Jede Zeile der Tabelle zur Zugangssteuerung enth\(:alt drei Felder, die durch einen Doppelpunkt \(Fc:\(Fo getrennt sind: .PP \fIpermission\fR:\fIusers\fR:\fIorigins\fR .PP @@ -55,12 +55,12 @@ The \fIEXCEPT\fR operator makes it possible to write very compact rules\&. .PP -Die Gruppendatei wird nur durchsucht, wenn ein Name nicht mit dem des angemeldeten Benutzers \(:ubereinstimmt\&. Eine \(:Ubereinstimmung mit Gruppen wird nur festgestellt, wenn darin der Benutzer ausdr\(:ucklich aufgef\(:uhrt ist\&. Das Programm beachtet also nicht den Wert der Hauptgruppe des Benutzers\&. +Die Datei \(Fcgroup\(Fo wird nur ber\(:ucksichtigt, wenn ein Name nicht mit dem des angemeldeten Benutzers \(:ubereinstimmt\&. Als passend gelten nur Gruppen, in welchen Benutzer ausdr\(:ucklich aufgef\(:uhrt sind\&. Das Programm beachtet die prim\(:are Gruppe des Benutzers nicht\&. .SH "DATEIEN" .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man5/login.defs.5 b/man/de/man5/login.defs.5 index f5c1cec8..a5554b7e 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: 08.11.2022 +.\" Date: 23.03.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "LOGIN\&.DEFS" "5" "08.11.2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "23.03.2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,14 +28,14 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -login.defs \- Konfiguration der Werkzeugsammlung f\(:ur Shadow\-Passw\(:orter +login.defs \- Konfiguration der Shadow\-Passwort\-Programmsammlung .SH "BESCHREIBUNG" .PP 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\&. .PP -Diese Datei ist eine lesbare Textdatei\&. Jede Zeile der Datei beschreibt einen Konfigurationsparameter\&. Eine Zeile besteht aus einem Konfigurationsnamen und einem Wert, die durch ein Leerzeichen getrennt sind\&. Leer\- und Kommentarzeilen werden nicht beachtet\&. Kommentare werden mit dem Rautezeichen \(Fc#\(Fo eingeleitet\&. Die Raute muss das erste nicht leere Zeichen der Zeile sein\&. +Diese Datei ist eine lesbare Textdatei\&. Jede Zeile der Datei beschreibt einen Konfigurationsparameter und besteht aus dessen Namen und einem Wert; beides durch Leerraumzeichen voneinander getrennt\&. Leer\- und Kommentarzeilen werden nicht beachtet\&. Kommentare werden mit dem Rautezeichen \(Fc#\(Fo eingeleitet, wobei es das erste nicht leere Zeichen der Zeile sein muss\&. .PP Parameter values may be of four types: strings, booleans, numbers, and long numbers\&. A string is comprised of any printable characters\&. A boolean should be either the value \fIyes\fR @@ -46,7 +46,7 @@ value\&. Numbers (both regular and long) may be either decimal values, octal val \fI0\fR) or hexadecimal values (precede the value with \fI0x\fR)\&. The maximum value of the regular and long numeric parameters is machine\-dependent\&. .PP -Die folgenden Konfigurationsm\(:oglichkeiten sind vorhanden: +Folgende Merkmale k\(:onnen konfiguriert werden: .PP \fBPASS_MAX_DAYS\fR, \fBPASS_MIN_DAYS\fR @@ -55,7 +55,7 @@ and are only used at the time of account creation\&. Any changes to these settings won\*(Aqt affect existing accounts\&. .SH "QUERVERWEISE" .PP -Die folgenden Querverweise zeigen, welche Programme aus der Shadow\-Passwort\-Werkzeugsammlung welche Parameter verwenden\&. +Die folgenden Querverweise zeigen, welche Programme aus der Shadow\-Passwort\-Sammlung welche Parameter verwenden\&. .PP chfn .RS 4 @@ -192,8 +192,7 @@ USERGROUPS_ENAB .PP sulogin .RS 4 -ENV_HZ -ENV_TZ +ENV_HZ ENV_TZ .RE .PP useradd diff --git a/man/de/man5/passwd.5 b/man/de/man5/passwd.5 index b2749065..daf018b8 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: 08.11.2022 +.\" Date: 23.03.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "PASSWD" "5" "08.11.2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PASSWD" "5" "23.03.2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -53,7 +53,7 @@ Anmeldename .sp -1 .IP \(bu 2.3 .\} -optional verschl\(:usseltes Passwort +verschl\(:usseltes Passwort (optional) .RE .sp .RS 4 @@ -64,7 +64,7 @@ optional verschl\(:usseltes Passwort .sp -1 .IP \(bu 2.3 .\} -numerische Benutzer\-ID +Benutzerkennung (numerisch) .RE .sp .RS 4 @@ -75,7 +75,7 @@ numerische Benutzer\-ID .sp -1 .IP \(bu 2.3 .\} -numerische Gruppen\-ID +Gruppenkennung (numerisch) .RE .sp .RS 4 @@ -86,7 +86,7 @@ numerische Gruppen\-ID .sp -1 .IP \(bu 2.3 .\} -Benutzername oder Kommentarfeld +Feld f\(:ur den kompletten Namen des Benutzer und erg\(:anzende Informationen zu ihm (GECOS\-Feld) .RE .sp .RS 4 @@ -97,7 +97,7 @@ Benutzername oder Kommentarfeld .sp -1 .IP \(bu 2.3 .\} -Home\-Verzeichnis des Benutzers +pers\(:onliches Verzeichnis des Benutzers .RE .sp .RS 4 @@ -108,7 +108,7 @@ Home\-Verzeichnis des Benutzers .sp -1 .IP \(bu 2.3 .\} -optional Befehlsinterpreter des Benutzers +Befehlsinterpreter des Benutzers (optional) .RE .PP If the @@ -169,14 +169,14 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -optionale Datei f\(:ur verschl\(:usseltes Passwort +optionale Datei f\(:ur verschl\(:usselte Passw\(:orter .RE .PP /etc/passwd\- .RS 4 Sicherungskopie von /etc/passwd .sp -Beachten Sie, dass diese Datei von Werkzeugen der Shadow\-Werkzeugsammlung verwendet wird, aber nicht von allen sonstigen Programmen zur Benutzer\- und Passwortverwaltung\&. +Beachten Sie, dass diese Datei von den Hilfsprogrammen des Shadow\-Projektes verwendet wird; von anderen Programmen zur Benutzer\- und Passwortverwaltung jedoch nicht unbedingt\&. .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man5/porttime.5 b/man/de/man5/porttime.5 index ac127d46..3eba5ef9 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: 08.11.2022 +.\" Date: 23.03.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "PORTTIME" "5" "08.11.2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PORTTIME" "5" "23.03.2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,13 +28,13 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -porttime \- Datei f\(:ur zeitlich begrenzten Zugang zu Ports +porttime \- Datei mit zeitlichen Zugangsbegrenzungen f\(:ur Ports .SH "BESCHREIBUNG" .PP \fIporttime\fR contains a list of tty devices, user names, and permitted login times\&. .PP -Jeder Eintrag besteht aus drei Feldern, die durch Doppelpunkte getrennt sind\&. Das erste Feld enth\(:alt eine Liste von tty\-Ger\(:aten, die durch Kommata getrennt sind, oder einen Stern, was bedeutet, dass dieser Eintrag auf alle tty\-Ger\(:ate zutrifft\&. Das zweite Feld enth\(:alt eine Liste von Benutzernamen, die durch Kommata getrennt sind, oder einen Stern, was bedeutet, dass dieser Eintrag auf alle Benutzernamen zutrifft\&. Das dritte Feld ist eine Liste von Anmeldezeiten, die durch Kommata getrennt sind\&. +Jeder Eintrag besteht aus drei Feldern, die durch Doppelpunkte getrennt sind\&. Das erste Feld enth\(:alt eine Liste von TTY\-Ger\(:aten, die durch Kommas getrennt sind, oder einen Stern, was bedeutet, dass dieser Eintrag auf alle TTY\-Ger\(:ate zutrifft\&. Das zweite Feld enth\(:alt eine durch Kommas getrennte Liste von Benutzernamen oder einen Stern, was bedeutet, dass dieser Eintrag auf alle Benutzernamen zutrifft\&. Das dritte Feld ist eine Liste zul\(:assiger Zugangszeiten, die durch Kommas getrennt sind\&. .PP Each access time entry consists of zero or more days of the week, abbreviated \fISu\fR, @@ -89,7 +89,7 @@ on any port during non\-working hours\&. .PP /etc/porttime .RS 4 -Datei, die den Port\-Zugriff enth\(:alt\&. +Datei, die Zugriffe auf Ports regelt .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man5/shadow.5 b/man/de/man5/shadow.5 index 032cd80d..8223ee89 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: 08.11.2022 +.\" Date: 23.03.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "SHADOW" "5" "08.11.2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SHADOW" "5" "23.03.2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -shadow \- Shadow\-Passwortdatei +shadow \- gesch\(:utzte Passwortdatei .SH "BESCHREIBUNG" .PP shadow @@ -38,18 +38,18 @@ Um die Sicherheit der Passw\(:orter zu gew\(:ahrleisten, darf diese Datei nicht .PP Each line of this file contains 9 fields, separated by colons (\(Bq:\(lq), in the following order: .PP -\fBAnmeldename\fR +\fBlogin name\fR .RS 4 -Dabei muss es sich um eine g\(:ultigen Kontonamen handeln, der auf dem System existiert\&. +Dabei muss es sich um einen g\(:ultigen Kontonamen handeln, der auf dem System existiert\&. .RE .PP -\fBverschl\(:usseltes Passwort\fR +\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 /etc/shadow file may decide not to permit any access at all 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\&. +Ein Passwortfeld, das mit einem Ausrufezeichen beginnt, f\(:uhrt dazu, dass das Passwort gesperrt ist\&. Die \(:ubrigen Zeichen entsprechen dem Passwort vor der Sperrung\&. .sp Refer to \fBcrypt\fR(3) @@ -59,61 +59,61 @@ 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)\&. .RE .PP -\fBDatum, an dem das Passwort das letzte Mal ge\(:andert wurde\fR +\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\&. .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\&. +Dem Wert 0 kommt eine besondere Bedeutung zu: Der Benutzer sollte sein Passwort bei der n\(:achsten Anmeldung \(:andern\&. .sp -Ein leeres Feld bedeutet, dass das Altern des Passworts abgeschaltet ist\&. +Ein leeres Feld bedeutet, dass das Passwort nicht ablaufen soll\&. .RE .PP -\fBMindestalter des Passworts\fR +\fBminimum password age\fR .RS 4 -Das Mindestalter des Passworts ist die Anzahl von Tagen, die ein Benutzer warten muss, bevor er sein Passwort wieder \(:andern darf\&. +Diese Mindestdauer ist die Anzahl von Tagen, die ein Benutzer oder eine Benutzerin warten muss, bis eine Passwort\(:anderung erlaubt ist\&. .sp An empty field and value 0 mean that there is no minimum password age\&. .RE .PP -\fBH\(:ochstalter des Passworts\fR +\fBmaximum password age\fR .RS 4 -Das H\(:ochstalter des Passworts ist die Anzahl von Tagen, nach welcher der Benutzer sein Passwort \(:andern muss\&. +Diese H\(:ochstdauer ist die Anzahl von Tagen, nach welcher der Benutzer sein Passwort \(:andern muss\&. .sp -Auch nach Ablauf dieser Anzahl von Tagen bleibt das Passwort g\(:ultig\&. Der Benutzer wird bei der n\(:achsten Anmeldung aufgefordert, sein Passwort zu \(:andern\&. +Auch nach Ablauf dieser Anzahl von Tagen gilt das Passwort\&. Der Benutzer wird jedoch bei der n\(:achsten Anmeldung aufgefordert, sein Passwort zu \(:andern\&. .sp -Ein leeres Feld bedeutet, dass es kein H\(:ochstalter f\(:ur das Passwort, keine Vorwarnung und keine Dauer der Unt\(:atigkeit (siehe unten) gibt\&. +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 -Wenn das H\(:ochstalter niedriger als das Mindestalter eines Passworts ist, kann ein Benutzer sein Passwort nicht \(:andern\&. +Wenn f\(:ur die G\(:ultigkeit des Passwortes eine Zahl von Tagen eingetragen ist, die niedriger ist als die Zahl der Tage bis zur fr\(:uhestm\(:oglichen \(:Anderung, kann die Benutzerin oder der Benutzer das Passwort nicht \(:andern\&. .RE .PP -\fBPasswortvorwarndauer\fR +\fBpassword warning period\fR .RS 4 -Die Anzahl von Tagen, w\(:ahrend welcher der Benutzer vorgewarnt wird, bevor sein Passwort abl\(:auft (siehe das H\(:ochstalter des Passworts)\&. +Die Zeitspanne in Tagen, in der der Benutzer gewarnt wird, dass sein Passwort demn\(:achst ung\(:ultig wird (siehe H\(:ochstdauer der Passwortverwendung)\&. .sp Ein leeres Feld oder der Wert 0 bedeutet, dass es keine Vorwarnung gibt\&. .RE .PP -\fBDauer der fehlenden Verwendung des Passworts\fR +\fBpassword inactivity period\fR .RS 4 -Die Anzahl von Tagen, f\(:ur die ein Benutzer sein Passwort, nachdem es abgelaufen ist (vergleiche oben das H\(:ochstalter des Passworts), noch verwenden kann (und w\(:ahrend des n\(:achsten Logins \(:andern muss)\&. +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\&. .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\&. .sp -Ein leeres Feld bedeutet, dass es keine H\(:ochstdauer zwischen Ablauf des Passworts und erneuter Anmeldung des Benutzers gibt\&. +Ein leeres Feld bedeutet, dass keine Karenzzeit gew\(:ahrt wird, innerhalb der ein abgelaufenes Passworts noch ersetzt werden kann\&. .RE .PP -\fBDatum des Verfalls des Kontos\fR +\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\&. .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\&. +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\&. .sp -Ein leeres Feld bedeutet, dass das Konto nicht verfallen wird\&. +Ein leeres Feld bedeutet, dass das Konto unbefristet verwendbar ist\&. .sp -Der Wert 0 sollte nicht verwendet werden, weil er sowohl bedeuten kann, dass das Konto nicht verf\(:allt als auch, dass das Konto bereits am 1\&. Januar 1970 verfallen ist\&. +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\&. .RE .PP -\fBreserviertes Feld\fR +\fBreserved field\fR .RS 4 Dieses Feld ist f\(:ur zuk\(:unftigen Gebrauch reserviert\&. .RE @@ -126,14 +126,14 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .PP /etc/shadow\- .RS 4 Sicherungskopie von /etc/shadow .sp -Beachten Sie, dass diese Datei von Werkzeugen der Shadow\-Werkzeugsammlung verwendet wird, aber nicht von allen sonstigen Programmen zur Benutzer\- und Passwortverwaltung\&. +Beachten Sie, dass diese Datei von den Hilfsprogrammen des Shadow\-Projektes verwendet wird; von anderen Programmen zur Benutzer\- und Passwortverwaltung jedoch nicht unbedingt\&. .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man5/suauth.5 b/man/de/man5/suauth.5 index 29fd2a8a..d9c35a32 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: 08.11.2022 +.\" Date: 23.03.2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "SUAUTH" "5" "08.11.2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SUAUTH" "5" "23.03.2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -suauth \- ausf\(:uhrliche Kontrolldatei f\(:ur su +suauth \- Datei zur detaillierten Steuerung von \fBsu\fR .SH "\(:UBERSICHT" .HP \w'\fB/etc/suauth\fR\ 'u \fB/etc/suauth\fR @@ -49,7 +49,7 @@ is referenced whenever the su command is called\&. It can change the behaviour o .RE .\} .PP -2) dem Benutzer, der su ausf\(:uhrt (oder einer Gruppe, deren Mitglied er ist) +2) die Herkunftsidentit\(:at; ; der Benutzer, der su ausf\(:uhrt (oder eine Gruppe, deren Mitglied er ist) .PP Die Datei ist folgenderma\(ssen aufgebaut, wobei Zeilen, die mit einem # beginnen, als Kommentare behandelt und daher ignoriert werden: .sp @@ -79,24 +79,30 @@ appears one or more group names, delimited by ","\&. It is not sufficient to hav \fB/etc/group\fR(5) is necessary\&. .PP -Als Aktion k\(:onnen nur die folgenden Optionen angegeben werden\&. +Nur eine der folgenden Aktionen kann angegeben werden: .PP \fIDENY\fR .RS 4 -Der Versuch, su auszuf\(:uhren, wird abgebrochen, ehe nach einem Passwort gefragt wird\&. +Der Versuch, +\fBsu\fR +auszuf\(:uhren, wird abgebrochen, ehe nach einem Passwort gefragt wird\&. .RE .PP \fINOPASS\fR .RS 4 -Der Versuch, su auszuf\(:uhren, hat automatisch Erfolg\&. Ein Passwort wird nicht abgefragt\&. +Der Versuch, +\fBsu\fR +auszuf\(:uhren, hat automatisch Erfolg\&. Ein Passwort wird nicht abgefragt\&. .RE .PP \fIOWNPASS\fR .RS 4 -Damit der Befehl su Erfolg hat, muss der Benutzer sein eigenes Passwort eingeben\&. Darauf wird er hingewiesen\&. +Damit der Befehl +\fBsu\fR +Erfolg hat, muss der Benutzer sein eigenes Passwort eingeben\&. Darauf wird hingewiesen\&. .RE .PP -Beachten Sie, dass es sich um drei selbst\(:andige Felder handelt, die durch einen Doppelpunkt getrennt sind\&. Neben den Doppelpunkten darf sich kein Leerzeichen befinden\&. Beachten Sie zudem, dass die Datei von oben nach unten Zeile f\(:ur Zeile durchgegangen wird\&. Die erste Regel, die zutreffend ist, wird angewendet, ohne dass die Datei weiter ausgewertet wird\&. Damit kann ein Systemadministrator eine strenge Kontrolle aus\(:uben\&. +Beachten Sie, dass es sich um drei selbst\(:andige Felder handelt, die durch einen Doppelpunkt getrennt sind\&. Neben den Doppelpunkten darf sich kein Leerraumzeichen befinden\&. Beachten Sie zudem, dass die Datei von oben nach unten Zeile f\(:ur Zeile durchgegangen wird\&. Die erste zutreffende Regel wird angewendet, ohne dass die Datei weiter ausgewertet wird\&. Dies erlaubt dem Systemadmistrator oder der Systemadministratorin eine feine Steuerung\&. .SH "BEISPIEL" .sp .if n \{\ @@ -135,7 +141,7 @@ Beachten Sie, dass es sich um drei selbst\(:andige Felder handelt, die durch ein .RE .SH "FEHLER" .PP -Es gibt zahlreiche Fehlerquellen\&. Die Auswertung der Datei ist sehr empfindlich bei Syntaxfehlern, zus\(:atzlichen Leerzeichen (au\(sser am Anfang und Schluss einer Zeile) und dem besonderen Zeichen, das die verschiedenen Felder von einander trennt\&. +Es gibt zahlreiche Fehlerquellen\&. Die Auswertung der Datei ist sehr empfindlich bei Syntaxfehlern, zus\(:atzlichen Leerraumzeichen (au\(sser am Anfang und am Schluss einer Zeile) und dem speziellen Zeichen, das die verschiedenen Einheiten voneinander trennt\&. .SH "DIAGNOSE" .PP An error parsing the file is reported using diff --git a/man/de/man8/chgpasswd.8 b/man/de/man8/chgpasswd.8 index d17a8dd5..09c5c080 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "CHGPASSWD" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "CHGPASSWD" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,10 +28,10 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -chgpasswd \- aktualisiert Gruppenpassw\(:orter im Batch\-Modus +chgpasswd \- aktualisiert Gruppenpassw\(:orter im Stapel\-Modus .SH "\(:UBERSICHT" .HP \w'\fBchgpasswd\fR\ 'u -\fBchgpasswd\fR [\fIOptionen\fR] +\fBchgpasswd\fR [\fIoptions\fR] .SH "BESCHREIBUNG" .PP The @@ -52,7 +52,7 @@ variable of \fB\-c\fR options\&. .PP -Dieser Befehl ist f\(:ur den Einsatz in gro\(ssen Umgebungen vorgesehen, in der viele Konten gleichzeitig erstellt werden m\(:ussen\&. +Dieser Befehl ist f\(:ur weitreichende Systeme gedacht, bei denenviele Passw\(:orter gleichzeitig aktualisiert werden m\(:ussen\&. .SH "OPTIONEN" .PP The options which apply to the @@ -61,24 +61,29 @@ command are: .PP \fB\-c\fR, \fB\-\-crypt\-method\fR .RS 4 -Definiert die Methode, mit der die Passw\(:orter verschl\(:usselt werden\&. +definiert die Methode, mit der die Passw\(:orter verschl\(:usselt werden\&. .sp -Die verf\(:ugbaren Methoden sind DES, MD5, NONE und SHA256 oder SHA512, soweit Ihre libc sie unterst\(:utzt\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .RE .PP \fB\-e\fR, \fB\-\-encrypted\fR .RS 4 -Passw\(:orter werden verschl\(:usselt angegeben\&. +Passw\(:orter werden verschl\(:usselt geliefert\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-m\fR, \fB\-\-md5\fR .RS 4 -werwendet zur Verschl\(:usselung MD5 anstelle von DES, wenn die Passw\(:orter unverschl\(:usselt angegeben werden +Zur Verschl\(:usselung MD5 anstelle von DES verwenden, wenn die Passw\(:orter unverschl\(:usselt geliefert werden\&. .RE .PP \fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR @@ -92,22 +97,23 @@ directory\&. Only absolute paths are supported\&. .PP \fB\-s\fR, \fB\-\-sha\-rounds\fR .RS 4 -Verwendet die angegebene Anzahl von Runden, um die Passw\(:orter zu verschl\(:usseln\&. +legt die Anzahl von Runden beim Verschl\(:usseln von Passw\(:ortern fest\&. .sp -Ein Wert von 0 bedeutet, dass das System die Standardanzahl der Runden (5000) f\(:ur die Verschl\(:usselung verwenden wird\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Der Mindestwert ist 1000, der H\(:ochstwert 999\&.999\&.999\&. -.sp -Sie k\(:onnen diese Option nur mit den Verschl\(:usselungsmethoden SHA256 und SHA512 verwenden\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "WARNUNGEN" .PP -Achten Sie darauf, dass die Rechte und Umask korrekt vergeben sind, um zu verhindern, dass andere Benutzer unverschl\(:usselte Dateien lesen k\(:onnen\&. +Achten Sie darauf, dass die Zugriffsrechte der unverschl\(:usselten Datei beziehungsweise +\fBUMASK\fR +ausschlie\(ssen, dass andere Benutzer sie lesen k\(:onnen\&. .PP -Sie sollten darauf achten, dass Passw\(:orter und Verschl\(:usselungsmethode in Einklage mit der Passwortrichtlinie des Systems stehen\&. +Sie sollten darauf achten, dass Passw\(:orter und Verschl\(:usselungsmethode in Einklang mit der Passwortrichtlinie des Systems stehen\&. .SH "KONFIGURATION" .PP The following configuration variables in @@ -122,12 +128,12 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man8/chpasswd.8 b/man/de/man8/chpasswd.8 index 270aa490..3a18a6d8 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "CHPASSWD" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "CHPASSWD" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,10 +28,10 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -chpasswd \- aktualisiert Passw\(:orter im Batch\-Modus +chpasswd \- aktualisiert Passw\(:orter im Stapel\-Modus .SH "\(:UBERSICHT" .HP \w'\fBchpasswd\fR\ 'u -\fBchpasswd\fR [\fIOptionen\fR] +\fBchpasswd\fR [\fIoptions\fR] .SH "BESCHREIBUNG" .PP The @@ -57,7 +57,7 @@ options\&. \fBchpasswd\fR first updates all the passwords in memory, and then commits all the changes to disk if no errors occurred for any user\&. .PP -Dieser Befehl ist f\(:ur den Einsatz in gro\(ssen Umgebungen vorgesehen, in der viele Konten gleichzeitig erstellt werden m\(:ussen\&. +Dieser Befehl ist f\(:ur weitreichende Systeme gedacht, bei denenviele Passw\(:orter gleichzeitig aktualisiert werden m\(:ussen\&. .SH "OPTIONEN" .PP The options which apply to the @@ -66,9 +66,14 @@ command are: .PP \fB\-c\fR, \fB\-\-crypt\-method\fR\ \&\fIMETHOD\fR .RS 4 -Definiert die Methode, mit der die Passw\(:orter verschl\(:usselt werden\&. +definiert die Methode, mit der die Passw\(:orter verschl\(:usselt werden\&. .sp -Die verf\(:ugbaren Methoden sind DES, MD5, NONE und SHA256 oder SHA512, soweit Ihre libc sie unterst\(:utzt\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .sp By default (if none of the \fB\-c\fR, @@ -84,17 +89,17 @@ variables of .PP \fB\-e\fR, \fB\-\-encrypted\fR .RS 4 -Passw\(:orter werden verschl\(:usselt angegeben\&. +Passw\(:orter werden verschl\(:usselt geliefert\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-m\fR, \fB\-\-md5\fR .RS 4 -werwendet zur Verschl\(:usselung MD5 anstelle von DES, wenn die Passw\(:orter unverschl\(:usselt angegeben werden +Zur Verschl\(:usselung MD5 anstelle von DES verwenden, wenn die Passw\(:orter unverschl\(:usselt geliefert werden\&. .RE .PP \fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR @@ -106,26 +111,29 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIROUNDS\fR .RS 4 -Verwendet die angegebene Anzahl von Runden, um die Passw\(:orter zu verschl\(:usseln\&. +legt die Anzahl von Runden beim Verschl\(:usseln von Passw\(:ortern fest\&. .sp -Ein Wert von 0 bedeutet, dass das System die Standardanzahl der Runden (5000) f\(:ur die Verschl\(:usselung verwenden wird\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Der Mindestwert ist 1000, der H\(:ochstwert 999\&.999\&.999\&. -.sp -Sie k\(:onnen diese Option nur mit den Verschl\(:usselungsmethoden SHA256 und SHA512 verwenden\&. -.sp -By default, the number of rounds is defined by the -\fBSHA_CRYPT_MIN_ROUNDS\fR -and -\fBSHA_CRYPT_MAX_ROUNDS\fR -variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "WARNUNGEN" .PP -Achten Sie darauf, dass die Rechte und Umask korrekt vergeben sind, um zu verhindern, dass andere Benutzer unverschl\(:usselte Dateien lesen k\(:onnen\&. +Achten Sie darauf, dass die Zugriffsrechte der unverschl\(:usselten Datei beziehungsweise +\fBUMASK\fR +ausschlie\(ssen, dass andere Benutzer sie lesen k\(:onnen\&. .SH "KONFIGURATION" .PP The following configuration variables in @@ -141,12 +149,12 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man8/faillog.8 b/man/de/man8/faillog.8 index cf5703b2..dd318d8e 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "FAILLOG" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "FAILLOG" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,10 +28,10 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -faillog \- zeigt Aufzeichnungen der fehlgeschlagenen Anmeldungen an oder richtet Beschr\(:ankungen f\(:ur fehlgeschlagene Anmeldungen ein +faillog \- zeigt Aufzeichnungen von Anmeldefehlschl\(:agen an oder begrenzt sie .SH "\(:UBERSICHT" .HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIOptionen\fR] +\fBfaillog\fR [\fIoptions\fR] .SH "BESCHREIBUNG" .PP \fBfaillog\fR @@ -54,7 +54,7 @@ The range of users can be restricted with the \fB\-u\fR option\&. .sp -Im Anzeigemodus ist dies auf vorhandene Benutzer beschr\(:ankt, erzwingt aber die Anzeige der Faillog\-Eintr\(:age, auch wenn diese leer sind\&. +Im Anzeigemodus bleibt die Beschr\(:ankung auf existierende Benutzer, erzwingt aber die Anzeige der Faillog\-Eintr\(:age, selbst wenn diese leer sind\&. .sp With the \fB\-l\fR, @@ -66,7 +66,7 @@ options, the users\*(Aq records are changed, even if the user does not exist on .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-l\fR, \fB\-\-lock\-secs\fR\ \&\fISEC\fR @@ -100,7 +100,7 @@ is required for this option\&. .PP \fB\-r\fR, \fB\-\-reset\fR .RS 4 -setzt die Z\(:ahlerst\(:ande der fehlgeschlagenen Anmeldeversuche zur\(:uck +setzt die Z\(:ahler f\(:ur Anmeldefehlschl\(:age zur\(:uck\&. .sp Write access to /var/log/faillog @@ -157,7 +157,7 @@ flag\&. .PP /var/log/faillog .RS 4 -Datei mit fehlgeschlagenen Anmeldungen +Datei zur Protokollierung von Anmeldefehlchl\(:agen .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man8/groupadd.8 b/man/de/man8/groupadd.8 index 3bbc5f69..2f325dba 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "GROUPADD" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "GROUPADD" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupadd \- erstellt eine neue Gruppe .SH "\(:UBERSICHT" .HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIOPTIONEN\fR] \fINEWGROUP\fR +\fBgroupadd\fR [\fIOPTIONS\fR] \fINEWGROUP\fR .SH "BESCHREIBUNG" .PP The @@ -74,7 +74,7 @@ description\&. .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-K\fR, \fB\-\-key\fR\ \&\fIKEY\fR=\fIVALUE\fR @@ -120,7 +120,7 @@ Sie sollten sicherstellen, dass das Passwort den Passwortrichtlinien des Systems .PP \fB\-r\fR, \fB\-\-system\fR .RS 4 -erstellt eine neue Systemgruppe +erstelle eine neue Systemgruppe\&. .sp The numeric identifiers of new system groups are chosen in the \fBSYS_GID_MIN\fR\-\fBSYS_GID_MAX\fR @@ -171,16 +171,16 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .SH "WARNUNGEN" .PP -Sie k\(:onnen einen Benutzer nicht einer NIS\- oder LDAP\-Gruppe hinzuf\(:ugen\&. Dies m\(:ussen Sie auf dem entsprechenden Server durchf\(:uhren\&. +NIS\- oder LDAP\-Gruppe k\(:onnen nicht erzeugt werden\&. Dies m\(:ussen Sie auf dem entsprechenden Server durchf\(:uhren\&. .PP If the groupname already exists in an external group database such as NIS or LDAP, \fBgroupadd\fR diff --git a/man/de/man8/groupdel.8 b/man/de/man8/groupdel.8 index c537d570..96d944d4 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "GROUPDEL" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "GROUPDEL" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupdel \- l\(:oscht eine Gruppe .SH "\(:UBERSICHT" .HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIOptionen\fR] \fIGRUPPE\fR +\fBgroupdel\fR [\fIoptions\fR] \fIGROUP\fR .SH "BESCHREIBUNG" .PP The @@ -51,7 +51,7 @@ This option forces the removal of the group, even if there\*(Aqs some user havin .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR @@ -73,9 +73,9 @@ directory\&. This option does not chroot and is intended for preparing a cross\- .RE .SH "WARNUNGEN" .PP -Sie k\(:onnen nicht die Hauptgruppe eines Benutzers entfernen\&. Dazu m\(:ussten Sie zun\(:achst den betreffenden Benutzer l\(:oschen\&. +Sie k\(:onnen nicht die prim\(:are Gruppe eines existierenden Benutzers entfernen\&. Dazu m\(:ussen Sie zun\(:achst den betreffenden Benutzer l\(:oschen\&. .PP -Sie sollten von Hand alle Systemdateien \(:uberpr\(:ufen, um sicherzustellen, dass keine Dateien, die der gel\(:oschten Gruppe angeh\(:oren, vorhanden sind\&. +Sie sollten von Hand alle Dateisysteme \(:uberpr\(:ufen, um sicherzustellen, dass keine der gel\(:oschten Gruppe zugeh\(:origen Dateien zur\(:uckbleiben\&. .SH "KONFIGURATION" .PP The following configuration variables in @@ -90,7 +90,7 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .SH "R\(:UCKGABEWERTE" .PP diff --git a/man/de/man8/groupmems.8 b/man/de/man8/groupmems.8 index 199cf7cc..14052558 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "GROUPMEMS" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "GROUPMEMS" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -groupmems \- verwaltet die Mitglieder der Hauptgruppe eines Benutzers +groupmems \- verwaltet die Mitglieder der prim\(:aren Gruppe des Benutzers .SH "\(:UBERSICHT" .HP \w'\fBgroupmems\fR\ 'u \fBgroupmems\fR \-a\ \fIuser_name\fR | \-d\ \fIuser_name\fR | [\-g\ \fIgroup_name\fR] | \-l | \-p @@ -51,7 +51,7 @@ command are: .PP \fB\-a\fR, \fB\-\-add\fR\ \&\fIuser_name\fR .RS 4 -Add a user to the group membership list\&. +f\(:ugt einen Benutzer der Mitgliederliste der Gruppe hinzu\&. .sp If the /etc/gshadow @@ -62,7 +62,7 @@ file, a new entry will be created\&. .PP \fB\-d\fR, \fB\-\-delete\fR\ \&\fIuser_name\fR .RS 4 -L\(:oscht einen Benutzer aus der Mitgliederliste der Gruppe\&. +l\(:oscht einen Benutzer aus der Mitgliederliste der Gruppe\&. .sp If the /etc/gshadow @@ -77,22 +77,22 @@ file, a new entry will be created\&. .PP \fB\-g\fR, \fB\-\-group\fR\ \&\fIgroup_name\fR .RS 4 -Root kann eine Gruppen bestimmen, deren Mitgliederliste er bearbeiten will\&. +gibt die Gruppe an, wenn eine Mitgliederliste durch den Systemadministrator bearbeitet wird\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-l\fR, \fB\-\-list\fR .RS 4 -gibt die Mitgliederliste aus +gibt die Mitgliederliste aus\&. .RE .PP \fB\-p\fR, \fB\-\-purge\fR .RS 4 -l\(:oscht alle Benutzer aus der Mitgliederliste der Gruppe +l\(:oscht alle Benutzer aus der Mitgliederliste der Gruppe\&. .sp If the /etc/gshadow @@ -130,7 +130,7 @@ utility to manage their own group membership list\&. .nf $ groupadd \-r groups $ chmod 2710 groupmems - $ chown root\&.groups groupmems + $ chown root:groups groupmems $ groupmems \-g groups \-a gk4 .fi @@ -151,7 +151,7 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -verschl\(:usselte Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man8/groupmod.8 b/man/de/man8/groupmod.8 index e0be747c..a697cb8f 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "GROUPMOD" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "GROUPMOD" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,10 +28,10 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -groupmod \- \(:andert die Eigenschaften einer Gruppe auf dem System +groupmod \- \(:andert eine Gruppendefinition auf dem System .SH "\(:UBERSICHT" .HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIOptionen\fR] \fIGRUPPE\fR +\fBgroupmod\fR [\fIoptions\fR] \fIGROUP\fR .SH "BESCHREIBUNG" .PP The @@ -63,7 +63,7 @@ must be a non\-negative decimal integer\&. This value must be unique, unless the \fB\-o\fR option is used\&. .sp -Benutzer, welche die Gruppe als Hauptgruppe verwenden, werden aktualisiert, um die Gruppe als Hauptgruppe zu behalten\&. +Bei Benutzern, f\(:ur die die Gruppe die prim\(:are Gruppe darstellt, wird der Eintrag aktualisiert, damit die Zuordnung zu dieser Gruppe erhalten bleibt\&. .sp Any files that have the old group ID and must continue to belong to \fIGROUP\fR, must have their group ID changed manually\&. @@ -79,7 +79,7 @@ from .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-n\fR, \fB\-\-new\-name\fR\ \&\fINEW_GROUP\fR @@ -156,12 +156,12 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .PP /etc/passwd diff --git a/man/de/man8/grpck.8 b/man/de/man8/grpck.8 index 07a9cd2a..4ebb733e 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "GRPCK" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "GRPCK" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ grpck \- \(:uberpr\(:uft die Stimmigkeit der Gruppendateien .SH "\(:UBERSICHT" .HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [Optionen] [\fIGruppe\fR\ [\ \fIshadow\fR\ ]] +\fBgrpck\fR [options] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] .SH "BESCHREIBUNG" .PP The @@ -130,7 +130,7 @@ command are: .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-r\fR, \fB\-\-read\-only\fR @@ -188,7 +188,7 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .PP /etc/passwd diff --git a/man/de/man8/lastlog.8 b/man/de/man8/lastlog.8 index 8f35ebc0..ff7525f0 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "LASTLOG" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "LASTLOG" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ lastlog \- berichtet die letzte Anmeldung f\(:ur alle oder einen bestimmten Benutzer .SH "\(:UBERSICHT" .HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIOptionen\fR] +\fBlastlog\fR [\fIoptions\fR] .SH "BESCHREIBUNG" .PP \fBlastlog\fR @@ -64,7 +64,7 @@ Clear lastlog record of a user\&. This option can be used only together with .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR @@ -91,7 +91,7 @@ Print the lastlog records more recent than .PP \fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR .RS 4 -gibt nur die Lastlog\-Eintr\(:age f\(:ur die angegebenen Benutzer aus +gibt nur die Lastlog\-Eintr\(:age f\(:ur die angegebenen Benutzer aus\&. .sp The users can be specified by a login name, a numerical user ID, or a \fIRANGE\fR @@ -104,7 +104,7 @@ If the user has never logged in the message \fI** Never logged in**\fR will be displayed instead of the port and time\&. .PP -Es werden nur Eintr\(:age f\(:ur auf dem System vorhandene Benutzer angezeigt, selbst wenn Eintr\(:age \(:uber gel\(:oschte Benutzer noch vorhanden sind\&. +Es werden nur Eintr\(:age f\(:ur derzeit angelegte Benutzer angezeigt, Weitere zu gel\(:oschten Benutzern geh\(:orende Eintr\(:age k\(:onnen vorhanden sein\&. .SH "ANMERKUNGEN" .PP The @@ -125,7 +125,7 @@ Datenbank mit Zeiten der letzten Anmeldung der Benutzer .RE .SH "WARNUNGEN" .PP -Gro\(sse L\(:ucken in den UID\-Zahlen haben zur Folge, dass das Lastlog\-Programm l\(:angere Zeit ohne Bildschirmausgabe l\(:auft\&. Wenn sich z\&.B\&. in der Datenbank von Lastlog kein Eintrag f\(:ur Benutzer mit der UID zwischen 170 und 800 befindet, wird es scheinen, als ob lastlog stehen geblieben ist, w\(:ahrend es die Eintr\(:age mit der UID 171 bis 799 verarbeitet\&. +Gro\(sse L\(:ucken in den Benutzerkennungen haben zur Folge, dass das Lastlog\-Programm l\(:angere Zeit nichts auf den Bildschirm ausgibt\&. Wenn sich z\&.B\&. in der Lastlog\-Datenbank kein Eintrag f\(:ur Benutzer mit der Kennung zwischen 170 und 800 befindet, wird es, w\(:ahrend der Verarbeitung der Eintr\(:age zu den Kennungen 171 bis 799, scheinen, als sei lastlog stehen geblieben\&. .PP Having high UIDs can create problems when handling the /var/log/lastlog diff --git a/man/de/man8/logoutd.8 b/man/de/man8/logoutd.8 index 2abfeecf..b2aa70f2 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "LOGOUTD" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "LOGOUTD" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,7 +28,7 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -logoutd \- richtet Beschr\(:ankung von Anmeldezeiten ein +logoutd \- setzt die zeitlichen Einschr\(:ankungen f\(:ur Anmeldungen durch .SH "\(:UBERSICHT" .HP \w'\fBlogoutd\fR\ 'u \fBlogoutd\fR @@ -48,10 +48,10 @@ is terminated\&. .PP /etc/porttime .RS 4 -Datei, die den Port\-Zugriff enth\(:alt\&. +Datei, die Zugriffe auf Ports regelt .RE .PP /var/run/utmp .RS 4 -Liste der aktuellen angemeldeten Sitzungen +Liste aktueller Anmeldungen .RE diff --git a/man/de/man8/newusers.8 b/man/de/man8/newusers.8 index 5a69c816..960de1f1 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "NEWUSERS" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "NEWUSERS" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,10 +28,10 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -newusers \- erstellt oder aktualisiert mehrere neue Benutzer am St\(:uck +newusers \- erstellt neue oder aktualisiert vorhandene Benutzerkonten in einem Aufruf .SH "\(:UBERSICHT" .HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fIOptionen\fR] [\fIDatei\fR] +\fBnewusers\fR [\fIoptions\fR] [\fIfile\fR] .SH "BESCHREIBUNG" .PP The @@ -41,44 +41,44 @@ command reads a (or the standard input by default) and uses this information to update a set of existing users or to create new users\&. Each line is in the same format as the standard password file (see \fBpasswd\fR(5)) with the exceptions explained below: .PP -pw_Name:pw_Passwort:pw_uid:pw_gid:pw_gecos:pw_Verz:pw_shell +pw_Name:pw_Passwort:pw_Benutzerkennung:pw_Gruppenkennung:pw_GECOS:pw_Verzeichnis:pw_Shell .PP -\fIpw_Name\fR +\fIpw_name\fR .RS 4 -Dies ist der Name des Benutzers\&. +Dies ist der Anmeldename des Benutzers\&. .sp It can be the name of a new user or the name of an existing user (or a user created before by \fBnewusers\fR)\&. In case of an existing user, the user\*(Aqs information will be changed, otherwise a new user will be created\&. .RE .PP -\fIpw_Passwort\fR +\fIpw_passwd\fR .RS 4 -Dieses Feld wird verschl\(:usselt und als neuer Wert f\(:ur das verschl\(:usselte Passwort verwendet\&. +Dieses Feld wird verschl\(:usselt und als neues verschl\(:usseltes Passwort benutzt\&. .RE .PP \fIpw_uid\fR .RS 4 -Mit diesem Feld wird die UID des Benutzers bestimmt\&. +Mit diesem Feld wird die Benutzerkennung festgelegt\&. .sp If the field is empty, a new (unused) UID will be defined automatically by \fBnewusers\fR\&. .sp -Wenn dieses Feld eine Zahl enth\(:alt, wird sie als UID verwendet\&. +Wenn dieses Feld eine Zahl enth\(:alt, wird sie als Benutzerkennung \(:ubernommen\&. .sp If this field contains the name of an existing user (or the name of a user created before by \fBnewusers\fR), the UID of the specified user will be used\&. .sp -Falls die UID eines bestehenden Benutzers ver\(:andert wird, muss der Eigent\(:umer der Dateien des Benutzers per Hand angepasst werden\&. +Falls die Kennung eines bestehenden Benutzers ver\(:andert wird, muss bei den Dateien des Benutzers der Eigent\(:umer per Hand angepasst werden\&. .RE .PP \fIpw_gid\fR .RS 4 -Mit diesem Feld wird die ID der Hauptgruppe des Benutzers definiert\&. +Mit diesem Feld wird die Kennung der prim\(:aren Gruppe des Benutzers festgelegt\&. .sp If this field contains the name of an existing group (or a group created before by \fBnewusers\fR), the GID of this group will be used as the primary group ID for the user\&. .sp -Wenn dieses Feld eine Zahl enth\(:alt, wird sie als ID der Hauptgruppe des Benutzers verwendet\&. Falls eine Gruppe mit dieser GID nicht existiert, wird eine neue Gruppe mit dieser GID unter dem Namen des Benutzers erstellt\&. +Wenn dieses Feld eine Zahl enth\(:alt, wird sie als Kennung der prim\(:aren Gruppe des Benutzers verwendet\&. Falls keine Gruppe mit dieser Kennung existiert, wird eine neue Gruppe mit dieser Kennung und dem Namen des Benutzers erstellt\&. .sp If this field is empty, a new group will be created with the name of the user and a GID will be automatically defined by \fBnewusers\fR @@ -95,9 +95,9 @@ to be used as the primary group ID for the user and GID for the new group\&. Dieses Feld wird in das GECOS\-Feld des Benutzers kopiert\&. .RE .PP -\fIpw_Verz\fR +\fIpw_dir\fR .RS 4 -Mit diesem Feld wird das Home\-Verzeichnis des Benutzers definiert\&. +In diesem Feld wird das pers\(:onliche Verzeichnis des Benutzers definiert\&. .sp 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\&. Note that \fInewusers does not create parent directories \fR @@ -110,13 +110,13 @@ does not move or copy the content of the old directory to the new location\&. Th .PP \fIpw_shell\fR .RS 4 -Mit diesem Feld wird die Shell des Benutzers definiert\&. Diese Eingabe wird nicht \(:uberpr\(:uft\&. +Mit diesem Feld wird die Shell des Benutzers festgelegt, wobei diese Eingabe nicht \(:uberpr\(:uft wird\&. .RE .PP \fBnewusers\fR first tries to create or change all the specified users, and then write these changes to the user or group databases\&. If an error occurs (except in the final writes to the databases), no changes are committed to the databases\&. .PP -Dieser Befehl ist f\(:ur den Einsatz in einer Umgebung mit zahlreichen Systemen vorgesehen, in der viele Konten gleichzeitig aktualisiert werden m\(:ussen\&. +Dieser Befehl ist f\(:ur weitreichende Systeme gedacht, bei denenviele Konten gleichzeitig angelegt werden m\(:ussen\&. .SH "OPTIONEN" .PP The options which apply to the @@ -125,19 +125,19 @@ command are: .PP \fB\-\-badname\fR\ \& .RS 4 -Allow names that do not conform to standards\&. +erlaube Namen, die nicht den Standards entsprechen\&. .RE .PP \fB\-c\fR, \fB\-\-crypt\-method\fR .RS 4 -Definiert die Methode, mit der die Passw\(:orter verschl\(:usselt werden\&. +definiert die Methode, mit der die Passw\(:orter verschl\(:usselt werden\&. .sp -Die verf\(:ugbaren Methoden sind DES, MD5, NONE und SHA256 oder SHA512, soweit Ihre libc sie unterst\(:utzt\&. +Die verf\(:ugbaren Methoden sind, sofern Ihre libc diese bereitstellt, DES, MD5, NONE und SHA256 oder SHA512\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-r\fR, \fB\-\-system\fR @@ -166,22 +166,21 @@ directory\&. Only absolute paths are supported\&. .PP \fB\-s\fR, \fB\-\-sha\-rounds\fR .RS 4 -Verwendet die angegebene Anzahl von Runden, um die Passw\(:orter zu verschl\(:usseln\&. +legt die Anzahl von Runden beim Verschl\(:usseln von Passw\(:ortern fest\&. .sp -Ein Wert von 0 bedeutet, dass das System die Standardanzahl der Runden (5000) f\(:ur die Verschl\(:usselung verwenden wird\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Der Mindestwert ist 1000, der H\(:ochstwert 999\&.999\&.999\&. -.sp -Sie k\(:onnen diese Option nur mit den Verschl\(:usselungsmethoden SHA256 und SHA512 verwenden\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +A minimal value of 1000 and a maximal value of 999,999,999 will be enforced for SHA256 and SHA512\&. The default is 5000\&. .RE .SH "WARNUNGEN" .PP Die Eingabedatei muss gesch\(:utzt werden, da sie unverschl\(:usselte Passw\(:orter enth\(:alt\&. .PP -Sie sollten darauf achten, dass Passw\(:orter und Verschl\(:usselungsmethode in Einklage mit der Passwortrichtlinie des Systems stehen\&. +Sie sollten darauf achten, dass Passw\(:orter und Verschl\(:usselungsmethode in Einklang mit der Passwortrichtlinie des Systems stehen\&. .SH "KONFIGURATION" .PP The following configuration variables in @@ -201,7 +200,7 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .PP /etc/group @@ -211,22 +210,22 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .PP /etc/subgid .RS 4 -Per user subordinate group IDs\&. +enth\(:alt untergeordnete Gruppenkennungen der einzelnen Benutzer\&. .RE .PP /etc/subuid .RS 4 -Per user subordinate user IDs\&. +enth\(:alt untergeordnete Benutzerkennungen der einzelnen Benutzer\&. .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man8/nologin.8 b/man/de/man8/nologin.8 index c019453f..6724aa3c 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "NOLOGIN" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "NOLOGIN" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/de/man8/pwck.8 b/man/de/man8/pwck.8 index 90dc8209..5687d844 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "PWCK" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "PWCK" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ pwck \- verify the integrity of password files .SH "\(:UBERSICHT" .HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [Optionen] [\fIPASSWORDFILE\fR\ [\ \fISHADOWFILE\fR\ ]] +\fBpwck\fR [options] [\fIPASSWORDFILE\fR\ [\ \fISHADOWFILE\fR\ ]] .SH "BESCHREIBUNG" .PP The @@ -85,7 +85,7 @@ eine g\(:ultige Benutzer\- und Gruppenkennung .sp -1 .IP \(bu 2.3 .\} -eine g\(:ultige Hauptgruppe +eine g\(:ultige prim\(:are Gruppe .RE .sp .RS 4 @@ -96,7 +96,7 @@ eine g\(:ultige Hauptgruppe .sp -1 .IP \(bu 2.3 .\} -ein g\(:ultiges Home\-Verzeichnis +ein g\(:ultiges pers\(:onliches Verzeichnis .RE .sp .RS 4 @@ -126,7 +126,11 @@ Diese Tests umfassen Folgendes: .sp -1 .IP \(bu 2.3 .\} -ob jedem Eintrag in passwd ein Eintrag in shadow entspricht und umgekehrt +ob es zu jedem Eintrag in +passwd +einen passenden Eintrag in +shadow +und umgekehrt gibt .RE .sp .RS 4 @@ -137,7 +141,7 @@ ob jedem Eintrag in passwd ein Eintrag in shadow entspricht und umgekehrt .sp -1 .IP \(bu 2.3 .\} -ob die Passw\(:orter in der Shadow\-Datei niedergelegt sind +ob die Passw\(:orter in der gesch\(:utzten Datei abgelegt sind .RE .sp .RS 4 @@ -148,7 +152,7 @@ ob die Passw\(:orter in der Shadow\-Datei niedergelegt sind .sp -1 .IP \(bu 2.3 .\} -ob die shadow\-Eintr\(:age die richtige Anzahl von Feldern haben +ob die Eintr\(:age der gesch\(:utzten Datei die richtige Anzahl von Feldern haben .RE .sp .RS 4 @@ -159,7 +163,7 @@ ob die shadow\-Eintr\(:age die richtige Anzahl von Feldern haben .sp -1 .IP \(bu 2.3 .\} -ob die Shadow\-Eintr\(:age in shadow eindeutig sind +ob die Eintr\(:age in der gesch\(:utzten Datei nicht mehrfach vorkommen .RE .sp .RS 4 @@ -196,17 +200,17 @@ command are: .PP \fB\-\-badname\fR\ \& .RS 4 -Allow names that do not conform to standards\&. +erlaube Namen, die nicht den Standards entsprechen\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-q\fR, \fB\-\-quiet\fR .RS 4 -meldet nur Fehler\&. Warnungen, die keine Handlung des Benutzers erfordern, werden nicht angezeigt +meldet nur Fehler\&. Warnungen, die keine Handlung des Benutzers erfordern, werden nicht angezeigt\&. .RE .PP \fB\-r\fR, \fB\-\-read\-only\fR @@ -263,7 +267,7 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .SH "R\(:UCKGABEWERTE" .PP diff --git a/man/de/man8/pwconv.8 b/man/de/man8/pwconv.8 index bf027730..3aa60796 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "PWCONV" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "PWCONV" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,16 +28,16 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -pwconv, pwunconv, grpconv, grpunconv \- konvertiert zu oder von Shadow\-Passw\(:ortern und \-gruppen +pwconv, pwunconv, grpconv, grpunconv \- transferieren Passwortdaten \(:uber Benutzer oder Gruppen in gesch\(:utzte Dateien oder zur\(:uck .SH "\(:UBERSICHT" .HP \w'\fBpwconv\fR\ 'u -\fBpwconv\fR [\fIOptionen\fR] +\fBpwconv\fR [\fIoptions\fR] .HP \w'\fBpwunconv\fR\ 'u -\fBpwunconv\fR [\fIOptionen\fR] +\fBpwunconv\fR [\fIoptions\fR] .HP \w'\fBgrpconv\fR\ 'u -\fBgrpconv\fR [\fIOptionen\fR] +\fBgrpconv\fR [\fIoptions\fR] .HP \w'\fBgrpunconv\fR\ 'u -\fBgrpunconv\fR [\fIOptionen\fR] +\fBgrpunconv\fR [\fIoptions\fR] .SH "BESCHREIBUNG" .PP The @@ -119,7 +119,7 @@ commands are: .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR @@ -154,7 +154,7 @@ change the behavior of .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man8/sulogin.8 b/man/de/man8/sulogin.8 index 0b05b638..d2fa19ff 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "SULOGIN" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "SULOGIN" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -88,7 +88,7 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .SH "SIEHE AUCH" .PP diff --git a/man/de/man8/useradd.8 b/man/de/man8/useradd.8 index 9bcbbfce..8d1aad2f 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "USERADD" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "USERADD" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,11 +31,11 @@ useradd \- erstellt einen neuen Benutzer oder aktualisiert die Standardwerte f\(:ur neue Benutzer .SH "\(:UBERSICHT" .HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR [\fIOptionen\fR] \fIANMELDENAME\fR +\fBuseradd\fR [\fIoptions\fR] \fILOGIN\fR .HP \w'\fBuseradd\fR\ 'u \fBuseradd\fR \-D .HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D [\fIOptionen\fR] +\fBuseradd\fR \-D [\fIoptions\fR] .SH "BESCHREIBUNG" .PP When invoked without the @@ -59,7 +59,7 @@ command are: .PP \fB\-\-badname\fR\ \& .RS 4 -Allow names that do not conform to standards\&. +erlaube Namen, die nicht den Standards entsprechen\&. .RE .PP \fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIBASE_DIR\fR @@ -169,12 +169,16 @@ variable in .RS 4 A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the \fB\-g\fR -option\&. The default is for the user to belong only to the initial group\&. +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 +\fBGROUPS\fR +to the file +/etc/default/useradd +which in turn will add all users to those supplementary groups\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-k\fR, \fB\-\-skel\fR\ \&\fISKEL_DIR\fR @@ -194,7 +198,11 @@ variable in or, by default, /etc/skel\&. .sp -Soweit m\(:oglich, werden die ACLs und erweiterten Attribute kopiert\&. +Absolute symlinks that link back to the skel directory will have the +/etc/skel +prefix replaced with the user\*(Aqs home directory\&. +.sp +Soweit m\(:oglich, werden die ACLs und erweiterte Attribute kopiert\&. .RE .PP \fB\-K\fR, \fB\-\-key\fR\ \&\fIKEY\fR=\fIVALUE\fR @@ -219,9 +227,13 @@ options can be specified, e\&.g\&.: .PP \fB\-l\fR, \fB\-\-no\-log\-init\fR .RS 4 -F\(:ugt den Benutzer nicht zu den Datenbanken lastlog und faillog hinzu\&. +l\(:asst den Benutzer bei den Aufzeichnungen von +\fBlastlog\fR(8) +und +\fBfaillog\fR(8) +au\(ssen vor\&. .sp -By default, the user\*(Aqs entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user\&. +Standardm\(:a\(ssig werden die Benutzereintr\(:age in den Datenbanken f\(:ur lastlog und faillog zur\(:uckgesetzt, um zu vermeiden, dass der Eintrag eines fr\(:uher gel\(:oschten Benutzers erneut verwendet wird\&. .sp If this option is not specified, \fBuseradd\fR @@ -366,7 +378,7 @@ description\&. .PP \fB\-U\fR, \fB\-\-user\-group\fR .RS 4 -erstellt eine Gruppe mit dem gleichen Name wie der Benutzer und f\(:ugt diesen der Gruppe hinzu +erstellt eine Gruppe mit dem gleichen Namen wie der Benutzer und f\(:ugt diesen der Gruppe hinzu\&. .sp The default behavior (if the \fB\-g\fR, @@ -380,10 +392,22 @@ variable in .PP \fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR .RS 4 -defines the SELinux user for the new account\&. Without this option, a SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses +defines the SELinux user for the new account\&. Without this option, SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses \fBsemanage\fR(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Without this option, SELinux uses the default range\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SS "Die Standardwerte ver\(:andern" .PP When invoked with only the @@ -459,7 +483,7 @@ directory (or any other skeleton directory specified in or on the command line)\&. .SH "WARNUNGEN" .PP -Sie d\(:urfen einen Benutzer nicht einer NIS\- oder LDAP\-Gruppe hinzuf\(:ugen\&. Dies muss auf dem entsprechenden Server durchgef\(:uhrt werden\&. +Sie d\(:urfen einer NIS\- oder LDAP\-Gruppe keine Benutzer hinzuf\(:ugen\&. Dies muss auf dem entsprechenden Server durchgef\(:uhrt werden\&. .PP Similarly, if the username already exists in an external user database such as NIS or LDAP, \fBuseradd\fR @@ -484,7 +508,7 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .PP /etc/group @@ -494,7 +518,7 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .PP /etc/default/useradd @@ -518,22 +542,22 @@ will execute after user addition\&. If a script exits non\-zero then execution w .PP /etc/skel/ .RS 4 -Verzeichnis, das die Standarddateien enth\(:alt +Verzeichnis, das die Dateien mit Standardwerten enth\(:alt .RE .PP /etc/subgid .RS 4 -Per user subordinate group IDs\&. +enth\(:alt untergeordnete Gruppenkennungen der einzelnen Benutzer\&. .RE .PP /etc/subuid .RS 4 -Per user subordinate user IDs\&. +enth\(:alt untergeordnete Benutzerkennungen der einzelnen Benutzer\&. .RE .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .SH "R\(:UCKGABEWERTE" .PP diff --git a/man/de/man8/userdel.8 b/man/de/man8/userdel.8 index 2f138b1e..68520e9a 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "USERDEL" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "USERDEL" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ userdel \- l\(:oscht ein Benutzerkonto und die dazugeh\(:origen Dateien .SH "\(:UBERSICHT" .HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [Optionen] \fIANMELDENAME\fR +\fBuserdel\fR [options] \fILOGIN\fR .SH "BESCHREIBUNG" .PP The @@ -62,12 +62,12 @@ This option is dangerous and may leave your system in an inconsistent state\&. .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-r\fR, \fB\-\-remove\fR .RS 4 -Die Dateien im Home\-Verzeichnis des Benutzers werden zusammen mit dem Home\-Verzeichnis und dem Mailspool entfernt\&. Dateien, die sich nicht unterhalb des Home\-Verzeichnisses befinden, m\(:ussen per Hand gesucht und gel\(:oscht werden\&. +entfernt das pers\(:onliche Verzeichnis des Benutzers mit den darin enthaltenen Dateiein und die Mail\-Warteschlange\&. Dateien in anderen Dateisystemen m\(:ussen per Hand gesucht und gel\(:oscht werden\&. .sp The mail spool is defined by the \fBMAIL_DIR\fR @@ -96,7 +96,7 @@ directory\&. This option does not chroot and is intended for preparing a cross\- .PP \fB\-Z\fR, \fB\-\-selinux\-user\fR .RS 4 -entfernt die Zuordnung von SELinux\-Benutzern aus den Anmeldeinformationen des Benutzers +entfernt jegliche Zuordnung zu SELinux\-Benutzern f\(:ur das Benutzerkonto\&. .RE .SH "KONFIGURATION" .PP @@ -112,7 +112,7 @@ Informationen zu den Gruppenkonten .PP /etc/login\&.defs .RS 4 -Konfiguration der Shadow\-Passwort\-Werkzeugsammlung +konfiguriert die Shadow\-Hilfsprogramme\&. .RE .PP /etc/passwd @@ -122,7 +122,7 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .PP /etc/shadow\-maint/userdel\-pre\&.d/*, /etc/shadow\-maint/userdel\-post\&.d/* @@ -142,12 +142,12 @@ will execute after user deletion\&. If a script exits non\-zero then execution w .PP /etc/subgid .RS 4 -Per user subordinate group IDs\&. +enth\(:alt untergeordnete Gruppenkennungen der einzelnen Benutzer\&. .RE .PP /etc/subuid .RS 4 -Per user subordinate user IDs\&. +enth\(:alt untergeordnete Benutzerkennungen der einzelnen Benutzer\&. .RE .SH "R\(:UCKGABEWERTE" .PP @@ -196,9 +196,9 @@ will not allow you to remove an account if there are running processes which bel \fB\-f\fR option can force the deletion of this account\&. .PP -Sie sollten von Hand alle Systemdateien \(:uberpr\(:ufen, um sicherzustellen, dass keine Dateien vorhanden sind, die dem gel\(:oschten Benutzer geh\(:oren\&. +Sie sollten von Hand alle Dateisysteme in Hinblick auf Dateien dieses Benutzers pr\(:ufen und sie gegebenenfalls l\(:oschen\&. .PP -Sie sollten keine NIS\-Attribute auf einem NIS\-Client l\(:oschen\&. Dies muss auf dem NIS\-Server durchgef\(:uhrt werden\&. +Sie d\(:urfen keine NIS\-Attribute auf einem NIS\-Client l\(:oschen\&. Dies muss auf dem NIS\-Server durchgef\(:uhrt werden\&. .PP If \fBUSERGROUPS_ENAB\fR diff --git a/man/de/man8/usermod.8 b/man/de/man8/usermod.8 index 196435d6..4c5b8202 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "USERMOD" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "USERMOD" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ usermod \- ver\(:andert ein Benutzerkonto .SH "\(:UBERSICHT" .HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fIOptionen\fR] \fIANMELDENAME\fR +\fBusermod\fR [\fIoptions\fR] \fILOGIN\fR .SH "BESCHREIBUNG" .PP The @@ -52,7 +52,7 @@ option\&. .PP \fB\-b\fR, \fB\-\-badname\fR .RS 4 -Allow names that do not conform to standards\&. +erlaube Namen, die nicht den Standards entsprechen\&. .RE .PP \fB\-c\fR, \fB\-\-comment\fR\ \&\fICOMMENT\fR @@ -65,7 +65,7 @@ utility\&. .PP \fB\-d\fR, \fB\-\-home\fR\ \&\fIHOME_DIR\fR .RS 4 -das neue Home\-Verzeichnis des Benutzers +\(:andert das pers\(:onliche Verzeichnis des Benutzers .sp If the \fB\-m\fR @@ -103,9 +103,9 @@ entry will be created if there were none\&. .RS 4 The name or numerical ID of the user\*(Aqs new primary group\&. The group must exist\&. .sp -Jede Datei im Home\-Verzeichnis des Benutzers, die der alten Hauptgruppe des Benutzers geh\(:orte, wird dieser neuen Gruppe geh\(:oren\&. +Im pers\(:onlichen Verzeichnis des Benutzers werden alle Dateien, die der alten prim\(:aren Gruppe zugeordnet waren, auf diese Gruppe \(:ubertragen\&. .sp -Die Gruppenzugeh\(:origkeit von Dateien au\(sserhalb des Home\-Verzeichnisses des Benutzers muss per Hand angepasst werden\&. +Die Gruppenzugeh\(:origkeit von Dateien au\(sserhalb des pers\(:onlichen Verzeichnisses des Benutzers muss per Hand angepasst werden\&. .sp The change of the group ownership of files inside of the user\*(Aqs 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 /\&. @@ -212,9 +212,9 @@ This value must be unique, unless the \fB\-o\fR option is used\&. The value must be non\-negative\&. .sp -F\(:ur die Mailbox des Benutzers und alle Dateien, die ihm geh\(:oren und sich in seinem Home\-Verzeichnis befinden, wird die ID des Eigent\(:umers automatisch angepasst\&. +F\(:ur das Postfach des Benutzers und alle Dateien, die ihm geh\(:oren und sich in seinem pers\(:onlichen Verzeichnis befinden, wird die Eigent\(:umerkennung automatisch angepasst\&. .sp -Der Eigent\(:umer von Dateien au\(sserhalb des Home\-Verzeichnisses des Benutzers muss per Hand angepasst werden\&. +Der Eigent\(:umer von Dateien au\(sserhalb des pers\(:onlichen Verzeichnisses des Benutzers muss per Hand angepasst werden\&. .sp The change of the user ownership of files inside of the user\*(Aqs 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 /\&. @@ -246,7 +246,7 @@ value from .PP \fB\-v\fR, \fB\-\-add\-subuids\fR\ \&\fIFIRST\fR\-\fILAST\fR .RS 4 -Add a range of subordinate uids to the user\*(Aqs account\&. +f\(:ugt dem Konto des Benutzers einen Bereich untergeordneter Benutzerkennungen zu\&. .sp This option may be specified multiple times to add multiple ranges to a user\*(Aqs account\&. .sp @@ -259,7 +259,7 @@ from /etc/login\&.defs\&. .PP \fB\-V\fR, \fB\-\-del\-subuids\fR\ \&\fIFIRST\fR\-\fILAST\fR .RS 4 -Remove a range of subordinate uids from the user\*(Aqs account\&. +entfernt aus dem Benutzerkonto einen Bereich untergeordneter Benutzerkennungen\&. .sp This option may be specified multiple times to remove multiple ranges to a user\*(Aqs account\&. When both \fB\-\-del\-subuids\fR @@ -276,7 +276,7 @@ from /etc/login\&.defs\&. .PP \fB\-w\fR, \fB\-\-add\-subgids\fR\ \&\fIFIRST\fR\-\fILAST\fR .RS 4 -Add a range of subordinate gids to the user\*(Aqs account\&. +f\(:ugt dem Benutzerkonto einen Bereich untergeordneter Gruppenkennungen zu\&. .sp This option may be specified multiple times to add multiple ranges to a user\*(Aqs account\&. .sp @@ -289,7 +289,7 @@ from /etc/login\&.defs\&. .PP \fB\-W\fR, \fB\-\-del\-subgids\fR\ \&\fIFIRST\fR\-\fILAST\fR .RS 4 -Remove a range of subordinate gids from the user\*(Aqs account\&. +entfernt einen Bereich untergeordneter Gruppenkennungen aus dem Benutzerkonto\&. .sp This option may be specified multiple times to remove multiple ranges to a user\*(Aqs account\&. When both \fB\-\-del\-subgids\fR @@ -309,6 +309,18 @@ from /etc/login\&.defs\&. defines the SELinux user to be mapped with \fILOGIN\fR\&. An empty string ("") will remove the respective entry (if any)\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses semanage(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SH "WARNUNGEN" .PP You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. @@ -321,7 +333,7 @@ files or \fBat\fR jobs manually\&. .PP -Sie m\(:ussen alle \(:Anderung in Bezug auf NIS auf dem NIS\-Server vornehmen\&. +Sie m\(:ussen alle \(:Anderungen, an welchen NIS beteiligt ist, auf dem NIS\-Server vornehmen\&. .SH "KONFIGURATION" .PP The following configuration variables in @@ -336,7 +348,7 @@ Group account information .PP /etc/gshadow .RS 4 -Secure group account informatio\&. +Secure group account information .RE .PP /etc/login\&.defs diff --git a/man/de/man8/vipw.8 b/man/de/man8/vipw.8 index cbdf0e0f..94923e27 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: 08.11.2022 -.\" Manual: Befehle zur Systemverwaltung -.\" Source: shadow-utils 4.13 +.\" Date: 23.03.2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: German .\" -.TH "VIPW" "8" "08.11.2022" "shadow\-utils 4\&.13" "Befehle zur Systemverwaltung" +.TH "VIPW" "8" "23.03.2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,19 +28,19 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" -vipw, vigr \- bearbeitet die Passwort\-, Gruppen\-, Shadow\-Passwort\- oder Shadow\-Gruppen\-Datei +vipw, vigr \- bearbeitet die Passwort\- und die Gruppendatei in den ungesch\(:utzten und gesch\(:utzen Versionen .SH "\(:UBERSICHT" .HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIOptionen\fR] +\fBvipw\fR [\fIoptions\fR] .HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIOptionen\fR] +\fBvigr\fR [\fIoptions\fR] .SH "BESCHREIBUNG" .PP The \fBvipw\fR and \fBvigr\fR -commands edits the files +commands edit the files /etc/passwd and /etc/group, respectively\&. With the @@ -62,17 +62,17 @@ commands are: .PP \fB\-g\fR, \fB\-\-group\fR .RS 4 -bearbeitet die Gruppendatenbank +bearbeitet die Daten bez\(:uglich Gruppen\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 -zeigt die Hilfe an und beendet das Programm +zeigt die Hilfe an und beendet das Programm\&. .RE .PP \fB\-p\fR, \fB\-\-passwd\fR .RS 4 -bearbeitet die Passwd\-Datenbank +bearbeitet die Daten bez\(:uglich Benutzern\&. .RE .PP \fB\-q\fR, \fB\-\-quiet\fR @@ -91,13 +91,13 @@ directory\&. Only absolute paths are supported\&. .PP \fB\-s\fR, \fB\-\-shadow\fR .RS 4 -bearbeitet die Shadow\- oder Gshadow\-Datenbank +bearbeitet die gesch\(:utzten Dateiversionen\&. .RE .SH "UMGEBUNGSVARIABLEN" .PP \fBVISUAL\fR .RS 4 -der verwendete Editor +der zu verwendende Editor .RE .PP \fBEDITOR\fR @@ -115,7 +115,7 @@ Informationen zu den Gruppenkonten .PP /etc/gshadow .RS 4 -sichere Informationen zu den Gruppenkonten +gesch\(:utzte Informationen zu den Gruppenkonten .RE .PP /etc/passwd @@ -125,7 +125,7 @@ Informationen zu den Benutzerkonten .PP /etc/shadow .RS 4 -verschl\(:usselte Informationen zu den Benutzerkonten +gesch\(:utzte Informationen zu den Benutzerkonten .RE .SH "SIEHE AUCH" .PP diff --git a/man/es/Makefile.in b/man/es/Makefile.in index 268739b5..19daaecd 100644 --- a/man/es/Makefile.in +++ b/man/es/Makefile.in @@ -138,6 +138,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -171,9 +173,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -189,6 +197,7 @@ 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@ @@ -197,6 +206,8 @@ 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@ @@ -219,6 +230,9 @@ 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@ diff --git a/man/fi/Makefile.in b/man/fi/Makefile.in index e8ffeccf..c62e9080 100644 --- a/man/fi/Makefile.in +++ b/man/fi/Makefile.in @@ -169,6 +169,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -202,9 +204,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -220,6 +228,7 @@ 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@ @@ -228,6 +237,8 @@ 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@ @@ -250,6 +261,9 @@ 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@ diff --git a/man/fr/Makefile.am b/man/fr/Makefile.am index 230d2126..335e0298 100644 --- a/man/fr/Makefile.am +++ b/man/fr/Makefile.am @@ -21,7 +21,6 @@ man_MANS = \ man8/grpconv.8 \ man8/grpunconv.8 \ man5/gshadow.5 \ - man8/lastlog.8 \ man1/login.1 \ man5/login.defs.5 \ man8/logoutd.8 \ @@ -44,6 +43,10 @@ man_MANS = \ man8/vigr.8 \ man8/vipw.8 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + man_nopam = \ man5/limits.5 \ man5/login.access.5 \ diff --git a/man/fr/Makefile.in b/man/fr/Makefile.in index fb0cf81b..20bc80e6 100644 --- a/man/fr/Makefile.in +++ b/man/fr/Makefile.in @@ -87,10 +87,11 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@ENABLE_SUBIDS_TRUE@am__append_2 = $(man_subids) -@USE_PAM_TRUE@am__append_3 = $(man_nopam) -@ENABLE_SUBIDS_FALSE@am__append_4 = $(man_subids) +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 +@USE_PAM_FALSE@am__append_2 = $(man_nopam) +@ENABLE_SUBIDS_TRUE@am__append_3 = $(man_subids) +@USE_PAM_TRUE@am__append_4 = $(man_nopam) +@ENABLE_SUBIDS_FALSE@am__append_5 = $(man_subids) subdir = man/fr ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -178,6 +179,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -211,9 +214,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -229,6 +238,7 @@ 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@ @@ -237,6 +247,8 @@ 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@ @@ -259,6 +271,9 @@ 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@ @@ -334,13 +349,13 @@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) $(am__append_2) + man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ + man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ + man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ + man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ + man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ + man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ + $(am__append_1) $(am__append_2) $(am__append_3) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ @@ -352,9 +367,11 @@ man_subids = \ man5/subgid.5 \ man5/subuid.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) \ - $(am__append_4) +EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_4) \ + $(am__append_5) LANG = $(notdir $(CURDIR)) +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam @ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow @@ -363,8 +380,15 @@ LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_FALSE@BCRYPT_COND = no_bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_TRUE@BCRYPT_COND = bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_FALSE@YESCRYPT_COND = no_yescrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_TRUE@YESCRYPT_COND = yescrypt @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids +@ENABLE_LASTLOG_FALSE@@ENABLE_REGENERATE_MAN_TRUE@LASTLOG_COND = no_lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@LASTLOG_COND = lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@LASTLOG_COND = no_lastlog CLEANFILES = messages.mo login.defs.d $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml all: all-am @@ -748,10 +772,10 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ @ENABLE_REGENERATE_MAN_TRUE@messages.mo: ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ msgfmt ../po/$(LANG).po -o messages.mo +@ENABLE_REGENERATE_MAN_TRUE@ msgfmt $< -o messages.mo @ENABLE_REGENERATE_MAN_TRUE@login.defs.d: -@ENABLE_REGENERATE_MAN_TRUE@ ln -sf ../login.defs.d login.defs.d +@ENABLE_REGENERATE_MAN_TRUE@ ln -sf $(srcdir)/../login.defs.d login.defs.d @ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml messages.mo login.defs.d @ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $< ; then \ @@ -759,7 +783,7 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ else \ @ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ @ENABLE_REGENERATE_MAN_TRUE@ fi -@ENABLE_REGENERATE_MAN_TRUE@ itstool -d -l $(LANG) -m messages.mo -o . $@ +@ENABLE_REGENERATE_MAN_TRUE@ itstool -i $(srcdir)/../its.rules -d -l $(LANG) -m messages.mo -o . $@ @ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ @ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml @@ -770,11 +794,13 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ fi @ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(BCRYPT_COND);$(YESCRYPT_COND);$(SUBIDS_COND);$(VENDORDIR_COND);$(LASTLOG_COND)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ @ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ +@ENABLE_REGENERATE_MAN_TRUE@ --stringparam vendordir "$(VENDORDIR)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< +@ENABLE_REGENERATE_MAN_TRUE@ --path "$(srcdir)/login.defs.d" \ +@ENABLE_REGENERATE_MAN_TRUE@ -nonet $(top_srcdir)/man/shadow-man.xsl $< @ENABLE_REGENERATE_MAN_TRUE@clean-local: @ENABLE_REGENERATE_MAN_TRUE@ rm -rf man1 man3 man5 man8 diff --git a/man/fr/man1/chage.1 b/man/fr/man1/chage.1 index d802a800..f104966c 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "CHAGE" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "CHAGE" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -136,6 +136,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR .RS 4 Set the number of days of warning before a password change is required\&. The diff --git a/man/fr/man1/chfn.1 b/man/fr/man1/chfn.1 index db9a90cb..426deca3 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "CHFN" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "CHFN" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/chsh.1 b/man/fr/man1/chsh.1 index 7b2febde..042abfb6 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "CHSH" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "CHSH" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -77,6 +77,12 @@ The only restriction placed on the login shell is that the command name must be 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\&. +.PP +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\&. .SH "CONFIGURATION" .PP The following configuration variables in diff --git a/man/fr/man1/expiry.1 b/man/fr/man1/expiry.1 index c2e1506d..175fc0fb 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "EXPIRY" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "EXPIRY" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/gpasswd.1 b/man/fr/man1/gpasswd.1 index 2aa65f37..756655da 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "GPASSWD" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "GPASSWD" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ gpasswd \- administer /etc/group and /etc/gshadow .SH "SYNOPSIS" .HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fIoption\fR] \fIgroupe\fR +\fBgpasswd\fR [\fIoption\fR] \fIgroup\fR .SH "DESCRIPTION" .PP The diff --git a/man/fr/man1/groups.1 b/man/fr/man1/groups.1 index 8fd15f6f..dfadceab 100644 --- a/man/fr/man1/groups.1 +++ b/man/fr/man1/groups.1 @@ -2,12 +2,12 @@ .\" Title: groups .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "GROUPS" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "GROUPS" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groups \- Afficher la liste des groupes auxquels appartient l\*(Aqutilisateur .SH "SYNOPSIS" .HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIutilisateur\fR] +\fBgroups\fR [\fIuser\fR] .SH "DESCRIPTION" .PP The diff --git a/man/fr/man1/id.1 b/man/fr/man1/id.1 index 299c7493..418d71fc 100644 --- a/man/fr/man1/id.1 +++ b/man/fr/man1/id.1 @@ -2,12 +2,12 @@ .\" Title: id .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "ID" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "ID" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/login.1 b/man/fr/man1/login.1 index 99d5a5cd..6e5d6845 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "LOGIN" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "LOGIN" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,9 +31,9 @@ login \- D\('emarrer une session sur le syst\(`eme .SH "SYNOPSIS" .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fInom_utilisateur\fR] [\fIENV=VAR\fR...] +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fIusername\fR] [\fIENV=VAR\fR...] .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fInom_utilisateur\fR +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fIusername\fR .HP \w'\fBlogin\fR\ 'u \fBlogin\fR [\-p] \-r\ \fIhost\fR .SH "DESCRIPTION" diff --git a/man/fr/man1/newgidmap.1 b/man/fr/man1/newgidmap.1 index f4558689..03f3bd6d 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "NEWGIDMAP" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "NEWGIDMAP" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -74,6 +74,16 @@ before setting /proc/[pid]/gid_map\&. .PP Note that newgidmap may be used only once for a given process\&. +.PP +Instead of an integer process id, the first argument may be specified as +\fIfd:N\fR, where the integer N is the file descriptor number for the calling process\*(Aqs opened file for +/proc/[pid[\&. In this case, +\fBnewgidmap\fR +will use +openat(2) +to open the +gid_map +file under that directory, avoiding a TOCTTOU in case the process exits and the pid is immediately reused\&. .SH "OPTIONS" .PP There currently are no options to the diff --git a/man/fr/man1/newgrp.1 b/man/fr/man1/newgrp.1 index df5a91ef..592a499f 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "NEWGRP" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "NEWGRP" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ newgrp \- se connecter avec un nouveau groupe .SH "SYNOPSIS" .HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIgroupe\fR] +\fBnewgrp\fR [\-] [\fIgroup\fR] .SH "DESCRIPTION" .PP The diff --git a/man/fr/man1/newuidmap.1 b/man/fr/man1/newuidmap.1 index 53dedce4..9d83a1fe 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "NEWUIDMAP" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "NEWUIDMAP" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -74,6 +74,16 @@ before setting /proc/[pid]/uid_map\&. .PP Note that newuidmap may be used only once for a given process\&. +.PP +Instead of an integer process id, the first argument may be specified as +\fIfd:N\fR, where the integer N is the file descriptor number for the calling process\*(Aqs opened file for +/proc/[pid[\&. In this case, +\fBnewuidmap\fR +will use +openat(2) +to open the +uid_map +file under that directory, avoiding a TOCTTOU in case the process exits and the pid is immediately reused\&. .SH "OPTIONS" .PP There currently are no options to the diff --git a/man/fr/man1/passwd.1 b/man/fr/man1/passwd.1 index 6aad0b76..1fe6ba39 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "PASSWD" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "PASSWD" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -49,44 +49,9 @@ 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\&. .PP -La complexit\('e de ce mot de passe est alors test\('ee\&. Comme ligne de conduite g\('en\('erale, un mot de passe doit toujours \(^etre constitu\('e de 6 \(`a 8 caract\(`eres en en choisissant un ou plus parmi chacun des ensembles suivants\ \&: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -caract\(`eres alphab\('etiques minuscules -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -chiffres de 0 \(`a 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -marques de ponctuation -.RE -.PP -Care must be taken not to include the system default erase or kill characters\&. +Then, the password is tested for complexity\&. \fBpasswd\fR -will reject any password which is not suitably complex\&. +will reject any password which is not suitably complex\&. Care must be taken not to 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 @@ -96,6 +61,8 @@ System encryption method is based on the NBS DES algorithm\&. More recent method .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\&. .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 Vous pouvez trouver des conseils sur la fa\(,con de choisir un mot de passe robuste sur http://en\&.wikipedia\&.org/wiki/Password_strength (en anglais)\&. .SH "OPTIONS" .PP @@ -175,6 +142,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-S\fR, \fB\-\-status\fR .RS 4 Afficher l\*(Aq\('etat d\*(Aqun compte\&. Cet \('etat est constitu\('e de 7 champs\&. Le premier champ est le nom du compte\&. Le second champ indique si le mot de passe est bloqu\('e (L), n\*(Aqa pas de mot de passe (NP) ou a un mot de passe utilisable (P)\&. Le troisi\(`eme champ donne la date de derni\(`ere modification du mot de passe\&. Les quatre champs suivants sont\ \&: la dur\('ee minimum avant modification, la dur\('ee maximum de validit\('e, la dur\('ee d\*(Aqavertissement, et la dur\('ee d\*(Aqinactivit\('e autoris\('ee pour le mot de passe\&. Les dur\('ees sont exprim\('ees en jours\&. @@ -205,6 +178,11 @@ as \fIMAX_DAYS\fR will remove checking a password\*(Aqs validity\&. .RE +.PP +\fB\-s\fR, \fB\-\-stdin\fR +.RS 4 +This option is used to indicate that passwd should read the new password from standard input, which can be a pipe\&. +.RE .SH "AVERTISSEMENTS" .PP La v\('erification de la complexit\('e des mots de passe peut varier d\*(Aqun site \(`a l\*(Aqautre\&. Il est vivement conseill\('e aux utilisateurs de choisir un mot de passe aussi complexe que possible dans la limite de ce qu\*(Aqil est capable de m\('emoriser\&. @@ -277,7 +255,10 @@ invalid argument to option .SH "VOIR AUSSI" .PP \fBchpasswd\fR(8), +\fBmakepasswd\fR(1), \fBpasswd\fR(5), \fBshadow\fR(5), \fBlogin.defs\fR(5), \fBusermod\fR(8)\&. +.PP +The following web page comically (yet correctly) compares the strength of two different methods for choosing a password: "https://xkcd\&.com/936/" diff --git a/man/fr/man1/sg.1 b/man/fr/man1/sg.1 index df41480c..57841b4b 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "SG" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "SG" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man1/su.1 b/man/fr/man1/su.1 index ac2f8eef..3f5df6b3 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: 08/11/2022 -.\" Manual: Commandes utilisateur -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "SU" "1" "08/11/2022" "shadow\-utils 4\&.13" "Commandes utilisateur" +.TH "SU" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ su \- Changer d\*(Aqidentifiant d\*(Aqutilisateur ou devenir superutilisateur .SH "SYNOPSIS" .HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fIoptions\fR] [\fI\-\fR] [\fInom_utilisateur\fR\ [\ \fIargs\fR\ ]] +\fBsu\fR [\fIoptions\fR] [\fI\-\fR] [\fIusername\fR\ [\ \fIargs\fR\ ]] .SH "DESCRIPTION" .PP The diff --git a/man/fr/man3/shadow.3 b/man/fr/man3/shadow.3 index d2e598c4..a72804cc 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: 08/11/2022 -.\" Manual: Appels de biblioth\(`eque -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: Library Calls +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "SHADOW" "3" "08/11/2022" "shadow\-utils 4\&.13" "Appels de biblioth\(`eque" +.TH "SHADOW" "3" "23/03/2024" "shadow\-utils 4\&.15\&.1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -36,7 +36,7 @@ shadow, getspnam \- routines d\*(Aqutilisation des mots de passe cach\('es \fIstruct spwd *getspent();\fR .PP \fIstruct spwd *getspnam(char\fR -\fI*nom\fR\fI);\fR +\fI*name\fR\fI);\fR .PP \fIvoid setspent();\fR .PP @@ -50,7 +50,7 @@ shadow, getspnam \- routines d\*(Aqutilisation des mots de passe cach\('es .PP \fIint putspent(struct spwd\fR \fI*p,\fR -\fIFICHIER\fR +\fIFILE\fR \fI*fp\fR\fI);\fR .PP \fIint lckpwdf();\fR diff --git a/man/fr/man5/faillog.5 b/man/fr/man5/faillog.5 index 81548d06..ef34834b 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "FAILLOG" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuratio" +.TH "FAILLOG" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/gshadow.5 b/man/fr/man5/gshadow.5 index 0a394932..3b76ee4f 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "GSHADOW" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "GSHADOW" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,12 +38,12 @@ Ce fichier ne doit pas \(^etre accessible en lecture par les utilisateurs normau .PP Chaque ligne de ce fichier contient les champs suivants, s\('epar\('es par des deux\-points (\(Fo\ \&:\ \&\(Fc)\ \&: .PP -\fBnom du groupe\fR +\fBgroup name\fR .RS 4 Ce doit \(^etre un nom de groupe valable, qui existe sur le syst\(`eme\&. .RE .PP -\fBmot de passe chiffr\('e\fR +\fBencrypted password\fR .RS 4 Refer to \fBcrypt\fR(3) @@ -63,7 +63,7 @@ This password supersedes any password specified in /etc/group\&. .RE .PP -\fBadministrateurs\fR +\fBadministrators\fR .RS 4 Ce champ doit \(^etre une liste d\*(Aqutilisateurs, s\('epar\('es par des virgules\&. .sp @@ -72,7 +72,7 @@ Les administrateurs peuvent modifier le mot de passe ou les membres du groupe\&. Les administrateurs peuvent aussi avoir les m\(^emes permissions que les membres (voir ci\-dessous)\&. .RE .PP -\fBmembres\fR +\fBmembers\fR .RS 4 Ce champ doit \(^etre une liste d\*(Aqutilisateurs, s\('epar\('es par des virgules\&. .sp diff --git a/man/fr/man5/limits.5 b/man/fr/man5/limits.5 index 45ad0fb9..cdb61977 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "LIMITS" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LIMITS" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -41,11 +41,11 @@ Par d\('efaut, aucun quota (aucune limite) n\*(Aqest impos\('e \(`a \(Fo\ \&root .PP Chaque ligne d\('ecrit une limite pour un utilisateur, elle est de la forme suivante\ \&: .PP -\fIutilisateur LISTE_DE_LIMITES\fR +\fIuser LIMITS_STRING\fR .PP ou sous la forme\ \&: .PP -\fI@groupe LISTE_DE_LIMITES\fR +\fI@group LIMITS_STRING\fR .PP The \fILIMITS_STRING\fR diff --git a/man/fr/man5/login.access.5 b/man/fr/man5/login.access.5 index 42ee60b6..90b2e9ef 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "LOGIN\&.ACCESS" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "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 7b2424a6..36945102 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "LOGIN\&.DEFS" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -192,8 +192,7 @@ USERGROUPS_ENAB .PP sulogin .RS 4 -ENV_HZ -ENV_TZ +ENV_HZ ENV_TZ .RE .PP useradd diff --git a/man/fr/man5/passwd.5 b/man/fr/man5/passwd.5 index 989d0924..162ee091 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "PASSWD" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PASSWD" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/porttime.5 b/man/fr/man5/porttime.5 index b392067a..6f488c25 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "PORTTIME" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PORTTIME" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/shadow.5 b/man/fr/man5/shadow.5 index c482e8a6..171e25d0 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "SHADOW" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SHADOW" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,12 +38,12 @@ Ce fichier ne doit pas \(^etre accessible en lecture par les utilisateurs normau .PP Each line of this file contains 9 fields, separated by colons (\(Fo\ \&:\ \&\(Fc), in the following order: .PP -\fBnom de connexion de l\*(Aqutilisateur (\(Fo\ \&login\ \&\(Fc)\fR +\fBlogin name\fR .RS 4 Ce doit \(^etre un nom de compte valable, qui existe sur le syst\(`eme\&. .RE .PP -\fBmot de passe chiffr\('e\fR +\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 /etc/shadow @@ -59,7 +59,7 @@ 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)\&. .RE .PP -\fBdate du dernier changement de mot de passe\fR +\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\&. .sp @@ -68,14 +68,14 @@ La valeur 0 a une signification particuli\(`ere\ \&: l\*(Aqutilisateur devra cha Un champ vide indique que les fonctionnalit\('es de vieillissement de mot de passe sont d\('esactiv\('ees\&. .RE .PP -\fB\(^age minimum du mot de passe\fR +\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\&. .sp An empty field and value 0 mean that there is no minimum password age\&. .RE .PP -\fB\(^age maximum du mot de passe\fR +\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\&. .sp @@ -86,14 +86,14 @@ Un champ vide signifie qu\*(Aqil n\*(Aqy a pour le mot de passe aucune limite d\ Si l\*(Aq\(^age maximum du mot de passe est plus petit que l\*(Aq\(^age minimum du mot de passe, l\*(Aqutilisateur ne pourra pas changer son mot de passe\&. .RE .PP -\fBp\('eriode d\*(Aqavertissement d\*(Aqexpiration du mot de passe\fR +\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)\&. .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\&. .RE .PP -\fBp\('eriode d\*(Aqinactivit\('e du mot de passe\fR +\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\&. .sp @@ -102,7 +102,7 @@ After expiration of the password and this expiration period is elapsed, no login Un champ vide signifie qu\*(Aqaucune p\('eriode d\*(Aqinactivit\('e n\*(Aqest impos\('ee\&. .RE .PP -\fBdate de fin de validit\('e du compte\fR +\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\&. .sp @@ -113,7 +113,7 @@ Un champ vide signifie que le compte n\*(Aqexpirera jamais\&. 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\&. .RE .PP -\fBchamp r\('eserv\('e\fR +\fBreserved field\fR .RS 4 Ce champ est r\('eserv\('e pour une utilisation future\&. .RE diff --git a/man/fr/man5/suauth.5 b/man/fr/man5/suauth.5 index f9f3261a..b775bcf1 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "SUAUTH" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SUAUTH" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/subgid.5 b/man/fr/man5/subgid.5 index e564095b..0402e6b2 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "SUBGID" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SUBGID" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man5/subuid.5 b/man/fr/man5/subuid.5 index c5c6387d..ba33af3f 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "SUBUID" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SUBUID" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -112,7 +112,7 @@ Backup file for /etc/subuid\&. \fBlogin.defs\fR(5), \fBnewgidmap\fR(1), \fBnewuidmap\fR(1), -\fBnewusers\fR(1), +\fBnewusers\fR(8), \fBsubgid\fR(5), \fBuseradd\fR(8), \fBuserdel\fR(8), diff --git a/man/fr/man8/chgpasswd.8 b/man/fr/man8/chgpasswd.8 index 5fd05f0b..73714e16 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "CHGPASSWD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "CHGPASSWD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -63,7 +63,12 @@ command are: .RS 4 Utiliser la m\('ethode pr\('ecis\('ee pour chiffrer les mots de passe\&. .sp -Les m\('ethodes disponibles sont DES, MD5, NONE et SHA256 ou SHA512 si votre libc prend en charge ces m\('ethodes\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .RE .PP \fB\-e\fR, \fB\-\-encrypted\fR @@ -94,14 +99,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 Utiliser le nombre de rounds pr\('ecis\('e pour chiffrer les mots de passe\&. .sp -La valeur 0 signifie que le syst\(`eme choisira la valeur par d\('efaut du nombre de rounds pour la m\('ethode de chiffrement (5\ \&000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Une valeur minimale de 1\ \&000 et une valeur maximale de 999\ \&999\ \&999 seront impos\('ees\&. -.sp -Vous ne pouvez utiliser cette m\('ethode qu\*(Aqavec les m\('ethodes de chiffrement SHA256 ou SHA512\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "AVERTISSEMENTS" .PP diff --git a/man/fr/man8/chpasswd.8 b/man/fr/man8/chpasswd.8 index b31a73b6..4f849494 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "CHPASSWD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "CHPASSWD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -68,7 +68,12 @@ command are: .RS 4 Utiliser la m\('ethode pr\('ecis\('ee pour chiffrer les mots de passe\&. .sp -Les m\('ethodes disponibles sont DES, MD5, NONE et SHA256 ou SHA512 si votre libc prend en charge ces m\('ethodes\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .sp By default (if none of the \fB\-c\fR, @@ -106,22 +111,23 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIROUNDS\fR .RS 4 Utiliser le nombre de rounds pr\('ecis\('e pour chiffrer les mots de passe\&. .sp -La valeur 0 signifie que le syst\(`eme choisira la valeur par d\('efaut du nombre de rounds pour la m\('ethode de chiffrement (5\ \&000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Une valeur minimale de 1\ \&000 et une valeur maximale de 999\ \&999\ \&999 seront impos\('ees\&. -.sp -Vous ne pouvez utiliser cette m\('ethode qu\*(Aqavec les m\('ethodes de chiffrement SHA256 ou SHA512\&. -.sp -By default, the number of rounds is defined by the -\fBSHA_CRYPT_MIN_ROUNDS\fR -and -\fBSHA_CRYPT_MAX_ROUNDS\fR -variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "AVERTISSEMENTS" .PP diff --git a/man/fr/man8/faillog.8 b/man/fr/man8/faillog.8 index a558b3b1..91e85070 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "FAILLOG" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "FAILLOG" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/groupadd.8 b/man/fr/man8/groupadd.8 index b1d08169..247c8727 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "GROUPADD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "GROUPADD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/groupdel.8 b/man/fr/man8/groupdel.8 index 40cb607b..3adb9538 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "GROUPDEL" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "GROUPDEL" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupdel \- Supprimer un groupe .SH "SYNOPSIS" .HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIoptions\fR] \fIGROUPE\fR +\fBgroupdel\fR [\fIoptions\fR] \fIGROUP\fR .SH "DESCRIPTION" .PP The diff --git a/man/fr/man8/groupmems.8 b/man/fr/man8/groupmems.8 index b02ff161..ee468ab5 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "GROUPMEMS" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "GROUPMEMS" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -130,7 +130,7 @@ utility to manage their own group membership list\&. .nf $ groupadd \-r groups $ chmod 2710 groupmems - $ chown root\&.groups groupmems + $ chown root:groups groupmems $ groupmems \-g groups \-a gk4 .fi diff --git a/man/fr/man8/groupmod.8 b/man/fr/man8/groupmod.8 index 763b7770..b4c7496d 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "GROUPMOD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "GROUPMOD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupmod \- Modifier la d\('efinition d\*(Aqun groupe du syst\(`eme .SH "SYNOPSIS" .HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIoptions\fR] \fIGROUPE\fR +\fBgroupmod\fR [\fIoptions\fR] \fIGROUP\fR .SH "DESCRIPTION" .PP The diff --git a/man/fr/man8/grpck.8 b/man/fr/man8/grpck.8 index 0bc46ef8..042f5bd2 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "GRPCK" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "GRPCK" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ grpck \- V\('erifier l\*(Aqint\('egrit\('e des fichiers d\*(Aqadministration des groupes .SH "SYNOPSIS" .HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [options] [\fIgroupe\fR\ [\ \fIshadow\fR\ ]] +\fBgrpck\fR [options] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] .SH "DESCRIPTION" .PP The diff --git a/man/fr/man8/lastlog.8 b/man/fr/man8/lastlog.8 index c3059d1f..e9c1fc89 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "LASTLOG" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "LASTLOG" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/logoutd.8 b/man/fr/man8/logoutd.8 index 89caea3b..2e0c89d0 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "LOGOUTD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "LOGOUTD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/newusers.8 b/man/fr/man8/newusers.8 index e71f59c0..e7ba535d 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "NEWUSERS" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "NEWUSERS" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ newusers \- Mettre \(`a jour, ou cr\('eer de nouveaux utilisateurs par lots .SH "SYNOPSIS" .HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fIoptions\fR] [\fIfichier\fR] +\fBnewusers\fR [\fIoptions\fR] [\fIfile\fR] .SH "DESCRIPTION" .PP The @@ -168,14 +168,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 Utiliser le nombre de rounds pr\('ecis\('e pour chiffrer les mots de passe\&. .sp -La valeur 0 signifie que le syst\(`eme choisira la valeur par d\('efaut du nombre de rounds pour la m\('ethode de chiffrement (5\ \&000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Une valeur minimale de 1\ \&000 et une valeur maximale de 999\ \&999\ \&999 seront impos\('ees\&. -.sp -Vous ne pouvez utiliser cette m\('ethode qu\*(Aqavec les m\('ethodes de chiffrement SHA256 ou SHA512\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +A minimal value of 1000 and a maximal value of 999,999,999 will be enforced for SHA256 and SHA512\&. The default is 5000\&. .RE .SH "AVERTISSEMENTS" .PP diff --git a/man/fr/man8/nologin.8 b/man/fr/man8/nologin.8 index 4dbf3c51..39671f52 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "NOLOGIN" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "NOLOGIN" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/pwck.8 b/man/fr/man8/pwck.8 index 64c34736..4d6e056d 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "PWCK" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "PWCK" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/pwconv.8 b/man/fr/man8/pwconv.8 index 8f3760c1..451d3a6d 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "PWCONV" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "PWCONV" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/sulogin.8 b/man/fr/man8/sulogin.8 index b66fc3a6..d86c9c8e 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "SULOGIN" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "SULOGIN" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/useradd.8 b/man/fr/man8/useradd.8 index 0c131ec6..a8f25dfa 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "USERADD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "USERADD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -169,7 +169,11 @@ variable in .RS 4 A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the \fB\-g\fR -option\&. The default is for the user to belong only to the initial group\&. +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 +\fBGROUPS\fR +to the file +/etc/default/useradd +which in turn will add all users to those supplementary groups\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -194,6 +198,10 @@ variable in or, by default, /etc/skel\&. .sp +Absolute symlinks that link back to the skel directory will have the +/etc/skel +prefix replaced with the user\*(Aqs home directory\&. +.sp Si possible, les ACL et les attributs \('etendus seront copi\('es\&. .RE .PP @@ -380,10 +388,22 @@ variable in .PP \fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR .RS 4 -defines the SELinux user for the new account\&. Without this option, a SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses +defines the SELinux user for the new account\&. Without this option, SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses \fBsemanage\fR(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Without this option, SELinux uses the default range\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SS "Modifier les valeurs par d\('efaut" .PP When invoked with only the @@ -469,7 +489,7 @@ Usernames may contain only lower and upper case letters, digits, underscores, or \fBls\fR output\&. .PP -Les noms d\*(Aqutilisateur sont limit\('es \(`a 16 caract\(`eres\&. +Les noms d\*(Aqutilisateur sont limit\('es \(`a 32 caract\(`eres\&. .SH "CONFIGURATION" .PP The following configuration variables in diff --git a/man/fr/man8/userdel.8 b/man/fr/man8/userdel.8 index 663fe6b1..fc21c467 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "USERDEL" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "USERDEL" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/fr/man8/usermod.8 b/man/fr/man8/usermod.8 index f84304df..0db0477e 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "USERMOD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "USERMOD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -309,6 +309,18 @@ from /etc/login\&.defs\&. defines the SELinux user to be mapped with \fILOGIN\fR\&. An empty string ("") will remove the respective entry (if any)\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses semanage(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SH "AVERTISSEMENTS" .PP You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. @@ -336,7 +348,7 @@ Group account information .PP /etc/gshadow .RS 4 -Secure group account informatio\&. +Secure group account information .RE .PP /etc/login\&.defs diff --git a/man/fr/man8/vipw.8 b/man/fr/man8/vipw.8 index 714fd733..f8dcbcc3 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: 08/11/2022 -.\" Manual: Commandes de gestion du syst\(`eme -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: French .\" -.TH "VIPW" "8" "08/11/2022" "shadow\-utils 4\&.13" "Commandes de gestion du syst\(`em" +.TH "VIPW" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ The \fBvipw\fR and \fBvigr\fR -commands edits the files +commands edit the files /etc/passwd and /etc/group, respectively\&. With the diff --git a/man/generate_mans.mak b/man/generate_mans.mak index a0721b85..47f906fe 100644 --- a/man/generate_mans.mak +++ b/man/generate_mans.mak @@ -1,3 +1,8 @@ +if HAVE_VENDORDIR +VENDORDIR_COND=with_vendordir +else +VENDORDIR_COND=without_vendordir +endif if USE_PAM PAM_COND=pam else @@ -20,12 +25,34 @@ else SHA_CRYPT_COND=no_sha_crypt endif +if USE_BCRYPT +BCRYPT_COND=bcrypt +else +BCRYPT_COND=no_bcrypt +endif + +if USE_YESCRYPT +YESCRYPT_COND=yescrypt +else +YESCRYPT_COND=no_yescrypt +endif + if ENABLE_SUBIDS SUBIDS_COND=subids else SUBIDS_COND=no_subids endif +if ENABLE_LASTLOG +if !USE_PAM +LASTLOG_COND=lastlog +else +LASTLOG_COND=no_lastlog +endif +else +LASTLOG_COND=no_lastlog +endif + if ENABLE_REGENERATE_MAN %.xml-config: %.xml if grep -q SHADOW-CONFIG-HERE $<; then \ @@ -35,11 +62,13 @@ if ENABLE_REGENERATE_MAN fi man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml - $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ + $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(BCRYPT_COND);$(YESCRYPT_COND);$(SUBIDS_COND);$(VENDORDIR_COND);$(LASTLOG_COND)" \ --param "man.authors.section.enabled" "0" \ --stringparam "man.output.base.dir" "" \ + --stringparam vendordir "$(VENDORDIR)" \ --param "man.output.in.separate.dir" "1" \ - -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< + --path "$(srcdir)/login.defs.d" \ + -nonet $(top_srcdir)/man/shadow-man.xsl $< clean-local: rm -rf man1 man3 man5 man8 diff --git a/man/generate_translations.mak b/man/generate_translations.mak index eb9ac411..4c3beb9a 100644 --- a/man/generate_translations.mak +++ b/man/generate_translations.mak @@ -6,10 +6,10 @@ config.xml: ../config.xml.in cp ../config.xml $@ messages.mo: ../po/$(LANG).po - msgfmt ../po/$(LANG).po -o messages.mo + msgfmt $< -o messages.mo login.defs.d: - ln -sf ../login.defs.d login.defs.d + ln -sf $(srcdir)/../login.defs.d login.defs.d %.xml: ../%.xml messages.mo login.defs.d if grep -q SHADOW-CONFIG-HERE $< ; then \ @@ -17,7 +17,7 @@ login.defs.d: else \ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ fi - itstool -d -l $(LANG) -m messages.mo -o . $@ + itstool -i $(srcdir)/../its.rules -d -l $(LANG) -m messages.mo -o . $@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ include ../generate_mans.mak diff --git a/man/gpasswd.1.xml b/man/gpasswd.1.xml index e0d9c0db..9b89d915 100644 --- a/man/gpasswd.1.xml +++ b/man/gpasswd.1.xml @@ -6,10 +6,12 @@ --> + ]> diff --git a/man/groupmems.8.xml b/man/groupmems.8.xml index 7d06c8b8..cbc84622 100644 --- a/man/groupmems.8.xml +++ b/man/groupmems.8.xml @@ -167,7 +167,7 @@ $ groupadd -r groups $ chmod 2710 groupmems - $ chown root.groups groupmems + $ chown root:groups groupmems $ groupmems -g groups -a gk4 diff --git a/man/hu/Makefile.am b/man/hu/Makefile.am index e659aef1..205bb0a8 100644 --- a/man/hu/Makefile.am +++ b/man/hu/Makefile.am @@ -5,7 +5,6 @@ man_MANS = \ man1/chsh.1 \ man1/gpasswd.1 \ man1/groups.1 \ - man8/lastlog.8 \ man1/login.1 \ man1/newgrp.1 \ man1/passwd.1 \ @@ -13,5 +12,9 @@ man_MANS = \ man1/sg.1 \ man1/su.1 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + EXTRA_DIST = $(man_MANS) diff --git a/man/hu/Makefile.in b/man/hu/Makefile.in index 6785ad35..3ebe22bd 100644 --- a/man/hu/Makefile.in +++ b/man/hu/Makefile.in @@ -87,6 +87,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 subdir = man/hu ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -172,6 +173,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -205,9 +208,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -223,6 +232,7 @@ 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@ @@ -231,6 +241,8 @@ 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@ @@ -253,6 +265,9 @@ 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@ @@ -324,18 +339,9 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -man_MANS = \ - man1/chsh.1 \ - man1/gpasswd.1 \ - man1/groups.1 \ - man8/lastlog.8 \ - man1/login.1 \ - man1/newgrp.1 \ - man1/passwd.1 \ - man5/passwd.5 \ - man1/sg.1 \ - man1/su.1 - +man_MANS = man1/chsh.1 man1/gpasswd.1 man1/groups.1 man1/login.1 \ + man1/newgrp.1 man1/passwd.1 man5/passwd.5 man1/sg.1 man1/su.1 \ + $(am__append_1) EXTRA_DIST = $(man_MANS) all: all-am diff --git a/man/id/Makefile.in b/man/id/Makefile.in index 504ea4b6..2640bd6e 100644 --- a/man/id/Makefile.in +++ b/man/id/Makefile.in @@ -170,6 +170,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -203,9 +205,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -221,6 +229,7 @@ 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@ @@ -229,6 +238,8 @@ 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@ @@ -251,6 +262,9 @@ 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@ diff --git a/man/it/Makefile.am b/man/it/Makefile.am index 94460aac..b76187fa 100644 --- a/man/it/Makefile.am +++ b/man/it/Makefile.am @@ -21,7 +21,6 @@ man_MANS = \ man8/grpconv.8 \ man8/grpunconv.8 \ man5/gshadow.5 \ - man8/lastlog.8 \ man1/login.1 \ man5/login.defs.5 \ man8/logoutd.8 \ @@ -44,6 +43,10 @@ man_MANS = \ man8/vigr.8 \ man8/vipw.8 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + man_nopam = \ man5/limits.5 \ man5/login.access.5 \ diff --git a/man/it/Makefile.in b/man/it/Makefile.in index 46f6a421..0befe2e1 100644 --- a/man/it/Makefile.in +++ b/man/it/Makefile.in @@ -87,8 +87,9 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 +@USE_PAM_FALSE@am__append_2 = $(man_nopam) +@USE_PAM_TRUE@am__append_3 = $(man_nopam) subdir = man/it ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -176,6 +177,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -209,9 +212,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -227,6 +236,7 @@ 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@ @@ -235,6 +245,8 @@ 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@ @@ -257,6 +269,9 @@ 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@ @@ -332,20 +347,22 @@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) + man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ + man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ + man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ + man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ + man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ + man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ + $(am__append_1) $(am__append_2) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_2) +EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) LANG = $(notdir $(CURDIR)) +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam @ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow @@ -354,8 +371,15 @@ LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_FALSE@BCRYPT_COND = no_bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_TRUE@BCRYPT_COND = bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_FALSE@YESCRYPT_COND = no_yescrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_TRUE@YESCRYPT_COND = yescrypt @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids +@ENABLE_LASTLOG_FALSE@@ENABLE_REGENERATE_MAN_TRUE@LASTLOG_COND = no_lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@LASTLOG_COND = lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@LASTLOG_COND = no_lastlog CLEANFILES = messages.mo login.defs.d $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml all: all-am @@ -739,10 +763,10 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ @ENABLE_REGENERATE_MAN_TRUE@messages.mo: ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ msgfmt ../po/$(LANG).po -o messages.mo +@ENABLE_REGENERATE_MAN_TRUE@ msgfmt $< -o messages.mo @ENABLE_REGENERATE_MAN_TRUE@login.defs.d: -@ENABLE_REGENERATE_MAN_TRUE@ ln -sf ../login.defs.d login.defs.d +@ENABLE_REGENERATE_MAN_TRUE@ ln -sf $(srcdir)/../login.defs.d login.defs.d @ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml messages.mo login.defs.d @ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $< ; then \ @@ -750,7 +774,7 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ else \ @ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ @ENABLE_REGENERATE_MAN_TRUE@ fi -@ENABLE_REGENERATE_MAN_TRUE@ itstool -d -l $(LANG) -m messages.mo -o . $@ +@ENABLE_REGENERATE_MAN_TRUE@ itstool -i $(srcdir)/../its.rules -d -l $(LANG) -m messages.mo -o . $@ @ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ @ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml @@ -761,11 +785,13 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ fi @ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(BCRYPT_COND);$(YESCRYPT_COND);$(SUBIDS_COND);$(VENDORDIR_COND);$(LASTLOG_COND)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ @ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ +@ENABLE_REGENERATE_MAN_TRUE@ --stringparam vendordir "$(VENDORDIR)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< +@ENABLE_REGENERATE_MAN_TRUE@ --path "$(srcdir)/login.defs.d" \ +@ENABLE_REGENERATE_MAN_TRUE@ -nonet $(top_srcdir)/man/shadow-man.xsl $< @ENABLE_REGENERATE_MAN_TRUE@clean-local: @ENABLE_REGENERATE_MAN_TRUE@ rm -rf man1 man3 man5 man8 diff --git a/man/it/man1/chage.1 b/man/it/man1/chage.1 index 442048ad..e5f612f2 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: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "CHAGE" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "CHAGE" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chage \- cambia le informazioni sulla scadenza della password .SH "SINOSSI" .HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIopzioni\fR] \fILOGIN\fR +\fBchage\fR [\fIoptions\fR] \fILOGIN\fR .SH "DESCRIZIONE" .PP The @@ -136,6 +136,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR .RS 4 Set the number of days of warning before a password change is required\&. The diff --git a/man/it/man1/chfn.1 b/man/it/man1/chfn.1 index 2fcce5e5..b98c9f3d 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: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "CHFN" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "CHFN" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chfn \- cambia il nome dell\*(Aqutente e altre informazioni .SH "SINOSSI" .HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fIopzioni\fR] [\fILOGIN\fR] +\fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "DESCRIZIONE" .PP The diff --git a/man/it/man1/chsh.1 b/man/it/man1/chsh.1 index 61b0ffe3..0d12e9b7 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: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "CHSH" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "CHSH" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chsh \- cambia la shell di login .SH "SINOSSI" .HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIopzioni\fR] [\fILOGIN\fR] +\fBchsh\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "DESCRIZIONE" .PP The @@ -77,6 +77,12 @@ The only restriction placed on the login shell is that the command name must be 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\&. +.PP +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\&. .SH "CONFIGURAZIONE" .PP The following configuration variables in diff --git a/man/it/man1/expiry.1 b/man/it/man1/expiry.1 index b7922ee4..7523a1f2 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: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "EXPIRY" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "EXPIRY" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ expiry \- controlla e fa rispettare la scadenza della password .SH "SINOSSI" .HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fIopzione\fR +\fBexpiry\fR \fIoption\fR .SH "DESCRIZIONE" .PP The diff --git a/man/it/man1/gpasswd.1 b/man/it/man1/gpasswd.1 index e6d24a92..5a507a15 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: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "GPASSWD" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "GPASSWD" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ gpasswd \- administer /etc/group and /etc/gshadow .SH "SINOSSI" .HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fIopzione\fR] \fIgruppo\fR +\fBgpasswd\fR [\fIoption\fR] \fIgroup\fR .SH "DESCRIZIONE" .PP The diff --git a/man/it/man1/groups.1 b/man/it/man1/groups.1 index 351bd43e..c50d52c4 100644 --- a/man/it/man1/groups.1 +++ b/man/it/man1/groups.1 @@ -2,12 +2,12 @@ .\" Title: groups .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "GROUPS" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "GROUPS" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groups \- mostra i nomi dei gruppi correnti .SH "SINOSSI" .HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIutente\fR] +\fBgroups\fR [\fIuser\fR] .SH "DESCRIZIONE" .PP The diff --git a/man/it/man1/id.1 b/man/it/man1/id.1 index 2e8b950c..848564b9 100644 --- a/man/it/man1/id.1 +++ b/man/it/man1/id.1 @@ -2,12 +2,12 @@ .\" Title: id .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "ID" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "ID" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/login.1 b/man/it/man1/login.1 index b3a0fff3..eedbb738 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: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "LOGIN" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "LOGIN" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,9 +31,9 @@ login \- apre una sessione sul sistema .SH "SINOSSI" .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fInome\fR] [\fIENV=VAR\fR...] +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fIusername\fR] [\fIENV=VAR\fR...] .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fInome\fR +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fIusername\fR .HP \w'\fBlogin\fR\ 'u \fBlogin\fR [\-p] \-r\ \fIhost\fR .SH "DESCRIZIONE" diff --git a/man/it/man1/newgrp.1 b/man/it/man1/newgrp.1 index 45d74896..949e612c 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: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "NEWGRP" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "NEWGRP" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ newgrp \- effettua l\*(Aqaccesso a un nuovo gruppo .SH "SINOSSI" .HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIgruppo\fR] +\fBnewgrp\fR [\-] [\fIgroup\fR] .SH "DESCRIZIONE" .PP The diff --git a/man/it/man1/passwd.1 b/man/it/man1/passwd.1 index 2c7d110d..63665893 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: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "PASSWD" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "PASSWD" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ passwd \- cambia la password utente .SH "SINOSSI" .HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fIopzioni\fR] [\fILOGIN\fR] +\fBpasswd\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "DESCRIZIONE" .PP The @@ -49,44 +49,9 @@ 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\&. .PP -Quindi viene misurata la complessit\(`a della password\&. In linea di massima le password dovrebbero contenere dai 6 agli 8 caratteri, includendovi uno o pi\(`u caratteri da ciascuno dei seguenti insiemi: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -lettere minuscole -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -numeri da 0 a 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -segni di punteggiatura -.RE -.PP -Care must be taken not to include the system default erase or kill characters\&. +Then, the password is tested for complexity\&. \fBpasswd\fR -will reject any password which is not suitably complex\&. +will reject any password which is not suitably complex\&. Care must be taken not to 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 @@ -96,6 +61,8 @@ System encryption method is based on the NBS DES algorithm\&. More recent method .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\&. .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 You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength .SH "OPZIONI" .PP @@ -175,6 +142,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-S\fR, \fB\-\-status\fR .RS 4 Visualizza le informazioni sullo stato di un account\&. Lo stato consiste di 7 campi\&. Il primo campo \(`e il nome dell\*(Aqutente\&. Il secondo campo indica se l\*(Aqaccount ha una password bloccata (L), non ha password (NP) o ha una password valida (P)\&. Il terzo campo contiene la data di ultima modifica della password\&. I successivi quattro campi sono l\*(Aqet\(`a minima, la massima, il periodo di avviso e quello di inattivit\(`a\&. Queste et\(`a sono espresse in giorni\&. @@ -205,6 +178,11 @@ as \fIMAX_DAYS\fR will remove checking a password\*(Aqs validity\&. .RE +.PP +\fB\-s\fR, \fB\-\-stdin\fR +.RS 4 +This option is used to indicate that passwd should read the new password from standard input, which can be a pipe\&. +.RE .SH "AVVISI/CAVEAT" .PP Il controllo della complessit\(`a delle password varia da sistema a sistema\&. All\*(Aqutente \(`e caldamente consigliato si utilizzare una password che ritenga sufficientemente complessa\&. @@ -277,7 +255,10 @@ invalid argument to option .SH "VEDERE ANCHE" .PP \fBchpasswd\fR(8), +\fBmakepasswd\fR(1), \fBpasswd\fR(5), \fBshadow\fR(5), \fBlogin.defs\fR(5), \fBusermod\fR(8)\&. +.PP +The following web page comically (yet correctly) compares the strength of two different methods for choosing a password: "https://xkcd\&.com/936/" diff --git a/man/it/man1/sg.1 b/man/it/man1/sg.1 index 27348bbe..98064d9a 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: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "SG" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "SG" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man1/su.1 b/man/it/man1/su.1 index d259195c..a3c010b3 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: 08/11/2022 -.\" Manual: Comandi utente -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "SU" "1" "08/11/2022" "shadow\-utils 4\&.13" "Comandi utente" +.TH "SU" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ su \- cambia ID utente o diventa amministratore .SH "SINOSSI" .HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fIopzioni\fR] [\fI\-\fR] [\fInome\fR\ [\ \fIargs\fR\ ]] +\fBsu\fR [\fIoptions\fR] [\fI\-\fR] [\fIusername\fR\ [\ \fIargs\fR\ ]] .SH "DESCRIZIONE" .PP The diff --git a/man/it/man3/shadow.3 b/man/it/man3/shadow.3 index 7516107f..5c46fd6f 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: 08/11/2022 -.\" Manual: Chiamate di libreria -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: Library Calls +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "SHADOW" "3" "08/11/2022" "shadow\-utils 4\&.13" "Chiamate di libreria" +.TH "SHADOW" "3" "23/03/2024" "shadow\-utils 4\&.15\&.1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -36,7 +36,7 @@ shadow, getspnam \- routine per file delle password cifrate \fIstruct spwd *getspent();\fR .PP \fIstruct spwd *getspnam(char\fR -\fI*nome\fR\fI);\fR +\fI*name\fR\fI);\fR .PP \fIvoid setspent();\fR .PP diff --git a/man/it/man5/faillog.5 b/man/it/man5/faillog.5 index 3da23529..5b04148e 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "FAILLOG" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuratio" +.TH "FAILLOG" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/gshadow.5 b/man/it/man5/gshadow.5 index a8cf154b..fbfe5e6c 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "GSHADOW" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "GSHADOW" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,12 +38,12 @@ Questo file non deve essere leggibile dagli utenti normali se si vuole mantenere .PP Ogni riga di questo file contiene questi campi separati da due punti: .PP -\fBnome del gruppo\fR +\fBgroup name\fR .RS 4 Deve essere un nome di gruppo valido, che esista nel sistema\&. .RE .PP -\fBpassword cifrata\fR +\fBencrypted password\fR .RS 4 Refer to \fBcrypt\fR(3) @@ -63,7 +63,7 @@ This password supersedes any password specified in /etc/group\&. .RE .PP -\fBamministratori\fR +\fBadministrators\fR .RS 4 Deve essere una lista di nomi utente separati da virgole\&. .sp @@ -72,7 +72,7 @@ Gli amministratori possono cambiare la password o i membri del gruppo\&. Gli amministratori hanno anche gli stessi permessi dei membri (vedere sotto), .RE .PP -\fBmembri\fR +\fBmembers\fR .RS 4 Deve essere una lista di nomi utente separati da virgole\&. .sp diff --git a/man/it/man5/limits.5 b/man/it/man5/limits.5 index 02fa5e62..b6458d07 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "LIMITS" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LIMITS" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -41,11 +41,11 @@ In maniera predefinita non c\*(Aq\(`e nessun limite alla quota di \(Foroot\(Fc\& .PP Ogni riga descrive un limite per l\*(Aqutente in questo formato: .PP -\fIutente TESTO_LIMITE\fR +\fIuser LIMITS_STRING\fR .PP oppure nel formato: .PP -\fI@gruppo TESTO_LIMITE\fR +\fI@group LIMITS_STRING\fR .PP The \fILIMITS_STRING\fR diff --git a/man/it/man5/login.access.5 b/man/it/man5/login.access.5 index 0c6d8584..91c5893f 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "LOGIN\&.ACCESS" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "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 e75949fa..b332314e 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "LOGIN\&.DEFS" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -192,8 +192,7 @@ USERGROUPS_ENAB .PP sulogin .RS 4 -ENV_HZ -ENV_TZ +ENV_HZ ENV_TZ .RE .PP useradd diff --git a/man/it/man5/passwd.5 b/man/it/man5/passwd.5 index c7e21d1b..301ccc30 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "PASSWD" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PASSWD" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/porttime.5 b/man/it/man5/porttime.5 index 103f9445..8a33e21b 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "PORTTIME" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PORTTIME" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man5/shadow.5 b/man/it/man5/shadow.5 index bff6caa5..46693e39 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "SHADOW" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SHADOW" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,12 +38,12 @@ Questo file non deve essere leggibile dagli utenti normali se si vuole mantenere .PP Each line of this file contains 9 fields, separated by colons (\(Fo:\(Fc), in the following order: .PP -\fBnome di login\fR +\fBlogin name\fR .RS 4 Deve essere un nome valido di un account esistente nel sistema\&. .RE .PP -\fBpassword cifrata\fR +\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 /etc/shadow @@ -59,7 +59,7 @@ 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)\&. .RE .PP -\fBdata dell\*(Aqultimo cambio di password\fR +\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\&. .sp @@ -68,14 +68,14 @@ The value 0 has a special meaning, which is that the user should change her pass Un campo vuoto implica che la scadenza della password \(`e disabilitata\&. .RE .PP -\fBet\(`a minima password\fR +\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\&. .sp An empty field and value 0 mean that there is no minimum password age\&. .RE .PP -\fBet\(`a massima password\fR +\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\&. .sp @@ -86,14 +86,14 @@ Un campo vuoto indica che non ci sono una et\(`a massima password, un periodo di Se l\*(Aqet\(`a massima password \(`e minore dell\*(Aqet\(`a minima password, l\*(Aqutente non pu\(`o cambiare la propria password\&. .RE .PP -\fBperiodo avviso password\fR +\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\&. .sp Un campo vuoto e il valore 0 indicano che non c\*(Aq\(`e un periodo di avviso password\&. .RE .PP -\fBperiodo inattivit\(`a password\fR +\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)\&. .sp @@ -102,7 +102,7 @@ After expiration of the password and this expiration period is elapsed, no login Un campo vuoto implica che non \(`e applicato il periodo di inattivit\(`a\&. .RE .PP -\fBdata scadenza account\fR +\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\&. .sp @@ -113,7 +113,7 @@ Un campo vuoto implica che l\*(Aqaccount non scade mai\&. Il valore 0 non andrebbe usato perch\('e potrebbe essere interpretato come account che non scade o come scaduto il 1 gennaio 1970\&. .RE .PP -\fBcampo riservato\fR +\fBreserved field\fR .RS 4 Questo campo \(`e riservato per uso futuro\&. .RE diff --git a/man/it/man5/suauth.5 b/man/it/man5/suauth.5 index 9740c69a..80c044b8 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: 08/11/2022 +.\" Date: 23/03/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "SUAUTH" "5" "08/11/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SUAUTH" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/chgpasswd.8 b/man/it/man8/chgpasswd.8 index 8e889fd8..49b43ebe 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "CHGPASSWD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "CHGPASSWD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chgpasswd \- aggiorna le password di gruppo in modalit\(`a non interattiva .SH "SINOSSI" .HP \w'\fBchgpasswd\fR\ 'u -\fBchgpasswd\fR [\fIopzioni\fR] +\fBchgpasswd\fR [\fIoptions\fR] .SH "DESCRIZIONE" .PP The @@ -63,7 +63,12 @@ command are: .RS 4 Utilizza il metodo specificato per cifrare le password\&. .sp -I metodi disponibili sono DES, MD5, NONE e SHA256 o SHA512 se la propria libc lo consente\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .RE .PP \fB\-e\fR, \fB\-\-encrypted\fR @@ -94,14 +99,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 Usa il numero specificato di cicli per cifrare la password\&. .sp -Il valore 0 indica che il sistema utilizzer\(`a il numero predefinito di cicli per il metodo crypt (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -I valori minimo di 1\&.000 e massimo di 999\&.999\&.999 sono forzati\&. -.sp -Si pu\(`o utilizzare questa opzione solo con i metodi di cifratura SHA256 o SHA512\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "AVVISI/CAVEAT" .PP diff --git a/man/it/man8/chpasswd.8 b/man/it/man8/chpasswd.8 index fbbf955e..08fbce3c 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "CHPASSWD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "CHPASSWD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chpasswd \- aggiorna le password in modo non interattivo .SH "SINOSSI" .HP \w'\fBchpasswd\fR\ 'u -\fBchpasswd\fR [\fIopzioni\fR] +\fBchpasswd\fR [\fIoptions\fR] .SH "DESCRIZIONE" .PP The @@ -68,7 +68,12 @@ command are: .RS 4 Utilizza il metodo specificato per cifrare le password\&. .sp -I metodi disponibili sono DES, MD5, NONE e SHA256 o SHA512 se la propria libc lo consente\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .sp By default (if none of the \fB\-c\fR, @@ -106,22 +111,23 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIROUNDS\fR .RS 4 Usa il numero specificato di cicli per cifrare la password\&. .sp -Il valore 0 indica che il sistema utilizzer\(`a il numero predefinito di cicli per il metodo crypt (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -I valori minimo di 1\&.000 e massimo di 999\&.999\&.999 sono forzati\&. -.sp -Si pu\(`o utilizzare questa opzione solo con i metodi di cifratura SHA256 o SHA512\&. -.sp -By default, the number of rounds is defined by the -\fBSHA_CRYPT_MIN_ROUNDS\fR -and -\fBSHA_CRYPT_MAX_ROUNDS\fR -variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "AVVISI/CAVEAT" .PP diff --git a/man/it/man8/faillog.8 b/man/it/man8/faillog.8 index b6e565da..81126757 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "FAILLOG" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "FAILLOG" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ faillog \- mostra le registrazioni e imposta i limiti degli accessi falliti .SH "SINOSSI" .HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIopzioni\fR] +\fBfaillog\fR [\fIoptions\fR] .SH "DESCRIZIONE" .PP \fBfaillog\fR diff --git a/man/it/man8/groupadd.8 b/man/it/man8/groupadd.8 index b0904e37..4dae85e9 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "GROUPADD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "GROUPADD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupadd \- crea un nuovo gruppo .SH "SINOSSI" .HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIOPZIONI\fR] \fINEWGROUP\fR +\fBgroupadd\fR [\fIOPTIONS\fR] \fINEWGROUP\fR .SH "DESCRIZIONE" .PP The diff --git a/man/it/man8/groupdel.8 b/man/it/man8/groupdel.8 index aab0a5fa..51d7eab2 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "GROUPDEL" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "GROUPDEL" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupdel \- rimuove un gruppo .SH "SINOSSI" .HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIopzioni\fR] \fIGRUPPO\fR +\fBgroupdel\fR [\fIoptions\fR] \fIGROUP\fR .SH "DESCRIZIONE" .PP The diff --git a/man/it/man8/groupmems.8 b/man/it/man8/groupmems.8 index f5371ec0..73f17b7c 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "GROUPMEMS" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "GROUPMEMS" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -130,7 +130,7 @@ utility to manage their own group membership list\&. .nf $ groupadd \-r groups $ chmod 2710 groupmems - $ chown root\&.groups groupmems + $ chown root:groups groupmems $ groupmems \-g groups \-a gk4 .fi diff --git a/man/it/man8/groupmod.8 b/man/it/man8/groupmod.8 index 86168649..dc9e8423 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "GROUPMOD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "GROUPMOD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupmod \- modifica la definizione di un gruppo del sistema .SH "SINOSSI" .HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIopzioni\fR] \fIGRUPPO\fR +\fBgroupmod\fR [\fIoptions\fR] \fIGROUP\fR .SH "DESCRIZIONE" .PP The diff --git a/man/it/man8/grpck.8 b/man/it/man8/grpck.8 index 3f28d21a..3500c249 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "GRPCK" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "GRPCK" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ grpck \- verifica l\*(Aqintegrit\(`a dei file dei gruppi .SH "SINOSSI" .HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [opzioni] [\fIgruppo\fR\ [\ \fIshadow\fR\ ]] +\fBgrpck\fR [options] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] .SH "DESCRIZIONE" .PP The diff --git a/man/it/man8/lastlog.8 b/man/it/man8/lastlog.8 index d743e9f2..e8d4ccee 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "LASTLOG" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "LASTLOG" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ lastlog \- riepiloga gli accessi pi\(`u recenti di tutti gli utenti o dell\*(Aqutente dato .SH "SINOSSI" .HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIopzioni\fR] +\fBlastlog\fR [\fIoptions\fR] .SH "DESCRIZIONE" .PP \fBlastlog\fR diff --git a/man/it/man8/logoutd.8 b/man/it/man8/logoutd.8 index a923e96a..834fb78f 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "LOGOUTD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "LOGOUTD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/newusers.8 b/man/it/man8/newusers.8 index 0ed541d9..48aab097 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "NEWUSERS" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "NEWUSERS" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ newusers \- aggiorna e crea nuovi utenti in blocco .SH "SINOSSI" .HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fIopzioni\fR] [\fIfile\fR] +\fBnewusers\fR [\fIoptions\fR] [\fIfile\fR] .SH "DESCRIZIONE" .PP The @@ -168,14 +168,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 Usa il numero specificato di cicli per cifrare la password\&. .sp -Il valore 0 indica che il sistema utilizzer\(`a il numero predefinito di cicli per il metodo crypt (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -I valori minimo di 1\&.000 e massimo di 999\&.999\&.999 sono forzati\&. -.sp -Si pu\(`o utilizzare questa opzione solo con i metodi di cifratura SHA256 o SHA512\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +A minimal value of 1000 and a maximal value of 999,999,999 will be enforced for SHA256 and SHA512\&. The default is 5000\&. .RE .SH "AVVISI/CAVEAT" .PP diff --git a/man/it/man8/nologin.8 b/man/it/man8/nologin.8 index 47bcec01..529015a1 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "NOLOGIN" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "NOLOGIN" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/pwck.8 b/man/it/man8/pwck.8 index 6eaff150..44ff1558 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "PWCK" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "PWCK" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ pwck \- verify the integrity of password files .SH "SINOSSI" .HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [opzioni] [\fIPASSWORDFILE\fR\ [\ \fISHADOWFILE\fR\ ]] +\fBpwck\fR [options] [\fIPASSWORDFILE\fR\ [\ \fISHADOWFILE\fR\ ]] .SH "DESCRIZIONE" .PP The diff --git a/man/it/man8/pwconv.8 b/man/it/man8/pwconv.8 index d648856a..7526a42a 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "PWCONV" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "PWCONV" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,13 +31,13 @@ pwconv, pwunconv, grpconv, grpunconv \- convertono a e da password e gruppi shadow\&. .SH "SINOSSI" .HP \w'\fBpwconv\fR\ 'u -\fBpwconv\fR [\fIopzioni\fR] +\fBpwconv\fR [\fIoptions\fR] .HP \w'\fBpwunconv\fR\ 'u -\fBpwunconv\fR [\fIopzioni\fR] +\fBpwunconv\fR [\fIoptions\fR] .HP \w'\fBgrpconv\fR\ 'u -\fBgrpconv\fR [\fIopzioni\fR] +\fBgrpconv\fR [\fIoptions\fR] .HP \w'\fBgrpunconv\fR\ 'u -\fBgrpunconv\fR [\fIopzioni\fR] +\fBgrpunconv\fR [\fIoptions\fR] .SH "DESCRIZIONE" .PP The diff --git a/man/it/man8/sulogin.8 b/man/it/man8/sulogin.8 index ce286618..bac7f8d5 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "SULOGIN" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "SULOGIN" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/it/man8/useradd.8 b/man/it/man8/useradd.8 index bdf759ef..3242d2c7 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "USERADD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "USERADD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,11 +31,11 @@ useradd \- crea un nuovo utente o aggiorna le informazioni predefinite per i nuovi utenti .SH "SINOSSI" .HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR [\fIopzioni\fR] \fILOGIN\fR +\fBuseradd\fR [\fIoptions\fR] \fILOGIN\fR .HP \w'\fBuseradd\fR\ 'u \fBuseradd\fR \-D .HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D [\fIopzioni\fR] +\fBuseradd\fR \-D [\fIoptions\fR] .SH "DESCRIZIONE" .PP When invoked without the @@ -169,7 +169,11 @@ variable in .RS 4 A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the \fB\-g\fR -option\&. The default is for the user to belong only to the initial group\&. +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 +\fBGROUPS\fR +to the file +/etc/default/useradd +which in turn will add all users to those supplementary groups\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -194,6 +198,10 @@ variable in or, by default, /etc/skel\&. .sp +Absolute symlinks that link back to the skel directory will have the +/etc/skel +prefix replaced with the user\*(Aqs home directory\&. +.sp Se possibile vengono copiate le ACL e gli attributi estesi\&. .RE .PP @@ -380,10 +388,22 @@ variable in .PP \fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR .RS 4 -defines the SELinux user for the new account\&. Without this option, a SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses +defines the SELinux user for the new account\&. Without this option, SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses \fBsemanage\fR(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Without this option, SELinux uses the default range\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SS "Cambiare i valori predefiniti" .PP When invoked with only the diff --git a/man/it/man8/userdel.8 b/man/it/man8/userdel.8 index e82dc8fd..0c36191b 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "USERDEL" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "USERDEL" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ userdel \- rimuove l\*(Aqaccount di un utente ed i file relativi .SH "SINOSSI" .HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [opzioni] \fILOGIN\fR +\fBuserdel\fR [options] \fILOGIN\fR .SH "DESCRIZIONE" .PP The diff --git a/man/it/man8/usermod.8 b/man/it/man8/usermod.8 index ecb29e9f..c96aa216 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "USERMOD" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "USERMOD" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ usermod \- modifica l\*(Aqaccount di un utente .SH "SINOSSI" .HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fIopzioni\fR] \fILOGIN\fR +\fBusermod\fR [\fIoptions\fR] \fILOGIN\fR .SH "DESCRIZIONE" .PP The @@ -309,6 +309,18 @@ from /etc/login\&.defs\&. defines the SELinux user to be mapped with \fILOGIN\fR\&. An empty string ("") will remove the respective entry (if any)\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses semanage(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SH "AVVISI/CAVEAT" .PP You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. @@ -336,7 +348,7 @@ Group account information .PP /etc/gshadow .RS 4 -Secure group account informatio\&. +Secure group account information .RE .PP /etc/login\&.defs diff --git a/man/it/man8/vipw.8 b/man/it/man8/vipw.8 index 609ca653..d0d3416f 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: 08/11/2022 -.\" Manual: Comandi per la gestione del sistema -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Italian .\" -.TH "VIPW" "8" "08/11/2022" "shadow\-utils 4\&.13" "Comandi per la gestione del si" +.TH "VIPW" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,16 +31,16 @@ vipw, vigr \- modifica i file delle password, dei gruppi, delle password shadow o dei gruppi shadow .SH "SINOSSI" .HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIopzioni\fR] +\fBvipw\fR [\fIoptions\fR] .HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIopzioni\fR] +\fBvigr\fR [\fIoptions\fR] .SH "DESCRIZIONE" .PP The \fBvipw\fR and \fBvigr\fR -commands edits the files +commands edit the files /etc/passwd and /etc/group, respectively\&. With the diff --git a/man/its.rules b/man/its.rules new file mode 100644 index 00000000..d6f72997 --- /dev/null +++ b/man/its.rules @@ -0,0 +1,16 @@ + + + diff --git a/man/ja/Makefile.am b/man/ja/Makefile.am index ffb75a98..13f18da1 100644 --- a/man/ja/Makefile.am +++ b/man/ja/Makefile.am @@ -17,7 +17,6 @@ man_MANS = \ man8/grpck.8 \ man8/grpconv.8 \ man8/grpunconv.8 \ - man8/lastlog.8 \ man1/login.1 \ man5/login.defs.5 \ man8/logoutd.8 \ @@ -38,6 +37,10 @@ man_MANS = \ man8/vigr.8 \ man8/vipw.8 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + man_nopam = \ man5/limits.5 \ man5/login.access.5 \ diff --git a/man/ja/Makefile.in b/man/ja/Makefile.in index 1caa670c..8dc98836 100644 --- a/man/ja/Makefile.in +++ b/man/ja/Makefile.in @@ -87,8 +87,9 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 +@USE_PAM_FALSE@am__append_2 = $(man_nopam) +@USE_PAM_TRUE@am__append_3 = $(man_nopam) subdir = man/ja ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -174,6 +175,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -207,9 +210,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -225,6 +234,7 @@ 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@ @@ -233,6 +243,8 @@ 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@ @@ -255,6 +267,9 @@ 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@ @@ -329,19 +344,19 @@ top_srcdir = @top_srcdir@ man_MANS = man1/chage.1 man1/chfn.1 man8/chpasswd.8 man1/chsh.1 \ man1/expiry.1 man5/faillog.5 man8/faillog.8 man1/gpasswd.1 \ man8/groupadd.8 man8/groupdel.8 man8/groupmod.8 man1/groups.1 \ - man8/grpck.8 man8/grpconv.8 man8/grpunconv.8 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ - man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man5/shadow.5 \ - man1/su.1 man5/suauth.5 man8/useradd.8 man8/userdel.8 \ - man8/usermod.8 man8/vigr.8 man8/vipw.8 $(am__append_1) + man8/grpck.8 man8/grpconv.8 man8/grpunconv.8 man1/login.1 \ + man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ + man1/passwd.1 man5/passwd.5 man8/pwck.8 man8/pwconv.8 \ + man8/pwunconv.8 man1/sg.1 man5/shadow.5 man1/su.1 \ + man5/suauth.5 man8/useradd.8 man8/userdel.8 man8/usermod.8 \ + man8/vigr.8 man8/vipw.8 $(am__append_1) $(am__append_2) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ man5/porttime.5 EXTRA_DIST = $(man_MANS) man1/id.1 man3/shadow.3 man8/sulogin.8 \ - $(am__append_2) + $(am__append_3) all: all-am .SUFFIXES: diff --git a/man/ko/Makefile.in b/man/ko/Makefile.in index 661e1e82..6bd0da2a 100644 --- a/man/ko/Makefile.in +++ b/man/ko/Makefile.in @@ -172,6 +172,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -205,9 +207,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -223,6 +231,7 @@ 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@ @@ -231,6 +240,8 @@ 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@ @@ -253,6 +264,9 @@ 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@ diff --git a/man/login.1.xml b/man/login.1.xml index fbfbbf18..0826b1f0 100644 --- a/man/login.1.xml +++ b/man/login.1.xml @@ -277,7 +277,7 @@ &CONSOLE; &CONSOLE_GROUPS; &DEFAULT_HOME; - &ENV_HZ; + &ENV_HZ; &ENV_PATH; &ENV_SUPATH; &ENV_TZ; diff --git a/man/login.defs.5.xml b/man/login.defs.5.xml index ab62fa86..05ef5125 100644 --- a/man/login.defs.5.xml +++ b/man/login.defs.5.xml @@ -7,6 +7,7 @@ --> @@ -74,6 +75,7 @@ + ]> @@ -145,6 +147,7 @@ The following configuration items are provided: + &BCRYPT_MIN_ROUNDS; &CHFN_AUTH; &CHFN_RESTRICT; &CHSH_AUTH; @@ -218,6 +221,7 @@ &USERDEL_CMD; &USERGROUPS_ENAB; &USE_TCB; + &YESCRYPT_COST_FACTOR; @@ -249,9 +253,12 @@ chgpasswd + BCRYPT_MAX_ROUNDS + BCRYPT_MIN_ROUNDS ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS + YESCRYPT_COST_FACTOR @@ -259,10 +266,13 @@ chpasswd + BCRYPT_MAX_ROUNDS + BCRYPT_MIN_ROUNDS ENCRYPT_METHOD MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS + YESCRYPT_COST_FACTOR @@ -280,9 +290,12 @@ gpasswd + BCRYPT_MAX_ROUNDS + BCRYPT_MIN_ROUNDS ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS + YESCRYPT_COST_FACTOR @@ -380,6 +393,8 @@ newusers + BCRYPT_MAX_ROUNDS + BCRYPT_MIN_ROUNDS ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB @@ -391,6 +406,7 @@ 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 + YESCRYPT_COST_FACTOR @@ -399,10 +415,13 @@ passwd + BCRYPT_MAX_ROUNDS + BCRYPT_MIN_ROUNDS 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 + YESCRYPT_COST_FACTOR @@ -449,12 +468,12 @@ - + sulogin ENV_HZ - ENV_TZ + ENV_TZ diff --git a/man/login.defs.d/BCRYPT_MIN_ROUNDS.xml b/man/login.defs.d/BCRYPT_MIN_ROUNDS.xml new file mode 100644 index 00000000..81ee5c9a --- /dev/null +++ b/man/login.defs.d/BCRYPT_MIN_ROUNDS.xml @@ -0,0 +1,40 @@ + + + (number) + (number) + + + When is set to + BCRYPT, this defines the number of + BCRYPT rounds used by the encryption algorithm by default (when the + number of rounds is not specified on the command line). + + + With a lot of rounds, it is more difficult to brute force the + password. But note also that more CPU resources will be needed to + authenticate users. + + + The values must be inside the 4-31 range. + + + If only one of the or + values is set, then this value + will be used. + + + If > + , the highest value will be + used. + + + 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. + + + diff --git a/man/login.defs.d/CONSOLE_GROUPS.xml b/man/login.defs.d/CONSOLE_GROUPS.xml index 0fd874c4..1875bc61 100644 --- a/man/login.defs.d/CONSOLE_GROUPS.xml +++ b/man/login.defs.d/CONSOLE_GROUPS.xml @@ -4,7 +4,7 @@ SPDX-FileCopyrightText: 2007 - 2008, Nicolas François SPDX-License-Identifier: BSD-3-Clause --> - + (string) diff --git a/man/login.defs.d/ENCRYPT_METHOD.xml b/man/login.defs.d/ENCRYPT_METHOD.xml index 85dd79b0..531ce04a 100644 --- a/man/login.defs.d/ENCRYPT_METHOD.xml +++ b/man/login.defs.d/ENCRYPT_METHOD.xml @@ -10,11 +10,13 @@ passwords (if no algorithm are specified on the command line). - It can take one of these values: + It can take one of these values: + BCRYPT, DES (default), MD5, SHA256, - SHA512. + SHA512, + YESCRYPT. MD5 and DES should not be used for new hashes, see crypt5 for recommendations. diff --git a/man/login.defs.d/ENV_HZ.xml b/man/login.defs.d/ENV_HZ.xml index daf1752f..e1298cb2 100644 --- a/man/login.defs.d/ENV_HZ.xml +++ b/man/login.defs.d/ENV_HZ.xml @@ -4,8 +4,7 @@ SPDX-FileCopyrightText: 2007 - 2008, Nicolas François SPDX-License-Identifier: BSD-3-Clause --> - - + (string) @@ -14,10 +13,6 @@ HZ=. A common value on Linux is HZ=100. - - The HZ environment variable is only set when the user - (the superuser) logs in with sulogin. - diff --git a/man/login.defs.d/PASS_WARN_AGE.xml b/man/login.defs.d/PASS_WARN_AGE.xml index 0feeb7eb..f55afafa 100644 --- a/man/login.defs.d/PASS_WARN_AGE.xml +++ b/man/login.defs.d/PASS_WARN_AGE.xml @@ -9,8 +9,8 @@ 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 + means warning is given only upon the day of expiration, a value of + -1 means no warning is given. If not specified, no warning will be provided. diff --git a/man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml b/man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml index 43972d76..a22c324c 100644 --- a/man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml +++ b/man/login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml @@ -14,7 +14,7 @@ of rounds is not specified on the command line). - With a lot of rounds, it is more difficult to brute forcing the + With a lot of rounds, it is more difficult to brute force the password. But note also that more CPU resources will be needed to authenticate users. diff --git a/man/login.defs.d/TTYGROUP.xml b/man/login.defs.d/TTYGROUP.xml index e7cb53d0..8e0a9e87 100644 --- a/man/login.defs.d/TTYGROUP.xml +++ b/man/login.defs.d/TTYGROUP.xml @@ -13,15 +13,16 @@ group, and the permissions will be set to . - - By default, the ownership of the terminal is set to the user's - primary group and the permissions are set to - 0600. - can be either the name of a group or a numeric group identifier. + + If TTYGROUP is not defined, then the group ownership of the terminal is + set to the user's primary group. If TTYPERM is not defined, then the + permissions are set to + 0600. + If you have a write program which is "setgid" to a special group which owns the terminals, define TTYGROUP to the diff --git a/man/login.defs.d/YESCRYPT_COST_FACTOR.xml b/man/login.defs.d/YESCRYPT_COST_FACTOR.xml new file mode 100644 index 00000000..b9c53140 --- /dev/null +++ b/man/login.defs.d/YESCRYPT_COST_FACTOR.xml @@ -0,0 +1,29 @@ + + + (number) + + + When is set to + YESCRYPT, this defines the cost factor + used by the encryption algorithm by default (when the cost factor + is not specified on the command line). + + + With a high cost factor, it is more difficult to brute force the + password. But note also that more CPU resources will be needed to + authenticate users. + + + The value must be inside the 1-11 range. + + + 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. + + + diff --git a/man/man1/chage.1 b/man/man1/chage.1 index 37f72d12..48e67d33 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "CHAGE" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "CHAGE" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -136,6 +136,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR .RS 4 Set the number of days of warning before a password change is required\&. The diff --git a/man/man1/chfn.1 b/man/man1/chfn.1 index d73f7f12..10e93208 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "CHFN" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "CHFN" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/chsh.1 b/man/man1/chsh.1 index 97458a4f..fc49e552 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "CHSH" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "CHSH" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -77,6 +77,12 @@ The only restriction placed on the login shell is that the command name must be 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\&. +.PP +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\&. .SH "CONFIGURATION" .PP The following configuration variables in diff --git a/man/man1/expiry.1 b/man/man1/expiry.1 index 6f5a120f..2d7436cc 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "EXPIRY" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "EXPIRY" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/getsubids.1 b/man/man1/getsubids.1 index 2d923344..7ee70bdd 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "GETSUBIDS" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "GETSUBIDS" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/gpasswd.1 b/man/man1/gpasswd.1 index e11bcdf8..f5007be6 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "GPASSWD" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "GPASSWD" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -196,7 +196,7 @@ is set to or \fISHA512\fR, 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)\&. .sp -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\&. +With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&. .sp If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&. .sp diff --git a/man/man1/groups.1 b/man/man1/groups.1 index 7b9fbf29..6cadcec3 100644 --- a/man/man1/groups.1 +++ b/man/man1/groups.1 @@ -2,12 +2,12 @@ .\" Title: groups .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "GROUPS" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "GROUPS" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/id.1 b/man/man1/id.1 index 010db36d..db8b704b 100644 --- a/man/man1/id.1 +++ b/man/man1/id.1 @@ -2,12 +2,12 @@ .\" Title: id .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "ID" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "ID" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/login.1 b/man/man1/login.1 index eaa39dbb..d281ca90 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "LOGIN" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "LOGIN" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -375,12 +375,12 @@ The terminal permissions: the login tty will be owned by the group, and the permissions will be set to \fBTTYPERM\fR\&. .sp -By default, the ownership of the terminal is set to the user\*(Aqs primary group and the permissions are set to -\fI0600\fR\&. -.sp \fBTTYGROUP\fR can be either the name of a group or a numeric group identifier\&. .sp +If TTYGROUP is not defined, then the group ownership of the terminal is set to the user\*(Aqs primary group\&. If TTYPERM is not defined, then the permissions are set to +\fI0600\fR\&. +.sp If you have a \fBwrite\fR 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\&. diff --git a/man/man1/newgidmap.1 b/man/man1/newgidmap.1 index c60cf7f1..35e45894 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "NEWGIDMAP" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "NEWGIDMAP" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -74,6 +74,16 @@ before setting /proc/[pid]/gid_map\&. .PP Note that newgidmap may be used only once for a given process\&. +.PP +Instead of an integer process id, the first argument may be specified as +\fIfd:N\fR, where the integer N is the file descriptor number for the calling process\*(Aqs opened file for +/proc/[pid[\&. In this case, +\fBnewgidmap\fR +will use +openat(2) +to open the +gid_map +file under that directory, avoiding a TOCTTOU in case the process exits and the pid is immediately reused\&. .SH "OPTIONS" .PP There currently are no options to the diff --git a/man/man1/newgrp.1 b/man/man1/newgrp.1 index 312e6cab..0702fb79 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "NEWGRP" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "NEWGRP" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/newuidmap.1 b/man/man1/newuidmap.1 index d4dda67a..7ee034ff 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "NEWUIDMAP" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "NEWUIDMAP" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -74,6 +74,16 @@ before setting /proc/[pid]/uid_map\&. .PP Note that newuidmap may be used only once for a given process\&. +.PP +Instead of an integer process id, the first argument may be specified as +\fIfd:N\fR, where the integer N is the file descriptor number for the calling process\*(Aqs opened file for +/proc/[pid[\&. In this case, +\fBnewuidmap\fR +will use +openat(2) +to open the +uid_map +file under that directory, avoiding a TOCTTOU in case the process exits and the pid is immediately reused\&. .SH "OPTIONS" .PP There currently are no options to the diff --git a/man/man1/passwd.1 b/man/man1/passwd.1 index cc1a46ee..0216bcb4 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "PASSWD" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "PASSWD" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -49,44 +49,9 @@ 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\&. .PP -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: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -lower case alphabetics -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -digits 0 thru 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -punctuation marks -.RE -.PP -Care must be taken not to include the system default erase or kill characters\&. +Then, the password is tested for complexity\&. \fBpasswd\fR -will reject any password which is not suitably complex\&. +will reject any password which is not suitably complex\&. Care must be taken not to 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 @@ -96,6 +61,8 @@ System encryption method is based on the NBS DES algorithm\&. More recent method .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\&. .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 You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength .SH "OPTIONS" .PP @@ -175,6 +142,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-S\fR, \fB\-\-status\fR .RS 4 Display account status information\&. The status information consists of 7 fields\&. The first field is the user\*(Aqs 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\&. @@ -205,6 +178,11 @@ as \fIMAX_DAYS\fR will remove checking a password\*(Aqs validity\&. .RE +.PP +\fB\-s\fR, \fB\-\-stdin\fR +.RS 4 +This option is used to indicate that passwd should read the new password from standard input, which can be a pipe\&. +.RE .SH "CAVEATS" .PP 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\&. @@ -282,7 +260,7 @@ is set to or \fISHA512\fR, 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)\&. .sp -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\&. +With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&. .sp If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&. .sp @@ -361,7 +339,10 @@ invalid argument to option .SH "SEE ALSO" .PP \fBchpasswd\fR(8), +\fBmakepasswd\fR(1), \fBpasswd\fR(5), \fBshadow\fR(5), \fBlogin.defs\fR(5), \fBusermod\fR(8)\&. +.PP +The following web page comically (yet correctly) compares the strength of two different methods for choosing a password: "https://xkcd\&.com/936/" diff --git a/man/man1/sg.1 b/man/man1/sg.1 index 860c58e1..794706a1 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "SG" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "SG" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man1/su.1 b/man/man1/su.1 index a7c5cb3f..c3c89f34 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: User Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "SU" "1" "11/08/2022" "shadow\-utils 4\&.13" "User Commands" +.TH "SU" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man3/shadow.3 b/man/man3/shadow.3 index 4249c5d6..645d0053 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: Library Calls -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "SHADOW" "3" "11/08/2022" "shadow\-utils 4\&.13" "Library Calls" +.TH "SHADOW" "3" "03/23/2024" "shadow\-utils 4\&.15\&.1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/faillog.5 b/man/man5/faillog.5 index 63a0df8f..3d8af95d 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "FAILLOG" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuratio" +.TH "FAILLOG" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/gshadow.5 b/man/man5/gshadow.5 index 663c4c33..8c611102 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "GSHADOW" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "GSHADOW" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/limits.5 b/man/man5/limits.5 index 46c54327..a527feea 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "LIMITS" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LIMITS" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/login.access.5 b/man/man5/login.access.5 index 37d57b29..721465c2 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "LOGIN\&.ACCESS" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/login.defs.5 b/man/man5/login.defs.5 index 350870e0..f05b08d3 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "LOGIN\&.DEFS" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -417,7 +417,7 @@ The minimum number of days allowed between password changes\&. Any password chan .PP \fBPASS_WARN_AGE\fR (number) .RS 4 -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\&. +The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&. .RE .PP \fBPASS_MAX_DAYS\fR, @@ -458,7 +458,7 @@ is set to or \fISHA512\fR, 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)\&. .sp -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\&. +With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&. .sp If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&. .sp @@ -595,12 +595,12 @@ The terminal permissions: the login tty will be owned by the group, and the permissions will be set to \fBTTYPERM\fR\&. .sp -By default, the ownership of the terminal is set to the user\*(Aqs primary group and the permissions are set to -\fI0600\fR\&. -.sp \fBTTYGROUP\fR can be either the name of a group or a numeric group identifier\&. .sp +If TTYGROUP is not defined, then the group ownership of the terminal is set to the user\*(Aqs primary group\&. If TTYPERM is not defined, then the permissions are set to +\fI0600\fR\&. +.sp If you have a \fBwrite\fR 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\&. @@ -844,8 +844,7 @@ USERGROUPS_ENAB .PP sulogin .RS 4 -ENV_HZ -ENV_TZ +ENV_HZ ENV_TZ .RE .PP useradd diff --git a/man/man5/passwd.5 b/man/man5/passwd.5 index d1171d35..a1bbb5e1 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "PASSWD" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PASSWD" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/porttime.5 b/man/man5/porttime.5 index b9f9e3dd..cecd9d87 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "PORTTIME" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PORTTIME" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/shadow.5 b/man/man5/shadow.5 index 5ab04b8f..4b7f236a 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "SHADOW" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SHADOW" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/suauth.5 b/man/man5/suauth.5 index 7c7729c5..09bce83b 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "SUAUTH" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SUAUTH" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/subgid.5 b/man/man5/subgid.5 index 73b8617a..f305aa08 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "SUBGID" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SUBGID" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man5/subuid.5 b/man/man5/subuid.5 index 655fbb91..f388a37a 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "SUBUID" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SUBUID" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -112,7 +112,7 @@ Backup file for /etc/subuid\&. \fBlogin.defs\fR(5), \fBnewgidmap\fR(1), \fBnewuidmap\fR(1), -\fBnewusers\fR(1), +\fBnewusers\fR(8), \fBsubgid\fR(5), \fBuseradd\fR(8), \fBuserdel\fR(8), diff --git a/man/man8/chgpasswd.8 b/man/man8/chgpasswd.8 index 67c13255..efe52afe 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "CHGPASSWD" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "CHGPASSWD" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -63,7 +63,12 @@ command are: .RS 4 Use the specified method to encrypt the passwords\&. .sp -The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc support these methods\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .RE .PP \fB\-e\fR, \fB\-\-encrypted\fR @@ -94,14 +99,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 Use the specified number of rounds to encrypt the passwords\&. .sp -The value 0 means that the system will choose the default number of rounds for the crypt method (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -A minimal value of 1000 and a maximal value of 999,999,999 will be enforced\&. -.sp -You can only use this option with the SHA256 or SHA512 crypt method\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "CAVEATS" .PP @@ -170,7 +174,7 @@ is set to or \fISHA512\fR, 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)\&. .sp -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\&. +With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&. .sp If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&. .sp diff --git a/man/man8/chpasswd.8 b/man/man8/chpasswd.8 index 67b41567..4e99ad44 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "CHPASSWD" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "CHPASSWD" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -68,7 +68,12 @@ command are: .RS 4 Use the specified method to encrypt the passwords\&. .sp -The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc support these methods\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .sp By default (if none of the \fB\-c\fR, @@ -106,22 +111,23 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIROUNDS\fR .RS 4 Use the specified number of rounds to encrypt the passwords\&. .sp -The value 0 means that the system will choose the default number of rounds for the crypt method (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -A minimal value of 1000 and a maximal value of 999,999,999 will be enforced\&. -.sp -You can only use this option with the SHA256 or SHA512 crypt method\&. -.sp -By default, the number of rounds is defined by the -\fBSHA_CRYPT_MIN_ROUNDS\fR -and -\fBSHA_CRYPT_MAX_ROUNDS\fR -variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "CAVEATS" .PP @@ -173,7 +179,7 @@ is set to or \fISHA512\fR, 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)\&. .sp -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\&. +With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&. .sp If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&. .sp diff --git a/man/man8/faillog.8 b/man/man8/faillog.8 index dd2285c5..a8e66620 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "FAILLOG" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "FAILLOG" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/groupadd.8 b/man/man8/groupadd.8 index af8afcf1..e9d253b1 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "GROUPADD" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "GROUPADD" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/groupdel.8 b/man/man8/groupdel.8 index c9d51761..6bcbdaf8 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "GROUPDEL" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "GROUPDEL" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/groupmems.8 b/man/man8/groupmems.8 index febe0085..8ad5ae03 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "GROUPMEMS" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "GROUPMEMS" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -130,7 +130,7 @@ utility to manage their own group membership list\&. .nf $ groupadd \-r groups $ chmod 2710 groupmems - $ chown root\&.groups groupmems + $ chown root:groups groupmems $ groupmems \-g groups \-a gk4 .fi diff --git a/man/man8/groupmod.8 b/man/man8/groupmod.8 index 371e6b15..e985a694 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "GROUPMOD" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "GROUPMOD" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/grpck.8 b/man/man8/grpck.8 index 22a372d2..f6c06fe4 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "GRPCK" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "GRPCK" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/lastlog.8 b/man/man8/lastlog.8 index ee7adcaf..9b2085ad 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "LASTLOG" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "LASTLOG" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/logoutd.8 b/man/man8/logoutd.8 index 115fe284..772879cf 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "LOGOUTD" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "LOGOUTD" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/newusers.8 b/man/man8/newusers.8 index 58c05d8b..8c43184c 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "NEWUSERS" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "NEWUSERS" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -168,14 +168,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 Use the specified number of rounds to encrypt the passwords\&. .sp -The value 0 means that the system will choose the default number of rounds for the crypt method (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -A minimal value of 1000 and a maximal value of 999,999,999 will be enforced\&. -.sp -You can only use this option with the SHA256 or SHA512 crypt method\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +A minimal value of 1000 and a maximal value of 999,999,999 will be enforced for SHA256 and SHA512\&. The default is 5000\&. .RE .SH "CAVEATS" .PP @@ -272,7 +271,7 @@ The minimum number of days allowed between password changes\&. Any password chan .PP \fBPASS_WARN_AGE\fR (number) .RS 4 -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\&. +The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&. .RE .PP \fBSHA_CRYPT_MIN_ROUNDS\fR (number), \fBSHA_CRYPT_MAX_ROUNDS\fR (number) @@ -284,7 +283,7 @@ is set to or \fISHA512\fR, 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)\&. .sp -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\&. +With a lot of rounds, it is more difficult to brute force the password\&. But note also that more CPU resources will be needed to authenticate users\&. .sp If not specified, the libc will choose the default number of rounds (5000), which is orders of magnitude too low for modern hardware\&. .sp diff --git a/man/man8/nologin.8 b/man/man8/nologin.8 index cc1c1141..097e6c8c 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "NOLOGIN" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "NOLOGIN" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/pwck.8 b/man/man8/pwck.8 index 834cc831..5605c920 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "PWCK" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "PWCK" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -267,7 +267,7 @@ The minimum number of days allowed between password changes\&. Any password chan .PP \fBPASS_WARN_AGE\fR (number) .RS 4 -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\&. +The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&. .RE .SH "FILES" .PP diff --git a/man/man8/pwconv.8 b/man/man8/pwconv.8 index 147f21f8..c9fc50f1 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "PWCONV" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "PWCONV" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -178,7 +178,7 @@ The minimum number of days allowed between password changes\&. Any password chan .PP \fBPASS_WARN_AGE\fR (number) .RS 4 -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\&. +The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&. .RE .SH "FILES" .PP diff --git a/man/man8/sulogin.8 b/man/man8/sulogin.8 index f33405d0..ed11f6f7 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "SULOGIN" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "SULOGIN" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/useradd.8 b/man/man8/useradd.8 index e6530b3c..07fc04c7 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "USERADD" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "USERADD" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -169,7 +169,11 @@ variable in .RS 4 A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the \fB\-g\fR -option\&. The default is for the user to belong only to the initial group\&. +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 +\fBGROUPS\fR +to the file +/etc/default/useradd +which in turn will add all users to those supplementary groups\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -194,6 +198,10 @@ variable in or, by default, /etc/skel\&. .sp +Absolute symlinks that link back to the skel directory will have the +/etc/skel +prefix replaced with the user\*(Aqs home directory\&. +.sp If possible, the ACLs and extended attributes are copied\&. .RE .PP @@ -380,10 +388,22 @@ variable in .PP \fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR .RS 4 -defines the SELinux user for the new account\&. Without this option, a SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses +defines the SELinux user for the new account\&. Without this option, SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses \fBsemanage\fR(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Without this option, SELinux uses the default range\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SS "Changing the default values" .PP When invoked with only the @@ -573,7 +593,7 @@ The minimum number of days allowed between password changes\&. Any password chan .PP \fBPASS_WARN_AGE\fR (number) .RS 4 -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\&. +The number of days warning given before a password expires\&. A zero means warning is given only upon the day of expiration, a value of \-1 means no warning is given\&. If not specified, no warning will be provided\&. .RE .PP \fBSUB_GID_MIN\fR (number), \fBSUB_GID_MAX\fR (number), \fBSUB_GID_COUNT\fR (number) diff --git a/man/man8/userdel.8 b/man/man8/userdel.8 index acfc4126..f2ec6503 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "USERDEL" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "USERDEL" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/man8/usermod.8 b/man/man8/usermod.8 index f419a69b..9ab0c10e 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "USERMOD" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "USERMOD" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -309,6 +309,18 @@ from /etc/login\&.defs\&. defines the SELinux user to be mapped with \fILOGIN\fR\&. An empty string ("") will remove the respective entry (if any)\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses semanage(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SH "CAVEATS" .PP You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. @@ -435,7 +447,7 @@ Group account information .PP /etc/gshadow .RS 4 -Secure group account informatio\&. +Secure group account information .RE .PP /etc/login\&.defs diff --git a/man/man8/vipw.8 b/man/man8/vipw.8 index d686fdde..d8dc21ed 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: System Management Commands -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: English .\" -.TH "VIPW" "8" "11/08/2022" "shadow\-utils 4\&.13" "System Management Commands" +.TH "VIPW" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -40,7 +40,7 @@ The \fBvipw\fR and \fBvigr\fR -commands edits the files +commands edit the files /etc/passwd and /etc/group, respectively\&. With the diff --git a/man/newgidmap.1.xml b/man/newgidmap.1.xml index e4ebc69e..9b7683eb 100644 --- a/man/newgidmap.1.xml +++ b/man/newgidmap.1.xml @@ -116,6 +116,17 @@ Note that newgidmap may be used only once for a given process. + + Instead of an integer process id, the first argument may be + specified as fd:N, where the integer N + is the file descriptor number for the calling process's opened + file for /proc/[pid[. In this case, + newgidmap will use + openat2 + to open the gid_map file under that + directory, avoiding a TOCTTOU in case the process exits and + the pid is immediately reused. + diff --git a/man/newuidmap.1.xml b/man/newuidmap.1.xml index f5cb5b48..ca917a77 100644 --- a/man/newuidmap.1.xml +++ b/man/newuidmap.1.xml @@ -116,6 +116,17 @@ Note that newuidmap may be used only once for a given process. + + Instead of an integer process id, the first argument may be + specified as fd:N, where the integer N + is the file descriptor number for the calling process's opened + file for /proc/[pid[. In this case, + newuidmap will use + openat2 + to open the uid_map file under that + directory, avoiding a TOCTTOU in case the process exits and + the pid is immediately reused. + diff --git a/man/newusers.8.xml b/man/newusers.8.xml index 4ff00524..6812c750 100644 --- a/man/newusers.8.xml +++ b/man/newusers.8.xml @@ -6,6 +6,7 @@ --> @@ -21,6 +22,7 @@ + ]> @@ -316,29 +318,48 @@ - + , Use the specified number of rounds to encrypt the passwords. - The value 0 means that the system will choose the default - number of rounds for the crypt method (5000). + You can only use this option with crypt method: + + BCRYPT + + SHA256 + SHA512 + + YESCRYPT - - A minimal value of 1000 and a maximal value of 999,999,999 - will be enforced. + + By default, the number of rounds for BCRYPT is defined by the + BCRYPT_MIN_ROUNDS and BCRYPT_MAX_ROUNDS variables in + /etc/login.defs. - - You can only use this option with the SHA256 or SHA512 - crypt method. + + A minimal value of 4 and a maximal value of 31 + will be enforced for BCRYPT. The default is 13. - - By default, the number of rounds is defined by the + + 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 /etc/login.defs. + + A minimal value of 1000 and a maximal value of 999,999,999 + will be enforced for SHA256 and SHA512. The default is 5000. + + + By default, the number of rounds for YESCRYPT is defined by the + YESCRYPT_COST_FACTOR in /etc/login.defs. + + + A minimal value of 1 and a maximal value of 11 + will be enforced for YESCRYPT. The default is 5. + diff --git a/man/passwd.1.xml b/man/passwd.1.xml index 52b86378..506b134e 100644 --- a/man/passwd.1.xml +++ b/man/passwd.1.xml @@ -6,6 +6,7 @@ --> @@ -13,6 +14,7 @@ + ]> @@ -94,27 +96,10 @@ - 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: - - - - - lower case alphabetics - - - digits 0 thru 9 - - - punctuation marks - - - - - Care must be taken not to include the system default erase or kill - characters. passwd will reject any password which - is not suitably complex. + 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. @@ -139,6 +124,17 @@ used as guesses to violate system security. + + As a general guideline, passwords should be long and random. It's + 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's apparent that the exponent (the length) + is more important than the base (the size of the character set). + + You can find advice on how to choose a strong password on http://en.wikipedia.org/wiki/Password_strength @@ -286,6 +282,21 @@ + + + ,  PREFIX_DIR + + + + Apply changes to configuration files under the root filesystem + found under the directory PREFIX_DIR. + 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. + + + , @@ -347,6 +358,17 @@ + + + , + + + + This option is used to indicate that passwd should read the new password from standard + input, which can be a pipe. + + + @@ -473,6 +495,9 @@ chpasswd8 , + + makepasswd1 + , passwd5 , @@ -488,5 +513,11 @@ usermod8 . + + + The following web page comically (yet correctly) compares the + strength of two different methods for choosing a password: + "https://xkcd.com/936/" + diff --git a/man/pl/Makefile.am b/man/pl/Makefile.am index 724d25f3..b2f096f7 100644 --- a/man/pl/Makefile.am +++ b/man/pl/Makefile.am @@ -15,7 +15,6 @@ man_MANS = \ man8/groupmod.8 \ man1/groups.1 \ man8/grpck.8 \ - man8/lastlog.8 \ man8/logoutd.8 \ man1/newgrp.1 \ man1/sg.1 \ @@ -25,6 +24,10 @@ man_MANS = \ man8/vigr.8 \ man8/vipw.8 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + man_nopam = \ man5/porttime.5 diff --git a/man/pl/Makefile.in b/man/pl/Makefile.in index d6350e56..39266aed 100644 --- a/man/pl/Makefile.in +++ b/man/pl/Makefile.in @@ -87,8 +87,9 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 +@USE_PAM_FALSE@am__append_2 = $(man_nopam) +@USE_PAM_TRUE@am__append_3 = $(man_nopam) subdir = man/pl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -176,6 +177,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -209,9 +212,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -227,6 +236,7 @@ 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@ @@ -235,6 +245,8 @@ 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@ @@ -257,6 +269,9 @@ 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@ @@ -333,14 +348,16 @@ top_srcdir = @top_srcdir@ man_MANS = man1/chage.1 man1/chsh.1 man1/expiry.1 man5/faillog.5 \ man8/faillog.8 man3/getspnam.3 man8/groupadd.8 man8/groupdel.8 \ man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/lastlog.8 man8/logoutd.8 man1/newgrp.1 man1/sg.1 \ - man3/shadow.3 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) + man8/logoutd.8 man1/newgrp.1 man1/sg.1 man3/shadow.3 \ + man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ + $(am__append_1) $(am__append_2) man_nopam = \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 $(am__append_2) +EXTRA_DIST = $(man_MANS) man1/id.1 $(am__append_3) LANG = $(notdir $(CURDIR)) +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam @ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow @@ -349,8 +366,15 @@ LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_FALSE@BCRYPT_COND = no_bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_TRUE@BCRYPT_COND = bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_FALSE@YESCRYPT_COND = no_yescrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_TRUE@YESCRYPT_COND = yescrypt @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids +@ENABLE_LASTLOG_FALSE@@ENABLE_REGENERATE_MAN_TRUE@LASTLOG_COND = no_lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@LASTLOG_COND = lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@LASTLOG_COND = no_lastlog CLEANFILES = messages.mo login.defs.d $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml all: all-am @@ -734,10 +758,10 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ @ENABLE_REGENERATE_MAN_TRUE@messages.mo: ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ msgfmt ../po/$(LANG).po -o messages.mo +@ENABLE_REGENERATE_MAN_TRUE@ msgfmt $< -o messages.mo @ENABLE_REGENERATE_MAN_TRUE@login.defs.d: -@ENABLE_REGENERATE_MAN_TRUE@ ln -sf ../login.defs.d login.defs.d +@ENABLE_REGENERATE_MAN_TRUE@ ln -sf $(srcdir)/../login.defs.d login.defs.d @ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml messages.mo login.defs.d @ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $< ; then \ @@ -745,7 +769,7 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ else \ @ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ @ENABLE_REGENERATE_MAN_TRUE@ fi -@ENABLE_REGENERATE_MAN_TRUE@ itstool -d -l $(LANG) -m messages.mo -o . $@ +@ENABLE_REGENERATE_MAN_TRUE@ itstool -i $(srcdir)/../its.rules -d -l $(LANG) -m messages.mo -o . $@ @ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ @ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml @@ -756,11 +780,13 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ fi @ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(BCRYPT_COND);$(YESCRYPT_COND);$(SUBIDS_COND);$(VENDORDIR_COND);$(LASTLOG_COND)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ @ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ +@ENABLE_REGENERATE_MAN_TRUE@ --stringparam vendordir "$(VENDORDIR)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< +@ENABLE_REGENERATE_MAN_TRUE@ --path "$(srcdir)/login.defs.d" \ +@ENABLE_REGENERATE_MAN_TRUE@ -nonet $(top_srcdir)/man/shadow-man.xsl $< @ENABLE_REGENERATE_MAN_TRUE@clean-local: @ENABLE_REGENERATE_MAN_TRUE@ rm -rf man1 man3 man5 man8 diff --git a/man/pl/man1/chage.1 b/man/pl/man1/chage.1 index 920915a3..5a9482a1 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: 11/08/2022 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "CHAGE" "1" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia użytkownik\('ow" +.TH "CHAGE" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chage \- zmiana informacji o terminie ważności has\(/la użytkownika .SH "STRESZCZENIE" .HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIopcje\fR] \fILOGIN\fR +\fBchage\fR [\fIoptions\fR] \fILOGIN\fR .SH "OPIS" .PP The @@ -138,6 +138,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR .RS 4 Set the number of days of warning before a password change is required\&. The diff --git a/man/pl/man1/chsh.1 b/man/pl/man1/chsh.1 index 3097b56d..12896f48 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: 11/08/2022 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "CHSH" "1" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia użytkownik\('ow" +.TH "CHSH" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chsh \- zmiana pow\(/loki zg\(/loszeniowej .SH "STRESZCZENIE" .HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIopcje\fR] [\fILOGIN\fR] +\fBchsh\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "OPIS" .PP The @@ -77,6 +77,12 @@ The only restriction placed on the login shell is that the command name must be 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\&. +.PP +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\&. .SH "CONFIGURATION" .PP The following configuration variables in diff --git a/man/pl/man1/expiry.1 b/man/pl/man1/expiry.1 index 7d5c76d4..eff4dcd6 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: 11/08/2022 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "EXPIRY" "1" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia użytkownik\('ow" +.TH "EXPIRY" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man1/groups.1 b/man/pl/man1/groups.1 index 8adbf6c5..4e643552 100644 --- a/man/pl/man1/groups.1 +++ b/man/pl/man1/groups.1 @@ -2,12 +2,12 @@ .\" Title: groups .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/08/2022 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "GROUPS" "1" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia użytkownik\('ow" +.TH "GROUPS" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man1/id.1 b/man/pl/man1/id.1 index b182dc28..4bf869ce 100644 --- a/man/pl/man1/id.1 +++ b/man/pl/man1/id.1 @@ -2,12 +2,12 @@ .\" Title: id .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 11/08/2022 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "ID" "1" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia użytkownik\('ow" +.TH "ID" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man1/newgrp.1 b/man/pl/man1/newgrp.1 index 8cde0f61..820c0e9c 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: 11/08/2022 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "NEWGRP" "1" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia użytkownik\('ow" +.TH "NEWGRP" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man1/sg.1 b/man/pl/man1/sg.1 index afcc14bd..8d1ec667 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: 11/08/2022 -.\" Manual: Polecenia użytkownik\('ow -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "SG" "1" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia użytkownik\('ow" +.TH "SG" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man3/shadow.3 b/man/pl/man3/shadow.3 index e935d429..fa2c4f37 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: Library Calls -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "SHADOW" "3" "11/08/2022" "shadow\-utils 4\&.13" "Library Calls" +.TH "SHADOW" "3" "03/23/2024" "shadow\-utils 4\&.15\&.1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,7 +38,7 @@ shadow, getspnam \- encrypted password file routines \fIstruct spwd *getspnam(char\fR \fI*name\fR\fI);\fR .PP -\fIvoid setspent()\fR +\fIvoid setspent();\fR .PP \fIvoid endspent();\fR .PP diff --git a/man/pl/man5/faillog.5 b/man/pl/man5/faillog.5 index cab3443f..396db654 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "FAILLOG" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuratio" +.TH "FAILLOG" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man5/porttime.5 b/man/pl/man5/porttime.5 index 5ad1b3b2..41958994 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: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "PORTTIME" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PORTTIME" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/faillog.8 b/man/pl/man8/faillog.8 index b70d9f35..7c89f0a7 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: 11/08/2022 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "FAILLOG" "8" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia Zarządzania Systemem" +.TH "FAILLOG" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ faillog \- display faillog records or set login failure limits .SH "STRESZCZENIE" .HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIopcje\fR] +\fBfaillog\fR [\fIoptions\fR] .SH "OPIS" .PP \fBfaillog\fR diff --git a/man/pl/man8/groupadd.8 b/man/pl/man8/groupadd.8 index 2e715fb8..380f576b 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: 11/08/2022 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "GROUPADD" "8" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia Zarządzania Systemem" +.TH "GROUPADD" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupadd \- utw\('orz nową grupę .SH "STRESZCZENIE" .HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIOPCJE\fR] \fINEWGROUP\fR +\fBgroupadd\fR [\fIOPTIONS\fR] \fINEWGROUP\fR .SH "OPIS" .PP The diff --git a/man/pl/man8/groupdel.8 b/man/pl/man8/groupdel.8 index 3febfce8..7ced0674 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: 11/08/2022 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "GROUPDEL" "8" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia Zarządzania Systemem" +.TH "GROUPDEL" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupdel \- delete a group .SH "STRESZCZENIE" .HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIopcje\fR] \fIGRUPA\fR +\fBgroupdel\fR [\fIoptions\fR] \fIGROUP\fR .SH "OPIS" .PP The diff --git a/man/pl/man8/groupmems.8 b/man/pl/man8/groupmems.8 index 2b309ebb..a4731f50 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: 11/08/2022 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "GROUPMEMS" "8" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia Zarządzania Systemem" +.TH "GROUPMEMS" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -130,7 +130,7 @@ utility to manage their own group membership list\&. .nf $ groupadd \-r groups $ chmod 2710 groupmems - $ chown root\&.groups groupmems + $ chown root:groups groupmems $ groupmems \-g groups \-a gk4 .fi diff --git a/man/pl/man8/groupmod.8 b/man/pl/man8/groupmod.8 index 53c4e0fd..640e9d1c 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: 11/08/2022 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "GROUPMOD" "8" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia Zarządzania Systemem" +.TH "GROUPMOD" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupmod \- modyfikuj definicję grupy systemowej .SH "STRESZCZENIE" .HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIopcje\fR] \fIGRUPA\fR +\fBgroupmod\fR [\fIoptions\fR] \fIGROUP\fR .SH "OPIS" .PP The diff --git a/man/pl/man8/grpck.8 b/man/pl/man8/grpck.8 index a37d1714..68294a88 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: 11/08/2022 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "GRPCK" "8" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia Zarządzania Systemem" +.TH "GRPCK" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ grpck \- verify integrity of group files .SH "STRESZCZENIE" .HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [opcje] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] +\fBgrpck\fR [options] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] .SH "OPIS" .PP The diff --git a/man/pl/man8/lastlog.8 b/man/pl/man8/lastlog.8 index 540c5e4c..f8645134 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: 11/08/2022 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "LASTLOG" "8" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia Zarządzania Systemem" +.TH "LASTLOG" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ lastlog \- wyświetla informacje o ostanim logowaniu dla wybranego lub wszystkich użytkowanik\('ow .SH "STRESZCZENIE" .HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIopcje\fR] +\fBlastlog\fR [\fIoptions\fR] .SH "OPIS" .PP \fBlastlog\fR diff --git a/man/pl/man8/logoutd.8 b/man/pl/man8/logoutd.8 index 488ddbfd..2125d0cf 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: 11/08/2022 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "LOGOUTD" "8" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia Zarządzania Systemem" +.TH "LOGOUTD" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/pl/man8/userdel.8 b/man/pl/man8/userdel.8 index 4173329e..aa3a7c50 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: 11/08/2022 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "USERDEL" "8" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia Zarządzania Systemem" +.TH "USERDEL" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ userdel \- plik chroniony informacji o użytkownikach .SH "STRESZCZENIE" .HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [opcje] \fILOGIN\fR +\fBuserdel\fR [options] \fILOGIN\fR .SH "OPIS" .PP The diff --git a/man/pl/man8/usermod.8 b/man/pl/man8/usermod.8 index d7e1c00c..e478674f 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: 11/08/2022 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "USERMOD" "8" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia Zarządzania Systemem" +.TH "USERMOD" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ usermod \- zmiana danych konta użytkownika .SH "STRESZCZENIE" .HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fIopcje\fR] \fILOGIN\fR +\fBusermod\fR [\fIoptions\fR] \fILOGIN\fR .SH "OPIS" .PP The @@ -309,6 +309,18 @@ from /etc/login\&.defs\&. defines the SELinux user to be mapped with \fILOGIN\fR\&. An empty string ("") will remove the respective entry (if any)\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses semanage(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SH "OSTRZEŻENIA" .PP You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. @@ -336,7 +348,7 @@ Group account information .PP /etc/gshadow .RS 4 -Secure group account informatio\&. +Secure group account information .RE .PP /etc/login\&.defs diff --git a/man/pl/man8/vipw.8 b/man/pl/man8/vipw.8 index 38369684..c7f9f30f 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: 11/08/2022 -.\" Manual: Polecenia Zarządzania Systemem -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Polish .\" -.TH "VIPW" "8" "11/08/2022" "shadow\-utils 4\&.13" "Polecenia Zarządzania Systemem" +.TH "VIPW" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,16 +31,16 @@ vipw, vigr \- edytuj plik hase\(/l, grup lub ich wersji chronionych .SH "STRESZCZENIE" .HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIopcje\fR] +\fBvipw\fR [\fIoptions\fR] .HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIopcje\fR] +\fBvigr\fR [\fIoptions\fR] .SH "OPIS" .PP The \fBvipw\fR and \fBvigr\fR -commands edits the files +commands edit the files /etc/passwd and /etc/group, respectively\&. With the diff --git a/man/po/Makefile.in b/man/po/Makefile.in index f194957b..d0f738f8 100644 --- a/man/po/Makefile.in +++ b/man/po/Makefile.in @@ -86,35 +86,38 @@ stamp-po: $(srcdir)/$(DOMAIN).pot # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. # TODO: set MSGID_BUGS_ADDRESS, COPYRIGHT_HOLDER -$(DOMAIN).pot-update: $(XMLFILES) $(srcdir)/XMLFILES remove-potcdate.sed - @set -e; tmpdir=`pwd`; \ - echo "cd $(top_srcdir)/man"; \ +$(DOMAIN).pot-update: $(XMLFILES) $(srcdir)/XMLFILES + @set -ex; tmpdir=`mktemp -d`; \ + origdir=`pwd`; \ cd $(top_srcdir)/man; \ + cp *.xml $$tmpdir/; \ files=""; \ for file in $(notdir $(XMLFILES)); do \ + base=`basename $$file`; \ + outfile=$$tmpdir/$$base.out; \ if grep -q SHADOW-CONFIG-HERE $$file ; then \ - sed -e 's/^/%config;/' $$file > $$file.out; \ + sed -e 's/^/%config;/' $$file > $$outfile; \ else \ - sed -e 's/^\(/\1 [%config;]>/' $$file > $$file.out; \ + sed -e 's/^\(/\1 [%config;]>/' $$file > $$outfile; \ fi; \ - files="$$files $$file.out"; \ + files="$$files $$outfile"; \ done; \ itstool -d -o $$tmpdir/$(DOMAIN).po $$files; \ - cd $$tmpdir; \ - test ! -f $(DOMAIN).po || { \ + sed -i '1i \ +# To re-generate, run "cd man/po; make update-po"' $$tmpdir/$(DOMAIN).po; \ + cd $$origdir; \ + test ! -f $$tmpdir/$(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ - sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ - sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ - if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ - else \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $$tmpdir/$(DOMAIN).1po && \ + sed -f remove-potcdate.sed < $$tmpdir/$(DOMAIN).po > $$tmpdir/$(DOMAIN).2po && \ + if ! cmp $$tmpdir/$(DOMAIN).1po $$tmpdir/$(DOMAIN).2po >/dev/null 2>&1; then \ + rm -f $(srcdir)/$(DOMAIN).pot && \ + mv $$tmpdir/$(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ + mv $$tmpdir/$(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ - } + } ; rm -rf $$tmpdir # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. @@ -212,26 +215,25 @@ update-po: Makefile .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ - tmpdir=`pwd`; \ + ptmpdir=`mktemp -d`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ - if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ - if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ - rm -f $$tmpdir/$$lang.new.po; \ - else \ - if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$ptmpdir/$$lang.new.po; then \ + sed -f remove-potcdate.sed < $$lang.po > $$ptmpdir/$$lang.1po; \ + sed -f remove-potcdate.sed < $$ptmpdir/$$lang.new.po > $$ptmpdir/$$lang.new.1po; \ + if ! cmp $$ptmpdir/$$lang.1po $$ptmpdir/$$lang.new.1po >/dev/null 2>&1; then \ + if mv -f $$ptmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ - echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + echo "msgmerge for $$lang.po failed: cannot move $$ptmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi + fi ; rm -rf $$ptmpdir $(DUMMYPOFILES): diff --git a/man/po/da.po b/man/po/da.po index 25f78b53..08615d16 100644 --- a/man/po/da.po +++ b/man/po/da.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow-man\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-14 18:23-0500\n" "PO-Revision-Date: 2013-08-23 01:35+0200\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" @@ -30,12 +30,12 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #. (itstool) path: author/firstname -#: chage.1.xml.out:16 chfn.1.xml.out:18 chpasswd.8.xml.out:19 chsh.1.xml.out:18 +#: 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:84 logoutd.8.xml.out:15 -#: newgrp.1.xml.out:16 newusers.8.xml.out:31 passwd.1.xml.out:22 +#: 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 @@ -43,12 +43,12 @@ msgid "Julianne Frances" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:17 chfn.1.xml.out:19 chpasswd.8.xml.out:20 chsh.1.xml.out:19 +#: 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:85 logoutd.8.xml.out:16 -#: newgrp.1.xml.out:17 newusers.8.xml.out:32 passwd.1.xml.out:23 +#: 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 @@ -61,14 +61,14 @@ msgid "Creation, 1990" msgstr "" #. (itstool) path: author/firstname -#: chage.1.xml.out:21 chfn.1.xml.out:23 chgpasswd.8.xml.out:20 -#: chpasswd.8.xml.out:24 chsh.1.xml.out:23 expiry.1.xml.out:24 -#: faillog.5.xml.out:20 faillog.8.xml.out:20 gpasswd.1.xml.out:25 +#: 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:89 logoutd.8.xml.out:20 -#: newgrp.1.xml.out:21 newusers.8.xml.out:36 passwd.1.xml.out:27 +#: 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 @@ -77,14 +77,14 @@ msgid "Thomas" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:22 chfn.1.xml.out:24 chgpasswd.8.xml.out:21 -#: chpasswd.8.xml.out:25 chsh.1.xml.out:24 expiry.1.xml.out:25 -#: faillog.5.xml.out:21 faillog.8.xml.out:21 gpasswd.1.xml.out:26 +#: 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:90 logoutd.8.xml.out:21 -#: newgrp.1.xml.out:22 newusers.8.xml.out:37 passwd.1.xml.out:28 +#: 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 @@ -93,14 +93,14 @@ msgid "Kłoczko" msgstr "" #. (itstool) path: author/email -#: chage.1.xml.out:23 chfn.1.xml.out:25 chgpasswd.8.xml.out:22 -#: chpasswd.8.xml.out:26 chsh.1.xml.out:25 expiry.1.xml.out:26 -#: faillog.5.xml.out:22 faillog.8.xml.out:22 gpasswd.1.xml.out:27 +#: 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:91 logoutd.8.xml.out:22 -#: newgrp.1.xml.out:23 newusers.8.xml.out:38 passwd.1.xml.out:29 +#: 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 @@ -109,14 +109,14 @@ msgid "kloczek@pld.org.pl" msgstr "" #. (itstool) path: author/contrib -#: chage.1.xml.out:24 chfn.1.xml.out:26 chpasswd.8.xml.out:27 chsh.1.xml.out:26 +#: 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:28 groupadd.8.xml.out:26 groupdel.8.xml.out:24 +#: 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:92 -#: logoutd.8.xml.out:23 newgrp.1.xml.out:24 newusers.8.xml.out:39 -#: passwd.1.xml.out:30 passwd.5.xml.out:23 porttime.5.xml.out:23 +#: 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 @@ -125,15 +125,15 @@ msgid "shadow-utils maintainer, 2000 - 2007" msgstr "" #. (itstool) path: author/firstname -#: chage.1.xml.out:27 chfn.1.xml.out:29 chgpasswd.8.xml.out:26 -#: chpasswd.8.xml.out:30 chsh.1.xml.out:29 expiry.1.xml.out:30 -#: faillog.5.xml.out:26 faillog.8.xml.out:26 gpasswd.1.xml.out:31 +#: 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:95 -#: logoutd.8.xml.out:26 newgrp.1.xml.out:27 newusers.8.xml.out:42 -#: nologin.8.xml.out:15 passwd.1.xml.out:33 passwd.5.xml.out:26 +#: 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 @@ -142,15 +142,15 @@ msgid "Nicolas" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:28 chfn.1.xml.out:30 chgpasswd.8.xml.out:27 -#: chpasswd.8.xml.out:31 chsh.1.xml.out:30 expiry.1.xml.out:31 -#: faillog.5.xml.out:27 faillog.8.xml.out:27 gpasswd.1.xml.out:32 +#: 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:96 -#: logoutd.8.xml.out:27 newgrp.1.xml.out:28 newusers.8.xml.out:43 -#: nologin.8.xml.out:16 passwd.1.xml.out:34 passwd.5.xml.out:27 +#: 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 @@ -159,15 +159,15 @@ msgid "François" msgstr "" #. (itstool) path: author/email -#: chage.1.xml.out:29 chfn.1.xml.out:31 chgpasswd.8.xml.out:28 -#: chpasswd.8.xml.out:32 chsh.1.xml.out:31 expiry.1.xml.out:32 -#: faillog.5.xml.out:28 faillog.8.xml.out:28 gpasswd.1.xml.out:33 +#: 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:97 -#: logoutd.8.xml.out:28 newgrp.1.xml.out:29 newusers.8.xml.out:44 -#: nologin.8.xml.out:17 passwd.1.xml.out:35 passwd.5.xml.out:28 +#: 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 @@ -176,15 +176,15 @@ msgid "nicolas.francois@centraliens.net" msgstr "" #. (itstool) path: author/contrib -#: chage.1.xml.out:30 chfn.1.xml.out:32 chgpasswd.8.xml.out:29 -#: chpasswd.8.xml.out:33 chsh.1.xml.out:32 expiry.1.xml.out:33 -#: faillog.5.xml.out:29 faillog.8.xml.out:29 gpasswd.1.xml.out:34 +#: 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:98 -#: logoutd.8.xml.out:29 newgrp.1.xml.out:30 newusers.8.xml.out:45 -#: nologin.8.xml.out:18 passwd.1.xml.out:36 passwd.5.xml.out:29 +#: 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 @@ -199,9 +199,9 @@ msgstr "" #. (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:216 chage.1.xml.out:226 -#: chage.1.xml.out:236 chage.1.xml.out:241 chage.1.xml.out:285 -#: login.defs.5.xml.out:233 shadow.5.xml.out:262 +#: 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 "" @@ -209,11 +209,11 @@ msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum #. (itstool) path: para/replaceable -#: chage.1.xml.out:35 chage.1.xml.out:294 chfn.1.xml.out:37 chfn.1.xml.out:65 -#: chfn.1.xml.out:205 chgpasswd.8.xml.out:217 chpasswd.8.xml.out:265 -#: chsh.1.xml.out:37 chsh.1.xml.out:171 expiry.1.xml.out:38 -#: faillog.8.xml.out:235 gpasswd.1.xml.out:39 gpasswd.1.xml.out:93 -#: gpasswd.1.xml.out:277 groupadd.8.xml.out:345 groupadd.8.xml.out:348 +#: 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 @@ -221,44 +221,44 @@ msgstr "" #: 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:516 -#: login.defs.5.xml.out:518 login.defs.5.xml.out:520 login.defs.5.xml.out:530 -#: login.defs.5.xml.out:533 login.defs.5.xml.out:536 newgrp.1.xml.out:35 +#: 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:456 -#: nologin.8.xml.out:60 passwd.1.xml.out:41 passwd.1.xml.out:431 -#: 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:817 -#: useradd.8.xml.out:878 useradd.8.xml.out:881 useradd.8.xml.out:884 -#: 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:605 usermod.8.xml.out:608 usermod.8.xml.out:611 -#: vipw.8.xml.out:78 vipw.8.xml.out:205 +#: 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 "" #. (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:40 groups.1.xml.out:35 login.1.xml.out:68 -#: newgrp.1.xml.out:36 passwd.1.xml.out:42 sg.1.xml.out:36 su.1.xml.out:52 +#: 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 "" #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:37 chfn.1.xml.out:39 chgpasswd.8.xml.out:36 -#: chpasswd.8.xml.out:40 chsh.1.xml.out:39 expiry.1.xml.out:40 -#: faillog.5.xml.out:36 faillog.8.xml.out:36 gpasswd.1.xml.out:41 +#: 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:105 -#: logoutd.8.xml.out:36 newgrp.1.xml.out:37 newusers.8.xml.out:52 -#: nologin.8.xml.out:25 passwd.1.xml.out:43 passwd.5.xml.out:36 +#: 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 @@ -267,20 +267,20 @@ msgid "shadow-utils" msgstr "shadow-utils" #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:38 chfn.1.xml.out:40 chgpasswd.8.xml.out:37 -#: chpasswd.8.xml.out:41 chsh.1.xml.out:40 expiry.1.xml.out:41 -#: faillog.5.xml.out:37 faillog.8.xml.out:37 gpasswd.1.xml.out:42 +#: 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:106 -#: logoutd.8.xml.out:37 newgrp.1.xml.out:38 newusers.8.xml.out:53 -#: nologin.8.xml.out:26 passwd.1.xml.out:44 passwd.5.xml.out:37 +#: 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.13" +msgid "4.15.0" msgstr "" #. (itstool) path: refnamediv/refpurpose @@ -290,10 +290,10 @@ msgstr "ændr udløbsinformation om brugeradgangskode" #. (itstool) path: arg/replaceable #. (itstool) path: cmdsynopsis/arg -#: chage.1.xml.out:48 chfn.1.xml.out:51 chgpasswd.8.xml.out:48 -#: chpasswd.8.xml.out:52 chsh.1.xml.out:51 faillog.8.xml.out:48 +#: 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:64 passwd.1.xml.out:55 +#: 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 @@ -306,22 +306,22 @@ msgstr "tilvalg" #. (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:58 useradd.8.xml.out:68 +#: 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 "LOGIND" #. (itstool) path: refsect1/title -#: chage.1.xml.out:57 chfn.1.xml.out:60 chgpasswd.8.xml.out:54 -#: chpasswd.8.xml.out:58 chsh.1.xml.out:60 expiry.1.xml.out:58 -#: faillog.5.xml.out:45 faillog.8.xml.out:54 gpasswd.1.xml.out:70 +#: 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:114 -#: logoutd.8.xml.out:51 newgrp.1.xml.out:53 newusers.8.xml.out:73 -#: nologin.8.xml.out:40 passwd.1.xml.out:64 passwd.5.xml.out:45 +#: 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 @@ -339,12 +339,12 @@ msgstr "" #. (itstool) path: refsect1/title #. (itstool) path: arg/replaceable -#: chage.1.xml.out:67 chfn.1.xml.out:87 chgpasswd.8.xml.out:81 -#: chpasswd.8.xml.out:106 chsh.1.xml.out:71 expiry.1.xml.out:67 -#: faillog.8.xml.out:65 gpasswd.1.xml.out:110 groupadd.8.xml.out:51 +#: 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:250 passwd.1.xml.out:150 +#: 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 @@ -352,12 +352,12 @@ msgid "OPTIONS" msgstr "TILVALG" #. (itstool) path: refsect1/para -#: chage.1.xml.out:68 chfn.1.xml.out:88 chgpasswd.8.xml.out:82 -#: chpasswd.8.xml.out:107 chsh.1.xml.out:72 expiry.1.xml.out:68 -#: faillog.8.xml.out:66 gpasswd.1.xml.out:118 groupadd.8.xml.out:81 +#: 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:251 -#: passwd.1.xml.out:151 pwck.8.xml.out:158 su.1.xml.out:121 +#: 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 chfn command are:" @@ -366,9 +366,9 @@ msgstr "Tilvalgende som gælder for kommandoen chfn er:" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:74 gpasswd.1.xml.out:137 groupmems.8.xml.out:94 -#: passwd.1.xml.out:168 useradd.8.xml.out:123 useradd.8.xml.out:151 -#: useradd.8.xml.out:599 usermod.8.xml.out:112 usermod.8.xml.out:260 +#: 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 msgid "-d" msgstr "" @@ -386,44 +386,44 @@ msgstr "" #. (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 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:122 chpasswd.8.xml.out:113 chpasswd.8.xml.out:164 -#: chpasswd.8.xml.out:177 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:123 gpasswd.1.xml.out:136 -#: gpasswd.1.xml.out:157 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:305 passwd.1.xml.out:196 passwd.1.xml.out:245 -#: passwd.1.xml.out:267 passwd.1.xml.out:277 passwd.1.xml.out:321 -#: passwd.1.xml.out:334 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:277 -#: useradd.8.xml.out:424 useradd.8.xml.out:488 useradd.8.xml.out:501 -#: useradd.8.xml.out:516 useradd.8.xml.out:530 useradd.8.xml.out:565 -#: useradd.8.xml.out:591 useradd.8.xml.out:609 useradd.8.xml.out:621 -#: useradd.8.xml.out:638 useradd.8.xml.out:654 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 +#: 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 "" #. (itstool) path: para/emphasis #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:82 chage.1.xml.out:288 groupadd.8.xml.out:303 +#: 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:138 passwd.1.xml.out:425 pwck.8.xml.out:287 -#: su.1.xml.out:385 useradd.8.xml.out:811 userdel.8.xml.out:235 +#: 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 "" @@ -442,7 +442,7 @@ msgid "-E" msgstr "" #. (itstool) path: term/option -#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:610 +#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:630 #: usermod.8.xml.out:129 msgid "--expiredate" msgstr "" @@ -450,7 +450,7 @@ 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:610 usermod.8.xml.out:129 usermod.8.xml.out:243 +#: useradd.8.xml.out:630 usermod.8.xml.out:129 usermod.8.xml.out:243 #: usermod.8.xml.out:416 msgid "EXPIRE_DATE" msgstr "" @@ -480,7 +480,7 @@ 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:344 useradd.8.xml.out:315 +#: passwd.1.xml.out:355 useradd.8.xml.out:317 msgid "-1" msgstr "" @@ -493,78 +493,78 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:115 chfn.1.xml.out:102 chgpasswd.8.xml.out:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 passwd.1.xml.out:190 -#: pwck.8.xml.out:173 pwconv.8.xml.out:171 useradd.8.xml.out:271 +#: 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 "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:115 chfn.1.xml.out:143 chgpasswd.8.xml.out:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 -#: passwd.1.xml.out:190 pwck.8.xml.out:173 pwconv.8.xml.out:171 -#: su.1.xml.out:387 useradd.8.xml.out:271 userdel.8.xml.out:99 +#: 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:88 chgpasswd.8.xml.out:101 -#: chgpasswd.8.xml.out:107 chgpasswd.8.xml.out:113 chgpasswd.8.xml.out:135 -#: chpasswd.8.xml.out:139 chpasswd.8.xml.out:147 chpasswd.8.xml.out:155 +#: 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:149 gpasswd.1.xml.out:172 -#: gpasswd.1.xml.out:188 groupadd.8.xml.out:87 groupadd.8.xml.out:118 +#: 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:268 newusers.8.xml.out:280 newusers.8.xml.out:286 -#: newusers.8.xml.out:320 passwd.1.xml.out:156 passwd.1.xml.out:167 -#: passwd.1.xml.out:179 passwd.1.xml.out:190 passwd.1.xml.out:209 -#: passwd.1.xml.out:221 passwd.1.xml.out:257 passwd.1.xml.out:290 -#: passwd.1.xml.out:308 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:271 -#: useradd.8.xml.out:330 useradd.8.xml.out:349 useradd.8.xml.out:372 -#: useradd.8.xml.out:385 useradd.8.xml.out:404 useradd.8.xml.out:455 -#: useradd.8.xml.out:548 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 +#: 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:109 -#: chpasswd.8.xml.out:149 chsh.1.xml.out:79 expiry.1.xml.out:90 -#: faillog.8.xml.out:100 gpasswd.1.xml.out:151 groupadd.8.xml.out:120 +#: 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:282 -#: passwd.1.xml.out:192 pwck.8.xml.out:175 pwconv.8.xml.out:173 -#: useradd.8.xml.out:273 userdel.8.xml.out:101 vipw.8.xml.out:98 +#: 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 "Vis hjælpeteksten og afslut." #. (itstool) path: term/option -#: chage.1.xml.out:121 passwd.1.xml.out:197 +#: chage.1.xml.out:121 passwd.1.xml.out:193 msgid "-i" msgstr "" @@ -584,8 +584,8 @@ msgid "-I" msgstr "" #. (itstool) path: term/option -#: chage.1.xml.out:128 passwd.1.xml.out:197 useradd.8.xml.out:196 -#: useradd.8.xml.out:622 usermod.8.xml.out:152 +#: 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 "" @@ -593,8 +593,8 @@ msgstr "" #. (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:197 passwd.1.xml.out:203 useradd.8.xml.out:196 -#: useradd.8.xml.out:211 useradd.8.xml.out:622 useradd.8.xml.out:632 +#: 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 "" @@ -618,10 +618,10 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option #. (itstool) path: group/arg -#: chage.1.xml.out:147 chage.1.xml.out:242 faillog.8.xml.out:88 +#: 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:222 -#: passwd.1.xml.out:316 su.1.xml.out:144 su.1.xml.out:156 useradd.8.xml.out:330 +#: 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" @@ -638,29 +638,29 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:157 chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:113 -#: chpasswd.8.xml.out:78 chpasswd.8.xml.out:84 chpasswd.8.xml.out:130 -#: chpasswd.8.xml.out:155 faillog.8.xml.out:88 faillog.8.xml.out:120 +#: 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:287 useradd.8.xml.out:350 useradd.8.xml.out:476 +#: 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 msgid "-m" msgstr "" #. (itstool) path: term/option -#: chage.1.xml.out:157 passwd.1.xml.out:246 +#: 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:246 -#: passwd.1.xml.out:251 +#: 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:249 +#: chage.1.xml.out:160 passwd.1.xml.out:245 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 " @@ -669,26 +669,26 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:169 gpasswd.1.xml.out:81 gpasswd.1.xml.out:112 -#: gpasswd.1.xml.out:217 useradd.8.xml.out:162 useradd.8.xml.out:373 +#: 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 msgid "-M" msgstr "" #. (itstool) path: term/option -#: chage.1.xml.out:169 passwd.1.xml.out:335 +#: 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:335 passwd.1.xml.out:340 passwd.1.xml.out:345 +#: 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:203 usermod.8.xml.out:481 +#: chage.1.xml.out:178 chage.1.xml.out:218 usermod.8.xml.out:481 msgid "-W" msgstr "" @@ -703,30 +703,30 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:181 passwd.1.xml.out:343 +#: chage.1.xml.out:181 passwd.1.xml.out:354 msgid "" "Passing the number <_:emphasis-1/> as <_:replaceable-2/> will remove " "checking a password's validity." msgstr "" #. (itstool) path: term/option -#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 chsh.1.xml.out:84 faillog.8.xml.out:157 -#: gpasswd.1.xml.out:189 groupadd.8.xml.out:201 groupdel.8.xml.out:89 +#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 chsh.1.xml.out:84 faillog.8.xml.out:157 +#: gpasswd.1.xml.out:191 groupadd.8.xml.out:201 groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 groupmod.8.xml.out:164 grpck.8.xml.out:149 -#: lastlog.8.xml.out:104 newusers.8.xml.out:306 passwd.1.xml.out:278 -#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:489 +#: lastlog.8.xml.out:104 newusers.8.xml.out:308 passwd.1.xml.out:274 +#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:491 #: userdel.8.xml.out:123 usermod.8.xml.out:328 vipw.8.xml.out:115 msgid "-R" msgstr "" #. (itstool) path: term/option -#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 chsh.1.xml.out:84 faillog.8.xml.out:157 -#: gpasswd.1.xml.out:158 groupadd.8.xml.out:201 groupdel.8.xml.out:89 +#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 chsh.1.xml.out:84 faillog.8.xml.out:157 +#: gpasswd.1.xml.out:160 groupadd.8.xml.out:201 groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 groupmod.8.xml.out:164 grpck.8.xml.out:149 -#: lastlog.8.xml.out:104 newusers.8.xml.out:306 passwd.1.xml.out:278 -#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:489 +#: lastlog.8.xml.out:104 newusers.8.xml.out:308 passwd.1.xml.out:274 +#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:491 #: userdel.8.xml.out:123 usermod.8.xml.out:328 vipw.8.xml.out:115 msgid "--root" msgstr "" @@ -735,22 +735,22 @@ msgstr "" #. (itstool) path: para/replaceable #: chage.1.xml.out:190 chage.1.xml.out:194 chage.1.xml.out:196 #: chfn.1.xml.out:130 chfn.1.xml.out:134 chfn.1.xml.out:136 -#: chgpasswd.8.xml.out:123 chgpasswd.8.xml.out:127 chgpasswd.8.xml.out:129 -#: chpasswd.8.xml.out:165 chpasswd.8.xml.out:169 chpasswd.8.xml.out:171 +#: chgpasswd.8.xml.out:129 chgpasswd.8.xml.out:133 chgpasswd.8.xml.out:135 +#: chpasswd.8.xml.out:171 chpasswd.8.xml.out:175 chpasswd.8.xml.out:177 #: chsh.1.xml.out:84 chsh.1.xml.out:88 chsh.1.xml.out:90 faillog.8.xml.out:157 -#: faillog.8.xml.out:161 faillog.8.xml.out:163 gpasswd.1.xml.out:158 -#: gpasswd.1.xml.out:162 gpasswd.1.xml.out:164 groupadd.8.xml.out:201 +#: faillog.8.xml.out:161 faillog.8.xml.out:163 gpasswd.1.xml.out:160 +#: gpasswd.1.xml.out:164 gpasswd.1.xml.out:166 groupadd.8.xml.out:201 #: groupadd.8.xml.out:205 groupadd.8.xml.out:207 groupdel.8.xml.out:89 #: groupdel.8.xml.out:93 groupdel.8.xml.out:95 groupmems.8.xml.out:142 #: groupmems.8.xml.out:146 groupmems.8.xml.out:148 groupmod.8.xml.out:164 #: groupmod.8.xml.out:168 groupmod.8.xml.out:170 grpck.8.xml.out:149 #: grpck.8.xml.out:153 grpck.8.xml.out:155 lastlog.8.xml.out:104 -#: lastlog.8.xml.out:108 lastlog.8.xml.out:110 newusers.8.xml.out:306 -#: newusers.8.xml.out:310 newusers.8.xml.out:312 passwd.1.xml.out:278 -#: passwd.1.xml.out:282 passwd.1.xml.out:284 pwck.8.xml.out:197 +#: lastlog.8.xml.out:108 lastlog.8.xml.out:110 newusers.8.xml.out:308 +#: newusers.8.xml.out:312 newusers.8.xml.out:314 passwd.1.xml.out:274 +#: passwd.1.xml.out:278 passwd.1.xml.out:280 pwck.8.xml.out:197 #: pwck.8.xml.out:201 pwck.8.xml.out:203 pwconv.8.xml.out:178 -#: pwconv.8.xml.out:182 pwconv.8.xml.out:184 useradd.8.xml.out:489 -#: useradd.8.xml.out:493 useradd.8.xml.out:495 userdel.8.xml.out:123 +#: pwconv.8.xml.out:182 pwconv.8.xml.out:184 useradd.8.xml.out:491 +#: useradd.8.xml.out:495 useradd.8.xml.out:497 userdel.8.xml.out:123 #: userdel.8.xml.out:127 userdel.8.xml.out:129 usermod.8.xml.out:328 #: usermod.8.xml.out:332 usermod.8.xml.out:334 vipw.8.xml.out:115 #: vipw.8.xml.out:119 vipw.8.xml.out:121 @@ -758,12 +758,12 @@ msgid "CHROOT_DIR" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:193 chfn.1.xml.out:133 chgpasswd.8.xml.out:126 -#: chpasswd.8.xml.out:168 chsh.1.xml.out:87 faillog.8.xml.out:160 -#: gpasswd.1.xml.out:161 groupadd.8.xml.out:204 groupdel.8.xml.out:92 +#: chage.1.xml.out:193 chfn.1.xml.out:133 chgpasswd.8.xml.out:132 +#: chpasswd.8.xml.out:174 chsh.1.xml.out:87 faillog.8.xml.out:160 +#: gpasswd.1.xml.out:163 groupadd.8.xml.out:204 groupdel.8.xml.out:92 #: groupmems.8.xml.out:145 groupmod.8.xml.out:167 grpck.8.xml.out:152 -#: lastlog.8.xml.out:107 newusers.8.xml.out:309 passwd.1.xml.out:281 -#: pwck.8.xml.out:200 pwconv.8.xml.out:181 useradd.8.xml.out:492 +#: lastlog.8.xml.out:107 newusers.8.xml.out:311 passwd.1.xml.out:277 +#: pwck.8.xml.out:200 pwconv.8.xml.out:181 useradd.8.xml.out:494 #: userdel.8.xml.out:126 usermod.8.xml.out:331 vipw.8.xml.out:118 #, fuzzy #| msgid "" @@ -779,19 +779,56 @@ msgstr "" "konfigurationsfilerne fra mappen CHROOT_DIR." #. (itstool) path: term/option -#: chage.1.xml.out:203 passwd.1.xml.out:322 +#: chage.1.xml.out:203 chpasswd.8.xml.out:184 groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 groupmod.8.xml.out:177 passwd.1.xml.out:287 +#: useradd.8.xml.out:504 userdel.8.xml.out:136 usermod.8.xml.out:341 +msgid "-P" +msgstr "" + +#. (itstool) path: term/option +#: chage.1.xml.out:203 chpasswd.8.xml.out:184 groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 groupmod.8.xml.out:177 passwd.1.xml.out:287 +#: useradd.8.xml.out:504 userdel.8.xml.out:136 usermod.8.xml.out:341 +msgid "--prefix" +msgstr "" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: chage.1.xml.out:203 chage.1.xml.out:208 chpasswd.8.xml.out:184 +#: chpasswd.8.xml.out:189 groupadd.8.xml.out:214 groupadd.8.xml.out:219 +#: groupdel.8.xml.out:102 groupdel.8.xml.out:106 groupdel.8.xml.out:108 +#: groupmod.8.xml.out:177 groupmod.8.xml.out:181 groupmod.8.xml.out:183 +#: passwd.1.xml.out:287 passwd.1.xml.out:292 useradd.8.xml.out:504 +#: useradd.8.xml.out:509 userdel.8.xml.out:136 userdel.8.xml.out:140 +#: userdel.8.xml.out:142 usermod.8.xml.out:341 usermod.8.xml.out:346 +msgid "PREFIX_DIR" +msgstr "" + +#. (itstool) path: listitem/para +#: chage.1.xml.out:206 chpasswd.8.xml.out:187 groupadd.8.xml.out:217 +#: passwd.1.xml.out:290 useradd.8.xml.out:507 +msgid "" +"Apply changes to configuration files under the root filesystem found under " +"the directory <_:replaceable-1/>. 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 "" + +#. (itstool) path: term/option +#: chage.1.xml.out:218 passwd.1.xml.out:333 msgid "--warndays" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:203 chage.1.xml.out:208 passwd.1.xml.out:322 -#: passwd.1.xml.out:327 +#: chage.1.xml.out:218 chage.1.xml.out:223 passwd.1.xml.out:333 +#: passwd.1.xml.out:338 msgid "WARN_DAYS" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:206 +#: chage.1.xml.out:221 msgid "" "Set the number of days of warning before a password change is required. The " "<_:replaceable-1/> option is the number of days prior to the password " @@ -799,12 +836,12 @@ msgid "" msgstr "" #. (itstool) path: para/emphasis -#: chage.1.xml.out:220 chfn.1.xml.out:163 chsh.1.xml.out:112 +#: chage.1.xml.out:235 chfn.1.xml.out:163 chsh.1.xml.out:112 msgid "[ ]" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:215 +#: chage.1.xml.out:230 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 " @@ -814,13 +851,13 @@ msgid "" msgstr "" #. (itstool) path: refsect1/title -#: chage.1.xml.out:224 chsh.1.xml.out:117 groups.1.xml.out:65 +#: chage.1.xml.out:239 chsh.1.xml.out:117 groups.1.xml.out:65 #: lastlog.8.xml.out:170 msgid "NOTE" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:225 +#: chage.1.xml.out:240 #, fuzzy #| msgid "" #| "The chage program requires a shadow password file to " @@ -832,7 +869,7 @@ msgstr "" "er tilgængelig." #. (itstool) path: refsect1/para -#: chage.1.xml.out:229 +#: chage.1.xml.out:244 msgid "" "The chage program will report only the information from the shadow password " "file. This implies that configuration from other sources (e.g. LDAP or empty " @@ -846,7 +883,7 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: chage.1.xml.out:238 grpck.8.xml.out:294 login.defs.5.xml.out:410 +#: chage.1.xml.out:253 grpck.8.xml.out:294 login.defs.5.xml.out:429 #: passwd.5.xml.out:185 pwck.8.xml.out:40 pwck.8.xml.out:47 pwck.8.xml.out:53 #: pwck.8.xml.out:71 pwck.8.xml.out:147 pwck.8.xml.out:159 pwck.8.xml.out:191 #: pwck.8.xml.out:223 pwck.8.xml.out:284 pwconv.8.xml.out:197 @@ -855,7 +892,7 @@ msgid "pwck" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:235 +#: chage.1.xml.out:250 msgid "" "The <_:command-1/> program will also not report any inconsistency between " "the shadow and passwd files (e.g. missing x in the passwd file). The <_:" @@ -863,7 +900,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:241 +#: chage.1.xml.out:256 #, fuzzy #| msgid "" #| "The chage command is restricted to the root user, " @@ -881,52 +918,54 @@ msgstr "" "konto står til at udløbe." #. (itstool) path: refsect1/title -#: chage.1.xml.out:249 chfn.1.xml.out:170 chgpasswd.8.xml.out:175 -#: chpasswd.8.xml.out:216 chsh.1.xml.out:131 gpasswd.1.xml.out:241 +#: chage.1.xml.out:264 chfn.1.xml.out:170 chgpasswd.8.xml.out:201 +#: chpasswd.8.xml.out:256 chsh.1.xml.out:150 gpasswd.1.xml.out:243 #: groupadd.8.xml.out:247 groupdel.8.xml.out:133 groupmems.8.xml.out:176 #: groupmod.8.xml.out:212 grpck.8.xml.out:196 lastlog.8.xml.out:182 -#: login.1.xml.out:270 newgrp.1.xml.out:85 newusers.8.xml.out:360 -#: passwd.1.xml.out:372 pwck.8.xml.out:240 pwconv.8.xml.out:204 sg.1.xml.out:74 -#: su.1.xml.out:314 useradd.8.xml.out:710 userdel.8.xml.out:165 -#: usermod.8.xml.out:536 vipw.8.xml.out:142 +#: login.1.xml.out:270 newgrp.1.xml.out:85 newusers.8.xml.out:381 +#: passwd.1.xml.out:394 pwck.8.xml.out:240 pwconv.8.xml.out:204 sg.1.xml.out:74 +#: su.1.xml.out:314 useradd.8.xml.out:730 userdel.8.xml.out:165 +#: usermod.8.xml.out:553 vipw.8.xml.out:142 msgid "CONFIGURATION" msgstr "KONFIGURATION" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: chage.1.xml.out:252 chfn.1.xml.out:68 chfn.1.xml.out:173 chfn.1.xml.out:187 -#: chgpasswd.8.xml.out:70 chgpasswd.8.xml.out:155 chgpasswd.8.xml.out:178 -#: chgpasswd.8.xml.out:205 chpasswd.8.xml.out:77 chpasswd.8.xml.out:134 -#: chpasswd.8.xml.out:200 chpasswd.8.xml.out:219 chpasswd.8.xml.out:247 -#: chsh.1.xml.out:134 chsh.1.xml.out:159 gpasswd.1.xml.out:244 -#: groupadd.8.xml.out:129 groupadd.8.xml.out:239 groupadd.8.xml.out:250 -#: groupadd.8.xml.out:276 groupdel.8.xml.out:136 groupmems.8.xml.out:179 -#: groupmod.8.xml.out:109 groupmod.8.xml.out:204 groupmod.8.xml.out:215 -#: groupmod.8.xml.out:239 grpck.8.xml.out:199 lastlog.8.xml.out:185 -#: login.1.xml.out:273 login.1.xml.out:365 login.access.5.xml.out:100 -#: login.defs.5.xml.out:116 login.defs.5.xml.out:515 newgrp.1.xml.out:88 -#: newusers.8.xml.out:340 newusers.8.xml.out:363 newusers.8.xml.out:423 -#: passwd.1.xml.out:375 passwd.1.xml.out:405 pwck.8.xml.out:243 +#: chage.1.xml.out:267 chfn.1.xml.out:68 chfn.1.xml.out:173 chfn.1.xml.out:187 +#: chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:159 chgpasswd.8.xml.out:168 +#: chgpasswd.8.xml.out:177 chgpasswd.8.xml.out:204 chgpasswd.8.xml.out:233 +#: chpasswd.8.xml.out:79 chpasswd.8.xml.out:140 chpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:227 chpasswd.8.xml.out:236 chpasswd.8.xml.out:259 +#: chpasswd.8.xml.out:289 chsh.1.xml.out:153 chsh.1.xml.out:200 +#: gpasswd.1.xml.out:246 groupadd.8.xml.out:129 groupadd.8.xml.out:239 +#: groupadd.8.xml.out:250 groupadd.8.xml.out:276 groupdel.8.xml.out:136 +#: groupmems.8.xml.out:179 groupmod.8.xml.out:109 groupmod.8.xml.out:204 +#: groupmod.8.xml.out:215 groupmod.8.xml.out:239 grpck.8.xml.out:199 +#: lastlog.8.xml.out:185 login.1.xml.out:273 login.1.xml.out:365 +#: login.access.5.xml.out:100 login.defs.5.xml.out:118 login.defs.5.xml.out:534 +#: newgrp.1.xml.out:88 newusers.8.xml.out:340 newusers.8.xml.out:349 +#: newusers.8.xml.out:357 newusers.8.xml.out:384 newusers.8.xml.out:444 +#: passwd.1.xml.out:397 passwd.1.xml.out:427 pwck.8.xml.out:243 #: pwconv.8.xml.out:148 pwconv.8.xml.out:207 pwconv.8.xml.out:215 #: pwconv.8.xml.out:230 sg.1.xml.out:77 su.1.xml.out:109 su.1.xml.out:219 #: su.1.xml.out:277 su.1.xml.out:317 su.1.xml.out:357 useradd.8.xml.out:241 -#: useradd.8.xml.out:307 useradd.8.xml.out:378 useradd.8.xml.out:399 -#: useradd.8.xml.out:467 useradd.8.xml.out:474 useradd.8.xml.out:560 -#: useradd.8.xml.out:713 useradd.8.xml.out:797 userdel.8.xml.out:87 +#: useradd.8.xml.out:309 useradd.8.xml.out:380 useradd.8.xml.out:401 +#: useradd.8.xml.out:469 useradd.8.xml.out:476 useradd.8.xml.out:562 +#: useradd.8.xml.out:733 useradd.8.xml.out:817 userdel.8.xml.out:87 #: userdel.8.xml.out:168 userdel.8.xml.out:191 userdel.8.xml.out:297 -#: usermod.8.xml.out:399 usermod.8.xml.out:539 usermod.8.xml.out:569 +#: usermod.8.xml.out:399 usermod.8.xml.out:556 usermod.8.xml.out:586 #: vipw.8.xml.out:145 msgid "/etc/login.defs" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:250 chfn.1.xml.out:171 chgpasswd.8.xml.out:176 -#: chpasswd.8.xml.out:217 chsh.1.xml.out:132 gpasswd.1.xml.out:242 +#: chage.1.xml.out:265 chfn.1.xml.out:171 chgpasswd.8.xml.out:202 +#: chpasswd.8.xml.out:257 chsh.1.xml.out:151 gpasswd.1.xml.out:244 #: groupadd.8.xml.out:248 groupdel.8.xml.out:134 groupmems.8.xml.out:177 #: groupmod.8.xml.out:213 grpck.8.xml.out:197 lastlog.8.xml.out:183 -#: login.1.xml.out:271 newgrp.1.xml.out:86 newusers.8.xml.out:361 -#: passwd.1.xml.out:373 pwck.8.xml.out:241 sg.1.xml.out:75 su.1.xml.out:315 -#: useradd.8.xml.out:711 userdel.8.xml.out:166 usermod.8.xml.out:537 +#: login.1.xml.out:271 newgrp.1.xml.out:86 newusers.8.xml.out:382 +#: passwd.1.xml.out:395 pwck.8.xml.out:241 sg.1.xml.out:75 su.1.xml.out:315 +#: useradd.8.xml.out:731 userdel.8.xml.out:166 usermod.8.xml.out:554 #: vipw.8.xml.out:143 #, fuzzy #| msgid "" @@ -940,126 +979,126 @@ msgstr "" "ændrer opførelsen for dette værktøj:" #. (itstool) path: refsect1/title -#: chage.1.xml.out:261 chfn.1.xml.out:184 chgpasswd.8.xml.out:190 -#: chpasswd.8.xml.out:232 chsh.1.xml.out:144 expiry.1.xml.out:97 -#: faillog.5.xml.out:72 faillog.8.xml.out:220 gpasswd.1.xml.out:256 +#: chage.1.xml.out:276 chfn.1.xml.out:184 chgpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:274 chsh.1.xml.out:163 expiry.1.xml.out:97 +#: faillog.5.xml.out:72 faillog.8.xml.out:220 gpasswd.1.xml.out:258 #: groupadd.8.xml.out:261 groupdel.8.xml.out:145 groupmems.8.xml.out:188 #: groupmod.8.xml.out:224 groups.1.xml.out:77 grpck.8.xml.out:208 #: gshadow.5.xml.out:132 lastlog.8.xml.out:194 limits.5.xml.out:172 #: login.1.xml.out:314 login.access.5.xml.out:97 logoutd.8.xml.out:65 -#: newgrp.1.xml.out:97 newusers.8.xml.out:396 passwd.1.xml.out:390 +#: newgrp.1.xml.out:97 newusers.8.xml.out:417 passwd.1.xml.out:412 #: passwd.5.xml.out:139 porttime.5.xml.out:106 pwck.8.xml.out:258 #: pwconv.8.xml.out:227 shadow.3.xml.out:202 shadow.5.xml.out:231 -#: sg.1.xml.out:86 su.1.xml.out:342 suauth.5.xml.out:169 useradd.8.xml.out:740 -#: userdel.8.xml.out:182 usermod.8.xml.out:554 vipw.8.xml.out:172 +#: sg.1.xml.out:86 su.1.xml.out:342 suauth.5.xml.out:169 useradd.8.xml.out:760 +#: userdel.8.xml.out:182 usermod.8.xml.out:571 vipw.8.xml.out:172 msgid "FILES" msgstr "FILER" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:265 chfn.1.xml.out:193 chpasswd.8.xml.out:235 -#: chsh.1.xml.out:147 expiry.1.xml.out:100 groupmod.8.xml.out:245 +#: chage.1.xml.out:280 chfn.1.xml.out:193 chpasswd.8.xml.out:277 +#: chsh.1.xml.out:166 expiry.1.xml.out:100 groupmod.8.xml.out:245 #: grpck.8.xml.out:223 lastlog.8.xml.out:63 login.1.xml.out:145 #: login.1.xml.out:329 newgrp.1.xml.out:65 newgrp.1.xml.out:70 -#: newgrp.1.xml.out:100 newusers.8.xml.out:399 passwd.1.xml.out:393 +#: newgrp.1.xml.out:100 newusers.8.xml.out:420 passwd.1.xml.out:415 #: passwd.5.xml.out:47 passwd.5.xml.out:89 passwd.5.xml.out:142 #: pwck.8.xml.out:73 pwck.8.xml.out:145 pwck.8.xml.out:212 pwck.8.xml.out:224 #: pwck.8.xml.out:267 pwconv.8.xml.out:127 shadow.5.xml.out:234 sg.1.xml.out:89 -#: su.1.xml.out:185 su.1.xml.out:197 su.1.xml.out:345 useradd.8.xml.out:524 -#: useradd.8.xml.out:743 userdel.8.xml.out:197 usermod.8.xml.out:103 -#: usermod.8.xml.out:305 usermod.8.xml.out:362 usermod.8.xml.out:575 +#: su.1.xml.out:185 su.1.xml.out:197 su.1.xml.out:345 useradd.8.xml.out:526 +#: useradd.8.xml.out:763 userdel.8.xml.out:197 usermod.8.xml.out:103 +#: usermod.8.xml.out:305 usermod.8.xml.out:362 usermod.8.xml.out:592 #: vipw.8.xml.out:68 vipw.8.xml.out:187 msgid "/etc/passwd" msgstr "/etc/passwd" #. (itstool) path: listitem/para -#: chage.1.xml.out:268 chfn.1.xml.out:195 chpasswd.8.xml.out:237 -#: chsh.1.xml.out:149 expiry.1.xml.out:102 groupmod.8.xml.out:247 +#: chage.1.xml.out:283 chfn.1.xml.out:195 chpasswd.8.xml.out:279 +#: chsh.1.xml.out:168 expiry.1.xml.out:102 groupmod.8.xml.out:247 #: grpck.8.xml.out:225 login.1.xml.out:331 newgrp.1.xml.out:102 -#: newusers.8.xml.out:401 passwd.1.xml.out:395 passwd.5.xml.out:144 +#: newusers.8.xml.out:422 passwd.1.xml.out:417 passwd.5.xml.out:144 #: pwck.8.xml.out:269 shadow.5.xml.out:236 sg.1.xml.out:91 su.1.xml.out:347 -#: useradd.8.xml.out:745 userdel.8.xml.out:199 vipw.8.xml.out:189 +#: useradd.8.xml.out:765 userdel.8.xml.out:199 vipw.8.xml.out:189 msgid "User account information." msgstr "Information om brugerkonto." #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:273 chpasswd.8.xml.out:241 expiry.1.xml.out:106 +#: chage.1.xml.out:288 chpasswd.8.xml.out:283 expiry.1.xml.out:106 #: login.1.xml.out:335 newgrp.1.xml.out:68 newgrp.1.xml.out:106 -#: newusers.8.xml.out:295 newusers.8.xml.out:405 passwd.1.xml.out:399 +#: newusers.8.xml.out:297 newusers.8.xml.out:426 passwd.1.xml.out:421 #: passwd.5.xml.out:82 passwd.5.xml.out:148 pwck.8.xml.out:73 #: pwck.8.xml.out:107 pwck.8.xml.out:213 pwck.8.xml.out:225 pwck.8.xml.out:273 #: pwconv.8.xml.out:128 pwconv.8.xml.out:149 shadow.3.xml.out:97 #: shadow.3.xml.out:173 shadow.3.xml.out:205 shadow.5.xml.out:78 -#: shadow.5.xml.out:240 sg.1.xml.out:95 su.1.xml.out:351 useradd.8.xml.out:439 -#: useradd.8.xml.out:464 useradd.8.xml.out:749 userdel.8.xml.out:203 +#: shadow.5.xml.out:240 sg.1.xml.out:95 su.1.xml.out:351 useradd.8.xml.out:441 +#: useradd.8.xml.out:466 useradd.8.xml.out:769 userdel.8.xml.out:203 #: usermod.8.xml.out:144 usermod.8.xml.out:145 usermod.8.xml.out:166 -#: usermod.8.xml.out:167 usermod.8.xml.out:306 usermod.8.xml.out:581 +#: usermod.8.xml.out:167 usermod.8.xml.out:306 usermod.8.xml.out:598 #: vipw.8.xml.out:71 vipw.8.xml.out:193 msgid "/etc/shadow" msgstr "/etc/shadow" #. (itstool) path: listitem/para -#: chage.1.xml.out:276 chpasswd.8.xml.out:243 expiry.1.xml.out:108 -#: login.1.xml.out:337 newgrp.1.xml.out:108 newusers.8.xml.out:407 -#: passwd.1.xml.out:401 pwck.8.xml.out:275 shadow.3.xml.out:207 -#: shadow.5.xml.out:242 sg.1.xml.out:97 su.1.xml.out:353 useradd.8.xml.out:751 +#: chage.1.xml.out:291 chpasswd.8.xml.out:285 expiry.1.xml.out:108 +#: login.1.xml.out:337 newgrp.1.xml.out:108 newusers.8.xml.out:428 +#: passwd.1.xml.out:423 pwck.8.xml.out:275 shadow.3.xml.out:207 +#: shadow.5.xml.out:242 sg.1.xml.out:97 su.1.xml.out:353 useradd.8.xml.out:771 #: userdel.8.xml.out:205 vipw.8.xml.out:195 msgid "Secure user account information." msgstr "Information om sikret brugerkonto." #. (itstool) path: refsect1/title -#: chage.1.xml.out:283 groupadd.8.xml.out:298 groupdel.8.xml.out:163 -#: groupmod.8.xml.out:254 grpck.8.xml.out:232 passwd.1.xml.out:420 -#: pwck.8.xml.out:282 su.1.xml.out:366 useradd.8.xml.out:806 +#: chage.1.xml.out:298 groupadd.8.xml.out:298 groupdel.8.xml.out:163 +#: groupmod.8.xml.out:254 grpck.8.xml.out:232 passwd.1.xml.out:442 +#: pwck.8.xml.out:282 su.1.xml.out:366 useradd.8.xml.out:826 #: userdel.8.xml.out:230 msgid "EXIT VALUES" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:290 groupadd.8.xml.out:305 groupdel.8.xml.out:170 -#: grpck.8.xml.out:239 passwd.1.xml.out:427 pwck.8.xml.out:289 -#: useradd.8.xml.out:813 userdel.8.xml.out:237 +#: chage.1.xml.out:305 groupadd.8.xml.out:305 groupdel.8.xml.out:170 +#: grpck.8.xml.out:239 passwd.1.xml.out:449 pwck.8.xml.out:289 +#: useradd.8.xml.out:833 userdel.8.xml.out:237 msgid "success" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:296 passwd.1.xml.out:433 +#: chage.1.xml.out:311 passwd.1.xml.out:455 msgid "permission denied" msgstr "tilladelse nægtet" #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum -#: chage.1.xml.out:300 groupadd.8.xml.out:309 groupdel.8.xml.out:174 +#: chage.1.xml.out:315 groupadd.8.xml.out:309 groupdel.8.xml.out:174 #: groupmod.8.xml.out:265 groups.1.xml.out:95 groups.1.xml.out:98 #: groups.1.xml.out:101 grpck.8.xml.out:249 limits.5.xml.out:90 #: limits.5.xml.out:101 limits.5.xml.out:188 limits.5.xml.out:191 -#: passwd.1.xml.out:437 pwck.8.xml.out:299 useradd.8.xml.out:823 +#: passwd.1.xml.out:459 pwck.8.xml.out:299 useradd.8.xml.out:843 #: userdel.8.xml.out:247 msgid "2" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:302 groupadd.8.xml.out:311 groupdel.8.xml.out:176 -#: grpck.8.xml.out:245 pwck.8.xml.out:295 useradd.8.xml.out:825 +#: chage.1.xml.out:317 groupadd.8.xml.out:311 groupdel.8.xml.out:176 +#: grpck.8.xml.out:245 pwck.8.xml.out:295 useradd.8.xml.out:845 #: userdel.8.xml.out:249 msgid "invalid command syntax" msgstr "" #. (itstool) path: term/replaceable -#: chage.1.xml.out:306 +#: chage.1.xml.out:321 msgid "15" msgstr "15" #. (itstool) path: listitem/para -#: chage.1.xml.out:308 +#: chage.1.xml.out:323 msgid "can't find the shadow password file" msgstr "Kan ikke finde shadows adgangskodefil" #. (itstool) path: refsect1/para -#: chage.1.xml.out:284 groupadd.8.xml.out:299 groupdel.8.xml.out:164 -#: groupmod.8.xml.out:255 grpck.8.xml.out:233 passwd.1.xml.out:421 -#: pwck.8.xml.out:283 useradd.8.xml.out:807 userdel.8.xml.out:231 +#: chage.1.xml.out:299 groupadd.8.xml.out:299 groupdel.8.xml.out:164 +#: groupmod.8.xml.out:255 grpck.8.xml.out:233 passwd.1.xml.out:443 +#: pwck.8.xml.out:283 useradd.8.xml.out:827 userdel.8.xml.out:231 #, fuzzy #| msgid "" #| "The pwck command exits with the following values: " @@ -1072,18 +1111,18 @@ msgstr "" "" #. (itstool) path: refsect1/title -#: chage.1.xml.out:316 chfn.1.xml.out:202 chgpasswd.8.xml.out:214 -#: chpasswd.8.xml.out:262 chsh.1.xml.out:168 expiry.1.xml.out:115 -#: faillog.5.xml.out:84 faillog.8.xml.out:232 gpasswd.1.xml.out:274 +#: chage.1.xml.out:331 chfn.1.xml.out:202 chgpasswd.8.xml.out:242 +#: chpasswd.8.xml.out:304 chsh.1.xml.out:209 expiry.1.xml.out:115 +#: faillog.5.xml.out:84 faillog.8.xml.out:232 gpasswd.1.xml.out:276 #: groupadd.8.xml.out:343 groupdel.8.xml.out:202 groupmems.8.xml.out:206 #: groupmod.8.xml.out:323 groups.1.xml.out:89 grpck.8.xml.out:277 #: gshadow.5.xml.out:150 limits.5.xml.out:182 login.1.xml.out:374 -#: login.access.5.xml.out:109 login.defs.5.xml.out:527 newgrp.1.xml.out:127 -#: newusers.8.xml.out:450 nologin.8.xml.out:57 passwd.1.xml.out:471 +#: login.access.5.xml.out:109 login.defs.5.xml.out:546 newgrp.1.xml.out:127 +#: newusers.8.xml.out:471 nologin.8.xml.out:57 passwd.1.xml.out:493 #: passwd.5.xml.out:167 porttime.5.xml.out:118 pwck.8.xml.out:333 #: pwconv.8.xml.out:239 shadow.3.xml.out:214 shadow.5.xml.out:259 -#: sg.1.xml.out:116 su.1.xml.out:413 suauth.5.xml.out:198 useradd.8.xml.out:875 -#: userdel.8.xml.out:308 usermod.8.xml.out:602 vipw.8.xml.out:202 +#: sg.1.xml.out:116 su.1.xml.out:413 suauth.5.xml.out:198 useradd.8.xml.out:895 +#: userdel.8.xml.out:308 usermod.8.xml.out:619 vipw.8.xml.out:202 msgid "SEE ALSO" msgstr "SE OGSÅ" @@ -1096,53 +1135,53 @@ msgstr "SE OGSÅ" #. (itstool) path: para/command #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: chage.1.xml.out:319 chfn.1.xml.out:211 chpasswd.8.xml.out:265 -#: chsh.1.xml.out:177 expiry.1.xml.out:118 groupadd.8.xml.out:351 +#: 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:399 -#: login.defs.5.xml.out:516 login.defs.5.xml.out:533 login.defs.5.xml.out:539 -#: newusers.8.xml.out:79 newusers.8.xml.out:456 passwd.1.xml.out:40 -#: passwd.1.xml.out:47 passwd.1.xml.out:53 passwd.1.xml.out:66 -#: passwd.1.xml.out:69 passwd.1.xml.out:86 passwd.1.xml.out:116 -#: passwd.1.xml.out:152 passwd.1.xml.out:366 passwd.1.xml.out:413 -#: passwd.1.xml.out:422 passwd.1.xml.out:451 passwd.1.xml.out:457 -#: passwd.1.xml.out:477 passwd.5.xml.out:33 passwd.5.xml.out:40 +#: 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:884 userdel.8.xml.out:316 -#: usermod.8.xml.out:611 vipw.8.xml.out:217 +#: 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 "" #. (itstool) path: citerefentry/manvolnum #. (itstool) path: refmeta/manvolnum #. (itstool) path: term/replaceable -#: chage.1.xml.out:319 chage.1.xml.out:322 chfn.1.xml.out:208 -#: chfn.1.xml.out:211 chgpasswd.8.xml.out:223 chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 chsh.1.xml.out:177 expiry.1.xml.out:118 +#: 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:292 gpasswd.1.xml.out:295 groupadd.8.xml.out:363 +#: 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:103 login.defs.5.xml.out:539 login.defs.5.xml.out:542 -#: newgrp.1.xml.out:145 newgrp.1.xml.out:148 newusers.8.xml.out:79 -#: newusers.8.xml.out:453 newusers.8.xml.out:460 newusers.8.xml.out:463 -#: nologin.8.xml.out:48 nologin.8.xml.out:63 passwd.1.xml.out:455 -#: passwd.1.xml.out:477 passwd.1.xml.out:480 passwd.1.xml.out:484 +#: 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:628 -#: useradd.8.xml.out:899 useradd.8.xml.out:906 useradd.8.xml.out:909 +#: 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:629 usermod.8.xml.out:633 -#: usermod.8.xml.out:636 vipw.8.xml.out:208 vipw.8.xml.out:211 +#: 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" @@ -1155,20 +1194,20 @@ msgstr "5" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/filename -#: chage.1.xml.out:322 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:542 -#: passwd.1.xml.out:480 passwd.5.xml.out:79 passwd.5.xml.out:194 +#: 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:628 +#: 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 "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:317 expiry.1.xml.out:116 faillog.8.xml.out:233 +#: 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 "" @@ -1180,10 +1219,10 @@ msgstr "" #. (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:171 +#: 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:239 useradd.8.xml.out:878 -#: userdel.8.xml.out:310 usermod.8.xml.out:105 usermod.8.xml.out:605 +#: 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 "" @@ -1201,8 +1240,8 @@ msgstr "" #. (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:405 useradd.8.xml.out:536 -#: useradd.8.xml.out:837 usermod.8.xml.out:271 usermod.8.xml.out:377 +#: 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 msgid "-o" msgstr "" @@ -1240,7 +1279,7 @@ msgstr "" #: 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:622 userdel.8.xml.out:76 userdel.8.xml.out:287 +#: 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" @@ -1299,12 +1338,12 @@ msgstr "" #. (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:173 +#: 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:287 passwd.1.xml.out:268 pwck.8.xml.out:155 -#: pwck.8.xml.out:188 useradd.8.xml.out:224 useradd.8.xml.out:456 -#: useradd.8.xml.out:542 userdel.8.xml.out:106 usermod.8.xml.out:317 +#: 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" @@ -1327,14 +1366,14 @@ msgstr "Ændr brugerens værelsesnummer." #. (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:309 useradd.8.xml.out:414 -#: useradd.8.xml.out:531 usermod.8.xml.out:279 usermod.8.xml.out:369 +#: 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 msgid "-u" msgstr "" #. (itstool) path: term/option -#: chfn.1.xml.out:151 passwd.1.xml.out:322 usermod.8.xml.out:463 +#: chfn.1.xml.out:151 passwd.1.xml.out:333 usermod.8.xml.out:463 msgid "-w" msgstr "" @@ -1365,11 +1404,11 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: chfn.1.xml.out:189 chgpasswd.8.xml.out:207 chpasswd.8.xml.out:249 -#: chsh.1.xml.out:161 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:425 -#: passwd.1.xml.out:407 pwconv.8.xml.out:232 su.1.xml.out:359 -#: useradd.8.xml.out:799 userdel.8.xml.out:193 +#: 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 "" @@ -1382,8 +1421,8 @@ msgstr "" #: 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:270 useradd.8.xml.out:881 -#: userdel.8.xml.out:313 usermod.8.xml.out:608 +#: 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 "" @@ -1391,25 +1430,25 @@ msgstr "" #. (itstool) path: para/filename #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname -#: chfn.1.xml.out:208 chgpasswd.8.xml.out:223 chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 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:102 -#: login.defs.5.xml.out:109 newusers.8.xml.out:298 newusers.8.xml.out:453 -#: passwd.1.xml.out:484 pwconv.8.xml.out:92 pwconv.8.xml.out:94 +#: 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:899 userdel.8.xml.out:117 userdel.8.xml.out:319 -#: usermod.8.xml.out:629 vipw.8.xml.out:214 +#: 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 "" #. (itstool) path: refsect1/para -#: chfn.1.xml.out:203 chgpasswd.8.xml.out:215 chsh.1.xml.out:169 +#: 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:23 +#: chgpasswd.8.xml.out:25 msgid "Creation, 2006" msgstr "" @@ -1418,19 +1457,19 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:33 chgpasswd.8.xml.out:40 chgpasswd.8.xml.out:46 -#: chgpasswd.8.xml.out:56 chgpasswd.8.xml.out:66 chgpasswd.8.xml.out:83 -#: login.defs.5.xml.out:249 +#: 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 "" #. (itstool) path: refmeta/manvolnum #. (itstool) path: citerefentry/manvolnum #. (itstool) path: term/replaceable -#: chgpasswd.8.xml.out:34 chgpasswd.8.xml.out:220 chpasswd.8.xml.out:38 -#: chpasswd.8.xml.out:268 chpasswd.8.xml.out:276 faillog.5.xml.out:87 -#: faillog.8.xml.out:34 gpasswd.1.xml.out:280 gpasswd.1.xml.out:283 -#: gpasswd.1.xml.out:286 gpasswd.1.xml.out:289 groupadd.8.xml.out:37 +#: 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 @@ -1443,43 +1482,43 @@ msgstr "" #: 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:545 -#: logoutd.8.xml.out:34 newusers.8.xml.out:50 newusers.8.xml.out:467 -#: nologin.8.xml.out:23 passwd.1.xml.out:474 passwd.1.xml.out:488 +#: 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:574 -#: useradd.8.xml.out:890 useradd.8.xml.out:893 useradd.8.xml.out:896 -#: useradd.8.xml.out:902 useradd.8.xml.out:913 useradd.8.xml.out:916 -#: 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:617 usermod.8.xml.out:620 usermod.8.xml.out:623 -#: usermod.8.xml.out:626 usermod.8.xml.out:640 usermod.8.xml.out:643 -#: vipw.8.xml.out:36 +#: 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:35 chpasswd.8.xml.out:39 faillog.8.xml.out:35 +#: 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:51 nologin.8.xml.out:24 +#: 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 "Kommandoer for systemhåndtering" #. (itstool) path: refnamediv/refpurpose -#: chgpasswd.8.xml.out:41 +#: chgpasswd.8.xml.out:43 msgid "update group passwords in batch mode" msgstr "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:55 +#: chgpasswd.8.xml.out:57 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 " @@ -1489,12 +1528,12 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chgpasswd.8.xml.out:61 groupmems.8.xml.out:54 groupmems.8.xml.out:110 +#: chgpasswd.8.xml.out:63 groupmems.8.xml.out:54 groupmems.8.xml.out:110 msgid "group_name" msgstr "" #. (itstool) path: para/emphasis -#: chgpasswd.8.xml.out:62 chpasswd.8.xml.out:66 passwd.5.xml.out:77 +#: 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 @@ -1503,28 +1542,28 @@ msgid "password" msgstr "/etc/passwd" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:60 chpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:62 chpasswd.8.xml.out:66 msgid "<_:emphasis-1/>:<_:emphasis-2/>" msgstr "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:66 msgid "" "By default the supplied password must be in clear-text, and is encrypted by " "<_:command-1/>." msgstr "" #. (itstool) path: para/option -#: chgpasswd.8.xml.out:70 chpasswd.8.xml.out:75 chpasswd.8.xml.out:132 -#: passwd.1.xml.out:129 +#: chgpasswd.8.xml.out:72 chpasswd.8.xml.out:77 chpasswd.8.xml.out:138 +#: passwd.1.xml.out:114 msgid "ENCRYPT_METHOD" msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: chgpasswd.8.xml.out:71 chgpasswd.8.xml.out:101 chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 chpasswd.8.xml.out:130 chpasswd.8.xml.out:139 -#: passwd.1.xml.out:180 useradd.8.xml.out:179 useradd.8.xml.out:610 +#: 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 msgid "-e" msgstr "" @@ -1532,16 +1571,16 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option #. (itstool) path: arg/arg -#: chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:88 chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 chpasswd.8.xml.out:114 chpasswd.8.xml.out:129 -#: expiry.1.xml.out:60 expiry.1.xml.out:73 newusers.8.xml.out:268 +#: 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 "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:68 +#: chgpasswd.8.xml.out:70 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 <_:" @@ -1549,53 +1588,107 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:74 chpasswd.8.xml.out:99 +#: 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 "" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:88 chpasswd.8.xml.out:114 newusers.8.xml.out:268 +#: 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:90 chpasswd.8.xml.out:117 newusers.8.xml.out:270 +#: 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 "Brug den angivne metode til at kryptere adgangskoderne." -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:91 chpasswd.8.xml.out:118 -msgid "The available methods are DES, MD5, and NONE." +#. (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 "BESKRIVELSE" + +#. (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:94 chpasswd.8.xml.out:121 newusers.8.xml.out:271 +#: chgpasswd.8.xml.out:93 chpasswd.8.xml.out:120 msgid "" -"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc " -"support these methods." +"The available methods are <_:phrase-1/> <_:replaceable-2/>, <_:replaceable-3/" +"><_:phrase-4/><_:phrase-5/> and <_:replaceable-6/> if your libc supports " +"these methods." msgstr "" -"De tilgængelige metoder er DES, Md5, NONE og SHA256 eller SHA512 hvis din " -"libc understøtter disse metoder." #. (itstool) path: term/option -#: chgpasswd.8.xml.out:101 chpasswd.8.xml.out:139 +#: chgpasswd.8.xml.out:107 chpasswd.8.xml.out:145 msgid "--encrypted" msgstr "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:103 chpasswd.8.xml.out:141 +#: chgpasswd.8.xml.out:109 chpasswd.8.xml.out:147 msgid "Supplied passwords are in encrypted form." msgstr "" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:113 chpasswd.8.xml.out:155 +#: chgpasswd.8.xml.out:119 chpasswd.8.xml.out:161 msgid "--md5" msgstr "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:115 chpasswd.8.xml.out:157 +#: chgpasswd.8.xml.out:121 chpasswd.8.xml.out:163 msgid "" "Use MD5 encryption instead of DES when the supplied passwords are not " "encrypted." @@ -1603,80 +1696,134 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chgpasswd.8.xml.out:135 chpasswd.8.xml.out:178 chsh.1.xml.out:97 +#: 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:320 pwck.8.xml.out:155 pwck.8.xml.out:209 -#: su.1.xml.out:163 useradd.8.xml.out:517 useradd.8.xml.out:655 -#: usermod.8.xml.out:357 vipw.8.xml.out:70 vipw.8.xml.out:127 +#: 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 msgid "-s" msgstr "" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:135 chpasswd.8.xml.out:178 newusers.8.xml.out:320 +#: 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:137 chpasswd.8.xml.out:181 newusers.8.xml.out:322 +#: 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 "Brug det angivet antal rundet til at kryhptere adgangskoderne." #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:140 chpasswd.8.xml.out:184 newusers.8.xml.out:325 +#: chgpasswd.8.xml.out:146 chpasswd.8.xml.out:205 newusers.8.xml.out:327 msgid "" -"The value 0 means that the system will choose the default number of rounds " -"for the crypt method (5000)." +"You can only use this option with crypt method: <_:phrase-1/> <_:phrase-2/> " +"<_:phrase-3/>" msgstr "" -"Værdien 0 betyder at systemet vil vælge antallet af standardrunder for " -"krypteringsmetoden (5000)." #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:144 chpasswd.8.xml.out:188 newusers.8.xml.out:329 -msgid "" -"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced." -msgstr "" -"En minimusværdi på 1000 og en maksimumsværdi på 999.999.999 vil blive " -"påtvunget." - -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:148 chpasswd.8.xml.out:192 newusers.8.xml.out:333 -msgid "You can only use this option with the SHA256 or SHA512 crypt method." -msgstr "" -"Du kan kun bruge dette tilvalg med SHA256- eller SHA512-krypteringsmetoden." - -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:152 newusers.8.xml.out:337 +#: 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 is defined by the SHA_CRYPT_MIN_ROUNDS and " -"SHA_CRYPT_MAX_ROUNDS variables in <_:filename-1/>." +"By default, the number of rounds for BCRYPT is defined by the " +"BCRYPT_MIN_ROUNDS and BCRYPT_MAX_ROUNDS variables in <_:filename-1/>." msgstr "" "Som standard er antallet af runder defineret af variablerne " "SHA_CRYPT_MIN_ROUNDS og SHA_CRYPT_MAX_ROUNDS i /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 "" +"En minimusværdi på 1000 og en maksimumsværdi på 999.999.999 vil blive " +"påtvunget." + +#. (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 "" +"Som standard er antallet af runder defineret af variablerne " +"SHA_CRYPT_MIN_ROUNDS og SHA_CRYPT_MAX_ROUNDS i /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 "" +"En minimusværdi på 1000 og en maksimumsværdi på 999.999.999 vil blive " +"påtvunget." + +#. (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 "" +"Som standard er antallet af runder defineret af variablerne " +"SHA_CRYPT_MIN_ROUNDS og SHA_CRYPT_MAX_ROUNDS i /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 "" +"En minimusværdi på 1000 og en maksimumsværdi på 999.999.999 vil blive " +"påtvunget." + #. (itstool) path: refsect1/title -#: chgpasswd.8.xml.out:163 chpasswd.8.xml.out:208 faillog.8.xml.out:209 -#: gpasswd.1.xml.out:229 groupadd.8.xml.out:285 groupdel.8.xml.out:121 -#: lastlog.8.xml.out:206 login.1.xml.out:236 newusers.8.xml.out:348 -#: passwd.1.xml.out:354 shadow.3.xml.out:194 su.1.xml.out:306 -#: useradd.8.xml.out:682 userdel.8.xml.out:281 usermod.8.xml.out:517 +#: 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 "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:164 chpasswd.8.xml.out:209 +#: 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 "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:168 newusers.8.xml.out:353 +#: 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." @@ -1688,8 +1835,8 @@ msgstr "" #. (itstool) path: phrase/filename #. (itstool) path: para/filename #. (itstool) path: citerefentry/refentrytitle -#: chgpasswd.8.xml.out:193 gpasswd.1.xml.out:48 gpasswd.1.xml.out:51 -#: gpasswd.1.xml.out:73 gpasswd.1.xml.out:231 gpasswd.1.xml.out:259 +#: 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 @@ -1697,19 +1844,19 @@ msgstr "" #: 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:411 pwck.8.xml.out:261 pwconv.8.xml.out:128 -#: sg.1.xml.out:101 suauth.5.xml.out:90 useradd.8.xml.out:755 -#: userdel.8.xml.out:185 usermod.8.xml.out:557 vipw.8.xml.out:69 +#: 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:195 gpasswd.1.xml.out:261 groupadd.8.xml.out:266 +#: 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:413 pwck.8.xml.out:263 -#: sg.1.xml.out:103 useradd.8.xml.out:757 userdel.8.xml.out:187 +#: 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 "Information om gruppekonto." @@ -1717,8 +1864,8 @@ msgstr "Information om gruppekonto." #. (itstool) path: term/filename #. (itstool) path: phrase/filename #. (itstool) path: para/filename -#: chgpasswd.8.xml.out:199 gpasswd.1.xml.out:52 gpasswd.1.xml.out:74 -#: gpasswd.1.xml.out:232 gpasswd.1.xml.out:265 groupadd.8.xml.out:170 +#: 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 @@ -1726,17 +1873,17 @@ msgstr "Information om gruppekonto." #: 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:417 pwconv.8.xml.out:129 sg.1.xml.out:107 -#: useradd.8.xml.out:761 usermod.8.xml.out:563 vipw.8.xml.out:72 +#: 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:201 gpasswd.1.xml.out:267 groupadd.8.xml.out:272 +#: 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:419 -#: sg.1.xml.out:109 useradd.8.xml.out:763 vipw.8.xml.out:183 +#: 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 "Information om sikret gruppekonto." @@ -1746,12 +1893,12 @@ msgstr "Information om sikret gruppekonto." #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:217 gpasswd.1.xml.out:38 gpasswd.1.xml.out:45 -#: gpasswd.1.xml.out:59 gpasswd.1.xml.out:72 gpasswd.1.xml.out:85 -#: gpasswd.1.xml.out:119 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:280 +#: 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:617 +#: usermod.8.xml.out:634 msgid "gpasswd" msgstr "" @@ -1761,19 +1908,19 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:220 gpasswd.1.xml.out:280 groupadd.8.xml.out:36 +#: 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:290 useradd.8.xml.out:890 userdel.8.xml.out:325 -#: usermod.8.xml.out:620 +#: login.defs.5.xml.out:303 useradd.8.xml.out:910 userdel.8.xml.out:325 +#: usermod.8.xml.out:637 msgid "groupadd" msgstr "" #. (itstool) path: author/contrib -#: chpasswd.8.xml.out:21 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:86 -#: logoutd.8.xml.out:17 newgrp.1.xml.out:18 newusers.8.xml.out:33 +#: 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" @@ -1785,20 +1932,20 @@ msgstr "" #. (itstool) path: para/command #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: chpasswd.8.xml.out:37 chpasswd.8.xml.out:44 chpasswd.8.xml.out:50 -#: chpasswd.8.xml.out:60 chpasswd.8.xml.out:70 chpasswd.8.xml.out:89 -#: chpasswd.8.xml.out:96 chpasswd.8.xml.out:108 chpasswd.8.xml.out:255 -#: login.defs.5.xml.out:259 passwd.1.xml.out:474 +#: 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 "" #. (itstool) path: refnamediv/refpurpose -#: chpasswd.8.xml.out:45 +#: chpasswd.8.xml.out:47 msgid "update passwords in batch mode" msgstr "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:59 +#: chpasswd.8.xml.out:61 msgid "" "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 " @@ -1808,25 +1955,25 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:65 groupmems.8.xml.out:52 groupmems.8.xml.out:53 +#: 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 "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:68 +#: chpasswd.8.xml.out:70 msgid "" "By default the passwords must be supplied in clear-text, and are encrypted " "by <_:command-1/>. Also the password age will be updated, if present." msgstr "" #. (itstool) path: para/option -#: chpasswd.8.xml.out:76 chpasswd.8.xml.out:133 +#: chpasswd.8.xml.out:78 chpasswd.8.xml.out:139 msgid "MD5_CRYPT_ENAB" msgstr "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:73 +#: chpasswd.8.xml.out:75 msgid "" "The default encryption algorithm can be defined for the system with the <_:" "option-1/> or <_:option-2/> variables of <_:filename-3/>, and can be " @@ -1834,7 +1981,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:81 +#: chpasswd.8.xml.out:83 msgid "" "By default, passwords are encrypted by PAM, but (even if not recommended) " "you can select a different encryption method with the <_:option-1/>, <_:" @@ -1842,21 +1989,21 @@ msgid "" msgstr "" #. (itstool) path: para/phrase -#: chpasswd.8.xml.out:88 +#: chpasswd.8.xml.out:90 #, fuzzy #| msgid "Use the specified method to encrypt the passwords." msgid "Except when PAM is used to encrypt the passwords," msgstr "Brug den angivne metode til at kryptere adgangskoderne." #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:87 +#: chpasswd.8.xml.out:89 msgid "" "<_: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 "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:93 +#: chpasswd.8.xml.out:95 msgid "" "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/> " @@ -1865,17 +2012,17 @@ msgid "" msgstr "" #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:114 +#: chpasswd.8.xml.out:116 msgid "METHOD" msgstr "" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:125 +#: chpasswd.8.xml.out:131 msgid "By default, PAM is used to encrypt the passwords." msgstr "" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:128 +#: chpasswd.8.xml.out:134 msgid "" "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/" @@ -1883,44 +2030,17 @@ msgid "" msgstr "" #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:178 +#: chpasswd.8.xml.out:199 msgid "ROUNDS" msgstr "" -#. (itstool) path: para/option -#: chpasswd.8.xml.out:198 -#, fuzzy -#| msgid " (number)" -msgid "SHA_CRYPT_MIN_ROUNDS" -msgstr " (antal)" - -#. (itstool) path: para/option -#: chpasswd.8.xml.out:199 -msgid "SHA_CRYPT_MAX_ROUNDS" -msgstr "" - -#. (itstool) path: listitem/para -#: chpasswd.8.xml.out:196 -#, 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 is defined by the <_:option-1/> and <_:" -"option-2/> variables in <_:filename-3/>." -msgstr "" -"Som standard er antallet af runder defineret af variablerne " -"SHA_CRYPT_MIN_ROUNDS og SHA_CRYPT_MAX_ROUNDS i /etc/login.defs." - #. (itstool) path: term/filename -#: chpasswd.8.xml.out:253 +#: chpasswd.8.xml.out:295 msgid "/etc/pam.d/chpasswd" msgstr "" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:255 newusers.8.xml.out:431 passwd.1.xml.out:413 +#: 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/>." @@ -1932,17 +2052,17 @@ msgstr "PAM-konfiguration for passwd." #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:268 login.defs.5.xml.out:380 newusers.8.xml.out:49 -#: newusers.8.xml.out:56 newusers.8.xml.out:62 newusers.8.xml.out:75 -#: newusers.8.xml.out:96 newusers.8.xml.out:123 newusers.8.xml.out:132 -#: newusers.8.xml.out:151 newusers.8.xml.out:164 newusers.8.xml.out:170 -#: newusers.8.xml.out:172 newusers.8.xml.out:210 newusers.8.xml.out:230 -#: newusers.8.xml.out:252 newusers.8.xml.out:431 useradd.8.xml.out:902 +#: 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:270 grpck.8.xml.out:285 passwd.1.xml.out:482 +#: chpasswd.8.xml.out:312 grpck.8.xml.out:285 passwd.1.xml.out:507 msgid "<_:citerefentry-1/>," msgstr "" @@ -1952,21 +2072,21 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:276 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:462 -#: newusers.8.xml.out:467 useradd.8.xml.out:52 useradd.8.xml.out:59 +#: 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:284 useradd.8.xml.out:341 -#: useradd.8.xml.out:472 useradd.8.xml.out:584 useradd.8.xml.out:586 -#: useradd.8.xml.out:690 useradd.8.xml.out:808 userdel.8.xml.out:342 -#: usermod.8.xml.out:640 +#: 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 "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:263 newusers.8.xml.out:451 +#: chpasswd.8.xml.out:305 newusers.8.xml.out:472 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:phrase-3/> <_:citerefentry-4/>." msgstr "" @@ -1987,15 +2107,15 @@ msgstr "" #. (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:517 -#: useradd.8.xml.out:655 usermod.8.xml.out:357 +#: 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 msgid "--shell" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/option -#: chsh.1.xml.out:97 su.1.xml.out:163 useradd.8.xml.out:517 -#: useradd.8.xml.out:522 useradd.8.xml.out:655 useradd.8.xml.out:662 +#: 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 "" @@ -2019,12 +2139,13 @@ msgstr "" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: chsh.1.xml.out:120 chsh.1.xml.out:124 chsh.1.xml.out:153 su.1.xml.out:198 +#: 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 "" #. (itstool) path: para/filename -#: chsh.1.xml.out:123 +#: chsh.1.xml.out:123 chsh.1.xml.out:142 msgid "/bin/rsh" msgstr "" @@ -2040,11 +2161,93 @@ msgid "" "original value." msgstr "" +#. (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/skel/" +msgid "/etc/shells.d/*" +msgstr "/etc/skel/" + +#. (itstool) path: para/filename +#: chsh.1.xml.out:135 +msgid "/etc/shells.d/@filename@" +msgstr "" + +#. (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 "" +"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 "" + +#. (itstool) path: refsect1/para +#: chsh.1.xml.out:141 +msgid "" +"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 "" + #. (itstool) path: listitem/para -#: chsh.1.xml.out:155 +#: chsh.1.xml.out:174 msgid "List of valid login shells." msgstr "" +#. (itstool) path: listitem/para +#: chsh.1.xml.out:177 +msgid "User defined list of valid login shells." +msgstr "" + +#. (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/skel/" +msgid "/etc/shells.d" +msgstr "/etc/skel/" + +#. (itstool) path: listitem/para +#: chsh.1.xml.out:196 +#, fuzzy +#| msgid "Directory containing default files." +msgid "Directory for additional user defined configuration files." +msgstr "Mappe indeholdende standardfiler." + #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command @@ -2060,7 +2263,7 @@ msgid "check and enforce password expiration policy" msgstr "" #. (itstool) path: arg/replaceable -#: expiry.1.xml.out:52 gpasswd.1.xml.out:61 +#: expiry.1.xml.out:52 gpasswd.1.xml.out:63 msgid "option" msgstr "" @@ -2095,7 +2298,7 @@ msgstr "" #. (itstool) path: author/contrib #: faillog.5.xml.out:17 faillog.8.xml.out:17 login.1.xml.out:50 -#: passwd.1.xml.out:24 passwd.5.xml.out:17 porttime.5.xml.out:17 +#: 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 "" @@ -2116,7 +2319,7 @@ msgstr "" #. (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:104 passwd.5.xml.out:35 +#: 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 msgid "File Formats and Configuration Files" msgstr "" @@ -2185,14 +2388,14 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: faillog.8.xml.out:72 faillog.8.xml.out:215 gpasswd.1.xml.out:124 -#: groupmems.8.xml.out:83 groupmod.8.xml.out:73 passwd.1.xml.out:157 +#: 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 msgid "-a" msgstr "" #. (itstool) path: term/option -#: faillog.8.xml.out:72 passwd.1.xml.out:157 +#: faillog.8.xml.out:72 passwd.1.xml.out:153 msgid "--all" msgstr "" @@ -2402,8 +2605,8 @@ msgstr "" #: login.1.xml.out:108 login.1.xml.out:112 login.1.xml.out:119 #: login.1.xml.out:171 login.1.xml.out:177 login.1.xml.out:230 #: login.1.xml.out:238 login.1.xml.out:247 login.1.xml.out:253 -#: login.1.xml.out:259 login.access.5.xml.out:112 login.defs.5.xml.out:343 -#: login.defs.5.xml.out:518 login.defs.5.xml.out:530 newgrp.1.xml.out:133 +#: login.1.xml.out:259 login.access.5.xml.out:112 login.defs.5.xml.out:356 +#: login.defs.5.xml.out:537 login.defs.5.xml.out:549 newgrp.1.xml.out:133 #: nologin.8.xml.out:60 passwd.5.xml.out:125 passwd.5.xml.out:132 #: passwd.5.xml.out:179 porttime.5.xml.out:121 shadow.5.xml.out:265 #: sg.1.xml.out:122 su.1.xml.out:415 @@ -2411,28 +2614,28 @@ msgid "login" msgstr "" #. (itstool) path: author/firstname -#: gpasswd.1.xml.out:20 +#: gpasswd.1.xml.out:22 msgid "Rafal" msgstr "" #. (itstool) path: author/surname -#: gpasswd.1.xml.out:21 +#: gpasswd.1.xml.out:23 msgid "Maszkowski" msgstr "" #. (itstool) path: author/contrib -#: gpasswd.1.xml.out:22 login.access.5.xml.out:18 pwconv.8.xml.out:23 +#: gpasswd.1.xml.out:24 login.access.5.xml.out:18 pwconv.8.xml.out:23 #: suauth.5.xml.out:17 msgid "Creation, 1996" msgstr "" #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:47 +#: gpasswd.1.xml.out:49 msgid "administer <_:filename-1/>" msgstr "" #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:50 +#: gpasswd.1.xml.out:52 msgid "administer <_:filename-1/> and <_:filename-2/>" msgstr "" @@ -2440,9 +2643,9 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: citerefentry/refentrytitle #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:64 gpasswd.1.xml.out:89 gpasswd.1.xml.out:129 -#: gpasswd.1.xml.out:142 gpasswd.1.xml.out:177 gpasswd.1.xml.out:181 -#: gpasswd.1.xml.out:193 gpasswd.1.xml.out:197 gpasswd.1.xml.out:292 +#: gpasswd.1.xml.out:66 gpasswd.1.xml.out:91 gpasswd.1.xml.out:131 +#: gpasswd.1.xml.out:144 gpasswd.1.xml.out:179 gpasswd.1.xml.out:183 +#: gpasswd.1.xml.out:195 gpasswd.1.xml.out:199 gpasswd.1.xml.out:294 #: grpck.8.xml.out:49 grpck.8.xml.out:188 grpck.8.xml.out:280 #: gshadow.5.xml.out:156 limits.5.xml.out:138 newgrp.1.xml.out:48 #: newgrp.1.xml.out:145 pwck.8.xml.out:336 pwconv.8.xml.out:114 @@ -2451,19 +2654,19 @@ msgid "group" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:73 +#: gpasswd.1.xml.out:75 msgid ", and <_:filename-1/>" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:76 +#: gpasswd.1.xml.out:78 #, fuzzy #| msgid "administrators" msgid "administrators," msgstr "administratorer" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:71 +#: gpasswd.1.xml.out:73 msgid "" "The <_:command-1/> command is used to administer <_:filename-2/><_:phrase-3/" ">. Every group can have <_:phrase-4/> members and a password." @@ -2471,12 +2674,12 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: gpasswd.1.xml.out:80 gpasswd.1.xml.out:112 gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:82 gpasswd.1.xml.out:114 gpasswd.1.xml.out:207 msgid "-A" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:79 +#: gpasswd.1.xml.out:81 msgid "" "System administrators can use the <_:option-1/> option to define group " "administrator(s) and the <_:option-2/> option to define members. They have " @@ -2484,21 +2687,21 @@ msgid "" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:86 +#: gpasswd.1.xml.out:88 #, fuzzy #| msgid "administrators" msgid "a group administrator" msgstr "administratorer" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:87 +#: gpasswd.1.xml.out:89 #, fuzzy #| msgid "administrators" msgid "a system administrator" msgstr "administratorer" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:84 +#: gpasswd.1.xml.out:86 msgid "" "<_:command-1/> called by <_:phrase-2/> <_:phrase-3/> with a group name only " "prompts for the new password of the <_:replaceable-4/>." @@ -2509,8 +2712,8 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: gpasswd.1.xml.out:93 gpasswd.1.xml.out:180 gpasswd.1.xml.out:196 -#: gpasswd.1.xml.out:277 groups.1.xml.out:71 groups.1.xml.out:92 +#: gpasswd.1.xml.out:95 gpasswd.1.xml.out:182 gpasswd.1.xml.out:198 +#: gpasswd.1.xml.out:279 groups.1.xml.out:71 groups.1.xml.out:92 #: gshadow.5.xml.out:76 gshadow.5.xml.out:165 newgrp.1.xml.out:34 #: newgrp.1.xml.out:41 newgrp.1.xml.out:47 newgrp.1.xml.out:55 #: newgrp.1.xml.out:63 newgrp.1.xml.out:66 sg.1.xml.out:60 sg.1.xml.out:64 @@ -2519,19 +2722,19 @@ msgid "newgrp" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:91 +#: gpasswd.1.xml.out:93 msgid "" "If a password is set the members can still use <_:citerefentry-1/> without a " "password, and non-members must supply the password." msgstr "" #. (itstool) path: refsect2/title -#: gpasswd.1.xml.out:99 +#: gpasswd.1.xml.out:101 msgid "Notes about group passwords" msgstr "" #. (itstool) path: refsect2/para -#: gpasswd.1.xml.out:100 +#: gpasswd.1.xml.out:102 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 " @@ -2539,58 +2742,58 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:111 +#: gpasswd.1.xml.out:113 msgid "" "Except for the <_:option-1/> and <_:option-2/> options, the options cannot " "be combined." msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:115 +#: gpasswd.1.xml.out:117 msgid "The options cannot be combined." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:124 groupmems.8.xml.out:83 +#: gpasswd.1.xml.out:126 groupmems.8.xml.out:83 msgid "--add" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable #. (itstool) path: arg/replaceable -#: gpasswd.1.xml.out:124 gpasswd.1.xml.out:128 gpasswd.1.xml.out:137 -#: gpasswd.1.xml.out:141 gpasswd.1.xml.out:205 gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:126 gpasswd.1.xml.out:130 gpasswd.1.xml.out:139 +#: gpasswd.1.xml.out:143 gpasswd.1.xml.out:207 gpasswd.1.xml.out:219 #: groups.1.xml.out:48 groups.1.xml.out:59 msgid "user" msgstr "bruger" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:127 +#: gpasswd.1.xml.out:129 msgid "Add the <_:replaceable-1/> to the named <_:replaceable-2/>." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:137 groupmems.8.xml.out:94 passwd.1.xml.out:168 +#: gpasswd.1.xml.out:139 groupmems.8.xml.out:94 passwd.1.xml.out:164 msgid "--delete" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:140 +#: gpasswd.1.xml.out:142 msgid "Remove the <_:replaceable-1/> from the named <_:replaceable-2/>." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:158 +#: gpasswd.1.xml.out:160 msgid "-Q" msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:173 +#: gpasswd.1.xml.out:175 msgid "--remove-password" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:176 +#: gpasswd.1.xml.out:178 msgid "" "Remove the password from the named <_:replaceable-1/>. The group password " "will be empty. Only group members will be allowed to use <_:command-2/> to " @@ -2598,12 +2801,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:189 +#: gpasswd.1.xml.out:191 msgid "--restrict" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:192 +#: gpasswd.1.xml.out:194 msgid "" "Restrict the access to the named <_:replaceable-1/>. The group password is " "set to \"!\". Only group members with a password will be allowed to use <_:" @@ -2611,48 +2814,48 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:207 #, fuzzy #| msgid "administrators" msgid "--administrators" msgstr "administratorer" #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:204 gpasswd.1.xml.out:216 +#: gpasswd.1.xml.out:206 gpasswd.1.xml.out:218 msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>,..." msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:208 +#: gpasswd.1.xml.out:210 msgid "Set the list of administrative users." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:219 #, fuzzy #| msgid "members" msgid "--members" msgstr "medlemmer" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:220 +#: gpasswd.1.xml.out:222 msgid "Set the list of group members." msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:232 +#: gpasswd.1.xml.out:234 msgid "and <_:filename-1/> files." msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:234 +#: gpasswd.1.xml.out:236 #, fuzzy #| msgid "file" msgid "file." msgstr "fil" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:230 +#: gpasswd.1.xml.out:232 #, fuzzy #| msgid "" #| "You may not add a user to a NIS or LDAP group. This must be performed on " @@ -2671,11 +2874,11 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:283 groupadd.8.xml.out:357 groupdel.8.xml.out:34 +#: gpasswd.1.xml.out:285 groupadd.8.xml.out:357 groupdel.8.xml.out:34 #: groupdel.8.xml.out:41 groupdel.8.xml.out:47 groupdel.8.xml.out:57 #: groupdel.8.xml.out:66 groupdel.8.xml.out:165 groupmems.8.xml.out:221 -#: groupmod.8.xml.out:341 login.defs.5.xml.out:299 useradd.8.xml.out:893 -#: userdel.8.xml.out:328 usermod.8.xml.out:623 +#: groupmod.8.xml.out:341 login.defs.5.xml.out:312 useradd.8.xml.out:913 +#: userdel.8.xml.out:328 usermod.8.xml.out:640 msgid "groupdel" msgstr "" @@ -2685,11 +2888,11 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:286 groupadd.8.xml.out:360 groupdel.8.xml.out:220 +#: gpasswd.1.xml.out:288 groupadd.8.xml.out:360 groupdel.8.xml.out:220 #: groupmod.8.xml.out:34 groupmod.8.xml.out:41 groupmod.8.xml.out:47 #: groupmod.8.xml.out:58 groupmod.8.xml.out:67 groupmod.8.xml.out:256 -#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:311 -#: useradd.8.xml.out:896 userdel.8.xml.out:331 usermod.8.xml.out:626 +#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:324 +#: useradd.8.xml.out:916 userdel.8.xml.out:331 usermod.8.xml.out:643 msgid "groupmod" msgstr "" @@ -2699,10 +2902,10 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:289 grpck.8.xml.out:33 grpck.8.xml.out:40 +#: gpasswd.1.xml.out:291 grpck.8.xml.out:33 grpck.8.xml.out:40 #: grpck.8.xml.out:46 grpck.8.xml.out:60 grpck.8.xml.out:116 #: grpck.8.xml.out:128 grpck.8.xml.out:141 grpck.8.xml.out:184 -#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:318 +#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:331 #: pwck.8.xml.out:339 pwconv.8.xml.out:198 pwconv.8.xml.out:242 msgid "grpck" msgstr "" @@ -2712,7 +2915,7 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:295 grpck.8.xml.out:95 grpck.8.xml.out:287 +#: gpasswd.1.xml.out:297 grpck.8.xml.out:95 grpck.8.xml.out:287 #: gshadow.5.xml.out:22 gshadow.5.xml.out:29 newgrp.1.xml.out:148 #: pwconv.8.xml.out:114 pwconv.8.xml.out:115 pwconv.8.xml.out:121 #: pwconv.8.xml.out:122 sg.1.xml.out:137 vipw.8.xml.out:211 @@ -2720,12 +2923,12 @@ msgid "gshadow" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:293 newgrp.1.xml.out:146 sg.1.xml.out:135 +#: gpasswd.1.xml.out:295 newgrp.1.xml.out:146 sg.1.xml.out:135 msgid ", <_:citerefentry-1/>" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:275 newgrp.1.xml.out:128 sg.1.xml.out:117 +#: gpasswd.1.xml.out:277 newgrp.1.xml.out:128 sg.1.xml.out:117 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/><_:phrase-7/>." @@ -2773,8 +2976,8 @@ msgstr "Brugernavne må kun være op til 32 tegn lange." #: groupadd.8.xml.out:94 groupadd.8.xml.out:95 groupadd.8.xml.out:102 #: groupadd.8.xml.out:236 groupmems.8.xml.out:110 groupmod.8.xml.out:82 #: groupmod.8.xml.out:136 groupmod.8.xml.out:201 useradd.8.xml.out:96 -#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:391 -#: useradd.8.xml.out:396 useradd.8.xml.out:557 useradd.8.xml.out:639 +#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:393 +#: useradd.8.xml.out:398 useradd.8.xml.out:559 useradd.8.xml.out:659 #: usermod.8.xml.out:174 vipw.8.xml.out:90 msgid "-g" msgstr "" @@ -2790,7 +2993,7 @@ msgstr "" #. (itstool) path: term/option #: groupadd.8.xml.out:102 groupmod.8.xml.out:82 useradd.8.xml.out:230 -#: useradd.8.xml.out:639 usermod.8.xml.out:174 +#: useradd.8.xml.out:659 usermod.8.xml.out:174 msgid "--gid" msgstr "" @@ -2799,8 +3002,8 @@ msgstr "" #. (itstool) path: para/option #: groupadd.8.xml.out:102 groupadd.8.xml.out:105 groupadd.8.xml.out:151 #: groupmod.8.xml.out:73 groupmod.8.xml.out:82 groupmod.8.xml.out:87 -#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:300 -#: useradd.8.xml.out:469 +#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:302 +#: useradd.8.xml.out:471 msgid "GID" msgstr "" @@ -2828,7 +3031,7 @@ msgid "GID_MAX" msgstr "" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:111 useradd.8.xml.out:541 +#: groupadd.8.xml.out:111 useradd.8.xml.out:543 #, fuzzy #| msgid "" #| "See also the option and the " @@ -2841,29 +3044,29 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option #: groupadd.8.xml.out:125 groupadd.8.xml.out:131 groupadd.8.xml.out:134 -#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:303 -#: useradd.8.xml.out:314 useradd.8.xml.out:317 useradd.8.xml.out:319 -#: useradd.8.xml.out:320 +#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:305 +#: useradd.8.xml.out:316 useradd.8.xml.out:319 useradd.8.xml.out:321 +#: useradd.8.xml.out:322 msgid "-K" msgstr "" #. (itstool) path: term/option -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "--key" msgstr "" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "KEY" msgstr "" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "VALUE" msgstr "" #. (itstool) path: varlistentry/term -#: groupadd.8.xml.out:124 useradd.8.xml.out:302 +#: groupadd.8.xml.out:124 useradd.8.xml.out:304 #, fuzzy #| msgid "" #| ",  OTHER." msgstr "" -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -msgid "-P" -msgstr "" - -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -msgid "--prefix" -msgstr "" - -#. (itstool) path: term/replaceable -#. (itstool) path: para/replaceable -#: groupadd.8.xml.out:214 groupadd.8.xml.out:219 groupdel.8.xml.out:102 -#: groupdel.8.xml.out:106 groupdel.8.xml.out:108 groupmod.8.xml.out:177 -#: groupmod.8.xml.out:181 groupmod.8.xml.out:183 useradd.8.xml.out:502 -#: useradd.8.xml.out:507 userdel.8.xml.out:136 userdel.8.xml.out:140 -#: userdel.8.xml.out:142 usermod.8.xml.out:341 usermod.8.xml.out:346 -msgid "PREFIX_DIR" -msgstr "" - -#. (itstool) path: listitem/para -#: groupadd.8.xml.out:217 useradd.8.xml.out:505 -msgid "" -"Apply changes to configuration files under the root filesystem found under " -"the directory <_:replaceable-1/>. 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 "" - #. (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:397 -#: useradd.8.xml.out:549 useradd.8.xml.out:558 usermod.8.xml.out:238 +#: 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 msgid "-U" msgstr "" @@ -3093,21 +3264,21 @@ msgstr "Administratorer kan ændre adgangskoden eller medlemmerne af gruppen." #. (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:386 useradd.8.xml.out:397 useradd.8.xml.out:558 +#: useradd.8.xml.out:388 useradd.8.xml.out:399 useradd.8.xml.out:560 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:448 -#: useradd.8.xml.out:97 useradd.8.xml.out:240 useradd.8.xml.out:398 -#: useradd.8.xml.out:559 userdel.8.xml.out:86 userdel.8.xml.out:296 +#: 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:395 -#: useradd.8.xml.out:556 +#: groupadd.8.xml.out:235 groupmod.8.xml.out:200 useradd.8.xml.out:397 +#: useradd.8.xml.out:558 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 <_:" @@ -3129,13 +3300,13 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:317 passwd.1.xml.out:463 useradd.8.xml.out:831 +#: groupadd.8.xml.out:317 passwd.1.xml.out:485 useradd.8.xml.out:851 msgid "invalid argument to option" msgstr "Ugyldigt argument for tilvalg" #. (itstool) path: term/replaceable #: groupadd.8.xml.out:321 groupmod.8.xml.out:277 grpck.8.xml.out:261 -#: passwd.1.xml.out:449 pwck.8.xml.out:311 useradd.8.xml.out:835 +#: passwd.1.xml.out:471 pwck.8.xml.out:311 useradd.8.xml.out:855 msgid "4" msgstr "4" @@ -3147,7 +3318,7 @@ msgid "GID is already used (when called without <_:option-1/>)" msgstr "UID er allerede i brug (og intet )" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:847 +#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:867 msgid "9" msgstr "9" @@ -3159,7 +3330,7 @@ msgid "group name is already used" msgstr "gruppenavn er allerede i brug" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:335 groupdel.8.xml.out:194 useradd.8.xml.out:855 +#: 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 "" @@ -3171,11 +3342,11 @@ msgstr "" #. (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:480 useradd.8.xml.out:913 +#: 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:643 +#: userdel.8.xml.out:298 userdel.8.xml.out:300 usermod.8.xml.out:660 msgid "userdel" msgstr "" @@ -3186,11 +3357,11 @@ msgstr "" #. (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:490 passwd.1.xml.out:488 -#: pwck.8.xml.out:140 pwck.8.xml.out:348 useradd.8.xml.out:916 +#: 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:522 +#: usermod.8.xml.out:263 usermod.8.xml.out:539 msgid "usermod" msgstr "usermod" @@ -3216,8 +3387,8 @@ msgstr "slet en gruppe" #: 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:392 -#: useradd.8.xml.out:639 useradd.8.xml.out:648 usermod.8.xml.out:174 +#: 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 "GRUPPE" @@ -3270,13 +3441,13 @@ msgstr "" "filer fortsat er ejet af denne gruppe." #. (itstool) path: term/replaceable -#: groupdel.8.xml.out:180 groupmod.8.xml.out:283 passwd.1.xml.out:461 -#: pwck.8.xml.out:323 useradd.8.xml.out:841 userdel.8.xml.out:253 +#: 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 "" #. (itstool) path: listitem/para -#: groupdel.8.xml.out:182 useradd.8.xml.out:843 +#: groupdel.8.xml.out:182 useradd.8.xml.out:863 msgid "specified group doesn't exist" msgstr "angivet gruppe findes ikke" @@ -3321,7 +3492,7 @@ msgstr "" #: 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:305 +#: login.defs.5.xml.out:318 msgid "groupmems" msgstr "" @@ -3462,7 +3633,7 @@ msgstr "" #. (itstool) path: refsect1/programlisting #: groupmems.8.xml.out:167 msgid "" -"$ groupadd -r groups $ chmod 2710 groupmems $ chown root.groups groupmems $ " +"$ groupadd -r groups $ chmod 2710 groupmems $ chown root:groups groupmems $ " "groupmems -g groups -a gk4" msgstr "" @@ -3541,7 +3712,7 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: groupmod.8.xml.out:121 passwd.1.xml.out:246 +#: groupmod.8.xml.out:121 passwd.1.xml.out:242 msgid "-n" msgstr "" @@ -3633,7 +3804,7 @@ msgid "E_CLEANUP_SERVICE: can't setup cleanup service" msgstr "" #. (itstool) path: term/replaceable -#: groupmod.8.xml.out:307 useradd.8.xml.out:859 userdel.8.xml.out:271 +#: groupmod.8.xml.out:307 useradd.8.xml.out:879 userdel.8.xml.out:271 msgid "12" msgstr "" @@ -3802,7 +3973,7 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: arg/replaceable #. (itstool) path: para/replaceable -#: grpck.8.xml.out:113 newusers.8.xml.out:67 newusers.8.xml.out:75 +#: grpck.8.xml.out:113 newusers.8.xml.out:69 newusers.8.xml.out:77 msgid "file" msgstr "fil" @@ -3831,7 +4002,7 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: grpck.8.xml.out:143 login.defs.5.xml.out:134 login.defs.5.xml.out:136 +#: 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 "" @@ -3856,8 +4027,8 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:161 -#: passwd.1.xml.out:291 +#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:157 +#: passwd.1.xml.out:302 msgid "-S" msgstr "" @@ -4071,7 +4242,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: gshadow.5.xml.out:162 login.defs.5.xml.out:324 pwconv.8.xml.out:48 +#: 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" @@ -4085,7 +4256,7 @@ msgstr "" #. (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:337 +#: login.defs.5.xml.out:350 msgid "lastlog" msgstr "" @@ -4125,7 +4296,7 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:592 +#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:612 #: usermod.8.xml.out:89 msgid "-b" msgstr "" @@ -4445,7 +4616,7 @@ msgstr "" #. (itstool) path: para/command #: limits.5.xml.out:122 login.1.xml.out:83 login.1.xml.out:91 #: login.1.xml.out:197 su.1.xml.out:70 su.1.xml.out:82 su.1.xml.out:95 -#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:775 +#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:795 msgid "username" msgstr "" @@ -4887,8 +5058,8 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.1.xml.out:386 login.defs.5.xml.out:436 login.defs.5.xml.out:520 -#: login.defs.5.xml.out:536 newgrp.1.xml.out:136 passwd.5.xml.out:197 +#: login.1.xml.out:386 login.defs.5.xml.out:455 login.defs.5.xml.out:539 +#: login.defs.5.xml.out:555 newgrp.1.xml.out:136 passwd.5.xml.out:197 #: shadow.5.xml.out:283 sg.1.xml.out:128 su.1.xml.out:50 su.1.xml.out:57 #: su.1.xml.out:62 su.1.xml.out:81 su.1.xml.out:83 su.1.xml.out:121 #: su.1.xml.out:201 su.1.xml.out:239 su.1.xml.out:308 su.1.xml.out:368 @@ -5047,12 +5218,12 @@ msgid "<_:citerefentry-1/>." msgstr "" #. (itstool) path: refnamediv/refpurpose -#: login.defs.5.xml.out:110 +#: login.defs.5.xml.out:112 msgid "shadow password suite configuration" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:115 +#: login.defs.5.xml.out:117 msgid "" "The <_:filename-1/> file defines the site-specific configuration for the " "shadow password suite. This file is required. Absence of this file will not " @@ -5060,7 +5231,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:122 +#: login.defs.5.xml.out:124 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 " @@ -5076,18 +5247,18 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:133 useradd.8.xml.out:242 useradd.8.xml.out:380 +#: login.defs.5.xml.out:135 useradd.8.xml.out:242 useradd.8.xml.out:382 #: userdel.8.xml.out:87 userdel.8.xml.out:297 msgid "yes" msgstr "" #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:140 +#: login.defs.5.xml.out:142 msgid "0x" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:130 +#: login.defs.5.xml.out:132 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 " @@ -5100,32 +5271,32 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:145 +#: login.defs.5.xml.out:147 msgid "The following configuration items are provided:" msgstr "De følgende konfigurationspunkter tilbydes:" #. (itstool) path: para/option #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:193 pwconv.8.xml.out:146 useradd.8.xml.out:309 -#: useradd.8.xml.out:314 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:146 useradd.8.xml.out:311 +#: useradd.8.xml.out:316 msgid "PASS_MAX_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:193 pwconv.8.xml.out:145 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:145 msgid "PASS_MIN_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:194 pwconv.8.xml.out:147 +#: login.defs.5.xml.out:197 pwconv.8.xml.out:147 msgid "PASS_WARN_AGE" msgstr "" #. (itstool) path: variablelist/para -#: login.defs.5.xml.out:192 +#: login.defs.5.xml.out:195 msgid "" "<_:option-1/>, <_:option-2/> and <_:option-3/> are only used at the time of " "account creation. Any changes to these settings won't affect existing " @@ -5133,12 +5304,12 @@ msgid "" msgstr "" #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:225 +#: login.defs.5.xml.out:229 msgid "CROSS REFERENCES" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:226 +#: login.defs.5.xml.out:230 msgid "" "The following cross references show which programs in the shadow password " "suite use which parameters." @@ -5150,59 +5321,73 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: phrase/option #. (itstool) path: para/option -#: login.defs.5.xml.out:235 login.defs.5.xml.out:423 login.defs.5.xml.out:431 -#: login.defs.5.xml.out:503 pwck.8.xml.out:75 pwck.8.xml.out:216 +#: login.defs.5.xml.out:239 login.defs.5.xml.out:442 login.defs.5.xml.out:450 +#: login.defs.5.xml.out:522 pwck.8.xml.out:75 pwck.8.xml.out:216 #: pwck.8.xml.out:232 pwconv.8.xml.out:89 pwconv.8.xml.out:91 #: pwconv.8.xml.out:94 pwconv.8.xml.out:105 pwconv.8.xml.out:107 msgid "USE_TCB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:242 +#: login.defs.5.xml.out:246 msgid "CHFN_AUTH" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:244 login.defs.5.xml.out:359 +#: login.defs.5.xml.out:248 login.defs.5.xml.out:372 #, fuzzy #| msgid "user LIMITS_STRING" msgid "LOGIN_STRING" msgstr "bruger LIMITS_STRING" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:241 +#: login.defs.5.xml.out:245 msgid "<_:phrase-1/> CHFN_RESTRICT <_:phrase-2/>" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:253 login.defs.5.xml.out:264 login.defs.5.xml.out:284 -#: login.defs.5.xml.out:388 login.defs.5.xml.out:404 -msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" -msgstr "" - -#. (itstool) path: listitem/para -#: login.defs.5.xml.out:251 login.defs.5.xml.out:282 -msgid "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:phrase-1/>" +#: login.defs.5.xml.out:256 login.defs.5.xml.out:269 login.defs.5.xml.out:293 +#: login.defs.5.xml.out:396 login.defs.5.xml.out:418 +msgid "BCRYPT_MAX_ROUNDS BCRYPT_MIN_ROUNDS" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:262 +#: login.defs.5.xml.out:259 login.defs.5.xml.out:273 login.defs.5.xml.out:296 +#: login.defs.5.xml.out:403 login.defs.5.xml.out:422 +msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +msgstr "" + +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:261 login.defs.5.xml.out:275 login.defs.5.xml.out:298 +#: login.defs.5.xml.out:409 login.defs.5.xml.out:424 +msgid "YESCRYPT_COST_FACTOR" +msgstr "" + +#. (itstool) path: listitem/para +#: login.defs.5.xml.out:255 login.defs.5.xml.out:292 +msgid "" +"<_:phrase-1/> ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:" +"phrase-2/> <_:phrase-3/>" +msgstr "" + +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:271 msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:272 +#: login.defs.5.xml.out:282 msgid "CHSH_AUTH LOGIN_STRING" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:292 +#: login.defs.5.xml.out:305 msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:301 login.defs.5.xml.out:307 login.defs.5.xml.out:313 -#: login.defs.5.xml.out:320 login.defs.5.xml.out:326 login.defs.5.xml.out:332 +#: login.defs.5.xml.out:314 login.defs.5.xml.out:320 login.defs.5.xml.out:326 +#: login.defs.5.xml.out:333 login.defs.5.xml.out:339 login.defs.5.xml.out:345 msgid "MAX_MEMBERS_PER_GROUP" msgstr "" @@ -5210,61 +5395,61 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:330 pwconv.8.xml.out:49 pwconv.8.xml.out:73 +#: login.defs.5.xml.out:343 pwconv.8.xml.out:49 pwconv.8.xml.out:73 #: pwconv.8.xml.out:119 pwconv.8.xml.out:153 pwconv.8.xml.out:167 #: pwconv.8.xml.out:208 msgid "grpunconv" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:339 +#: login.defs.5.xml.out:352 msgid "LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:346 login.defs.5.xml.out:439 +#: login.defs.5.xml.out:359 login.defs.5.xml.out:458 msgid "CONSOLE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:348 +#: login.defs.5.xml.out:361 msgid "ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:351 +#: login.defs.5.xml.out:364 msgid "FAILLOG_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:353 +#: login.defs.5.xml.out:366 msgid "FTMP_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:355 +#: login.defs.5.xml.out:368 msgid "ISSUE_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:357 +#: login.defs.5.xml.out:370 msgid "LASTLOG_ENAB LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:361 +#: login.defs.5.xml.out:374 msgid "" "MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE " "PORTTIME_CHECKS_ENAB QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:365 +#: login.defs.5.xml.out:378 msgid "ULIMIT UMASK" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:345 +#: login.defs.5.xml.out:358 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ERASECHAR FAIL_DELAY " "<_:phrase-3/> FAKE_SHELL <_:phrase-4/> HUSHLOGIN_FILE <_:phrase-5/> KILLCHAR " @@ -5274,38 +5459,40 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: login.defs.5.xml.out:372 +#: login.defs.5.xml.out:385 msgid "newgrp / sg" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:374 +#: login.defs.5.xml.out:387 msgid "SYSLOG_SG_ENAB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:382 +#: login.defs.5.xml.out:395 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 <_:phrase-1/> " -"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-1/> ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP " +"MD5_CRYPT_ENAB HOME_MODE PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:" +"phrase-2/> 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-3/>" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:401 +#: login.defs.5.xml.out:417 msgid "" -"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " -"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-1/>" +"<_:phrase-1/> ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB " +"PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-2/> " +"<_:phrase-3/>" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:414 +#: login.defs.5.xml.out:433 msgid "TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:412 login.defs.5.xml.out:421 +#: login.defs.5.xml.out:431 login.defs.5.xml.out:440 msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:phrase-1/>" msgstr "" @@ -5315,7 +5502,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:419 passwd.5.xml.out:188 pwconv.8.xml.out:39 +#: login.defs.5.xml.out:438 passwd.5.xml.out:188 pwconv.8.xml.out:39 #: pwconv.8.xml.out:46 pwconv.8.xml.out:55 pwconv.8.xml.out:83 #: pwconv.8.xml.out:88 pwconv.8.xml.out:90 pwconv.8.xml.out:134 #: pwconv.8.xml.out:144 pwconv.8.xml.out:165 pwconv.8.xml.out:216 @@ -5328,7 +5515,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:428 passwd.5.xml.out:191 pwconv.8.xml.out:47 +#: login.defs.5.xml.out:447 passwd.5.xml.out:191 pwconv.8.xml.out:47 #: pwconv.8.xml.out:61 pwconv.8.xml.out:98 pwconv.8.xml.out:104 #: pwconv.8.xml.out:109 pwconv.8.xml.out:153 pwconv.8.xml.out:157 #: pwconv.8.xml.out:166 shadow.5.xml.out:280 @@ -5336,22 +5523,22 @@ msgid "pwunconv" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:441 +#: login.defs.5.xml.out:460 msgid "ENV_HZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:443 +#: login.defs.5.xml.out:462 msgid "ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:446 +#: login.defs.5.xml.out:465 msgid "SU_WHEEL_ONLY" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:438 +#: login.defs.5.xml.out:457 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ENV_PATH ENV_SUPATH " "<_:phrase-3/> SULOG_FILE SU_NAME <_:phrase-4/> SYSLOG_SU_ENAB <_:phrase-5/>" @@ -5359,28 +5546,22 @@ msgstr "" #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:453 passwd.5.xml.out:200 shadow.5.xml.out:286 +#: login.defs.5.xml.out:472 passwd.5.xml.out:200 shadow.5.xml.out:286 msgid "sulogin" msgstr "" -#. (itstool) path: para/phrase -#. (itstool) path: para/option -#: login.defs.5.xml.out:457 su.1.xml.out:278 -msgid "ENV_TZ" -msgstr "" - #. (itstool) path: listitem/para -#: login.defs.5.xml.out:455 -msgid "ENV_HZ <_:phrase-1/>" +#: login.defs.5.xml.out:474 +msgid "ENV_HZ ENV_TZ" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:475 +#: login.defs.5.xml.out:494 msgid "TCB_AUTH_GROUP TCB_SYMLINK USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:464 +#: login.defs.5.xml.out:483 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 " @@ -5390,19 +5571,19 @@ msgid "" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:485 login.defs.5.xml.out:495 +#: login.defs.5.xml.out:504 login.defs.5.xml.out:514 msgid "TCB_SYMLINKS USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:482 +#: login.defs.5.xml.out:501 msgid "" "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <_:" "phrase-1/>" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:492 +#: login.defs.5.xml.out:511 msgid "LASTLOG_UID_MAX MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <_:phrase-1/>" msgstr "" @@ -5411,18 +5592,18 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:500 vipw.8.xml.out:35 vipw.8.xml.out:42 +#: login.defs.5.xml.out:519 vipw.8.xml.out:35 vipw.8.xml.out:42 #: vipw.8.xml.out:51 vipw.8.xml.out:67 vipw.8.xml.out:85 msgid "vipw" msgstr "vipw" #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:511 pwconv.8.xml.out:193 suauth.5.xml.out:179 +#: login.defs.5.xml.out:530 pwconv.8.xml.out:193 suauth.5.xml.out:179 msgid "BUGS" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:512 +#: login.defs.5.xml.out:531 msgid "" "Much of the functionality that used to be provided by the shadow password " "suite is now handled by PAM. Thus, <_:filename-1/> is no longer used by <_:" @@ -5431,12 +5612,12 @@ msgid "" msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:545 +#: login.defs.5.xml.out:564 msgid "pam" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:528 +#: login.defs.5.xml.out:547 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>." @@ -5540,12 +5721,12 @@ msgid "id" msgstr "" #. (itstool) path: refnamediv/refpurpose -#: newusers.8.xml.out:57 +#: newusers.8.xml.out:59 msgid "update and create new users in batch" msgstr "opdater og opret nye brugere i et job" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:74 +#: newusers.8.xml.out:76 msgid "" "The <_:command-1/> command reads a <_:replaceable-2/> (or the standard input " "by default) and uses this information to update a set of existing users or " @@ -5554,22 +5735,22 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:82 +#: newusers.8.xml.out:84 msgid "pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell" msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:87 +#: newusers.8.xml.out:89 msgid "pw_name" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:90 +#: newusers.8.xml.out:92 msgid "This is the name of the user." msgstr "Dette er navnet på brugeren." #. (itstool) path: listitem/para -#: newusers.8.xml.out:93 +#: newusers.8.xml.out:95 #, fuzzy #| msgid "" #| "If this field contains the name of an existing user (or the name of an " @@ -5585,12 +5766,12 @@ msgstr "" "den angivne bruger blive brugt." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:104 +#: newusers.8.xml.out:106 msgid "pw_passwd" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:107 +#: newusers.8.xml.out:109 msgid "" "This field will be encrypted and used as the new value of the encrypted " "password." @@ -5599,17 +5780,17 @@ msgstr "" "adgangskode." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:115 +#: newusers.8.xml.out:117 msgid "pw_uid" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:118 +#: newusers.8.xml.out:120 msgid "This field is used to define the UID of the user." msgstr "Dette flet bruges til at definere UID for brugeren." #. (itstool) path: listitem/para -#: newusers.8.xml.out:121 +#: newusers.8.xml.out:123 #, fuzzy #| msgid "" #| "If the field is empty, an new (unused) UID will be defined automatically " @@ -5622,13 +5803,13 @@ msgstr "" "newusers." #. (itstool) path: listitem/para -#: newusers.8.xml.out:125 +#: newusers.8.xml.out:127 msgid "If this field contains a number, this number will be used as the UID." msgstr "" "Hvis dette felt indeholer et tal, så vil dette tal blive brugt som UID'en." #. (itstool) path: listitem/para -#: newusers.8.xml.out:129 +#: newusers.8.xml.out:131 #, fuzzy #| msgid "" #| "If this field contains the name of an existing user (or the name of an " @@ -5644,7 +5825,7 @@ msgstr "" "den angivne bruger blive brugt." #. (itstool) path: listitem/para -#: newusers.8.xml.out:135 +#: newusers.8.xml.out:137 msgid "" "If the UID of an existing user is changed, the files ownership of the user's " "file should be fixed manually." @@ -5653,17 +5834,17 @@ msgstr "" "ejerskab for brugerens fil rettes manuelt." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:143 +#: newusers.8.xml.out:145 msgid "pw_gid" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:146 +#: newusers.8.xml.out:148 msgid "This field is used to define the primary group ID for the user." msgstr "Dette felt bruges til at definere det primære gruppe-id for brugeren." #. (itstool) path: listitem/para -#: newusers.8.xml.out:149 +#: newusers.8.xml.out:151 #, fuzzy #| msgid "" #| "If this field contains the name of an existing user (or the name of an " @@ -5679,7 +5860,7 @@ msgstr "" "den angivne bruger blive brugt." #. (itstool) path: listitem/para -#: newusers.8.xml.out:155 +#: newusers.8.xml.out:157 msgid "" "If this field is a number, this number will be used as the primary group ID " "of the user. If no groups exist with this GID, a new group will be created " @@ -5687,7 +5868,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:161 +#: newusers.8.xml.out:163 msgid "" "If this field is empty, a new group will be created with the name of the " "user and a GID will be automatically defined by <_:command-1/> to be used as " @@ -5695,7 +5876,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:167 +#: newusers.8.xml.out:169 msgid "" "If this field contains the name of a group which does not exist (and was not " "created before by <_:command-1/>), a new group will be created with the " @@ -5704,32 +5885,32 @@ msgid "" msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:179 +#: newusers.8.xml.out:181 msgid "pw_gecos" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:182 +#: newusers.8.xml.out:184 msgid "This field is copied in the GECOS field of the user." msgstr "Dette felt er kopieret i GECOS-feltet for brugeren." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:189 +#: newusers.8.xml.out:191 msgid "pw_dir" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:192 +#: newusers.8.xml.out:194 msgid "This field is used to define the home directory of the user." msgstr "Dette felt bruges til at definere hjemmemappen for brugeren." #. (itstool) path: para/emphasis -#: newusers.8.xml.out:199 +#: newusers.8.xml.out:201 msgid "newusers does not create parent directories" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:195 +#: newusers.8.xml.out:197 msgid "" "If this field does not specify an existing directory, the specified " "directory is created, with ownership set to the user being created or " @@ -5742,7 +5923,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:208 +#: newusers.8.xml.out:210 #, fuzzy #| msgid "" #| "If the home directory of an existing user is changed, newusers first tries to create or change all the specified users, and " "then write these changes to the user or group databases. If an error occurs " @@ -5781,7 +5962,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:235 +#: newusers.8.xml.out:237 msgid "" "During this first pass, users are created with a locked password (and " "passwords are not changed for the users which are not created). A second " @@ -5790,7 +5971,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:243 +#: newusers.8.xml.out:245 msgid "" "This command is intended to be used in a large system environment where many " "accounts are updated at a single time." @@ -5799,48 +5980,57 @@ msgstr "" "opdateres på en gang." #. (itstool) path: term/option -#: newusers.8.xml.out:257 pwck.8.xml.out:164 useradd.8.xml.out:108 +#: newusers.8.xml.out:259 pwck.8.xml.out:164 useradd.8.xml.out:108 #: usermod.8.xml.out:89 msgid "--badname" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:260 pwck.8.xml.out:167 useradd.8.xml.out:111 +#: newusers.8.xml.out:262 pwck.8.xml.out:167 useradd.8.xml.out:111 #: usermod.8.xml.out:92 msgid "Allow names that do not conform to standards." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:290 useradd.8.xml.out:459 +#: newusers.8.xml.out:273 +msgid "" +"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc " +"support these methods." +msgstr "" +"De tilgængelige metoder er DES, Md5, NONE og SHA256 eller SHA512 hvis din " +"libc understøtter disse metoder." + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:292 useradd.8.xml.out:461 msgid "Create a system account." msgstr "" #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MIN" msgstr "" #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MAX" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:319 -#: useradd.8.xml.out:468 useradd.8.xml.out:538 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:321 +#: useradd.8.xml.out:470 useradd.8.xml.out:540 usermod.8.xml.out:397 msgid "UID_MIN" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:321 -#: useradd.8.xml.out:468 useradd.8.xml.out:543 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:323 +#: useradd.8.xml.out:470 useradd.8.xml.out:545 usermod.8.xml.out:397 msgid "UID_MAX" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:293 useradd.8.xml.out:462 +#: newusers.8.xml.out:295 useradd.8.xml.out:464 #, fuzzy #| msgid "" #| "System users will be created with no aging information in /etc/" @@ -5862,8 +6052,47 @@ msgstr "" " (og deres -modparte for " "oprettelsen af grupper.)." +#. (itstool) path: listitem/para +#: newusers.8.xml.out:342 +#, 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 is 13." +msgstr "" +"En minimusværdi på 1000 og en maksimumsværdi på 999.999.999 vil blive " +"påtvunget." + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:351 +#, 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 is 5000." +msgstr "" +"En minimusværdi på 1000 og en maksimumsværdi på 999.999.999 vil blive " +"påtvunget." + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:359 +#, 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 is 5." +msgstr "" +"En minimusværdi på 1000 og en maksimumsværdi på 999.999.999 vil blive " +"påtvunget." + #. (itstool) path: refsect1/para -#: newusers.8.xml.out:349 +#: newusers.8.xml.out:370 msgid "" "The input file must be protected since it contains unencrypted passwords." msgstr "" @@ -5871,57 +6100,57 @@ msgstr "" "krypteret." #. (itstool) path: term/filename -#: newusers.8.xml.out:429 +#: newusers.8.xml.out:450 msgid "/etc/pam.d/newusers" msgstr "/etc/pam.d/newusers" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:435 useradd.8.xml.out:222 useradd.8.xml.out:481 -#: useradd.8.xml.out:785 userdel.8.xml.out:215 usermod.8.xml.out:587 +#: newusers.8.xml.out:456 useradd.8.xml.out:222 useradd.8.xml.out:483 +#: useradd.8.xml.out:805 userdel.8.xml.out:215 usermod.8.xml.out:604 #, fuzzy #| msgid "/etc/suauth" msgid "/etc/subgid" msgstr "/etc/suauth" #. (itstool) path: listitem/para -#: newusers.8.xml.out:437 useradd.8.xml.out:787 userdel.8.xml.out:217 +#: newusers.8.xml.out:458 useradd.8.xml.out:807 userdel.8.xml.out:217 msgid "Per user subordinate group IDs." msgstr "" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:441 useradd.8.xml.out:222 useradd.8.xml.out:480 -#: useradd.8.xml.out:791 userdel.8.xml.out:221 usermod.8.xml.out:593 +#: newusers.8.xml.out:462 useradd.8.xml.out:222 useradd.8.xml.out:482 +#: useradd.8.xml.out:811 userdel.8.xml.out:221 usermod.8.xml.out:610 #, fuzzy #| msgid "/etc/suauth" msgid "/etc/subuid" msgstr "/etc/suauth" #. (itstool) path: listitem/para -#: newusers.8.xml.out:443 useradd.8.xml.out:793 userdel.8.xml.out:223 +#: newusers.8.xml.out:464 useradd.8.xml.out:813 userdel.8.xml.out:223 msgid "Per user subordinate user IDs." msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:460 useradd.8.xml.out:906 userdel.8.xml.out:335 -#: usermod.8.xml.out:633 +#: newusers.8.xml.out:481 useradd.8.xml.out:926 userdel.8.xml.out:335 +#: usermod.8.xml.out:650 #, fuzzy #| msgid "/etc/suauth" msgid "subgid" msgstr "/etc/suauth" #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:463 useradd.8.xml.out:909 userdel.8.xml.out:338 -#: usermod.8.xml.out:636 +#: newusers.8.xml.out:484 useradd.8.xml.out:929 userdel.8.xml.out:338 +#: usermod.8.xml.out:653 #, fuzzy #| msgid "/etc/suauth" msgid "subuid" msgstr "/etc/suauth" #. (itstool) path: para/phrase -#: newusers.8.xml.out:458 useradd.8.xml.out:904 userdel.8.xml.out:333 -#: usermod.8.xml.out:631 +#: newusers.8.xml.out:479 useradd.8.xml.out:924 userdel.8.xml.out:333 +#: usermod.8.xml.out:648 msgid "<_:citerefentry-1/>, <_:citerefentry-2/>," msgstr "" @@ -5966,12 +6195,12 @@ msgid "The <_:command-1/> command appeared in BSD 4.4." msgstr "Kommandoen nologin fremkom i BSD 4.4." #. (itstool) path: refnamediv/refpurpose -#: passwd.1.xml.out:48 +#: passwd.1.xml.out:50 msgid "change user password" msgstr "" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:65 +#: passwd.1.xml.out:67 msgid "" "The <_:command-1/> command changes passwords for user accounts. A normal " "user may only change the password for their own account, while the superuser " @@ -5980,12 +6209,12 @@ msgid "" msgstr "" #. (itstool) path: refsect2/title -#: passwd.1.xml.out:74 +#: passwd.1.xml.out:76 msgid "Password Changes" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:75 +#: passwd.1.xml.out:77 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 " @@ -5994,7 +6223,7 @@ msgid "" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:83 +#: passwd.1.xml.out:85 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, " @@ -6002,7 +6231,7 @@ msgid "" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:90 +#: passwd.1.xml.out:92 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 " @@ -6010,48 +6239,25 @@ msgid "" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:96 +#: passwd.1.xml.out:98 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 "" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:104 -msgid "lower case alphabetics" -msgstr "" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:107 -msgid "digits 0 thru 9" -msgstr "" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:110 -msgid "punctuation marks" -msgstr "" - -#. (itstool) path: refsect2/para -#: passwd.1.xml.out:114 -msgid "" -"Care must be taken not to include the system default erase or kill " -"characters. <_:command-1/> will reject any password which is not suitably " -"complex." +"Then, the password is tested for complexity. <_:command-1/> will reject any " +"password which is not suitably complex. Care must be taken not to include " +"the system default erase or kill characters." msgstr "" #. (itstool) path: refsect2/title -#: passwd.1.xml.out:123 +#: passwd.1.xml.out:108 msgid "Hints for user passwords" msgstr "" #. (itstool) path: para/emphasis -#: passwd.1.xml.out:127 +#: passwd.1.xml.out:112 msgid "UNIX" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:124 +#: passwd.1.xml.out:109 msgid "" "The security of a password depends upon the strength of the encryption " "algorithm and the size of the key space. The legacy <_:emphasis-1/> System " @@ -6061,7 +6267,7 @@ msgid "" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:133 +#: passwd.1.xml.out:118 msgid "" "Compromises in password security normally result from careless password " "selection or handling. For this reason, you should not select a password " @@ -6071,7 +6277,19 @@ msgid "" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:142 +#: passwd.1.xml.out:127 +msgid "" +"As a general guideline, passwords should be long and random. It's 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's apparent that the exponent " +"(the length) is more important than the base (the size of the character set)." +msgstr "" + +#. (itstool) path: refsect2/para +#: passwd.1.xml.out:138 #, fuzzy #| msgid "" #| "You can find advices on how to choose a strong password on http://en." @@ -6084,7 +6302,7 @@ msgstr "" "wikipedia.org/wiki/Password_strength" #. (itstool) path: listitem/para -#: passwd.1.xml.out:160 +#: passwd.1.xml.out:156 #, fuzzy #| msgid "" #| "This option can be used only with and causes show " @@ -6097,7 +6315,7 @@ msgstr "" "alle brugere." #. (itstool) path: listitem/para -#: passwd.1.xml.out:171 +#: passwd.1.xml.out:167 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." @@ -6107,12 +6325,12 @@ msgstr "" "uden adgangskode." #. (itstool) path: term/option -#: passwd.1.xml.out:180 +#: passwd.1.xml.out:176 msgid "--expire" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:183 +#: passwd.1.xml.out:179 msgid "" "Immediately expire an account's password. This in effect can force a user to " "change their password at the user's next login." @@ -6121,7 +6339,7 @@ msgstr "" "bruger til at ændre sin adgangskode ved brugerens næste logind." #. (itstool) path: listitem/para -#: passwd.1.xml.out:200 +#: passwd.1.xml.out:196 #, fuzzy #| msgid "" #| "This option is used to disable an account after the password has been " @@ -6141,17 +6359,17 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: passwd.1.xml.out:210 useradd.8.xml.out:278 useradd.8.xml.out:356 +#: passwd.1.xml.out:206 useradd.8.xml.out:280 useradd.8.xml.out:358 msgid "-k" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:210 +#: passwd.1.xml.out:206 msgid "--keep-tokens" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:213 +#: passwd.1.xml.out:209 msgid "" "Indicate password change should be performed only for expired authentication " "tokens (passwords). The user wishes to keep their non-expired tokens as " @@ -6159,12 +6377,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:222 usermod.8.xml.out:231 +#: passwd.1.xml.out:218 usermod.8.xml.out:231 msgid "--lock" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:225 +#: passwd.1.xml.out:221 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 " @@ -6172,12 +6390,12 @@ msgid "" msgstr "" #. (itstool) path: para/command -#: passwd.1.xml.out:235 +#: passwd.1.xml.out:231 msgid "usermod --expiredate 1" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:231 +#: passwd.1.xml.out:227 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 " @@ -6186,50 +6404,50 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:238 +#: passwd.1.xml.out:234 msgid "Users with a locked password are not allowed to change their password." msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "-q" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "--quiet" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:261 vipw.8.xml.out:110 +#: passwd.1.xml.out:257 vipw.8.xml.out:110 msgid "Quiet mode." msgstr "Stille tilstand." #. (itstool) path: term/option -#: passwd.1.xml.out:268 +#: passwd.1.xml.out:264 msgid "--repository" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: passwd.1.xml.out:268 passwd.1.xml.out:272 +#: passwd.1.xml.out:264 passwd.1.xml.out:268 #, fuzzy #| msgid "EDITOR" msgid "REPOSITORY" msgstr "REDIGERINGSPROGRAM" #. (itstool) path: listitem/para -#: passwd.1.xml.out:271 +#: passwd.1.xml.out:267 msgid "change password in <_:replaceable-1/> repository" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:291 +#: passwd.1.xml.out:302 msgid "--status" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:294 +#: passwd.1.xml.out:305 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 " @@ -6241,12 +6459,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:309 usermod.8.xml.out:405 +#: passwd.1.xml.out:320 usermod.8.xml.out:405 msgid "--unlock" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:312 +#: passwd.1.xml.out:323 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 " @@ -6254,7 +6472,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:325 +#: passwd.1.xml.out:336 msgid "" "Set the number of days of warning before a password change is required. The " "<_:replaceable-1/> option is the number of days prior to the password " @@ -6262,71 +6480,97 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:335 +#: passwd.1.xml.out:346 msgid "-x" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:338 +#: passwd.1.xml.out:349 msgid "" "Set the maximum number of days a password remains valid. After <_:" "replaceable-1/>, the password is required to be changed." msgstr "" +#. (itstool) path: term/option +#: passwd.1.xml.out:363 +msgid "--stdin" +msgstr "" + +#. (itstool) path: listitem/para +#: passwd.1.xml.out:366 +msgid "" +"This option is used to indicate that passwd should read the new password " +"from standard input, which can be a pipe." +msgstr "" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:355 +#: passwd.1.xml.out:377 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 "" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:360 +#: passwd.1.xml.out:382 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 "" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:365 +#: passwd.1.xml.out:387 msgid "" "<_:command-1/> uses PAM to authenticate users and to change their passwords." msgstr "" #. (itstool) path: term/filename -#: passwd.1.xml.out:411 +#: passwd.1.xml.out:433 msgid "/etc/pam.d/passwd" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:439 +#: passwd.1.xml.out:461 msgid "invalid combination of options" msgstr "Ugyldig kombination af tilvalg" #. (itstool) path: listitem/para -#: passwd.1.xml.out:445 +#: passwd.1.xml.out:467 msgid "unexpected failure, nothing done" msgstr "uventet fejl, intet udført" #. (itstool) path: listitem/para -#: passwd.1.xml.out:451 +#: passwd.1.xml.out:473 #, fuzzy #| msgid "unexpected failure, passwd file missing" msgid "unexpected failure, <_:filename-1/> file missing" msgstr "uventet fejl, passwd-filen mangler" #. (itstool) path: listitem/para -#: passwd.1.xml.out:457 +#: passwd.1.xml.out:479 #, fuzzy #| msgid "passwd file busy, try again" msgid "<_:filename-1/> file busy, try again" msgstr "passwd-filen er optaget, forsøg igen" +#. (itstool) path: citerefentry/refentrytitle +#: passwd.1.xml.out:499 +#, fuzzy +#| msgid "/etc/passwd" +msgid "makepasswd" +msgstr "/etc/passwd" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:472 +#: passwd.1.xml.out:494 msgid "" -"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:phrase-4/> " -"<_:citerefentry-5/>." +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>, <_:phrase-5/> <_:citerefentry-6/>." +msgstr "" + +#. (itstool) path: refsect1/para +#: passwd.1.xml.out:517 +msgid "" +"The following web page comically (yet correctly) compares the strength of " +"two different methods for choosing a password: \"https://xkcd.com/936/\"" msgstr "" #. (itstool) path: refnamediv/refpurpose @@ -7795,6 +8039,11 @@ msgstr "" 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" @@ -8077,7 +8326,7 @@ msgstr "" #. (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:583 useradd.8.xml.out:585 +#: useradd.8.xml.out:169 useradd.8.xml.out:603 useradd.8.xml.out:605 msgid "-D" msgstr "" @@ -8099,14 +8348,14 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:118 useradd.8.xml.out:592 +#: 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:592 useradd.8.xml.out:598 +#: useradd.8.xml.out:612 useradd.8.xml.out:618 msgid "BASE_DIR" msgstr "" @@ -8126,18 +8375,18 @@ msgid "" msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:131 useradd.8.xml.out:603 +#: 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:293 useradd.8.xml.out:343 -#: useradd.8.xml.out:393 useradd.8.xml.out:523 useradd.8.xml.out:604 -#: useradd.8.xml.out:616 useradd.8.xml.out:633 useradd.8.xml.out:649 -#: useradd.8.xml.out:663 useradd.8.xml.out:677 useradd.8.xml.out:767 -#: usermod.8.xml.out:419 +#: 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" @@ -8215,7 +8464,7 @@ msgstr "" "formatet ÅÅÅÅ-MM-DD." #. (itstool) path: para/option -#: useradd.8.xml.out:188 useradd.8.xml.out:615 usermod.8.xml.out:418 +#: useradd.8.xml.out:188 useradd.8.xml.out:635 usermod.8.xml.out:418 msgid "EXPIRE" msgstr "" @@ -8246,7 +8495,7 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: useradd.8.xml.out:218 useradd.8.xml.out:482 +#: useradd.8.xml.out:218 useradd.8.xml.out:484 msgid "-F" msgstr "" @@ -8334,6 +8583,13 @@ msgid "" "emphasis-5/>]]]" msgstr "" +#. (itstool) path: para/option +#: useradd.8.xml.out:267 +#, fuzzy +#| msgid "GROUP" +msgid "GROUPS" +msgstr "GRUPPE" + #. (itstool) path: listitem/para #: useradd.8.xml.out:260 msgid "" @@ -8341,21 +8597,23 @@ msgid "" "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." +"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 "" #. (itstool) path: term/option -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 msgid "--skel" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 msgid "SKEL_DIR" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:281 +#: useradd.8.xml.out:283 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 <_:" @@ -8364,55 +8622,55 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: useradd.8.xml.out:288 useradd.8.xml.out:350 +#: useradd.8.xml.out:290 useradd.8.xml.out:352 msgid "--create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:286 +#: useradd.8.xml.out:288 useradd.8.xml.out:592 usermod.8.xml.out:524 msgid "" "This option is only valid if the <_:option-1/> (or <_:option-2/>) option is " "specified." msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:292 +#: useradd.8.xml.out:294 msgid "SKEL" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:294 +#: useradd.8.xml.out:296 #, fuzzy #| msgid "/etc/skel/" msgid "/etc/skel" msgstr "/etc/skel/" #. (itstool) path: listitem/para -#: useradd.8.xml.out:290 +#: useradd.8.xml.out:292 msgid "" "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 "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:296 +#: useradd.8.xml.out:298 msgid "If possible, the ACLs and extended attributes are copied." msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:309 +#: useradd.8.xml.out:311 msgid "UMASK" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:306 +#: useradd.8.xml.out:308 msgid "" "Overrides <_:filename-1/> defaults (<_:option-2/>, <_:option-3/>, <_:" "option-4/>, <_:option-5/> and others)." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:312 +#: useradd.8.xml.out:314 msgid "" "Example: <_:option-1/> <_:replaceable-2/>=<_:replaceable-3/> can be used " "when creating an account to turn off password aging. Multiple <_:option-4/> " @@ -8421,29 +8679,29 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:330 +#: useradd.8.xml.out:332 msgid "--no-log-init" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:332 +#: useradd.8.xml.out:334 msgid "Do not add the user to the lastlog and faillog databases." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:335 +#: useradd.8.xml.out:337 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 "" #. (itstool) path: para/option -#: useradd.8.xml.out:342 +#: useradd.8.xml.out:344 msgid "LOG_INIT" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:340 +#: useradd.8.xml.out:342 msgid "" "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 " @@ -8451,7 +8709,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:353 +#: useradd.8.xml.out:355 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 " @@ -8459,19 +8717,19 @@ msgid "" msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:361 useradd.8.xml.out:379 useradd.8.xml.out:475 +#: useradd.8.xml.out:363 useradd.8.xml.out:381 useradd.8.xml.out:477 msgid "CREATE_HOME" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:359 +#: useradd.8.xml.out:361 msgid "" "By default, if this option is not specified and <_:option-1/> is not " "enabled, no home directories are created." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:364 +#: useradd.8.xml.out:366 msgid "" "The directory where the user's home directory is created must exist and have " "proper SELinux context and permissions. Otherwise the user's home directory " @@ -8479,24 +8737,24 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:373 +#: useradd.8.xml.out:375 msgid "--no-create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:376 +#: useradd.8.xml.out:378 msgid "" "Do not create the user's home directory, even if the system wide setting " "from <_:filename-1/> (<_:option-2/>) is set to <_:replaceable-3/>." msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:386 +#: useradd.8.xml.out:388 msgid "--no-user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:389 +#: useradd.8.xml.out:391 msgid "" "Do not create a group with the same name as the user, but add the user to " "the group specified by the <_:option-1/> option or by the <_:option-2/> " @@ -8504,12 +8762,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:408 +#: useradd.8.xml.out:410 msgid "allows the creation of an account with an already existing UID." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:412 usermod.8.xml.out:277 +#: useradd.8.xml.out:414 usermod.8.xml.out:277 msgid "" "This option is only valid in combination with the <_:option-1/> option. As a " "user identity serves as key to map between users on one hand and " @@ -8519,7 +8777,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:428 +#: useradd.8.xml.out:430 msgid "" "defines an initial password for the account. PASSWORD is expected to be " "encrypted, as returned by <_:citerefentry-1/>. Within a shell script, this " @@ -8527,7 +8785,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:435 +#: useradd.8.xml.out:437 msgid "" "Without this option, the new account will be locked and with no password " "defined, i.e. a single exclamation mark in the respective field of <_:" @@ -8536,14 +8794,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:443 +#: useradd.8.xml.out:445 msgid "" "<_:emphasis-1/>Avoid this option on the command line because the password " "(or encrypted password) will be visible by users listing the processes." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:471 +#: useradd.8.xml.out:473 msgid "" "Note that <_:command-1/> will not create a home directory for such a user, " "regardless of the default setting in <_:filename-2/> (<_:option-3/>). You " @@ -8552,7 +8810,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:479 +#: useradd.8.xml.out:481 msgid "" "Note that this option will not update <_:filename-1/> and <_:filename-2/>. " "You have to specify the <_:option-3/> options if you want to update the " @@ -8560,7 +8818,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:520 +#: useradd.8.xml.out:522 msgid "" "sets the path to the user's login shell. Without this option, the system " "will use the <_:option-1/> variable specified in <_:filename-2/>, or, if " @@ -8569,17 +8827,17 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 msgid "--uid" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 msgid "UID" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:534 +#: useradd.8.xml.out:536 msgid "" "The numerical value of the user's ID. This value must be unique, unless the " "<_:option-1/> option is used. The value must be non-negative. The default is " @@ -8588,52 +8846,74 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:549 +#: useradd.8.xml.out:551 msgid "--user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:552 +#: useradd.8.xml.out:554 msgid "" "Create a group with the same name as the user, and add the user to this " "group." msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:593 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:525 msgid "-Z" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:594 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:526 msgid "--selinux-user" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:566 usermod.8.xml.out:501 +#: useradd.8.xml.out:568 usermod.8.xml.out:501 msgid "SEUSER" msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: useradd.8.xml.out:573 +#: useradd.8.xml.out:575 useradd.8.xml.out:589 usermod.8.xml.out:521 msgid "semanage" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:569 +#: useradd.8.xml.out:571 msgid "" -"defines the SELinux user for the new account. Without this option, a SELinux " +"defines the SELinux user for the new account. Without this option, SELinux " "uses the default user. Note that the shadow system doesn't store the selinux-" "user, it uses <_:citerefentry-1/> for that." msgstr "" +#. (itstool) path: term/option +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +msgid "--selinux-range" +msgstr "" + +#. (itstool) path: term/replaceable +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +msgid "SERANGE" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:585 +msgid "" +"defines the SELinux MLS range for the new account. Without this option, " +"SELinux uses the default range. Note that the shadow system doesn't store " +"the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + #. (itstool) path: refsect2/title -#: useradd.8.xml.out:581 +#: useradd.8.xml.out:601 msgid "Changing the default values" msgstr "" #. (itstool) path: refsect2/para -#: useradd.8.xml.out:582 +#: useradd.8.xml.out:602 msgid "" "When invoked with only the <_:option-1/> option, <_:command-2/> will display " "the current default values. When invoked with <_:option-3/> plus other " @@ -8642,7 +8922,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:595 +#: useradd.8.xml.out:615 msgid "" "sets the path prefix for a new user's home directory. The user's name will " "be affixed to the end of <_:replaceable-1/> to form the new user's home " @@ -8651,8 +8931,8 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:602 useradd.8.xml.out:614 useradd.8.xml.out:631 -#: useradd.8.xml.out:647 useradd.8.xml.out:661 +#: useradd.8.xml.out:622 useradd.8.xml.out:634 useradd.8.xml.out:651 +#: useradd.8.xml.out:667 useradd.8.xml.out:681 #, fuzzy #| msgid "" #| "This option sets the variable in /etc/" @@ -8663,12 +8943,12 @@ msgstr "" "default/useradd." #. (itstool) path: listitem/para -#: useradd.8.xml.out:613 +#: useradd.8.xml.out:633 msgid "sets the date on which newly created user accounts are disabled." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:625 +#: useradd.8.xml.out:645 msgid "" "defines the number of days after the password exceeded its maximum age where " "the user is expected to replace this password. See <_:citerefentry-1/>for " @@ -8676,7 +8956,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:642 +#: useradd.8.xml.out:662 msgid "" "sets the default primary group for newly created users, accepting group " "names or a numerical group ID. The named group must exist, and the GID must " @@ -8684,23 +8964,23 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:658 +#: useradd.8.xml.out:678 msgid "defines the default login shell for new users." msgstr "" #. (itstool) path: refsect1/title -#: useradd.8.xml.out:673 +#: useradd.8.xml.out:693 msgid "NOTES" msgstr "" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: useradd.8.xml.out:675 useradd.8.xml.out:779 +#: useradd.8.xml.out:695 useradd.8.xml.out:799 msgid "/etc/skel/" msgstr "/etc/skel/" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:674 +#: useradd.8.xml.out:694 msgid "" "The system administrator is responsible for placing the default user files " "in the <_:filename-1/> directory (or any other skeleton directory specified " @@ -8708,7 +8988,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:683 +#: useradd.8.xml.out:703 msgid "" "You may not add a user to a NIS or LDAP group. This must be performed on the " "corresponding server." @@ -8717,19 +8997,19 @@ msgstr "" "udføres på den tilsvarende server." #. (itstool) path: refsect1/para -#: useradd.8.xml.out:688 +#: useradd.8.xml.out:708 msgid "" "Similarly, if the username already exists in an external user database such " "as NIS or LDAP, <_:command-1/> will deny the user account creation request." msgstr "" #. (itstool) path: para/command -#: useradd.8.xml.out:702 +#: useradd.8.xml.out:722 msgid "ls" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:694 +#: useradd.8.xml.out:714 msgid "" "Usernames may contain only lower and upper case letters, digits, " "underscores, or dashes. They can end with a dollar sign. Dashes are not " @@ -8740,56 +9020,56 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:704 +#: useradd.8.xml.out:724 msgid "Usernames may only be up to 32 characters long." msgstr "Brugernavne må kun være op til 32 tegn lange." #. (itstool) path: listitem/para -#: useradd.8.xml.out:769 +#: useradd.8.xml.out:789 msgid "Default values for account creation." msgstr "Standardværdier for kontooprettelse." #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 #, fuzzy #| msgid "/etc/default/useradd" msgid "/etc/shadow-maint/useradd-pre.d/*" msgstr "/etc/default/useradd" #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 msgid "/etc/shadow-maint/useradd-post.d/*" msgstr "" #. (itstool) path: varlistentry/term -#: useradd.8.xml.out:773 userdel.8.xml.out:209 +#: useradd.8.xml.out:793 userdel.8.xml.out:209 msgid "<_:filename-1/>, <_:filename-2/>" msgstr "" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 #, fuzzy #| msgid "OPTIONS" msgid "ACTION" msgstr "TILVALG" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 msgid "SUBJECT" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "useradd-pre.d" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "useradd-post.d" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "" "Run-part files to execute during user addition. The environment variable <_:" "command-1/> will be populated with useradd and <_:command-2/> with the <_:" @@ -8799,48 +9079,48 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:781 +#: useradd.8.xml.out:801 msgid "Directory containing default files." msgstr "Mappe indeholdende standardfiler." #. (itstool) path: listitem/para -#: useradd.8.xml.out:819 userdel.8.xml.out:243 +#: useradd.8.xml.out:839 userdel.8.xml.out:243 msgid "can't update password file" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:837 +#: useradd.8.xml.out:857 #, fuzzy #| msgid "UID already in use (and no )" msgid "UID already in use (and no <_:option-1/>)" msgstr "UID er allerede i brug (og intet )" #. (itstool) path: listitem/para -#: useradd.8.xml.out:849 +#: useradd.8.xml.out:869 #, fuzzy #| msgid "group name already in use" msgid "username or group name already in use" msgstr "gruppenavn er allerede i brug" #. (itstool) path: listitem/para -#: useradd.8.xml.out:861 +#: useradd.8.xml.out:881 msgid "can't create home directory" msgstr "kan ikke oprette hjemmemappe" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:865 +#: useradd.8.xml.out:885 #, fuzzy #| msgid "4" msgid "14" msgstr "4" #. (itstool) path: listitem/para -#: useradd.8.xml.out:867 +#: useradd.8.xml.out:887 msgid "can't update SELinux user mapping" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:876 usermod.8.xml.out:603 +#: useradd.8.xml.out:896 usermod.8.xml.out:620 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:" @@ -9486,9 +9766,16 @@ msgid "" "shadow system doesn't store the selinux-user, it uses semanage(8) for that." msgstr "" -#. (itstool) path: refsect1/para +#. (itstool) path: listitem/para #: usermod.8.xml.out:518 msgid "" +"defines the SELinux MLS range for the new account. Note that the shadow " +"system doesn't store the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + +#. (itstool) path: refsect1/para +#: usermod.8.xml.out:535 +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. <_:command-1/> " @@ -9497,67 +9784,67 @@ msgid "" msgstr "" #. (itstool) path: para/command -#: usermod.8.xml.out:527 +#: usermod.8.xml.out:544 msgid "crontab" msgstr "" #. (itstool) path: para/command -#: usermod.8.xml.out:528 +#: usermod.8.xml.out:545 msgid "at" msgstr "" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:526 +#: usermod.8.xml.out:543 msgid "" "You must change the owner of any <_:command-1/> files or <_:command-2/> jobs " "manually." msgstr "" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:530 +#: usermod.8.xml.out:547 msgid "You must make any changes involving NIS on the NIS server." msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:559 +#: usermod.8.xml.out:576 #, fuzzy #| msgid "Group account information." msgid "Group account information" msgstr "Information om gruppekonto." #. (itstool) path: listitem/para -#: usermod.8.xml.out:565 +#: usermod.8.xml.out:582 #, fuzzy #| msgid "Secure group account information." -msgid "Secure group account informatio." +msgid "Secure group account information" msgstr "Information om sikret gruppekonto." #. (itstool) path: listitem/para -#: usermod.8.xml.out:571 +#: usermod.8.xml.out:588 msgid "Shadow password suite configuration" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:577 +#: usermod.8.xml.out:594 #, fuzzy #| msgid "User account information." msgid "User account information" msgstr "Information om brugerkonto." #. (itstool) path: listitem/para -#: usermod.8.xml.out:583 +#: usermod.8.xml.out:600 #, fuzzy #| msgid "Secure user account information." msgid "Secure user account information" msgstr "Information om sikret brugerkonto." #. (itstool) path: listitem/para -#: usermod.8.xml.out:589 +#: usermod.8.xml.out:606 msgid "Per user subordinate group IDs" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:595 +#: usermod.8.xml.out:612 msgid "Per user subordinate user IDs" msgstr "" @@ -9610,7 +9897,7 @@ msgstr "vipw" #| "envar>, and finally the default editor, vi1." msgid "" -"The <_:command-1/> and <_:command-2/> commands edits the files <_:filename-3/" +"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 " @@ -10215,6 +10502,9 @@ msgstr "" #~ msgid " (number)" #~ msgstr " (antal)" +#~ msgid " (number)" +#~ msgstr " (antal)" + #~ msgid "" #~ "The passwd command exits with the following values: " #~ "" @@ -10242,6 +10532,18 @@ msgstr "" #~ msgid ", " #~ msgstr ", " +#~ msgid "" +#~ "The value 0 means that the system will choose the default number of " +#~ "rounds for the crypt method (5000)." +#~ msgstr "" +#~ "Værdien 0 betyder at systemet vil vælge antallet af standardrunder for " +#~ "krypteringsmetoden (5000)." + +#~ msgid "You can only use this option with the SHA256 or SHA512 crypt method." +#~ msgstr "" +#~ "Du kan kun bruge dette tilvalg med SHA256- eller SHA512-" +#~ "krypteringsmetoden." + #~ msgid "PAM configuration for newusers." #~ msgstr "PAM-konfiguration for newusers." @@ -10287,7 +10589,7 @@ msgstr "" #~ msgstr " (antal)" #~ msgid "Enable logging of successful logins." -#~ msgstr "Aktiver logning af succesfulde logind." +#~ msgstr "Aktiver logning af successfulde logind." #~ msgid " (boolean)" #~ msgstr " (boolesk)" diff --git a/man/po/de.po b/man/po/de.po index 28dd6533..a5ba94fc 100644 --- a/man/po/de.po +++ b/man/po/de.po @@ -1,27 +1,31 @@ # German translation of shadow-man-pages # Copyright (C) 2006 Free Software Foundation, Inc. # Simon Brandmair , 2005, 2006, 2007, 2011, 2012. -# +# Markus Hiereth , 2021, 2022, 2023 +# Remark +# This message catalogue does not contain strings for manpages +# subuid(5), subgid(5), cpgr(8), cppw(8), msgid "" msgstr "" "Project-Id-Version: shadow-man-pages\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" -"PO-Revision-Date: 2013-08-23 01:36+0200\n" -"Last-Translator: Simon Brandmair \n" -"Language-Team: debian-l10n-german \n" -"Language: \n" +"POT-Creation-Date: 2024-03-14 18:23-0500\n" +"PO-Revision-Date: 2023-02-08 22:03+0100\n" +"Last-Translator: Markus Hiereth \n" +"Language-Team: debian-l10n-german \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.4.2\n" #. (itstool) path: author/firstname -#: chage.1.xml.out:16 chfn.1.xml.out:18 chpasswd.8.xml.out:19 chsh.1.xml.out:18 +#: 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:84 logoutd.8.xml.out:15 -#: newgrp.1.xml.out:16 newusers.8.xml.out:31 passwd.1.xml.out:22 +#: 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 @@ -29,12 +33,12 @@ msgid "Julianne Frances" msgstr "Julianne Frances" #. (itstool) path: author/surname -#: chage.1.xml.out:17 chfn.1.xml.out:19 chpasswd.8.xml.out:20 chsh.1.xml.out:19 +#: 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:85 logoutd.8.xml.out:16 -#: newgrp.1.xml.out:17 newusers.8.xml.out:32 passwd.1.xml.out:23 +#: 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 @@ -44,17 +48,17 @@ msgstr "Haugh" #. (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 "ursprünglicher Autor, 1990" +msgstr "Erstellung, 1990" #. (itstool) path: author/firstname -#: chage.1.xml.out:21 chfn.1.xml.out:23 chgpasswd.8.xml.out:20 -#: chpasswd.8.xml.out:24 chsh.1.xml.out:23 expiry.1.xml.out:24 -#: faillog.5.xml.out:20 faillog.8.xml.out:20 gpasswd.1.xml.out:25 +#: 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:89 logoutd.8.xml.out:20 -#: newgrp.1.xml.out:21 newusers.8.xml.out:36 passwd.1.xml.out:27 +#: 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 @@ -63,14 +67,14 @@ msgid "Thomas" msgstr "Thomas" #. (itstool) path: author/surname -#: chage.1.xml.out:22 chfn.1.xml.out:24 chgpasswd.8.xml.out:21 -#: chpasswd.8.xml.out:25 chsh.1.xml.out:24 expiry.1.xml.out:25 -#: faillog.5.xml.out:21 faillog.8.xml.out:21 gpasswd.1.xml.out:26 +#: 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:90 logoutd.8.xml.out:21 -#: newgrp.1.xml.out:22 newusers.8.xml.out:37 passwd.1.xml.out:28 +#: 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 @@ -79,14 +83,14 @@ msgid "Kłoczko" msgstr "Kłoczko" #. (itstool) path: author/email -#: chage.1.xml.out:23 chfn.1.xml.out:25 chgpasswd.8.xml.out:22 -#: chpasswd.8.xml.out:26 chsh.1.xml.out:25 expiry.1.xml.out:26 -#: faillog.5.xml.out:22 faillog.8.xml.out:22 gpasswd.1.xml.out:27 +#: 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:91 logoutd.8.xml.out:22 -#: newgrp.1.xml.out:23 newusers.8.xml.out:38 passwd.1.xml.out:29 +#: 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 @@ -95,14 +99,14 @@ msgid "kloczek@pld.org.pl" msgstr "kloczek@pld.org.pl" #. (itstool) path: author/contrib -#: chage.1.xml.out:24 chfn.1.xml.out:26 chpasswd.8.xml.out:27 chsh.1.xml.out:26 +#: 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:28 groupadd.8.xml.out:26 groupdel.8.xml.out:24 +#: 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:92 -#: logoutd.8.xml.out:23 newgrp.1.xml.out:24 newusers.8.xml.out:39 -#: passwd.1.xml.out:30 passwd.5.xml.out:23 porttime.5.xml.out:23 +#: 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 @@ -111,15 +115,15 @@ msgid "shadow-utils maintainer, 2000 - 2007" msgstr "shadow-utils-Betreuer, 2000 - 2007" #. (itstool) path: author/firstname -#: chage.1.xml.out:27 chfn.1.xml.out:29 chgpasswd.8.xml.out:26 -#: chpasswd.8.xml.out:30 chsh.1.xml.out:29 expiry.1.xml.out:30 -#: faillog.5.xml.out:26 faillog.8.xml.out:26 gpasswd.1.xml.out:31 +#: 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:95 -#: logoutd.8.xml.out:26 newgrp.1.xml.out:27 newusers.8.xml.out:42 -#: nologin.8.xml.out:15 passwd.1.xml.out:33 passwd.5.xml.out:26 +#: 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 @@ -128,15 +132,15 @@ msgid "Nicolas" msgstr "Nicolas" #. (itstool) path: author/surname -#: chage.1.xml.out:28 chfn.1.xml.out:30 chgpasswd.8.xml.out:27 -#: chpasswd.8.xml.out:31 chsh.1.xml.out:30 expiry.1.xml.out:31 -#: faillog.5.xml.out:27 faillog.8.xml.out:27 gpasswd.1.xml.out:32 +#: 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:96 -#: logoutd.8.xml.out:27 newgrp.1.xml.out:28 newusers.8.xml.out:43 -#: nologin.8.xml.out:16 passwd.1.xml.out:34 passwd.5.xml.out:27 +#: 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 @@ -145,15 +149,15 @@ msgid "François" msgstr "François" #. (itstool) path: author/email -#: chage.1.xml.out:29 chfn.1.xml.out:31 chgpasswd.8.xml.out:28 -#: chpasswd.8.xml.out:32 chsh.1.xml.out:31 expiry.1.xml.out:32 -#: faillog.5.xml.out:28 faillog.8.xml.out:28 gpasswd.1.xml.out:33 +#: 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:97 -#: logoutd.8.xml.out:28 newgrp.1.xml.out:29 newusers.8.xml.out:44 -#: nologin.8.xml.out:17 passwd.1.xml.out:35 passwd.5.xml.out:28 +#: 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 @@ -162,15 +166,15 @@ msgid "nicolas.francois@centraliens.net" msgstr "nicolas.francois@centraliens.net" #. (itstool) path: author/contrib -#: chage.1.xml.out:30 chfn.1.xml.out:32 chgpasswd.8.xml.out:29 -#: chpasswd.8.xml.out:33 chsh.1.xml.out:32 expiry.1.xml.out:33 -#: faillog.5.xml.out:29 faillog.8.xml.out:29 gpasswd.1.xml.out:34 +#: 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:98 -#: logoutd.8.xml.out:29 newgrp.1.xml.out:30 newusers.8.xml.out:45 -#: nologin.8.xml.out:18 passwd.1.xml.out:36 passwd.5.xml.out:29 +#: 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 @@ -185,9 +189,9 @@ msgstr "shadow-utils-Betreuer, 2007 - heute" #. (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:216 chage.1.xml.out:226 -#: chage.1.xml.out:236 chage.1.xml.out:241 chage.1.xml.out:285 -#: login.defs.5.xml.out:233 shadow.5.xml.out:262 +#: 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" @@ -195,11 +199,11 @@ msgstr "chage" #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum #. (itstool) path: para/replaceable -#: chage.1.xml.out:35 chage.1.xml.out:294 chfn.1.xml.out:37 chfn.1.xml.out:65 -#: chfn.1.xml.out:205 chgpasswd.8.xml.out:217 chpasswd.8.xml.out:265 -#: chsh.1.xml.out:37 chsh.1.xml.out:171 expiry.1.xml.out:38 -#: faillog.8.xml.out:235 gpasswd.1.xml.out:39 gpasswd.1.xml.out:93 -#: gpasswd.1.xml.out:277 groupadd.8.xml.out:345 groupadd.8.xml.out:348 +#: 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 @@ -207,44 +211,44 @@ msgstr "chage" #: 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:516 -#: login.defs.5.xml.out:518 login.defs.5.xml.out:520 login.defs.5.xml.out:530 -#: login.defs.5.xml.out:533 login.defs.5.xml.out:536 newgrp.1.xml.out:35 +#: 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:456 -#: nologin.8.xml.out:60 passwd.1.xml.out:41 passwd.1.xml.out:431 -#: 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:817 -#: useradd.8.xml.out:878 useradd.8.xml.out:881 useradd.8.xml.out:884 -#: 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:605 usermod.8.xml.out:608 usermod.8.xml.out:611 -#: vipw.8.xml.out:78 vipw.8.xml.out:205 +#: 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" #. (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:40 groups.1.xml.out:35 login.1.xml.out:68 -#: newgrp.1.xml.out:36 passwd.1.xml.out:42 sg.1.xml.out:36 su.1.xml.out:52 +#: 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 "Dienstprogramme für Benutzer" +msgstr "Befehle für Benutzer" #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:37 chfn.1.xml.out:39 chgpasswd.8.xml.out:36 -#: chpasswd.8.xml.out:40 chsh.1.xml.out:39 expiry.1.xml.out:40 -#: faillog.5.xml.out:36 faillog.8.xml.out:36 gpasswd.1.xml.out:41 +#: 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:105 -#: logoutd.8.xml.out:36 newgrp.1.xml.out:37 newusers.8.xml.out:52 -#: nologin.8.xml.out:25 passwd.1.xml.out:43 passwd.5.xml.out:36 +#: 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 @@ -253,33 +257,39 @@ msgid "shadow-utils" msgstr "shadow-utils" #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:38 chfn.1.xml.out:40 chgpasswd.8.xml.out:37 -#: chpasswd.8.xml.out:41 chsh.1.xml.out:40 expiry.1.xml.out:41 -#: faillog.5.xml.out:37 faillog.8.xml.out:37 gpasswd.1.xml.out:42 +#: 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:106 -#: logoutd.8.xml.out:37 newgrp.1.xml.out:38 newusers.8.xml.out:53 -#: nologin.8.xml.out:26 passwd.1.xml.out:44 passwd.5.xml.out:37 +#: 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.13" +msgid "4.15.0" msgstr "" +# ENDE Teil 38 weiter mit chage +# BEGINN Teil 39 setzt chfn fort +# MH171: This description ignores a part of the commands applications, e.g. +# it edits the date of the last password change, the earliest date for a +# password change. Thus write +# edit data with reference to the password's and the account's validity #. (itstool) path: refnamediv/refpurpose #: chage.1.xml.out:42 msgid "change user password expiry information" -msgstr "ändert die Information zum Passwortverfall" +msgstr "ändert das Ablaufdatum des Passworts und damit verknüpfte Fristen" #. (itstool) path: arg/replaceable #. (itstool) path: cmdsynopsis/arg -#: chage.1.xml.out:48 chfn.1.xml.out:51 chgpasswd.8.xml.out:48 -#: chpasswd.8.xml.out:52 chsh.1.xml.out:51 faillog.8.xml.out:48 +#: 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:64 passwd.1.xml.out:55 +#: 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 @@ -292,22 +302,22 @@ msgstr "Optionen" #. (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:58 useradd.8.xml.out:68 +#: 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 "ANMELDENAME" #. (itstool) path: refsect1/title -#: chage.1.xml.out:57 chfn.1.xml.out:60 chgpasswd.8.xml.out:54 -#: chpasswd.8.xml.out:58 chsh.1.xml.out:60 expiry.1.xml.out:58 -#: faillog.5.xml.out:45 faillog.8.xml.out:54 gpasswd.1.xml.out:70 +#: 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:114 -#: logoutd.8.xml.out:51 newgrp.1.xml.out:53 newusers.8.xml.out:73 -#: nologin.8.xml.out:40 passwd.1.xml.out:64 passwd.5.xml.out:45 +#: 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 @@ -315,6 +325,13 @@ msgstr "ANMELDENAME" msgid "DESCRIPTION" msgstr "BESCHREIBUNG" +# MH172: This is a really bad description of the command: Hard to +# understand and not really covering the scope of it, e.g. editing the +# date of the last password change, the earliest date for a password +# change. +# MH173 +# s/user must change their/user must change his or her +# or s/user must change their/users must change their #. (itstool) path: refsect1/para #: chage.1.xml.out:58 #, fuzzy @@ -328,19 +345,19 @@ msgid "" "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 "" -"Der Befehl chage verändert die Anzahl der Tage zwischen " -"dem letzten Wechsel des Passworts und dem nächsten Wechsel. Mit dieser " -"Information bestimmt das System, wann ein Benutzer sein Passwort verändern " -"muss." +"Der Befehl chage verändert den Tag des letzten " +"Passwortwechsels, das Ablaufdatum des Passworts, seine minimale und maximale " +"Verwendungsdauer die Warnzeit vor und die Karenzzeit nach dessen Ablauf " +"sowie das Datum, an dem das Benutzerkontos stillgelegt soll" #. (itstool) path: refsect1/title #. (itstool) path: arg/replaceable -#: chage.1.xml.out:67 chfn.1.xml.out:87 chgpasswd.8.xml.out:81 -#: chpasswd.8.xml.out:106 chsh.1.xml.out:71 expiry.1.xml.out:67 -#: faillog.8.xml.out:65 gpasswd.1.xml.out:110 groupadd.8.xml.out:51 +#: 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:250 passwd.1.xml.out:150 +#: 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 @@ -348,24 +365,25 @@ msgid "OPTIONS" msgstr "OPTIONEN" #. (itstool) path: refsect1/para -#: chage.1.xml.out:68 chfn.1.xml.out:88 chgpasswd.8.xml.out:82 -#: chpasswd.8.xml.out:107 chsh.1.xml.out:72 expiry.1.xml.out:68 -#: faillog.8.xml.out:66 gpasswd.1.xml.out:118 groupadd.8.xml.out:81 +#: 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:251 -#: passwd.1.xml.out:151 pwck.8.xml.out:158 su.1.xml.out:121 +#: 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 "" -"Die Optionen, die vom Befehl su unterstützt werden, sind:" +"Der Befehl su kann mit folgenden Optionen verwendet " +"werden:" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:74 gpasswd.1.xml.out:137 groupmems.8.xml.out:94 -#: passwd.1.xml.out:168 useradd.8.xml.out:123 useradd.8.xml.out:151 -#: useradd.8.xml.out:599 usermod.8.xml.out:112 usermod.8.xml.out:260 +#: 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" @@ -379,54 +397,58 @@ 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 "" +msgstr "LASTLOG_UID_MAX" #. (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 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:122 chpasswd.8.xml.out:113 chpasswd.8.xml.out:164 -#: chpasswd.8.xml.out:177 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:123 gpasswd.1.xml.out:136 -#: gpasswd.1.xml.out:157 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:305 passwd.1.xml.out:196 passwd.1.xml.out:245 -#: passwd.1.xml.out:267 passwd.1.xml.out:277 passwd.1.xml.out:321 -#: passwd.1.xml.out:334 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:277 -#: useradd.8.xml.out:424 useradd.8.xml.out:488 useradd.8.xml.out:501 -#: useradd.8.xml.out:516 useradd.8.xml.out:530 useradd.8.xml.out:565 -#: useradd.8.xml.out:591 useradd.8.xml.out:609 useradd.8.xml.out:621 -#: useradd.8.xml.out:638 useradd.8.xml.out:654 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 +#: 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 "" #. (itstool) path: para/emphasis #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:82 chage.1.xml.out:288 groupadd.8.xml.out:303 +#: 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:138 passwd.1.xml.out:425 pwck.8.xml.out:287 -#: su.1.xml.out:385 useradd.8.xml.out:811 userdel.8.xml.out:235 +#: 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" # SB: So I could also do DD.MM.YYYY or MM.DD.YYYY? How does system know which format I chose? +# MH174: A test showed that dates in format YYYY-MM-DD are accepted, +# whereas the German format DD.MM.YYYY is not accepted. #. (itstool) path: listitem/para #: chage.1.xml.out:77 #, fuzzy @@ -440,10 +462,10 @@ msgid "" "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 "" -"Legt die Anzahl der Tage, gerechnet ab dem 1. Januar 1970, fest, seit denen " -"das Passwort das letzte Mal gewechselt wurde. Das Datum kann auch im Format " -"JJJJ-MM-TT (oder in dem Format, das in Ihrer Region verbreitet ist) " -"angegeben werden." +"setzt den Tag, angegeben als Anzahl von Tagen nach dem 1. Januar 1970, an " +"dem das Passwort zuletzt geändert wurde. Das Datum kann auch im Format JJJJ-" +"MM-TT (oder in dem Format, das in Ihrer Region verbreitet ist) angegeben " +"werden." #. (itstool) path: term/option #: chage.1.xml.out:89 @@ -453,7 +475,7 @@ msgid "-E" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:610 +#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:630 #: usermod.8.xml.out:129 msgid "--expiredate" msgstr "" @@ -461,7 +483,7 @@ 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:610 usermod.8.xml.out:129 usermod.8.xml.out:243 +#: useradd.8.xml.out:630 usermod.8.xml.out:129 usermod.8.xml.out:243 #: usermod.8.xml.out:416 msgid "EXPIRE_DATE" msgstr "" @@ -475,12 +497,12 @@ msgid "" "whose account is locked must contact the system administrator before being " "able to use the system again." msgstr "" -"Setzt das Datum oder die Anzahl der Tage seit dem 1. Januar 1970, ab dem auf " -"das Benutzerkonto nicht mehr zugegriffen werden kann. Das Datum kann auch im " +"setzt den Tag angegeben als Anzahl von Tagen nach dem 1. Januar 1970, ab dem " +"das Benutzerkonto nicht mehr zugänglich 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 gesperrt ist, muss sich mit dem " -"Systemadministrator in Verbindung setzen, ehe er sich wieder am System " -"anmelden kann." +"angegeben werden. Ein Benutzer, dessen Konto stillgelegt ist, muss sich mit " +"dem Systemadministrator in Verbindung setzen, ehe er das System wieder " +"verwenden kann." #. (itstool) path: listitem/para #: chage.1.xml.out:100 @@ -497,7 +519,7 @@ 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:344 useradd.8.xml.out:315 +#: passwd.1.xml.out:355 useradd.8.xml.out:317 #, fuzzy #| msgid "1" msgid "-1" @@ -514,83 +536,83 @@ msgid "" "Passing the number <_:emphasis-1/> as the <_:replaceable-2/> will remove an " "account expiration date." msgstr "" -"Wenn -1 als VERFALLSDATUM angegeben wird, wird das Verfallsdatum für das Konto entfernt." +"Wenn -1 als STILLLEGUNGSDATUM angegeben wird, wird das Stilllegungsdatum gelöscht." #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:115 chfn.1.xml.out:102 chgpasswd.8.xml.out:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 passwd.1.xml.out:190 -#: pwck.8.xml.out:173 pwconv.8.xml.out:171 useradd.8.xml.out:271 +#: 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:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 -#: passwd.1.xml.out:190 pwck.8.xml.out:173 pwconv.8.xml.out:171 -#: su.1.xml.out:387 useradd.8.xml.out:271 userdel.8.xml.out:99 +#: 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:88 chgpasswd.8.xml.out:101 -#: chgpasswd.8.xml.out:107 chgpasswd.8.xml.out:113 chgpasswd.8.xml.out:135 -#: chpasswd.8.xml.out:139 chpasswd.8.xml.out:147 chpasswd.8.xml.out:155 +#: 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:149 gpasswd.1.xml.out:172 -#: gpasswd.1.xml.out:188 groupadd.8.xml.out:87 groupadd.8.xml.out:118 +#: 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:268 newusers.8.xml.out:280 newusers.8.xml.out:286 -#: newusers.8.xml.out:320 passwd.1.xml.out:156 passwd.1.xml.out:167 -#: passwd.1.xml.out:179 passwd.1.xml.out:190 passwd.1.xml.out:209 -#: passwd.1.xml.out:221 passwd.1.xml.out:257 passwd.1.xml.out:290 -#: passwd.1.xml.out:308 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:271 -#: useradd.8.xml.out:330 useradd.8.xml.out:349 useradd.8.xml.out:372 -#: useradd.8.xml.out:385 useradd.8.xml.out:404 useradd.8.xml.out:455 -#: useradd.8.xml.out:548 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 +#: 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:109 -#: chpasswd.8.xml.out:149 chsh.1.xml.out:79 expiry.1.xml.out:90 -#: faillog.8.xml.out:100 gpasswd.1.xml.out:151 groupadd.8.xml.out:120 +#: 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:282 -#: passwd.1.xml.out:192 pwck.8.xml.out:175 pwconv.8.xml.out:173 -#: useradd.8.xml.out:273 userdel.8.xml.out:101 vipw.8.xml.out:98 +#: 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 "zeigt die Hilfe an und beendet das Programm" +msgstr "zeigt die Hilfe an und beendet das Programm." #. (itstool) path: term/option -#: chage.1.xml.out:121 passwd.1.xml.out:197 +#: chage.1.xml.out:121 passwd.1.xml.out:193 #, fuzzy #| msgid "-" msgid "-i" @@ -604,7 +626,7 @@ msgstr "" #. (itstool) path: listitem/para #: chage.1.xml.out:123 msgid "When printing dates, use YYYY-MM-DD format." -msgstr "" +msgstr "Bei der Datumsausgabe das ISO-Format JJJJ-MM-TT verwenden" #. (itstool) path: term/option #: chage.1.xml.out:128 @@ -614,8 +636,8 @@ msgid "-I" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:128 passwd.1.xml.out:197 useradd.8.xml.out:196 -#: useradd.8.xml.out:622 usermod.8.xml.out:152 +#: 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 "" @@ -623,8 +645,8 @@ msgstr "" #. (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:197 passwd.1.xml.out:203 useradd.8.xml.out:196 -#: useradd.8.xml.out:211 useradd.8.xml.out:622 useradd.8.xml.out:632 +#: 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 "" @@ -644,12 +666,11 @@ msgid "" "inactivity. A user whose account is locked must contact the system " "administrator before being able to use the system again." msgstr "" -"Legt die Anzahl der Tage der Untätigkeit fest, nach denen ein Passwort " -"abgelaufen ist, bevor das Konto gesperrt wird. Die Option " -"INAKTIV bezeichnet die Anzahl der Tage, für die " -"das Konto inaktiv ist. Ein Benutzer, dessen Konto gesperrt ist, muss sich " -"mit dem Systemadministrator in Verbindung setzen, ehe er sich wieder am " -"System anmelden kann." +"legt eine Karenzzeit nach Ablaufen des Passwortes fest. Danach ist das Konto " +"nicht mehr zugänglich. Die Eingabe INAKTIV ist die " +"Länge dieser Karenzzeit in Tagen. Nach ihrem Ablauf muss sich der Benutzer " +"mit dem Systemadministrator in Verbindung setzen, ehe er das System wieder " +"nutzen kann." #. (itstool) path: listitem/para #: chage.1.xml.out:138 @@ -662,16 +683,16 @@ msgid "" "account's inactivity." msgstr "" "Wenn -1 als INAKTIV angegeben wird, wird die Überwachung der fehlenden Verwendung " -"des Kontos entfernt." +"replaceable> eingegeben wird, wird der vorliegende Wert entfernt und das " +"Passworts verliert seine Gültigkeit unverzüglich." #. (itstool) path: term/option #. (itstool) path: para/option #. (itstool) path: group/arg -#: chage.1.xml.out:147 chage.1.xml.out:242 faillog.8.xml.out:88 +#: 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:222 -#: passwd.1.xml.out:316 su.1.xml.out:144 su.1.xml.out:156 useradd.8.xml.out:330 +#: 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" @@ -681,18 +702,22 @@ msgstr "-l" msgid "--list" msgstr "" +# MH177: both the account's and the password's validity are subject to time restrictions. +# s +# /Show account aging information. +# /Show usage and validity information on the password and the account. #. (itstool) path: listitem/para #: chage.1.xml.out:150 msgid "Show account aging information." -msgstr "zeigt Informationen zur Kontoalterung an" +msgstr "zeigt den Zugang zum Benutzerkonto betreffende Fristen an." #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:157 chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:113 -#: chpasswd.8.xml.out:78 chpasswd.8.xml.out:84 chpasswd.8.xml.out:130 -#: chpasswd.8.xml.out:155 faillog.8.xml.out:88 faillog.8.xml.out:120 +#: 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:287 useradd.8.xml.out:350 useradd.8.xml.out:476 +#: 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 "-" @@ -700,19 +725,23 @@ msgid "-m" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:157 passwd.1.xml.out:246 +#: 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:246 -#: passwd.1.xml.out:251 +#: chage.1.xml.out:157 chage.1.xml.out:162 passwd.1.xml.out:242 +#: passwd.1.xml.out:247 msgid "MIN_DAYS" msgstr "" +# MH105 inconsistency on singular / plural +# s/force a user to/force users to +# or, as before +# s/their/his or her #. (itstool) path: listitem/para -#: chage.1.xml.out:160 passwd.1.xml.out:249 +#: chage.1.xml.out:160 passwd.1.xml.out:245 #, fuzzy #| msgid "" #| "Set the minimum number of days between password changes to " @@ -723,38 +752,42 @@ msgid "" ">. A value of zero for this field indicates that the user may change their " "password at any time." msgstr "" -"Setzt die Anzahl von Tagen, die mindestens zwischen zwei Änderungen eines " -"Passworts vergehen müssen, auf MIN_TAGE. Ein Wert " -"von Null in diesem Feld bedeutet, dass der Benutzer sein Passwort jederzeit " -"ändern darf." +"setzt die Anzahl von Tagen, die mindestens zwischen zwei Änderungen eines " +"Passworts vergehen müssen, auf MIN_TAGE Tage. Ein " +"Wert von Null in diesem Feld bedeutet, dass der Benutzer sein Passwort " +"jederzeit ändern darf." #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:169 gpasswd.1.xml.out:81 gpasswd.1.xml.out:112 -#: gpasswd.1.xml.out:217 useradd.8.xml.out:162 useradd.8.xml.out:373 +#: 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 msgid "-M" msgstr "-M" #. (itstool) path: term/option -#: chage.1.xml.out:169 passwd.1.xml.out:335 +#: 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:335 passwd.1.xml.out:340 passwd.1.xml.out:345 +#: 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:203 usermod.8.xml.out:481 +#: chage.1.xml.out:178 chage.1.xml.out:218 usermod.8.xml.out:481 #, fuzzy #| msgid "-" msgid "-W" msgstr "-" +# MH "user will be required to change their" is only one possibilty of two. In case INAKTIVE=0, +# the user is not asked for a change and cannot use this password anymore +# MH178: The third phrase needs to be simplified +# MH179: singular of "user" needs the pronoun "his" or "her", not "their" #. (itstool) path: listitem/para #: chage.1.xml.out:172 #, fuzzy @@ -772,15 +805,15 @@ msgid "" "their account. This occurrence can be planned for in advance by use of the " "<_:option-3/> option, which provides the user with advance warning." msgstr "" -"Bestimmt die maximale Anzahl von Tagen, die das Passwort gültig bleibt. Wenn " -"MAX_TAGE plus LETZTER_TAG älter als das aktuelle Datum ist, muss der Benutzer sein " -"Passwort ändern, ehe er sein Konto benutzen kann. Mit der Option , " #~ msgstr ", " -#, fuzzy -#~| msgid "" -#~| ",  LOGIN|RANGE" #~ msgid "" #~ ",  " #~ "FIRST-LAST" #~ msgstr "" -#~ ",  LOGIN|MENGE" +#~ ",  " +#~ "ERSTE-LETZTE" -#, fuzzy -#~| msgid "" -#~| ",  LOGIN|RANGE" #~ msgid "" #~ ",  " #~ "FIRST-LAST" #~ msgstr "" -#~ ",  LOGIN|MENGE" +#~ ",  " +#~ "ERSTE-LETZTE" -#, fuzzy -#~| msgid "" -#~| ",  LOGIN|RANGE" #~ msgid "" #~ ",  " #~ "FIRST-LAST" #~ msgstr "" -#~ ",  LOGIN|MENGE" +#~ ",  " +#~ "ERSTE-LETZTE" -#, 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 , " #~ ", or from /etc/" #~ "login.defs." #~ msgstr "" -#~ "Die Werte von , , " -#~ " und aus " -#~ "/etc/login.defs werden nicht geprüft." +#~ "Ein Abgleich hinsichtlich der Einträge für , " +#~ " und aus " +#~ "/etc/login.defs erfolgt nicht." -#, fuzzy -#~| msgid "" -#~| ",  LOGIN|RANGE" #~ msgid "" #~ ",  " #~ "FIRST-LAST" #~ msgstr "" -#~ ",  LOGIN|MENGE" +#~ ",  " +#~ "ERSTE-LETZTE" #~ msgid "" #~ ",  " @@ -13094,15 +14120,50 @@ msgstr "" #~ "BENUTZER" #~ msgid "The new SELinux user for the user's login." -#~ msgstr "der neue SELinux-Benutzer für den Anmeldenamen des Benutzers" +#~ msgstr "" +#~ "definiert den SELinux-Benutzer SE-BENUTZER, " +#~ "der dem Anmeldenamen LOGIN zuzuordnen ist. " +# MH change this string in the same way as in useradd.8, see SH 2022-02-05: +# defines the SELinux user for the new account. Without this +# option, an SELinux system uses the default user. Note that the shadow system +# doesn't store the selinux-user, it uses semanage(8) for that. +# +# defines the SELinux user to be mapped with LOGIN. +# An empty string ("") will remove the respective entry (if any). Note that the shadow system +# doesn't store the selinux-user, it uses semanage(8) for that. +# #~ msgid "" #~ "A blank SEUSER will remove the SELinux user " #~ "mapping for user LOGIN (if any)." #~ msgstr "" -#~ "Wenn SEBENUTZER leer ist, wird die Zuordnung " -#~ "von SELinux-Benutzern (sofern vorhanden) aus den Anmeldeinformationen des " -#~ "Benutzers entfernt" +#~ "Wird ein Leerstring (\"\") übergeben, wird eine Zuordnung, soweit " +#~ "vorhanden, aufgehoben. Beachten sie, dass die SE-Linux-Benutzer nicht von " +#~ "den Shadow-Programmen gespeichert werden, sondern diese sich semanage(8) " +#~ "bedienen. " + +#~ msgid " (number)" +#~ msgstr " (Zahl)" + +#~ 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 "" +#~ "Die höchste Benutzerkennung, die lastlog bei den " +#~ "Aufzeichnungen berücksichtigen soll. Da gewöhnlich spezielle Dienste die " +#~ "Identität und Authentizität von Benutzern an entfernten Systemen " +#~ "protokollieren, gibt es keinen Grund, ihretwegen eine riesige Sparse-" +#~ "Datei lastlog anzulegen." + +#~ msgid "" +#~ "No option present in the configuration " +#~ "means that there is no user ID limit for writing lastlog entries." +#~ msgstr "" +#~ "Wenn in der Konfiguration fehlt, gibt es " +#~ "keine Grenze zur Berücksichtigung von Benutzerkennungen bei den " +#~ "Aufzeichungen in lastlog." #~ msgid " (string)" #~ msgstr " (Zeichenkette)" @@ -13112,10 +14173,10 @@ msgstr "" #~ "its corresponding user account is modified or deleted. If not specified, " #~ "a compile-time default is used." #~ msgstr "" -#~ "Das Verzeichnis des Mail-Spools. Diese Angabe wird benötigt, um die " -#~ "Mailbox zu bearbeiten, nachdem das entsprechende Benutzerkonto verändert " -#~ "oder gelöscht wurde. Falls nicht angegeben, wird ein Standard verwendet, " -#~ "der beim Kompilieren festgelegt wurde." +#~ "das Verzeichnis der Mail-Warteschlange. Diese Angabe wird benötigt, um " +#~ "das Postfach zu bearbeiten, nachdem das entsprechende Benutzerkonto " +#~ "verändert oder gelöscht wurde. Falls nicht angegeben, wird eine auf die " +#~ "Kompilierung zurückgehende Vorgabe herangezogen." #~ msgid " (string)" #~ msgstr " (Zeichenkette)" @@ -13124,8 +14185,8 @@ msgstr "" #~ "Defines the location of the users mail spool files relatively to their " #~ "home directory." #~ msgstr "" -#~ "Legt den Ort der Mail-Spool-Dateien eines Benutzers relativ zu seinem " -#~ "Home-Verzeichnis fest." +#~ "legt fest, wo sich die Dateien der Mail-Warteschlange des Benutzers " +#~ "relativ zu seinem persönlichen Verzeichnis befinden." #~ msgid "" #~ "The and variables " @@ -13135,9 +14196,11 @@ msgstr "" #~ msgstr "" #~ "Die Variablen und " #~ "werden von useradd, usermod und " -#~ "userdel verwendet, um den Mail-Spool eines Benutzers " -#~ "zu erstellen, zu verschieben oder zu löschen." +#~ "userdel verwendet, um die Mail-Warteschlange eines " +#~ "Benutzers zu erstellen, zu verschieben oder zu löschen." +# MH 2022-12-28: Presumably no one understand this explanation, +# varible MAIL does not appear anywhere else. #~ msgid "" #~ "If is set to yes, they are also used to define the MAIL " @@ -13155,16 +14218,16 @@ msgstr "" #~ "entry (line) is started in /etc/group (with the same " #~ "name, same password, and same GID)." #~ msgstr "" -#~ "Maximale Anzahl von Mitgliedern je Gruppeneintrag. Wenn das Maximum " +#~ "maximale Anzahl von Mitgliedern je Gruppeneintrag. Wenn das Maximum " #~ "erreicht wird, wird ein weiterer Eintrag in /etc/group (mit dem gleichen Namen, dem gleichen Passwort und der gleichen " -#~ "GID) erstellt." +#~ "Gruppenkennung) erstellt." #~ msgid "" #~ "The default value is 0, meaning that there are no limits in the number of " #~ "members in a group." #~ msgstr "" -#~ "Der Standardwert ist 0, was zur Folge hat, dass die Anzahl der Mitglieder " +#~ "Der Standardwert ist 0, was bedeutet, dass die Anzahl der Mitglieder " #~ "einer Gruppe nicht begrenzt ist." #~ msgid "" @@ -13172,9 +14235,9 @@ msgstr "" #~ "group file. This is useful to make sure that lines for NIS groups are not " #~ "larger than 1024 characters." #~ msgstr "" -#~ "Diese Fähigkeit (der aufgeteilten Gruppe) ermöglicht es, die Zeilenlänge " -#~ "in der Gruppendatei zu begrenzen. Damit kann sichergestellt werden, dass " -#~ "die Zeilen für NIS-Gruppen nicht länger als 1024 Zeichen sind." +#~ "Das Aufteilen von Gruppen ermöglicht es, Längenvorgaben für die Zeilen " +#~ "der Gruppendatei einzuhalten. Damit kann sichergestellt werden, dass die " +#~ "Zeilen für NIS-Gruppen nicht länger als 1024 Zeichen sind." #~ msgid "If you need to enforce such limit, you can use 25." #~ msgstr "" @@ -13184,67 +14247,78 @@ msgstr "" #~ "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 "" -#~ "Hinweis: Aufgeteilte Gruppen werden möglicherweise nicht von allen " -#~ "Werkzeugen unterstützt, selbst nicht aus der Shadow-Werkzeugsammlung. Sie " -#~ "sollten diese Variable nur setzen, falls Sie zwingend darauf angewiesen " -#~ "sind." +#~ "Hinweis: Mit aufgeteilten Gruppen können möglicherweise nicht alle " +#~ "Hilfsprogramme (nicht einmal jene der Shadow-Programmsammlung) umgehen. " +#~ "Sie sollten diese Variable nur setzen, wenn Sie sie wirklich benötigen." -#, fuzzy -#~| msgid " (number)" #~ msgid " (number)" -#~ msgstr " (Zahl)" +#~ msgstr " (Zahl)" -#, fuzzy -#~| msgid " (number)" #~ msgid " (number)" -#~ msgstr " (Zahl)" +#~ msgstr " (Zahl)" -#, fuzzy -#~| msgid " (number)" #~ msgid " (number)" -#~ msgstr " (Zahl)" +#~ msgstr " (Zahl)" + +# Wird in nächster Version korrigiert: +# Statt Datei subuid muss hier subgid genannt werden SG 2022-02-11 +#~ 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 "" +#~ "Wenn /etc/subgid existiert, fordern die Befehle " +#~ "useradd und newusers für jeden " +#~ "neuen Benutzer eine Zahl von freier " +#~ "Gruppenkennungen aus dem Bereich von bis " +#~ " an. (Dies gilt nicht, wenn für diesen " +#~ "Benutzer bereits untergeordnete Gruppenkennungen existieren.)" -#, fuzzy -#~| msgid "" -#~| "The default value for (resp. " -#~| ") is 101 (resp. -1)." #~ msgid "" #~ "The default values for , are respectively 100000, " -#~ "600100000 and 10000." +#~ "600100000 and 65536." #~ msgstr "" -#~ "Der Standardwert für ist 101, für " -#~ " -1." +#~ "Die jeweiligen Standardwerte für , " +#~ " und sind " +#~ "100000, 600100000 und 65536" -#, fuzzy -#~| msgid " (number)" #~ msgid " (number)" -#~ msgstr " (Zahl)" +#~ msgstr " (Zahl)" -#, fuzzy -#~| msgid " (number)" #~ msgid " (number)" -#~ msgstr " (Zahl)" +#~ msgstr " (Zahl)" -#, fuzzy -#~| msgid " (number)" #~ msgid " (number)" -#~ msgstr " (Zahl)" +#~ msgstr " (Zahl)" + +#~ 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 "" +#~ "Wenn /etc/subuid existiert, fordern die Befehle " +#~ "useradd und newusers für jeden " +#~ "neuen Benutzer eine Zahl von freier " +#~ "Benutzerkennungen aus dem Bereich von bis " +#~ " an. (Dies gilt nicht, wenn für diesen " +#~ "Benutzer bereits untergeordnete Benutzerkennungen existieren.)" -#, fuzzy -#~| msgid "" -#~| "The default value for (resp. " -#~| ") is 101 (resp. -1)." #~ msgid "" #~ "The default values for , are respectively 100000, " -#~ "600100000 and 10000." +#~ "600100000 and 65536." #~ msgstr "" -#~ "Der Standardwert für ist 101, für " -#~ " -1." +#~ "Die jeweiligen Standardwerte für , " +#~ " und sind " +#~ "100000, 600100000 und 65536." #~ msgid " (boolean)" -#~ msgstr " (boolesch)" +#~ msgstr " (Wahrheitswert)" #, no-wrap #~ msgid "" @@ -13269,12 +14343,12 @@ msgstr "" #~ "} anderenfalls, falls ( UID kleiner als 1000000) {\n" #~ " kilos = UID / 1000\n" #~ " verwende /etc/tcb/:kilos/user\n" -#~ " erstelle symbolischen Verweis /etc/tcb/user zu dem genannten Verzeichnis\n" +#~ " erstelle symbolischen Verweis /etc/tcb/user zu obigem Verzeichnis\n" #~ "} anderenfalls {\n" #~ " megas = UID / 1000000\n" #~ " kilos = ( UID / megas * 1000000 ) / 1000\n" #~ " verwende /etc/tcb/:megas/:kilos/user\n" -#~ " erstelle symbolischen Verweis /etc/tcb/user zu dem genannten Verzeichnis\n" +#~ " erstelle symbolischen Verweis /etc/tcb/user zu obigem Verzeichnis\n" #~ "}\n" #~ " " @@ -13284,30 +14358,11 @@ msgstr "" #~ "computed depending on the UID of the user, according to the following " #~ "algorithm: " #~ msgstr "" -#~ "Falls der Wert yes ist, wird der Ort des Tcb-" +#~ "Falls der Wert yes ist, wird der Ort des tcb-" #~ "Verzeichnisses des Benutzers nicht automatisch /etc/tcb/user sein, " -#~ "sondern nach dem folgenden Algorithmus aus der UID des Benutzers " +#~ "sondern nach dem folgenden Algorithmus aus der Kennung des Benutzers " #~ "errechnet: " -#, fuzzy -#~| msgid "" -#~| "chfn1, chsh1, " -#~| "passwd1, crypt3, " -#~| "gpasswd8, groupadd8, " -#~| "groupdel8, groupmod8, " -#~| "login.defs5, useradd8, " -#~| "userdel8." #~ msgid "" #~ "chfn1, chsh, groupmod8, " #~ "login.defs5, useradd, subgid5, " +#~ "subuid5, useradd8, " #~ "userdel8." @@ -13352,8 +14411,8 @@ msgstr "" #~ msgid "" #~ "The options which apply to the userdel command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl userdel unterstützt " -#~ "werden, sind:" +#~ "Der Befehl userdel kann mit den folgenden Optionen " +#~ "verwendet werden:" #~ msgid ", " #~ msgstr ", (string)" #~ msgstr " (Zeichenkette)" +# MH30: make more simple and more clear: +# s/owned by the user to be removed (passed as the first +# /owned by this user. His login name is expected as first #~ 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 "" -#~ "Falls angegeben, wird dieser Befehl ausgeführt, wenn ein Benutzer " +#~ "falls angegeben, wird dieser Befehl ausgeführt, wenn ein Benutzer " #~ "entfernt wird. Damit können At-, Cron- und Druckaufträge etc. des " -#~ "entfernten Benutzers (wird als erstes Argument übergeben) gelöscht werden." +#~ "Benutzers (sein Name ist als erstes Argument zu übergeben) gelöscht " +#~ "werden." #~ msgid "The return code of the script is not taken into account." -#~ msgstr "Der Rückgabewert des Skripts wird nicht ausgewertet." +#~ msgstr "Der Rückgabewert des Skripts bleibt unberücksichtigt." #, no-wrap #~ msgid "" @@ -13411,7 +14474,7 @@ msgstr "" #~ "\n" #~ "# Prüfen, ob das benötigte Argument angegeben wurde\n" #~ "if [ $# != 1 ]; then\n" -#~ "\techo \"Verwendungsweise: $0 Benutzername\"\n" +#~ "\techo \"Verwendungsweis: $0 Anmeldename\"\n" #~ "\texit 1\n" #~ "fi\n" #~ "\n" @@ -13419,9 +14482,9 @@ msgstr "" #~ "crontab -r -u $1\n" #~ "\n" #~ "# at-Aufträge entfernen.\n" -#~ "# Hinweis: Dies wird alle Aufträge entfernen, die der gleichen UID\n" -#~ "# gehören, selbst wenn sie von einem Benutzer mit einem anderen Namen\n" -#~ "# eingerichtet wurden.\n" +#~ "# Hinweis: Dies wird alle Aufträge entfernen, die der gleichen \n" +#~ "# Benutzerkennung gehören, selbst wenn sie von einem Benutzer mit \n" +#~ "# einem anderen Namen eingerichtet wurden.\n" #~ "AT_SPOOL_DIR=/var/spool/cron/atjobs\n" #~ "find $AT_SPOOL_DIR -name \"[^.]*\" -type f -user $1 -delete \\;\n" #~ "\n" @@ -13440,17 +14503,20 @@ msgstr "" #~ "Benutzers entfernt:" #~ msgid " (boolean)" -#~ msgstr " (boolesch)" +#~ msgstr " (Wahrheitswert)" +# MH31: Perhaps, it would be easier to use the file mode bits (e.g. 755) +# instead of their description as umask (e.g. 077) bit pattern. #~ 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 "" -#~ "Erlaubt Benutzern, die nicht Root sind, die Umask-Gruppen-Bits auf ihre " -#~ "Umask-Bits zu setzen (Beispiel: 022 -> 002, 077 -> 007), falls die " -#~ "UID mit der GID identisch ist sowie der Benutzername mit dem Gruppennamen " -#~ "übereinstimmt." +#~ "Führt bei Benutzern, die nicht Systemadministrator sind, dazu, dass der " +#~ "Gruppe die gleichen Zugriffsrechte wie dem Eigentümer eingeräumt werden. " +#~ "Die Objekte erhielten als Umask-Muster beispielsweise 002 statt 022 und " +#~ "007 statt 077. Hierfür müssen Benutzerkennung und Gruppenkennung sowie " +#~ "der Benutzername und der der primären Gruppe übereinstimmen." #~ msgid "" #~ "If set to yes, userdel will " @@ -13470,25 +14536,6 @@ msgstr "" #~ "Der Befehl userdel gibt beim Beenden folgende Werte " #~ "zurück: " -#, fuzzy -#~| msgid "" -#~| "chfn1, chsh1, " -#~| "passwd1, crypt3, " -#~| "gpasswd8, groupadd8, " -#~| "groupdel8, groupmod8, " -#~| "login.defs5, useradd8, " -#~| "userdel8." #~ msgid "" #~ "chfn1, chsh, chsh1, " #~ "passwd1, crypt3, " +#~ "manvolnum>, login.defs5, " #~ "gpasswd8, groupadd8, " #~ "groupdel8, groupmod8, subgid5, " +#~ "subuid5, useradd8, " -#~ "login.defs5, useradd8, " -#~ "userdel8usermod8." #~ msgid "" #~ "The options which apply to the useradd command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl useradd unterstützt " -#~ "werden, sind:" +#~ "Der Befehl useradd kann mit folgenden Optionen " +#~ "verwendet werden:" #~ msgid "" #~ ",  " #~ "BASE_DIR" #~ msgstr "" #~ ",  " -#~ "WURZEL_VERZ" +#~ "BASIS_VERZ" -#, fuzzy -#~| msgid "" -#~| ",  HOME_DIR" #~ msgid "" #~ ",  " #~ "HOME_DIR" #~ msgstr "" -#~ ",  HOME_VERZ" +#~ ",  " +#~ "PERS_VERZ" #~ msgid ", " #~ msgstr ", " +# SH 2022-02-05: Is about to be fixed/improved +# 'disabling inactivity' field means user can't login without changing password. +# Inactivity that's expired means you can't even change your password. #~ 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 "" -#~ "Die Anzahl von Tagen nach Ablaufen des Passworts bis das Konto dauerhaft " -#~ "deaktiviert wird. Ein Wert von 0 deaktiviert das Konto, sobald das " -#~ "Passwort abläuft. Ein Wert von -1 schaltet diese Funktion ab." +#~ "definiert eine Anzahl von Tagen nach Überschreiten des Höchstalters des " +#~ "Passworts, In dieser Zeit wird der Benutzer aufgefordert, sein Passwort " +#~ "zu ersetzen. DerWert wird in der geschützten Passwortdatei abgelegt. Ein " +#~ "Wert von 0 macht das Passwort sofort nach Ablauf des Passworts " +#~ "unbrauchbar. Ein Wert von -1 entfernt den entsprechenden Eintrag in " +#~ "/etc/shadow. In shadow5finden Sie weitere " +#~ "Informationen." #~ msgid "" #~ ",  SKEL_DIR-K,  SCHLÜSSEL=WERT" -#, fuzzy -#~| msgid "" -#~| "Overrides /etc/login.defs defaults " -#~| "(, , and others). " -#~| "Example:  PASS_MAX_DAYS=-1 can be used when creating " -#~| "system account to turn off password ageing, even though system account " -#~| "has no password at all. Multiple options can be " -#~| "specified, e.g.:  UID_MIN=100 ,  TAGE" +# MH144 in --help zu lastlog wird BENUTZERZUGANG benutzt, in den Handbuchseiten +# hier dagegen dafür immer ANMELDENAME #~ msgid "" #~ ",  LOGIN|RANGE" #~ msgstr "" -#~ ",  LOGIN|MENGE" +#~ ",  " +#~ "ANMELDENAME|BEREICH" #~ msgid "" #~ "gpasswd5 (/etc/" #~ "group only)" #~ msgstr "" -#~ "eine gültige Gruppenkennung (nur für " +#~ "eine gültige Gruppenkennung (GID) (nur für " #~ "/etc/group)" #~ msgid "" @@ -15456,6 +16587,7 @@ msgstr "" #~ "eine gültige Liste der Mitglieder und " #~ "Gruppenverwalter" +# MH fehlender Leerraum vor "and" #~ msgid "" #~ "The commands which operate on the /etc/groupfileand " @@ -15466,24 +16598,27 @@ msgstr "" #~ "Die Befehle, welche die Datei /" #~ "etc/groupDateien " #~ "/etc/group und /etc/gshadow bearbeiten, können falsche oder doppelte Einträge nicht " +#~ "phrase> bearbeiten, können beschädigte oder doppelte Einträge nicht " #~ "verändern. In solchen Fällen sollte grpwck verwendet " #~ "werden, um die betreffenden Einträge zu entfernen." #~ msgid "The options which apply to the grpck command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl grpck unterstützt werden, " -#~ "sind:" +#~ "Der Befehl grpck kann mit folgenden Optionen verwendet " +#~ "werden:" #~ msgid "" #~ "Sort entries in /etc/groupand /etc/gshadow by " #~ "GID." #~ msgstr "" -#~ "Ordnet die Einträge in /etc/groupund /etc/gshadow nach " -#~ "der GID." +#~ "Sortiert die Einträge in /etc/group und /etc/gshadow nach " +#~ "Gruppenkennung." +# MH146: check whether spaces are necessary: +# after the first appearance /etc/group and +# and after group to separate it from parameter or and. #~ msgid "" #~ "By default, grpck operates on /etc/groupand /etc/gshadow und /etc/" #~ "gshadow. Der Benutzer kann andere Dateien mit dem Parameter groupden Parametern group und shadow auswählen." +#~ "emphasis> den Parametern group und shadow " +#~ "auswählen." #~ msgid "" #~ "The grpck command exits with the following values: " @@ -15549,8 +16684,8 @@ msgstr "" #~ msgid "" #~ "The options which apply to the groupmod command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl groupmod unterstützt " -#~ "werden, sind:" +#~ "Der Befehl groupmod kann mit folgenden Optionen " +#~ "verwendet werden:" #~ msgid "" #~ ",  GIDGID_MAX, , or " #~ " from /etc/login.defs." #~ msgstr "" -#~ "Die Werte von , , " -#~ " und aus " -#~ "/etc/login.defs werden nicht geprüft." +#~ "Eine Prüfung der Vorgaben , und " +#~ "aus /etc/login.defs erfolgt nicht." #~ msgid "" #~ ",  " @@ -15575,6 +16710,11 @@ msgstr "" #~ ",  " #~ "NEUE_GRUPPE" +# MH according to line 66 in groupmod.c +# E_GID_IN_USE indicates that GID is already in use +#~ msgid "E_GID_IN_USE: specified group doesn't exist" +#~ msgstr "E_GID_IN_USE: Die angegebene Gruppenkennung wird schon verwendet" + #~ msgid "" #~ "The groupmod command exits with the following values: " #~ "" @@ -15618,29 +16758,29 @@ msgstr "" #~ msgid "" #~ "The options which apply to the groupmems command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl groupmems unterstützt " -#~ "werden, sind:" +#~ "Der Befehl groupmems kann mit den folgendenOptionen " +#~ "verwendet werden:" #~ msgid "" #~ ",  user_name" #~ msgstr "" #~ ",  " -#~ "Benutzer_Name" +#~ "Anmeldename" #~ msgid "" #~ ",  " #~ "user_name" #~ msgstr "" #~ ",  " -#~ "Benutzer_Name" +#~ "Anmeldename" #~ msgid "" #~ ",  " #~ "group_name" #~ msgstr "" #~ ",  " -#~ "Gruppen_Name" +#~ "Gruppenname" #~ msgid ", " #~ msgstr ", " @@ -15678,8 +16818,8 @@ msgstr "" #~ msgid "" #~ "The options which apply to the groupdel command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl groupdel unterstützt " -#~ "werden, sind:" +#~ "Der Befehl groupdel kann mit den folgenden Optionen " +#~ "verwendet werden:" #~ msgid "" #~ "The groupdel command exits with the following values: " @@ -15722,15 +16862,15 @@ msgstr "" #~ msgid "" #~ "The options which apply to the groupadd command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl groupadd unterstützt " -#~ "werden, sind:" +#~ "Der Befehl groupadd kann mit den folgenden Optionen " +#~ "verwendet werden:" #~ msgid "" #~ "See also the option and the " #~ "description." #~ msgstr "" -#~ "Vergleichen Sie auch die Option und die Ausführungen " -#~ "zu ." +#~ "Beachten Sie auch die Option und die Beschreibung von " +#~ "." #~ msgid "" #~ "Example:  GID_MIN=100  " #~ "GID_MAX=499" +# Änderung im Original vorgeschlagen MH 2022-02-17 #~ msgid "This option permits to add a group with a non-unique GID." #~ msgstr "" -#~ "Diese Option erlaubt es, eine Gruppe mit einer nicht eindeutigen GID zu " -#~ "erstellen." +#~ "erlaubt es, die neue Gruppe mit einer schon vergebenen Gruppenkennung zu " +#~ "erstellen. Diese Kennung wird nicht mehr eindeutig einem Gruppennamen " +#~ "zuordenbar sein." #~ msgid "" #~ "Groupnames must start with a lower case letter or an underscore, followed " @@ -15752,20 +16894,23 @@ msgstr "" #~ "a dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?" #~ msgstr "" #~ "Gruppennamen müssen mit einem Kleinbuchstaben oder einem Unterstrich " -#~ "beginnen. Nachfolgend dürfen sie Kleinbuchstaben, Zahlen, Unterstriche " -#~ "und Gedankenstriche enthalten. Das letzte Zeichen darf auch ein " -#~ "Dollarzeichen sein. Als regulärer Ausdruck: [a-z_][a-z0-9_-]*[$]?" +#~ "beginnen, dem Kleinbuchstaben, Zahlen, Unterstriche oder Bindestriche " +#~ "folgen. Das letzte Zeichen darf auch ein Dollarzeichen sein. Als " +#~ "regulärer Ausdruck: [a-z_][a-z0-9_-]*[$]?" #~ msgid "" #~ "Groupnames may only be up to &GROUP_NAME_MAX_LENGTH; characters long." #~ msgstr "" #~ "Gruppennamen dürfen nur bis zu &GROUP_NAME_MAX_LENGTH; Zeichen lang sein." +# String müsste auch angepasst werden: s/nicht eindeutig/bereits vergeben MH 2022-02-18 #~ msgid "GID not unique (when not used)" -#~ msgstr "GID nicht eindeutig (wenn nicht angegeben wird)" +#~ msgstr "" +#~ "Gruppenkennung ist nicht eindeutig (wenn nicht " +#~ "verwendet wurde)" #~ msgid "group name not unique" -#~ msgstr "Gruppenname nicht eindeutig" +#~ msgstr "Gruppenname ist schon vergeben" #~ msgid "" #~ "The groupadd command exits with the following values: " @@ -15833,8 +16978,8 @@ msgstr "" #~ msgid "" #~ "The options which apply to the gpasswd command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl gpasswd unterstützt " -#~ "werden, sind:" +#~ "Der Befehl gpasswd kann mit den folgenden Optionen " +#~ "verwendet werden:" #~ msgid "" #~ ",  userfaillog command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl faillog unterstützt " -#~ "werden, sind:" +#~ "Der Befehl faillog kann mit folgenden Optionen benutzt " +#~ "werden:" #~ msgid "" #~ ",  SECexpiry command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl expiry unterstützt " -#~ "werden, sind:" +#~ "Der Befehl expiry wird mit den folgenden Optionen " +#~ "verwendet:" #~ msgid ", " #~ msgstr ", " @@ -15954,8 +17099,8 @@ msgstr "" #~ msgid "The options which apply to the chsh command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl chsh unterstützt werden, " -#~ "sind:" +#~ "Der Befehl chsh kann mit den folgenden Optionen " +#~ "verwendet werden:" #~ msgid "" #~ "chfn1user_name:password" #~ msgstr "" -#~ "Benutzername:Anmeldename:Passwort" -#, fuzzy -#~| msgid "" -#~| "The default encryption algorithm can be defined for the system with the " -#~| " or " -#~| "variables of /etc/login.defs, and can be overwitten " -#~| "with the , , or or " @@ -15993,15 +17132,15 @@ msgstr "" #~ msgstr "" #~ "Der standardmäßige Verschlüsselungsalgorithmus kann systemweit mit den " #~ "Variablen oder , oder " -#~ " überschrieben werden." +#~ " außer Kraft gesetzt werden." #~ msgid "" #~ "The options which apply to the chpasswd command are:" #~ msgstr "" -#~ "Die Optionen, die vom Befehl chpasswd unterstützt " -#~ "werden, sind:" +#~ "Der Befehl chpasswd kann mit den folgenden Optionen " +#~ "verwendet werden:" #~ msgid "" #~ ",  " @@ -16010,6 +17149,9 @@ msgstr "" #~ ",  " #~ "METHODE" +#~ msgid "The available methods are DES, MD5, and NONE." +#~ msgstr "Die verfügbaren Methoden sind DES, MD5 und NONE." + #~ msgid ", " #~ msgstr ", " @@ -16023,6 +17165,15 @@ msgstr "" #~ ",  " #~ "RUNDEN" +#~ msgid "" +#~ "By default, the number of rounds is defined by the " +#~ " and und quando si crea un nuovo account." #. (itstool) path: listitem/para -#: useradd.8.xml.out:602 useradd.8.xml.out:614 useradd.8.xml.out:631 -#: useradd.8.xml.out:647 useradd.8.xml.out:661 +#: useradd.8.xml.out:622 useradd.8.xml.out:634 useradd.8.xml.out:651 +#: useradd.8.xml.out:667 useradd.8.xml.out:681 #, fuzzy #| msgid "" #| "This option sets the variable in /etc/" @@ -11721,14 +11982,14 @@ msgstr "" # type: Plain text #. (itstool) path: listitem/para -#: useradd.8.xml.out:613 +#: useradd.8.xml.out:633 #, fuzzy #| msgid "The date on which the user account is disabled." msgid "sets the date on which newly created user accounts are disabled." msgstr "La data in cui l'account dell'utente verrà disabilitato." #. (itstool) path: listitem/para -#: useradd.8.xml.out:625 +#: useradd.8.xml.out:645 msgid "" "defines the number of days after the password exceeded its maximum age where " "the user is expected to replace this password. See <_:citerefentry-1/>for " @@ -11736,7 +11997,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:642 +#: useradd.8.xml.out:662 msgid "" "sets the default primary group for newly created users, accepting group " "names or a numerical group ID. The named group must exist, and the GID must " @@ -11744,25 +12005,25 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:658 +#: useradd.8.xml.out:678 msgid "defines the default login shell for new users." msgstr "" # type: SH #. (itstool) path: refsect1/title -#: useradd.8.xml.out:673 +#: useradd.8.xml.out:693 msgid "NOTES" msgstr "NOTE" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: useradd.8.xml.out:675 useradd.8.xml.out:779 +#: useradd.8.xml.out:695 useradd.8.xml.out:799 msgid "/etc/skel/" msgstr "/etc/skel/" # type: Plain text #. (itstool) path: refsect1/para -#: useradd.8.xml.out:674 +#: useradd.8.xml.out:694 #, fuzzy #| msgid "" #| "The system administrator is responsible for placing the default user " @@ -11781,7 +12042,7 @@ msgstr "" # type: Plain text #. (itstool) path: refsect1/para -#: useradd.8.xml.out:683 +#: useradd.8.xml.out:703 msgid "" "You may not add a user to a NIS or LDAP group. This must be performed on the " "corresponding server." @@ -11790,7 +12051,7 @@ msgstr "" "essere fatto sul server corrispondente." #. (itstool) path: refsect1/para -#: useradd.8.xml.out:688 +#: useradd.8.xml.out:708 #, fuzzy #| msgid "" #| "Similarly, if the username already exists in an external user database " @@ -11804,12 +12065,12 @@ msgstr "" "LDAP, useradd bloccherà la creazione dell'account." #. (itstool) path: para/command -#: useradd.8.xml.out:702 +#: useradd.8.xml.out:722 msgid "ls" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:694 +#: useradd.8.xml.out:714 msgid "" "Usernames may contain only lower and upper case letters, digits, " "underscores, or dashes. They can end with a dollar sign. Dashes are not " @@ -11820,62 +12081,62 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:704 +#: useradd.8.xml.out:724 msgid "Usernames may only be up to 32 characters long." msgstr "I nomi utente non possono eccedere i 32 caratteri di lunghezza." #. (itstool) path: listitem/para -#: useradd.8.xml.out:769 +#: useradd.8.xml.out:789 msgid "Default values for account creation." msgstr "Valori predefiniti per la creazione dell'account." # type: Plain text #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 #, fuzzy #| msgid "/etc/default/useradd" msgid "/etc/shadow-maint/useradd-pre.d/*" msgstr "/etc/default/useradd" #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 msgid "/etc/shadow-maint/useradd-post.d/*" msgstr "" #. (itstool) path: varlistentry/term -#: useradd.8.xml.out:773 userdel.8.xml.out:209 +#: useradd.8.xml.out:793 userdel.8.xml.out:209 msgid "<_:filename-1/>, <_:filename-2/>" msgstr "" # type: SH #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 #, fuzzy #| msgid "OPTIONS" msgid "ACTION" msgstr "OPZIONI" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 msgid "SUBJECT" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #, fuzzy #| msgid "useradd" msgid "useradd-pre.d" msgstr "useradd" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #, fuzzy #| msgid "useradd" msgid "useradd-post.d" msgstr "useradd" #. (itstool) path: listitem/para -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "" "Run-part files to execute during user addition. The environment variable <_:" "command-1/> will be populated with useradd and <_:command-2/> with the <_:" @@ -11886,25 +12147,25 @@ msgstr "" # type: Plain text #. (itstool) path: listitem/para -#: useradd.8.xml.out:781 +#: useradd.8.xml.out:801 msgid "Directory containing default files." msgstr "Directory contenente i file predefiniti." # type: Plain text #. (itstool) path: listitem/para -#: useradd.8.xml.out:819 userdel.8.xml.out:243 +#: useradd.8.xml.out:839 userdel.8.xml.out:243 msgid "can't update password file" msgstr "impossibile aggiornare il file delle password" #. (itstool) path: listitem/para -#: useradd.8.xml.out:837 +#: useradd.8.xml.out:857 #, fuzzy #| msgid "UID already in use (and no )" msgid "UID already in use (and no <_:option-1/>)" msgstr "UID già in uso (e assente)" #. (itstool) path: listitem/para -#: useradd.8.xml.out:849 +#: useradd.8.xml.out:869 #, fuzzy #| msgid "group name already in use" msgid "username or group name already in use" @@ -11912,25 +12173,25 @@ msgstr "nome di gruppo già in uso" # type: Plain text #. (itstool) path: listitem/para -#: useradd.8.xml.out:861 +#: useradd.8.xml.out:881 msgid "can't create home directory" msgstr "non è possibile creare la directory home" # type: IP #. (itstool) path: term/replaceable -#: useradd.8.xml.out:865 +#: useradd.8.xml.out:885 #, fuzzy #| msgid "1" msgid "14" msgstr "1" #. (itstool) path: listitem/para -#: useradd.8.xml.out:867 +#: useradd.8.xml.out:887 msgid "can't update SELinux user mapping" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:876 usermod.8.xml.out:603 +#: useradd.8.xml.out:896 usermod.8.xml.out:620 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:" @@ -12818,8 +13079,15 @@ msgid "" "shadow system doesn't store the selinux-user, it uses semanage(8) for that." msgstr "" -#. (itstool) path: refsect1/para +#. (itstool) path: listitem/para #: usermod.8.xml.out:518 +msgid "" +"defines the SELinux MLS range for the new account. Note that the shadow " +"system doesn't store the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + +#. (itstool) path: refsect1/para +#: usermod.8.xml.out:535 #, fuzzy #| msgid "" #| "You must make certain that the named user is not executing any processes " @@ -12841,17 +13109,17 @@ msgstr "" "sistemi controlla solo che non sia registrato come collegato in utmp." #. (itstool) path: para/command -#: usermod.8.xml.out:527 +#: usermod.8.xml.out:544 msgid "crontab" msgstr "" #. (itstool) path: para/command -#: usermod.8.xml.out:528 +#: usermod.8.xml.out:545 msgid "at" msgstr "" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:526 +#: usermod.8.xml.out:543 #, fuzzy #| msgid "" #| "You must change the owner of any crontab files or " @@ -12864,14 +13132,14 @@ msgstr "" "crontab e compiti at." #. (itstool) path: refsect1/para -#: usermod.8.xml.out:530 +#: usermod.8.xml.out:547 msgid "You must make any changes involving NIS on the NIS server." msgstr "" "Si devono apportare tutte le modifiche che riguardano NIS sul server NIS." # type: Plain text #. (itstool) path: listitem/para -#: usermod.8.xml.out:559 +#: usermod.8.xml.out:576 #, fuzzy #| msgid "Group account information." msgid "Group account information" @@ -12879,14 +13147,14 @@ msgstr "Informazioni sugli account di gruppo." # type: Plain text #. (itstool) path: listitem/para -#: usermod.8.xml.out:565 +#: usermod.8.xml.out:582 #, fuzzy #| msgid "Secure group account information." -msgid "Secure group account informatio." +msgid "Secure group account information" msgstr "Informazioni sicure sugli account di gruppo." #. (itstool) path: listitem/para -#: usermod.8.xml.out:571 +#: usermod.8.xml.out:588 #, fuzzy #| msgid "Shadow password suite configuration." msgid "Shadow password suite configuration" @@ -12894,7 +13162,7 @@ msgstr "Configurazione del pacchetto password shadow" # type: Plain text #. (itstool) path: listitem/para -#: usermod.8.xml.out:577 +#: usermod.8.xml.out:594 #, fuzzy #| msgid "User account information." msgid "User account information" @@ -12902,19 +13170,19 @@ msgstr "Informazioni sugli account utente." # type: Plain text #. (itstool) path: listitem/para -#: usermod.8.xml.out:583 +#: usermod.8.xml.out:600 #, fuzzy #| msgid "Secure user account information." msgid "Secure user account information" msgstr "Informazioni sicure sugli account utente." #. (itstool) path: listitem/para -#: usermod.8.xml.out:589 +#: usermod.8.xml.out:606 msgid "Per user subordinate group IDs" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:595 +#: usermod.8.xml.out:612 msgid "Per user subordinate user IDs" msgstr "" @@ -12970,7 +13238,7 @@ msgstr "vipw" #| "envar>, and finally the default editor, vi1." msgid "" -"The <_:command-1/> and <_:command-2/> commands edits the files <_:filename-3/" +"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 " @@ -14978,6 +15246,38 @@ msgstr "" #~ "sulogin8." +# type: Plain text +#~ 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 "" +#~ "Quindi viene misurata la complessità della password. In linea di massima " +#~ "le password dovrebbero contenere dai 6 agli 8 caratteri, includendovi uno " +#~ "o più caratteri da ciascuno dei seguenti insiemi:" + +# type: Plain text +#~ msgid "lower case alphabetics" +#~ msgstr "lettere minuscole" + +# type: Plain text +#~ msgid "digits 0 thru 9" +#~ msgstr "numeri da 0 a 9" + +# type: Plain text +#~ msgid "punctuation marks" +#~ msgstr "segni di punteggiatura" + +# type: Plain text +#~ 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 "" +#~ "Si deve fare attenzione a non inserire il carattere di cancellazione o di " +#~ "kill (azzeramento della riga). passwd non accetta " +#~ "password non sufficientemente complesse." + # type: IP #~ msgid ", " #~ msgstr ", " @@ -15284,6 +15584,18 @@ msgstr "" #~ msgid ", " #~ msgstr ", " +#~ msgid "" +#~ "The value 0 means that the system will choose the default number of " +#~ "rounds for the crypt method (5000)." +#~ msgstr "" +#~ "Il valore 0 indica che il sistema utilizzerà il numero predefinito di " +#~ "cicli per il metodo crypt (5000)." + +#~ msgid "You can only use this option with the SHA256 or SHA512 crypt method." +#~ msgstr "" +#~ "Si può utilizzare questa opzione solo con i metodi di cifratura SHA256 o " +#~ "SHA512." + #~ msgid "PAM configuration for newusers." #~ msgstr "Configurazione PAM per newusers." @@ -16481,6 +16793,9 @@ msgstr "" #~ ",  " #~ "METODO" +#~ msgid "The available methods are DES, MD5, and NONE." +#~ msgstr "I metodi disponibili sono DES, MD5 e NONE (nessuno)." + # type: IP #~ msgid ", " #~ msgstr ", " @@ -16497,6 +16812,15 @@ msgstr "" #~ ",  " #~ "CICLI" +#~ msgid "" +#~ "By default, the number of rounds is defined by the " +#~ " and e ." #. (itstool) path: refsect2/title -#: gpasswd.1.xml.out:99 +#: gpasswd.1.xml.out:101 msgid "Notes about group passwords" msgstr "" #. (itstool) path: refsect2/para -#: gpasswd.1.xml.out:100 +#: gpasswd.1.xml.out:102 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 " @@ -2736,7 +2928,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:111 +#: gpasswd.1.xml.out:113 #, fuzzy msgid "" "Except for the <_:option-1/> and <_:option-2/> options, the options cannot " @@ -2744,26 +2936,26 @@ msgid "" msgstr ", , " #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:115 +#: gpasswd.1.xml.out:117 msgid "The options cannot be combined." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:124 groupmems.8.xml.out:83 +#: gpasswd.1.xml.out:126 groupmems.8.xml.out:83 msgid "--add" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable #. (itstool) path: arg/replaceable -#: gpasswd.1.xml.out:124 gpasswd.1.xml.out:128 gpasswd.1.xml.out:137 -#: gpasswd.1.xml.out:141 gpasswd.1.xml.out:205 gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:126 gpasswd.1.xml.out:130 gpasswd.1.xml.out:139 +#: gpasswd.1.xml.out:143 gpasswd.1.xml.out:207 gpasswd.1.xml.out:219 #: groups.1.xml.out:48 groups.1.xml.out:59 msgid "user" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:127 +#: gpasswd.1.xml.out:129 #, fuzzy msgid "Add the <_:replaceable-1/> to the named <_:replaceable-2/>." msgstr "" @@ -2771,12 +2963,12 @@ msgstr "" "NOWA_GRUPA." #. (itstool) path: term/option -#: gpasswd.1.xml.out:137 groupmems.8.xml.out:94 passwd.1.xml.out:168 +#: gpasswd.1.xml.out:139 groupmems.8.xml.out:94 passwd.1.xml.out:164 msgid "--delete" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:140 +#: gpasswd.1.xml.out:142 #, fuzzy msgid "Remove the <_:replaceable-1/> from the named <_:replaceable-2/>." msgstr "" @@ -2784,19 +2976,19 @@ msgstr "" "NOWA_GRUPA." #. (itstool) path: term/option -#: gpasswd.1.xml.out:158 +#: gpasswd.1.xml.out:160 #, fuzzy #| msgid "-" msgid "-Q" msgstr "-" #. (itstool) path: term/option -#: gpasswd.1.xml.out:173 +#: gpasswd.1.xml.out:175 msgid "--remove-password" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:176 +#: gpasswd.1.xml.out:178 msgid "" "Remove the password from the named <_:replaceable-1/>. The group password " "will be empty. Only group members will be allowed to use <_:command-2/> to " @@ -2804,12 +2996,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:189 +#: gpasswd.1.xml.out:191 msgid "--restrict" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:192 +#: gpasswd.1.xml.out:194 msgid "" "Restrict the access to the named <_:replaceable-1/>. The group password is " "set to \"!\". Only group members with a password will be allowed to use <_:" @@ -2817,12 +3009,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:207 msgid "--administrators" msgstr "" #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:204 gpasswd.1.xml.out:216 +#: gpasswd.1.xml.out:206 gpasswd.1.xml.out:218 #, fuzzy msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>,..." msgstr "" @@ -2830,33 +3022,33 @@ msgstr "" "replaceable>" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:208 +#: gpasswd.1.xml.out:210 msgid "Set the list of administrative users." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:219 msgid "--members" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:220 +#: gpasswd.1.xml.out:222 msgid "Set the list of group members." msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:232 +#: gpasswd.1.xml.out:234 #, fuzzy msgid "and <_:filename-1/> files." msgstr "-a " #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:234 +#: gpasswd.1.xml.out:236 msgid "file." msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:230 +#: gpasswd.1.xml.out:232 msgid "" "This tool only operates on the <_:filename-1/> <_:phrase-2/> <_:phrase-3/> " "Thus you cannot change any NIS or LDAP group. This must be performed on the " @@ -2869,11 +3061,11 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:283 groupadd.8.xml.out:357 groupdel.8.xml.out:34 +#: gpasswd.1.xml.out:285 groupadd.8.xml.out:357 groupdel.8.xml.out:34 #: groupdel.8.xml.out:41 groupdel.8.xml.out:47 groupdel.8.xml.out:57 #: groupdel.8.xml.out:66 groupdel.8.xml.out:165 groupmems.8.xml.out:221 -#: groupmod.8.xml.out:341 login.defs.5.xml.out:299 useradd.8.xml.out:893 -#: userdel.8.xml.out:328 usermod.8.xml.out:623 +#: groupmod.8.xml.out:341 login.defs.5.xml.out:312 useradd.8.xml.out:913 +#: userdel.8.xml.out:328 usermod.8.xml.out:640 msgid "groupdel" msgstr "groupdel" @@ -2883,11 +3075,11 @@ msgstr "groupdel" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:286 groupadd.8.xml.out:360 groupdel.8.xml.out:220 +#: gpasswd.1.xml.out:288 groupadd.8.xml.out:360 groupdel.8.xml.out:220 #: groupmod.8.xml.out:34 groupmod.8.xml.out:41 groupmod.8.xml.out:47 #: groupmod.8.xml.out:58 groupmod.8.xml.out:67 groupmod.8.xml.out:256 -#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:311 -#: useradd.8.xml.out:896 userdel.8.xml.out:331 usermod.8.xml.out:626 +#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:324 +#: useradd.8.xml.out:916 userdel.8.xml.out:331 usermod.8.xml.out:643 msgid "groupmod" msgstr "groupmod" @@ -2897,10 +3089,10 @@ msgstr "groupmod" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:289 grpck.8.xml.out:33 grpck.8.xml.out:40 +#: gpasswd.1.xml.out:291 grpck.8.xml.out:33 grpck.8.xml.out:40 #: grpck.8.xml.out:46 grpck.8.xml.out:60 grpck.8.xml.out:116 #: grpck.8.xml.out:128 grpck.8.xml.out:141 grpck.8.xml.out:184 -#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:318 +#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:331 #: pwck.8.xml.out:339 pwconv.8.xml.out:198 pwconv.8.xml.out:242 msgid "grpck" msgstr "grpck" @@ -2910,7 +3102,7 @@ msgstr "grpck" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:295 grpck.8.xml.out:95 grpck.8.xml.out:287 +#: gpasswd.1.xml.out:297 grpck.8.xml.out:95 grpck.8.xml.out:287 #: gshadow.5.xml.out:22 gshadow.5.xml.out:29 newgrp.1.xml.out:148 #: pwconv.8.xml.out:114 pwconv.8.xml.out:115 pwconv.8.xml.out:121 #: pwconv.8.xml.out:122 sg.1.xml.out:137 vipw.8.xml.out:211 @@ -2918,12 +3110,12 @@ msgid "gshadow" msgstr "gshadow" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:293 newgrp.1.xml.out:146 sg.1.xml.out:135 +#: gpasswd.1.xml.out:295 newgrp.1.xml.out:146 sg.1.xml.out:135 msgid ", <_:citerefentry-1/>" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:275 newgrp.1.xml.out:128 sg.1.xml.out:117 +#: gpasswd.1.xml.out:277 newgrp.1.xml.out:128 sg.1.xml.out:117 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/><_:phrase-7/>." @@ -2969,8 +3161,8 @@ msgstr "" #: groupadd.8.xml.out:94 groupadd.8.xml.out:95 groupadd.8.xml.out:102 #: groupadd.8.xml.out:236 groupmems.8.xml.out:110 groupmod.8.xml.out:82 #: groupmod.8.xml.out:136 groupmod.8.xml.out:201 useradd.8.xml.out:96 -#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:391 -#: useradd.8.xml.out:396 useradd.8.xml.out:557 useradd.8.xml.out:639 +#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:393 +#: useradd.8.xml.out:398 useradd.8.xml.out:559 useradd.8.xml.out:659 #: usermod.8.xml.out:174 vipw.8.xml.out:90 msgid "-g" msgstr "-g" @@ -2986,7 +3178,7 @@ msgstr "" #. (itstool) path: term/option #: groupadd.8.xml.out:102 groupmod.8.xml.out:82 useradd.8.xml.out:230 -#: useradd.8.xml.out:639 usermod.8.xml.out:174 +#: useradd.8.xml.out:659 usermod.8.xml.out:174 msgid "--gid" msgstr "" @@ -2995,8 +3187,8 @@ msgstr "" #. (itstool) path: para/option #: groupadd.8.xml.out:102 groupadd.8.xml.out:105 groupadd.8.xml.out:151 #: groupmod.8.xml.out:73 groupmod.8.xml.out:82 groupmod.8.xml.out:87 -#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:300 -#: useradd.8.xml.out:469 +#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:302 +#: useradd.8.xml.out:471 msgid "GID" msgstr "GID" @@ -3028,7 +3220,7 @@ msgid "GID_MAX" msgstr "GID_MAX GID_MIN" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:111 useradd.8.xml.out:541 +#: groupadd.8.xml.out:111 useradd.8.xml.out:543 #, fuzzy msgid "See also the <_:option-1/> option and the <_:option-2/> description." msgstr ", , " @@ -3036,31 +3228,31 @@ msgstr ", , " #. (itstool) path: term/option #. (itstool) path: para/option #: groupadd.8.xml.out:125 groupadd.8.xml.out:131 groupadd.8.xml.out:134 -#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:303 -#: useradd.8.xml.out:314 useradd.8.xml.out:317 useradd.8.xml.out:319 -#: useradd.8.xml.out:320 +#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:305 +#: useradd.8.xml.out:316 useradd.8.xml.out:319 useradd.8.xml.out:321 +#: useradd.8.xml.out:322 #, fuzzy #| msgid "-" msgid "-K" msgstr "-" #. (itstool) path: term/option -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "--key" msgstr "" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "KEY" msgstr "KLUCZ" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "VALUE" msgstr "WARTOŚĆ" #. (itstool) path: varlistentry/term -#: groupadd.8.xml.out:124 useradd.8.xml.out:302 +#: groupadd.8.xml.out:124 useradd.8.xml.out:304 #, fuzzy msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>=<_:replaceable-4/>" msgstr "" @@ -3075,14 +3267,14 @@ msgid "" msgstr "" #. (itstool) path: para/replaceable -#: groupadd.8.xml.out:134 useradd.8.xml.out:320 +#: groupadd.8.xml.out:134 useradd.8.xml.out:322 #, fuzzy #| msgid "10" msgid "100" msgstr "10" #. (itstool) path: para/replaceable -#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:321 +#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:323 msgid "499" msgstr "" @@ -3099,7 +3291,7 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: term/replaceable #: groupadd.8.xml.out:138 groupadd.8.xml.out:333 groupdel.8.xml.out:192 -#: groupmod.8.xml.out:295 useradd.8.xml.out:853 userdel.8.xml.out:265 +#: groupmod.8.xml.out:295 useradd.8.xml.out:873 userdel.8.xml.out:265 msgid "10" msgstr "10" @@ -3111,7 +3303,7 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: groupadd.8.xml.out:145 groupmod.8.xml.out:132 useradd.8.xml.out:405 +#: groupadd.8.xml.out:145 groupmod.8.xml.out:132 useradd.8.xml.out:407 #: usermod.8.xml.out:271 msgid "--non-unique" msgstr "" @@ -3131,13 +3323,13 @@ msgstr "" #: groupadd.8.xml.out:158 groupmems.8.xml.out:55 groupmems.8.xml.out:130 #: groupmod.8.xml.out:143 login.1.xml.out:80 login.1.xml.out:88 #: login.1.xml.out:95 login.1.xml.out:212 su.1.xml.out:207 -#: useradd.8.xml.out:425 usermod.8.xml.out:237 usermod.8.xml.out:290 +#: useradd.8.xml.out:427 usermod.8.xml.out:237 usermod.8.xml.out:290 #: usermod.8.xml.out:411 vipw.8.xml.out:102 msgid "-p" msgstr "-p" #. (itstool) path: term/option -#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:425 +#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:427 #: usermod.8.xml.out:290 #, fuzzy #| msgid "passwd" @@ -3145,7 +3337,7 @@ msgid "--password" msgstr "passwd" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:425 +#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:427 #: usermod.8.xml.out:290 msgid "PASSWORD" msgstr "" @@ -3154,8 +3346,8 @@ msgstr "" #: groupadd.8.xml.out:163 groupmod.8.xml.out:148 gshadow.5.xml.out:62 #: gshadow.5.xml.out:68 passwd.5.xml.out:103 passwd.5.xml.out:109 #: passwd.5.xml.out:170 shadow.5.xml.out:88 shadow.5.xml.out:94 -#: useradd.8.xml.out:430 useradd.8.xml.out:887 usermod.8.xml.out:295 -#: usermod.8.xml.out:614 +#: useradd.8.xml.out:432 useradd.8.xml.out:907 usermod.8.xml.out:295 +#: usermod.8.xml.out:631 msgid "crypt" msgstr "" @@ -3165,11 +3357,11 @@ msgstr "" #: groupadd.8.xml.out:164 groupadd.8.xml.out:315 groupmod.8.xml.out:148 #: groupmod.8.xml.out:271 groups.1.xml.out:68 groups.1.xml.out:104 #: grpck.8.xml.out:255 gshadow.5.xml.out:63 gshadow.5.xml.out:69 -#: passwd.1.xml.out:443 passwd.5.xml.out:104 passwd.5.xml.out:110 +#: passwd.1.xml.out:465 passwd.5.xml.out:104 passwd.5.xml.out:110 #: passwd.5.xml.out:170 passwd.5.xml.out:176 pwck.8.xml.out:305 #: shadow.3.xml.out:34 shadow.3.xml.out:217 shadow.5.xml.out:89 -#: shadow.5.xml.out:95 useradd.8.xml.out:431 useradd.8.xml.out:829 -#: useradd.8.xml.out:887 usermod.8.xml.out:296 usermod.8.xml.out:614 +#: shadow.5.xml.out:95 useradd.8.xml.out:433 useradd.8.xml.out:849 +#: useradd.8.xml.out:907 usermod.8.xml.out:296 usermod.8.xml.out:631 msgid "3" msgstr "3" @@ -3189,7 +3381,7 @@ msgid "" msgstr "" #. (itstool) path: para/emphasis -#: groupadd.8.xml.out:173 groupmod.8.xml.out:152 useradd.8.xml.out:444 +#: groupadd.8.xml.out:173 groupmod.8.xml.out:152 useradd.8.xml.out:446 #: userdel.8.xml.out:93 usermod.8.xml.out:299 msgid "Note:" msgstr "" @@ -3202,14 +3394,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:177 groupmod.8.xml.out:156 useradd.8.xml.out:448 +#: groupadd.8.xml.out:177 groupmod.8.xml.out:156 useradd.8.xml.out:450 #: usermod.8.xml.out:309 msgid "" "You should make sure the password respects the system's password policy." msgstr "" #. (itstool) path: term/option -#: groupadd.8.xml.out:185 newusers.8.xml.out:287 useradd.8.xml.out:456 +#: groupadd.8.xml.out:185 newusers.8.xml.out:289 useradd.8.xml.out:458 msgid "--system" msgstr "" @@ -3240,45 +3432,11 @@ msgid "" "option-5/>." msgstr "" -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -#, fuzzy -#| msgid "-" -msgid "-P" -msgstr "-" - -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -msgid "--prefix" -msgstr "" - -#. (itstool) path: term/replaceable -#. (itstool) path: para/replaceable -#: groupadd.8.xml.out:214 groupadd.8.xml.out:219 groupdel.8.xml.out:102 -#: groupdel.8.xml.out:106 groupdel.8.xml.out:108 groupmod.8.xml.out:177 -#: groupmod.8.xml.out:181 groupmod.8.xml.out:183 useradd.8.xml.out:502 -#: useradd.8.xml.out:507 userdel.8.xml.out:136 userdel.8.xml.out:140 -#: userdel.8.xml.out:142 usermod.8.xml.out:341 usermod.8.xml.out:346 -msgid "PREFIX_DIR" -msgstr "" - -#. (itstool) path: listitem/para -#: groupadd.8.xml.out:217 useradd.8.xml.out:505 -msgid "" -"Apply changes to configuration files under the root filesystem found under " -"the directory <_:replaceable-1/>. 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 "" - #. (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:397 -#: useradd.8.xml.out:549 useradd.8.xml.out:558 usermod.8.xml.out:238 +#: 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 "-" @@ -3300,7 +3458,7 @@ msgstr "" #. (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:386 useradd.8.xml.out:397 useradd.8.xml.out:558 +#: useradd.8.xml.out:388 useradd.8.xml.out:399 useradd.8.xml.out:560 #, fuzzy #| msgid "-" msgid "-N" @@ -3308,15 +3466,15 @@ msgstr "-" #. (itstool) path: para/option #. (itstool) path: para/phrase -#: groupadd.8.xml.out:238 groupmod.8.xml.out:203 login.defs.5.xml.out:448 -#: useradd.8.xml.out:97 useradd.8.xml.out:240 useradd.8.xml.out:398 -#: useradd.8.xml.out:559 userdel.8.xml.out:86 userdel.8.xml.out:296 +#: 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:395 -#: useradd.8.xml.out:556 +#: groupadd.8.xml.out:235 groupmod.8.xml.out:200 useradd.8.xml.out:397 +#: useradd.8.xml.out:558 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 <_:" @@ -3338,13 +3496,13 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:317 passwd.1.xml.out:463 useradd.8.xml.out:831 +#: groupadd.8.xml.out:317 passwd.1.xml.out:485 useradd.8.xml.out:851 msgid "invalid argument to option" msgstr "nieprawidłowy argument opcji" #. (itstool) path: term/replaceable #: groupadd.8.xml.out:321 groupmod.8.xml.out:277 grpck.8.xml.out:261 -#: passwd.1.xml.out:449 pwck.8.xml.out:311 useradd.8.xml.out:835 +#: passwd.1.xml.out:471 pwck.8.xml.out:311 useradd.8.xml.out:855 msgid "4" msgstr "4" @@ -3356,7 +3514,7 @@ msgid "GID is already used (when called without <_:option-1/>)" msgstr "UID juz jest używany (i nie uzyto opcji )" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:847 +#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:867 msgid "9" msgstr "9" @@ -3368,7 +3526,7 @@ msgid "group name is already used" msgstr "nazwa grupy już jest w użyciu" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:335 groupdel.8.xml.out:194 useradd.8.xml.out:855 +#: 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 "nie można zaktualizować pliku z grupami" @@ -3380,11 +3538,11 @@ msgstr "nie można zaktualizować pliku z grupami" #. (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:480 useradd.8.xml.out:913 +#: 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:643 +#: userdel.8.xml.out:298 userdel.8.xml.out:300 usermod.8.xml.out:660 msgid "userdel" msgstr "userdel" @@ -3395,11 +3553,11 @@ msgstr "userdel" #. (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:490 passwd.1.xml.out:488 -#: pwck.8.xml.out:140 pwck.8.xml.out:348 useradd.8.xml.out:916 +#: 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:522 +#: usermod.8.xml.out:263 usermod.8.xml.out:539 msgid "usermod" msgstr "usermod" @@ -3425,8 +3583,8 @@ msgstr "" #: 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:392 -#: useradd.8.xml.out:639 useradd.8.xml.out:648 usermod.8.xml.out:174 +#: 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 "GRUPA" @@ -3472,13 +3630,13 @@ msgid "" msgstr "" #. (itstool) path: term/replaceable -#: groupdel.8.xml.out:180 groupmod.8.xml.out:283 passwd.1.xml.out:461 -#: pwck.8.xml.out:323 useradd.8.xml.out:841 userdel.8.xml.out:253 +#: 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:843 +#: groupdel.8.xml.out:182 useradd.8.xml.out:863 msgid "specified group doesn't exist" msgstr "" @@ -3523,7 +3681,7 @@ msgstr "" #: 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:305 +#: login.defs.5.xml.out:318 msgid "groupmems" msgstr "groupmems" @@ -3660,7 +3818,7 @@ msgstr "" #| "\t$ groupmems -g groups -a gk4\n" #| " " msgid "" -"$ groupadd -r groups $ chmod 2710 groupmems $ chown root.groups groupmems $ " +"$ groupadd -r groups $ chmod 2710 groupmems $ chown root:groups groupmems $ " "groupmems -g groups -a gk4" msgstr "" "\n" @@ -3764,7 +3922,7 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: groupmod.8.xml.out:121 passwd.1.xml.out:246 +#: groupmod.8.xml.out:121 passwd.1.xml.out:242 #, fuzzy #| msgid "-" msgid "-n" @@ -3869,7 +4027,7 @@ msgid "E_CLEANUP_SERVICE: can't setup cleanup service" msgstr "" #. (itstool) path: term/replaceable -#: groupmod.8.xml.out:307 useradd.8.xml.out:859 userdel.8.xml.out:271 +#: groupmod.8.xml.out:307 useradd.8.xml.out:879 userdel.8.xml.out:271 msgid "12" msgstr "12" @@ -4036,7 +4194,7 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: arg/replaceable #. (itstool) path: para/replaceable -#: grpck.8.xml.out:113 newusers.8.xml.out:67 newusers.8.xml.out:75 +#: grpck.8.xml.out:113 newusers.8.xml.out:69 newusers.8.xml.out:77 msgid "file" msgstr "" @@ -4067,7 +4225,7 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: grpck.8.xml.out:143 login.defs.5.xml.out:134 login.defs.5.xml.out:136 +#: 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 "" @@ -4092,8 +4250,8 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:161 -#: passwd.1.xml.out:291 +#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:157 +#: passwd.1.xml.out:302 #, fuzzy #| msgid "-" msgid "-S" @@ -4306,7 +4464,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: gshadow.5.xml.out:162 login.defs.5.xml.out:324 pwconv.8.xml.out:48 +#: 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" @@ -4320,7 +4478,7 @@ msgstr "grpconv" #. (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:337 +#: login.defs.5.xml.out:350 msgid "lastlog" msgstr "lastlog" @@ -4380,7 +4538,7 @@ msgstr "" "passwd." #. (itstool) path: term/option -#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:592 +#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:612 #: usermod.8.xml.out:89 #, fuzzy #| msgid "-" @@ -4759,7 +4917,7 @@ msgstr "" #. (itstool) path: para/command #: limits.5.xml.out:122 login.1.xml.out:83 login.1.xml.out:91 #: login.1.xml.out:197 su.1.xml.out:70 su.1.xml.out:82 su.1.xml.out:95 -#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:775 +#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:795 msgid "username" msgstr "" @@ -5205,8 +5363,8 @@ msgstr "chsh" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.1.xml.out:386 login.defs.5.xml.out:436 login.defs.5.xml.out:520 -#: login.defs.5.xml.out:536 newgrp.1.xml.out:136 passwd.5.xml.out:197 +#: login.1.xml.out:386 login.defs.5.xml.out:455 login.defs.5.xml.out:539 +#: login.defs.5.xml.out:555 newgrp.1.xml.out:136 passwd.5.xml.out:197 #: shadow.5.xml.out:283 sg.1.xml.out:128 su.1.xml.out:50 su.1.xml.out:57 #: su.1.xml.out:62 su.1.xml.out:81 su.1.xml.out:83 su.1.xml.out:121 #: su.1.xml.out:201 su.1.xml.out:239 su.1.xml.out:308 su.1.xml.out:368 @@ -5363,12 +5521,12 @@ msgid "<_:citerefentry-1/>." msgstr "" #. (itstool) path: refnamediv/refpurpose -#: login.defs.5.xml.out:110 +#: login.defs.5.xml.out:112 msgid "shadow password suite configuration" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:115 +#: login.defs.5.xml.out:117 msgid "" "The <_:filename-1/> file defines the site-specific configuration for the " "shadow password suite. This file is required. Absence of this file will not " @@ -5376,7 +5534,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:122 +#: login.defs.5.xml.out:124 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 " @@ -5387,20 +5545,20 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:133 useradd.8.xml.out:242 useradd.8.xml.out:380 +#: login.defs.5.xml.out:135 useradd.8.xml.out:242 useradd.8.xml.out:382 #: userdel.8.xml.out:87 userdel.8.xml.out:297 msgid "yes" msgstr "" #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:140 +#: login.defs.5.xml.out:142 #, fuzzy #| msgid "0" msgid "0x" msgstr "0" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:130 +#: login.defs.5.xml.out:132 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 " @@ -5413,32 +5571,32 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:145 +#: login.defs.5.xml.out:147 msgid "The following configuration items are provided:" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:193 pwconv.8.xml.out:146 useradd.8.xml.out:309 -#: useradd.8.xml.out:314 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:146 useradd.8.xml.out:311 +#: useradd.8.xml.out:316 msgid "PASS_MAX_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:193 pwconv.8.xml.out:145 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:145 msgid "PASS_MIN_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:194 pwconv.8.xml.out:147 +#: login.defs.5.xml.out:197 pwconv.8.xml.out:147 msgid "PASS_WARN_AGE" msgstr "" #. (itstool) path: variablelist/para -#: login.defs.5.xml.out:192 +#: login.defs.5.xml.out:195 msgid "" "<_:option-1/>, <_:option-2/> and <_:option-3/> are only used at the time of " "account creation. Any changes to these settings won't affect existing " @@ -5446,12 +5604,12 @@ msgid "" msgstr "" #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:225 +#: login.defs.5.xml.out:229 msgid "CROSS REFERENCES" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:226 +#: login.defs.5.xml.out:230 msgid "" "The following cross references show which programs in the shadow password " "suite use which parameters." @@ -5461,53 +5619,67 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: phrase/option #. (itstool) path: para/option -#: login.defs.5.xml.out:235 login.defs.5.xml.out:423 login.defs.5.xml.out:431 -#: login.defs.5.xml.out:503 pwck.8.xml.out:75 pwck.8.xml.out:216 +#: login.defs.5.xml.out:239 login.defs.5.xml.out:442 login.defs.5.xml.out:450 +#: login.defs.5.xml.out:522 pwck.8.xml.out:75 pwck.8.xml.out:216 #: pwck.8.xml.out:232 pwconv.8.xml.out:89 pwconv.8.xml.out:91 #: pwconv.8.xml.out:94 pwconv.8.xml.out:105 pwconv.8.xml.out:107 msgid "USE_TCB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:242 +#: login.defs.5.xml.out:246 msgid "CHFN_AUTH" msgstr "CHFN_AUTH" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:244 login.defs.5.xml.out:359 +#: login.defs.5.xml.out:248 login.defs.5.xml.out:372 #, fuzzy msgid "LOGIN_STRING" msgstr "CHFN_AUTH CHFN_RESTRICT" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:241 +#: login.defs.5.xml.out:245 msgid "<_:phrase-1/> CHFN_RESTRICT <_:phrase-2/>" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:253 login.defs.5.xml.out:264 login.defs.5.xml.out:284 -#: login.defs.5.xml.out:388 login.defs.5.xml.out:404 -msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" -msgstr "" - -#. (itstool) path: listitem/para -#: login.defs.5.xml.out:251 login.defs.5.xml.out:282 -msgid "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:phrase-1/>" +#: login.defs.5.xml.out:256 login.defs.5.xml.out:269 login.defs.5.xml.out:293 +#: login.defs.5.xml.out:396 login.defs.5.xml.out:418 +msgid "BCRYPT_MAX_ROUNDS BCRYPT_MIN_ROUNDS" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:262 +#: login.defs.5.xml.out:259 login.defs.5.xml.out:273 login.defs.5.xml.out:296 +#: login.defs.5.xml.out:403 login.defs.5.xml.out:422 +msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +msgstr "" + +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:261 login.defs.5.xml.out:275 login.defs.5.xml.out:298 +#: login.defs.5.xml.out:409 login.defs.5.xml.out:424 +msgid "YESCRYPT_COST_FACTOR" +msgstr "" + +#. (itstool) path: listitem/para +#: login.defs.5.xml.out:255 login.defs.5.xml.out:292 +msgid "" +"<_:phrase-1/> ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:" +"phrase-2/> <_:phrase-3/>" +msgstr "" + +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:271 msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:272 +#: login.defs.5.xml.out:282 #, fuzzy msgid "CHSH_AUTH LOGIN_STRING" msgstr "CHFN_AUTH CHFN_RESTRICT" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:292 +#: login.defs.5.xml.out:305 #, fuzzy msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN" msgstr "" @@ -5515,8 +5687,8 @@ msgstr "" "UMASK" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:301 login.defs.5.xml.out:307 login.defs.5.xml.out:313 -#: login.defs.5.xml.out:320 login.defs.5.xml.out:326 login.defs.5.xml.out:332 +#: login.defs.5.xml.out:314 login.defs.5.xml.out:320 login.defs.5.xml.out:326 +#: login.defs.5.xml.out:333 login.defs.5.xml.out:339 login.defs.5.xml.out:345 msgid "MAX_MEMBERS_PER_GROUP" msgstr "" @@ -5524,63 +5696,63 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:330 pwconv.8.xml.out:49 pwconv.8.xml.out:73 +#: login.defs.5.xml.out:343 pwconv.8.xml.out:49 pwconv.8.xml.out:73 #: pwconv.8.xml.out:119 pwconv.8.xml.out:153 pwconv.8.xml.out:167 #: pwconv.8.xml.out:208 msgid "grpunconv" msgstr "grpunconv" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:339 +#: login.defs.5.xml.out:352 msgid "LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:346 login.defs.5.xml.out:439 +#: login.defs.5.xml.out:359 login.defs.5.xml.out:458 msgid "CONSOLE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:348 +#: login.defs.5.xml.out:361 msgid "ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:351 +#: login.defs.5.xml.out:364 msgid "FAILLOG_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:353 +#: login.defs.5.xml.out:366 #, fuzzy #| msgid "FILE" msgid "FTMP_FILE" msgstr "FILE" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:355 +#: login.defs.5.xml.out:368 msgid "ISSUE_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:357 +#: login.defs.5.xml.out:370 msgid "LASTLOG_ENAB LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:361 +#: login.defs.5.xml.out:374 msgid "" "MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE " "PORTTIME_CHECKS_ENAB QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:365 +#: login.defs.5.xml.out:378 msgid "ULIMIT UMASK" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:345 +#: login.defs.5.xml.out:358 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ERASECHAR FAIL_DELAY " "<_:phrase-3/> FAKE_SHELL <_:phrase-4/> HUSHLOGIN_FILE <_:phrase-5/> KILLCHAR " @@ -5590,43 +5762,45 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: login.defs.5.xml.out:372 +#: login.defs.5.xml.out:385 #, fuzzy #| msgid "newgrp" msgid "newgrp / sg" msgstr "newgrp" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:374 +#: login.defs.5.xml.out:387 msgid "SYSLOG_SG_ENAB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:382 +#: login.defs.5.xml.out:395 #, fuzzy 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 <_:phrase-1/> " -"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-1/> ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP " +"MD5_CRYPT_ENAB HOME_MODE PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:" +"phrase-2/> 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-3/>" msgstr "" "GID_MAX GID_MIN PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UID_MAX UID_MIN " "UMASK" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:401 +#: login.defs.5.xml.out:417 msgid "" -"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " -"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-1/>" +"<_:phrase-1/> ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB " +"PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-2/> " +"<_:phrase-3/>" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:414 +#: login.defs.5.xml.out:433 msgid "TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:412 login.defs.5.xml.out:421 +#: login.defs.5.xml.out:431 login.defs.5.xml.out:440 #, fuzzy #| msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE" msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:phrase-1/>" @@ -5638,7 +5812,7 @@ msgstr "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:419 passwd.5.xml.out:188 pwconv.8.xml.out:39 +#: login.defs.5.xml.out:438 passwd.5.xml.out:188 pwconv.8.xml.out:39 #: pwconv.8.xml.out:46 pwconv.8.xml.out:55 pwconv.8.xml.out:83 #: pwconv.8.xml.out:88 pwconv.8.xml.out:90 pwconv.8.xml.out:134 #: pwconv.8.xml.out:144 pwconv.8.xml.out:165 pwconv.8.xml.out:216 @@ -5651,7 +5825,7 @@ msgstr "pwconv" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:428 passwd.5.xml.out:191 pwconv.8.xml.out:47 +#: login.defs.5.xml.out:447 passwd.5.xml.out:191 pwconv.8.xml.out:47 #: pwconv.8.xml.out:61 pwconv.8.xml.out:98 pwconv.8.xml.out:104 #: pwconv.8.xml.out:109 pwconv.8.xml.out:153 pwconv.8.xml.out:157 #: pwconv.8.xml.out:166 shadow.5.xml.out:280 @@ -5659,22 +5833,22 @@ msgid "pwunconv" msgstr "pwunconv" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:441 +#: login.defs.5.xml.out:460 msgid "ENV_HZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:443 +#: login.defs.5.xml.out:462 msgid "ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:446 +#: login.defs.5.xml.out:465 msgid "SU_WHEEL_ONLY" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:438 +#: login.defs.5.xml.out:457 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ENV_PATH ENV_SUPATH " "<_:phrase-3/> SULOG_FILE SU_NAME <_:phrase-4/> SYSLOG_SU_ENAB <_:phrase-5/>" @@ -5682,29 +5856,23 @@ msgstr "" #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:453 passwd.5.xml.out:200 shadow.5.xml.out:286 +#: login.defs.5.xml.out:472 passwd.5.xml.out:200 shadow.5.xml.out:286 #, fuzzy msgid "sulogin" msgstr "login" -#. (itstool) path: para/phrase -#. (itstool) path: para/option -#: login.defs.5.xml.out:457 su.1.xml.out:278 -msgid "ENV_TZ" -msgstr "" - #. (itstool) path: listitem/para -#: login.defs.5.xml.out:455 -msgid "ENV_HZ <_:phrase-1/>" +#: login.defs.5.xml.out:474 +msgid "ENV_HZ ENV_TZ" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:475 +#: login.defs.5.xml.out:494 msgid "TCB_AUTH_GROUP TCB_SYMLINK USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:464 +#: login.defs.5.xml.out:483 #, fuzzy msgid "" "CREATE_HOME GID_MAX GID_MIN HOME_MODE LASTLOG_UID_MAX MAIL_DIR " @@ -5717,19 +5885,19 @@ msgstr "" "UMASK" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:485 login.defs.5.xml.out:495 +#: login.defs.5.xml.out:504 login.defs.5.xml.out:514 msgid "TCB_SYMLINKS USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:482 +#: login.defs.5.xml.out:501 msgid "" "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <_:" "phrase-1/>" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:492 +#: login.defs.5.xml.out:511 msgid "LASTLOG_UID_MAX MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <_:phrase-1/>" msgstr "" @@ -5738,18 +5906,18 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:500 vipw.8.xml.out:35 vipw.8.xml.out:42 +#: login.defs.5.xml.out:519 vipw.8.xml.out:35 vipw.8.xml.out:42 #: vipw.8.xml.out:51 vipw.8.xml.out:67 vipw.8.xml.out:85 msgid "vipw" msgstr "vipw" #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:511 pwconv.8.xml.out:193 suauth.5.xml.out:179 +#: login.defs.5.xml.out:530 pwconv.8.xml.out:193 suauth.5.xml.out:179 msgid "BUGS" msgstr "BŁĘDY" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:512 +#: login.defs.5.xml.out:531 #, fuzzy #| msgid "" #| "group58." #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:545 +#: login.defs.5.xml.out:564 #, fuzzy #| msgid "*name" msgid "pam" msgstr "*name" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:528 +#: login.defs.5.xml.out:547 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>." @@ -5888,12 +6056,12 @@ msgid "id" msgstr "" #. (itstool) path: refnamediv/refpurpose -#: newusers.8.xml.out:57 +#: newusers.8.xml.out:59 msgid "update and create new users in batch" msgstr "wsadowa aktualizacja i tworzenie nowych użytkowników" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:74 +#: newusers.8.xml.out:76 #, fuzzy #| msgid "" #| "The newusers command reads a file of user name and " @@ -5916,24 +6084,24 @@ msgstr "" "citerefentry>), z następującymi wyjątkami:" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:82 +#: newusers.8.xml.out:84 msgid "pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell" msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:87 +#: newusers.8.xml.out:89 #, fuzzy #| msgid "*name" msgid "pw_name" msgstr "*name" #. (itstool) path: listitem/para -#: newusers.8.xml.out:90 +#: newusers.8.xml.out:92 msgid "This is the name of the user." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:93 +#: newusers.8.xml.out:95 msgid "" "It can be the name of a new user or the name of an existing user (or a user " "created before by <_:command-1/>). In case of an existing user, the user's " @@ -5941,12 +6109,12 @@ msgid "" msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:104 +#: newusers.8.xml.out:106 msgid "pw_passwd" msgstr "pw_passwd" #. (itstool) path: listitem/para -#: newusers.8.xml.out:107 +#: newusers.8.xml.out:109 msgid "" "This field will be encrypted and used as the new value of the encrypted " "password." @@ -5954,31 +6122,31 @@ msgstr "" "To pole zostanie zakodowane i użyte jako nowa wartość zakodowanego hasła." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:115 +#: newusers.8.xml.out:117 #, fuzzy #| msgid "pw_gid" msgid "pw_uid" msgstr "pw_gid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:118 +#: newusers.8.xml.out:120 msgid "This field is used to define the UID of the user." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:121 +#: newusers.8.xml.out:123 msgid "" "If the field is empty, a new (unused) UID will be defined automatically by " "<_:command-1/>." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:125 +#: newusers.8.xml.out:127 msgid "If this field contains a number, this number will be used as the UID." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:129 +#: newusers.8.xml.out:131 msgid "" "If this field contains the name of an existing user (or the name of a user " "created before by <_:command-1/>), the UID of the specified user will be " @@ -5986,24 +6154,24 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:135 +#: newusers.8.xml.out:137 msgid "" "If the UID of an existing user is changed, the files ownership of the user's " "file should be fixed manually." msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:143 +#: newusers.8.xml.out:145 msgid "pw_gid" msgstr "pw_gid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:146 +#: newusers.8.xml.out:148 msgid "This field is used to define the primary group ID for the user." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:149 +#: newusers.8.xml.out:151 msgid "" "If this field contains the name of an existing group (or a group created " "before by <_:command-1/>), the GID of this group will be used as the primary " @@ -6011,7 +6179,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:155 +#: newusers.8.xml.out:157 msgid "" "If this field is a number, this number will be used as the primary group ID " "of the user. If no groups exist with this GID, a new group will be created " @@ -6019,7 +6187,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:161 +#: newusers.8.xml.out:163 msgid "" "If this field is empty, a new group will be created with the name of the " "user and a GID will be automatically defined by <_:command-1/> to be used as " @@ -6027,7 +6195,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:167 +#: newusers.8.xml.out:169 msgid "" "If this field contains the name of a group which does not exist (and was not " "created before by <_:command-1/>), a new group will be created with the " @@ -6036,32 +6204,32 @@ msgid "" msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:179 +#: newusers.8.xml.out:181 msgid "pw_gecos" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:182 +#: newusers.8.xml.out:184 msgid "This field is copied in the GECOS field of the user." msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:189 +#: newusers.8.xml.out:191 msgid "pw_dir" msgstr "pw_dir" #. (itstool) path: listitem/para -#: newusers.8.xml.out:192 +#: newusers.8.xml.out:194 msgid "This field is used to define the home directory of the user." msgstr "" #. (itstool) path: para/emphasis -#: newusers.8.xml.out:199 +#: newusers.8.xml.out:201 msgid "newusers does not create parent directories" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:195 +#: newusers.8.xml.out:197 msgid "" "If this field does not specify an existing directory, the specified " "directory is created, with ownership set to the user being created or " @@ -6074,7 +6242,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:208 +#: newusers.8.xml.out:210 msgid "" "If the home directory of an existing user is changed, <_:command-1/> does " "not move or copy the content of the old directory to the new location. This " @@ -6082,19 +6250,19 @@ msgid "" msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:218 +#: newusers.8.xml.out:220 msgid "pw_shell" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:221 +#: newusers.8.xml.out:223 msgid "" "This field defines the shell of the user. No checks are performed on this " "field." msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:229 +#: newusers.8.xml.out:231 msgid "" "<_:command-1/> first tries to create or change all the specified users, and " "then write these changes to the user or group databases. If an error occurs " @@ -6103,7 +6271,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:235 +#: newusers.8.xml.out:237 msgid "" "During this first pass, users are created with a locked password (and " "passwords are not changed for the users which are not created). A second " @@ -6112,55 +6280,62 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:243 +#: newusers.8.xml.out:245 msgid "" "This command is intended to be used in a large system environment where many " "accounts are updated at a single time." msgstr "" #. (itstool) path: term/option -#: newusers.8.xml.out:257 pwck.8.xml.out:164 useradd.8.xml.out:108 +#: newusers.8.xml.out:259 pwck.8.xml.out:164 useradd.8.xml.out:108 #: usermod.8.xml.out:89 msgid "--badname" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:260 pwck.8.xml.out:167 useradd.8.xml.out:111 +#: newusers.8.xml.out:262 pwck.8.xml.out:167 useradd.8.xml.out:111 #: usermod.8.xml.out:92 msgid "Allow names that do not conform to standards." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:290 useradd.8.xml.out:459 +#: newusers.8.xml.out:273 +msgid "" +"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc " +"support these methods." +msgstr "" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:292 useradd.8.xml.out:461 msgid "Create a system account." msgstr "" #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MIN" msgstr "" #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MAX" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:319 -#: useradd.8.xml.out:468 useradd.8.xml.out:538 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:321 +#: useradd.8.xml.out:470 useradd.8.xml.out:540 usermod.8.xml.out:397 msgid "UID_MIN" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:321 -#: useradd.8.xml.out:468 useradd.8.xml.out:543 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:323 +#: useradd.8.xml.out:470 useradd.8.xml.out:545 usermod.8.xml.out:397 msgid "UID_MAX" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:293 useradd.8.xml.out:462 +#: newusers.8.xml.out:295 useradd.8.xml.out:464 msgid "" "System users will be created with no aging information in <_:filename-1/>, " "and their numeric identifiers are chosen in the <_:option-2/>-<_:option-3/> " @@ -6168,14 +6343,35 @@ msgid "" "(and their <_:option-7/> counterparts for the creation of groups)." msgstr "" +#. (itstool) path: listitem/para +#: newusers.8.xml.out:342 +msgid "" +"A minimal value of 4 and a maximal value of 31 will be enforced for BCRYPT. " +"The default is 13." +msgstr "" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:351 +msgid "" +"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced " +"for SHA256 and SHA512. The default is 5000." +msgstr "" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:359 +msgid "" +"A minimal value of 1 and a maximal value of 11 will be enforced for " +"YESCRYPT. The default is 5." +msgstr "" + #. (itstool) path: refsect1/para -#: newusers.8.xml.out:349 +#: newusers.8.xml.out:370 msgid "" "The input file must be protected since it contains unencrypted passwords." msgstr "" #. (itstool) path: term/filename -#: newusers.8.xml.out:429 +#: newusers.8.xml.out:450 #, fuzzy #| msgid "/etc/passwd" msgid "/etc/pam.d/newusers" @@ -6183,51 +6379,51 @@ msgstr "/etc/passwd" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:435 useradd.8.xml.out:222 useradd.8.xml.out:481 -#: useradd.8.xml.out:785 userdel.8.xml.out:215 usermod.8.xml.out:587 +#: newusers.8.xml.out:456 useradd.8.xml.out:222 useradd.8.xml.out:483 +#: useradd.8.xml.out:805 userdel.8.xml.out:215 usermod.8.xml.out:604 #, fuzzy #| msgid "/etc/suauth" msgid "/etc/subgid" msgstr "/etc/suauth" #. (itstool) path: listitem/para -#: newusers.8.xml.out:437 useradd.8.xml.out:787 userdel.8.xml.out:217 +#: newusers.8.xml.out:458 useradd.8.xml.out:807 userdel.8.xml.out:217 msgid "Per user subordinate group IDs." msgstr "" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:441 useradd.8.xml.out:222 useradd.8.xml.out:480 -#: useradd.8.xml.out:791 userdel.8.xml.out:221 usermod.8.xml.out:593 +#: newusers.8.xml.out:462 useradd.8.xml.out:222 useradd.8.xml.out:482 +#: useradd.8.xml.out:811 userdel.8.xml.out:221 usermod.8.xml.out:610 #, fuzzy #| msgid "/etc/suauth" msgid "/etc/subuid" msgstr "/etc/suauth" #. (itstool) path: listitem/para -#: newusers.8.xml.out:443 useradd.8.xml.out:793 userdel.8.xml.out:223 +#: newusers.8.xml.out:464 useradd.8.xml.out:813 userdel.8.xml.out:223 msgid "Per user subordinate user IDs." msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:460 useradd.8.xml.out:906 userdel.8.xml.out:335 -#: usermod.8.xml.out:633 +#: newusers.8.xml.out:481 useradd.8.xml.out:926 userdel.8.xml.out:335 +#: usermod.8.xml.out:650 #, fuzzy #| msgid "/etc/suauth" msgid "subgid" msgstr "/etc/suauth" #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:463 useradd.8.xml.out:909 userdel.8.xml.out:338 -#: usermod.8.xml.out:636 +#: newusers.8.xml.out:484 useradd.8.xml.out:929 userdel.8.xml.out:338 +#: usermod.8.xml.out:653 #, fuzzy #| msgid "/etc/suauth" msgid "subuid" msgstr "/etc/suauth" #. (itstool) path: para/phrase -#: newusers.8.xml.out:458 useradd.8.xml.out:904 userdel.8.xml.out:333 -#: usermod.8.xml.out:631 +#: newusers.8.xml.out:479 useradd.8.xml.out:924 userdel.8.xml.out:333 +#: usermod.8.xml.out:648 msgid "<_:citerefentry-1/>, <_:citerefentry-2/>," msgstr "" @@ -6270,12 +6466,12 @@ msgid "The <_:command-1/> command appeared in BSD 4.4." msgstr "" #. (itstool) path: refnamediv/refpurpose -#: passwd.1.xml.out:48 +#: passwd.1.xml.out:50 msgid "change user password" msgstr "zmiana hasła użytkownika" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:65 +#: passwd.1.xml.out:67 msgid "" "The <_:command-1/> command changes passwords for user accounts. A normal " "user may only change the password for their own account, while the superuser " @@ -6284,12 +6480,12 @@ msgid "" msgstr "" #. (itstool) path: refsect2/title -#: passwd.1.xml.out:74 +#: passwd.1.xml.out:76 msgid "Password Changes" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:75 +#: passwd.1.xml.out:77 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 " @@ -6298,7 +6494,7 @@ msgid "" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:83 +#: passwd.1.xml.out:85 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, " @@ -6306,7 +6502,7 @@ msgid "" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:90 +#: passwd.1.xml.out:92 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 " @@ -6314,48 +6510,25 @@ msgid "" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:96 +#: passwd.1.xml.out:98 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 "" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:104 -msgid "lower case alphabetics" -msgstr "" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:107 -msgid "digits 0 thru 9" -msgstr "" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:110 -msgid "punctuation marks" -msgstr "" - -#. (itstool) path: refsect2/para -#: passwd.1.xml.out:114 -msgid "" -"Care must be taken not to include the system default erase or kill " -"characters. <_:command-1/> will reject any password which is not suitably " -"complex." +"Then, the password is tested for complexity. <_:command-1/> will reject any " +"password which is not suitably complex. Care must be taken not to include " +"the system default erase or kill characters." msgstr "" #. (itstool) path: refsect2/title -#: passwd.1.xml.out:123 +#: passwd.1.xml.out:108 msgid "Hints for user passwords" msgstr "" #. (itstool) path: para/emphasis -#: passwd.1.xml.out:127 +#: passwd.1.xml.out:112 msgid "UNIX" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:124 +#: passwd.1.xml.out:109 msgid "" "The security of a password depends upon the strength of the encryption " "algorithm and the size of the key space. The legacy <_:emphasis-1/> System " @@ -6365,7 +6538,7 @@ msgid "" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:133 +#: passwd.1.xml.out:118 msgid "" "Compromises in password security normally result from careless password " "selection or handling. For this reason, you should not select a password " @@ -6375,42 +6548,54 @@ msgid "" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:142 +#: passwd.1.xml.out:127 +msgid "" +"As a general guideline, passwords should be long and random. It's 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's apparent that the exponent " +"(the length) is more important than the base (the size of the character set)." +msgstr "" + +#. (itstool) path: refsect2/para +#: passwd.1.xml.out:138 msgid "" "You can find advice on how to choose a strong password on http://en." "wikipedia.org/wiki/Password_strength" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:160 +#: passwd.1.xml.out:156 msgid "" "This option can be used only with <_:option-1/> and causes show status for " "all users." msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:171 +#: passwd.1.xml.out:167 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 "" #. (itstool) path: term/option -#: passwd.1.xml.out:180 +#: passwd.1.xml.out:176 #, fuzzy #| msgid "expiry" msgid "--expire" msgstr "expiry" #. (itstool) path: listitem/para -#: passwd.1.xml.out:183 +#: passwd.1.xml.out:179 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 "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:200 +#: passwd.1.xml.out:196 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 " @@ -6420,19 +6605,19 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: passwd.1.xml.out:210 useradd.8.xml.out:278 useradd.8.xml.out:356 +#: passwd.1.xml.out:206 useradd.8.xml.out:280 useradd.8.xml.out:358 #, fuzzy #| msgid "-" msgid "-k" msgstr "-" #. (itstool) path: term/option -#: passwd.1.xml.out:210 +#: passwd.1.xml.out:206 msgid "--keep-tokens" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:213 +#: passwd.1.xml.out:209 msgid "" "Indicate password change should be performed only for expired authentication " "tokens (passwords). The user wishes to keep their non-expired tokens as " @@ -6440,12 +6625,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:222 usermod.8.xml.out:231 +#: passwd.1.xml.out:218 usermod.8.xml.out:231 msgid "--lock" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:225 +#: passwd.1.xml.out:221 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 " @@ -6453,12 +6638,12 @@ msgid "" msgstr "" #. (itstool) path: para/command -#: passwd.1.xml.out:235 +#: passwd.1.xml.out:231 msgid "usermod --expiredate 1" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:231 +#: passwd.1.xml.out:227 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 " @@ -6467,48 +6652,48 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:238 +#: passwd.1.xml.out:234 msgid "Users with a locked password are not allowed to change their password." msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "-q" msgstr "-q" #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "--quiet" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:261 vipw.8.xml.out:110 +#: passwd.1.xml.out:257 vipw.8.xml.out:110 msgid "Quiet mode." msgstr "Cichy tryb pracy." #. (itstool) path: term/option -#: passwd.1.xml.out:268 +#: passwd.1.xml.out:264 msgid "--repository" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: passwd.1.xml.out:268 passwd.1.xml.out:272 +#: passwd.1.xml.out:264 passwd.1.xml.out:268 msgid "REPOSITORY" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:271 +#: passwd.1.xml.out:267 msgid "change password in <_:replaceable-1/> repository" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:291 +#: passwd.1.xml.out:302 msgid "--status" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:294 +#: passwd.1.xml.out:305 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 " @@ -6520,12 +6705,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:309 usermod.8.xml.out:405 +#: passwd.1.xml.out:320 usermod.8.xml.out:405 msgid "--unlock" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:312 +#: passwd.1.xml.out:323 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 " @@ -6533,7 +6718,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:325 +#: passwd.1.xml.out:336 #, fuzzy #| msgid "" #| "Set the number of days of warning before a password change is required. " @@ -6550,71 +6735,97 @@ msgstr "" "terminie zmiany hasła." #. (itstool) path: term/option -#: passwd.1.xml.out:335 +#: passwd.1.xml.out:346 #, fuzzy #| msgid "-" msgid "-x" msgstr "-" #. (itstool) path: listitem/para -#: passwd.1.xml.out:338 +#: passwd.1.xml.out:349 msgid "" "Set the maximum number of days a password remains valid. After <_:" "replaceable-1/>, the password is required to be changed." msgstr "" +#. (itstool) path: term/option +#: passwd.1.xml.out:363 +msgid "--stdin" +msgstr "" + +#. (itstool) path: listitem/para +#: passwd.1.xml.out:366 +msgid "" +"This option is used to indicate that passwd should read the new password " +"from standard input, which can be a pipe." +msgstr "" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:355 +#: passwd.1.xml.out:377 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 "" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:360 +#: passwd.1.xml.out:382 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 "" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:365 +#: passwd.1.xml.out:387 msgid "" "<_:command-1/> uses PAM to authenticate users and to change their passwords." msgstr "" #. (itstool) path: term/filename -#: passwd.1.xml.out:411 +#: passwd.1.xml.out:433 #, fuzzy #| msgid "/etc/passwd" msgid "/etc/pam.d/passwd" msgstr "/etc/passwd" #. (itstool) path: listitem/para -#: passwd.1.xml.out:439 +#: passwd.1.xml.out:461 msgid "invalid combination of options" msgstr "nieprawidłowa kombinacja opcji" #. (itstool) path: listitem/para -#: passwd.1.xml.out:445 +#: passwd.1.xml.out:467 msgid "unexpected failure, nothing done" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:451 +#: passwd.1.xml.out:473 msgid "unexpected failure, <_:filename-1/> file missing" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:457 +#: passwd.1.xml.out:479 msgid "<_:filename-1/> file busy, try again" msgstr "" +#. (itstool) path: citerefentry/refentrytitle +#: passwd.1.xml.out:499 +#, fuzzy +#| msgid "passwd" +msgid "makepasswd" +msgstr "passwd" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:472 +#: passwd.1.xml.out:494 msgid "" -"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:phrase-4/> " -"<_:citerefentry-5/>." +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>, <_:phrase-5/> <_:citerefentry-6/>." +msgstr "" + +#. (itstool) path: refsect1/para +#: passwd.1.xml.out:517 +msgid "" +"The following web page comically (yet correctly) compares the strength of " +"two different methods for choosing a password: \"https://xkcd.com/936/\"" msgstr "" #. (itstool) path: refnamediv/refpurpose @@ -8107,6 +8318,11 @@ msgstr "" 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" @@ -8399,7 +8615,7 @@ msgstr "" #. (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:583 useradd.8.xml.out:585 +#: useradd.8.xml.out:169 useradd.8.xml.out:603 useradd.8.xml.out:605 msgid "-D" msgstr "-D" @@ -8421,14 +8637,14 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:118 useradd.8.xml.out:592 +#: 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:592 useradd.8.xml.out:598 +#: useradd.8.xml.out:612 useradd.8.xml.out:618 #, fuzzy #| msgid "MAIL_DIR" msgid "BASE_DIR" @@ -8452,18 +8668,18 @@ msgid "" msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:131 useradd.8.xml.out:603 +#: 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:293 useradd.8.xml.out:343 -#: useradd.8.xml.out:393 useradd.8.xml.out:523 useradd.8.xml.out:604 -#: useradd.8.xml.out:616 useradd.8.xml.out:633 useradd.8.xml.out:649 -#: useradd.8.xml.out:663 useradd.8.xml.out:677 useradd.8.xml.out:767 -#: usermod.8.xml.out:419 +#: 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" @@ -8543,7 +8759,7 @@ msgstr "" "jest w formacie MM/DD/RR." #. (itstool) path: para/option -#: useradd.8.xml.out:188 useradd.8.xml.out:615 usermod.8.xml.out:418 +#: useradd.8.xml.out:188 useradd.8.xml.out:635 usermod.8.xml.out:418 msgid "EXPIRE" msgstr "" @@ -8574,7 +8790,7 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: useradd.8.xml.out:218 useradd.8.xml.out:482 +#: useradd.8.xml.out:218 useradd.8.xml.out:484 #, fuzzy #| msgid "-" msgid "-F" @@ -8674,6 +8890,13 @@ msgid "" "emphasis-5/>]]]" msgstr "" +#. (itstool) path: para/option +#: useradd.8.xml.out:267 +#, fuzzy +#| msgid "GROUP" +msgid "GROUPS" +msgstr "GRUPA" + #. (itstool) path: listitem/para #: useradd.8.xml.out:260 #, fuzzy @@ -8682,7 +8905,9 @@ msgid "" "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." +"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 "" "Lista dodatkowych grup, do których również należy użytkownik. Każda grupa " "oddzielona jest od następnej przecinkiem, bez wtrąconej spacji. Do grup " @@ -8691,19 +8916,19 @@ msgstr "" "której nie podano na liście, to zostanie z niej usunięty." #. (itstool) path: term/option -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 msgid "--skel" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 #, fuzzy #| msgid "MAIL_DIR" msgid "SKEL_DIR" msgstr "MAIL_DIR" #. (itstool) path: listitem/para -#: useradd.8.xml.out:281 +#: useradd.8.xml.out:283 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 <_:" @@ -8712,12 +8937,12 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: useradd.8.xml.out:288 useradd.8.xml.out:350 +#: useradd.8.xml.out:290 useradd.8.xml.out:352 msgid "--create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:286 +#: useradd.8.xml.out:288 useradd.8.xml.out:592 usermod.8.xml.out:524 #, fuzzy #| msgid ", " msgid "" @@ -8726,43 +8951,43 @@ msgid "" msgstr ", " #. (itstool) path: para/option -#: useradd.8.xml.out:292 +#: useradd.8.xml.out:294 msgid "SKEL" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:294 +#: useradd.8.xml.out:296 #, fuzzy #| msgid "/etc/skel/" msgid "/etc/skel" msgstr "/etc/skel/" #. (itstool) path: listitem/para -#: useradd.8.xml.out:290 +#: useradd.8.xml.out:292 msgid "" "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 "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:296 +#: useradd.8.xml.out:298 msgid "If possible, the ACLs and extended attributes are copied." msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:309 +#: useradd.8.xml.out:311 msgid "UMASK" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:306 +#: useradd.8.xml.out:308 msgid "" "Overrides <_:filename-1/> defaults (<_:option-2/>, <_:option-3/>, <_:" "option-4/>, <_:option-5/> and others)." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:312 +#: useradd.8.xml.out:314 msgid "" "Example: <_:option-1/> <_:replaceable-2/>=<_:replaceable-3/> can be used " "when creating an account to turn off password aging. Multiple <_:option-4/> " @@ -8771,29 +8996,29 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:330 +#: useradd.8.xml.out:332 msgid "--no-log-init" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:332 +#: useradd.8.xml.out:334 msgid "Do not add the user to the lastlog and faillog databases." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:335 +#: useradd.8.xml.out:337 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 "" #. (itstool) path: para/option -#: useradd.8.xml.out:342 +#: useradd.8.xml.out:344 msgid "LOG_INIT" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:340 +#: useradd.8.xml.out:342 msgid "" "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 " @@ -8801,7 +9026,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:353 +#: useradd.8.xml.out:355 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 " @@ -8809,19 +9034,19 @@ msgid "" msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:361 useradd.8.xml.out:379 useradd.8.xml.out:475 +#: useradd.8.xml.out:363 useradd.8.xml.out:381 useradd.8.xml.out:477 msgid "CREATE_HOME" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:359 +#: useradd.8.xml.out:361 msgid "" "By default, if this option is not specified and <_:option-1/> is not " "enabled, no home directories are created." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:364 +#: useradd.8.xml.out:366 msgid "" "The directory where the user's home directory is created must exist and have " "proper SELinux context and permissions. Otherwise the user's home directory " @@ -8829,24 +9054,24 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:373 +#: useradd.8.xml.out:375 msgid "--no-create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:376 +#: useradd.8.xml.out:378 msgid "" "Do not create the user's home directory, even if the system wide setting " "from <_:filename-1/> (<_:option-2/>) is set to <_:replaceable-3/>." msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:386 +#: useradd.8.xml.out:388 msgid "--no-user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:389 +#: useradd.8.xml.out:391 msgid "" "Do not create a group with the same name as the user, but add the user to " "the group specified by the <_:option-1/> option or by the <_:option-2/> " @@ -8854,12 +9079,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:408 +#: useradd.8.xml.out:410 msgid "allows the creation of an account with an already existing UID." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:412 usermod.8.xml.out:277 +#: useradd.8.xml.out:414 usermod.8.xml.out:277 msgid "" "This option is only valid in combination with the <_:option-1/> option. As a " "user identity serves as key to map between users on one hand and " @@ -8869,7 +9094,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:428 +#: useradd.8.xml.out:430 msgid "" "defines an initial password for the account. PASSWORD is expected to be " "encrypted, as returned by <_:citerefentry-1/>. Within a shell script, this " @@ -8877,7 +9102,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:435 +#: useradd.8.xml.out:437 msgid "" "Without this option, the new account will be locked and with no password " "defined, i.e. a single exclamation mark in the respective field of <_:" @@ -8886,14 +9111,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:443 +#: useradd.8.xml.out:445 msgid "" "<_:emphasis-1/>Avoid this option on the command line because the password " "(or encrypted password) will be visible by users listing the processes." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:471 +#: useradd.8.xml.out:473 msgid "" "Note that <_:command-1/> will not create a home directory for such a user, " "regardless of the default setting in <_:filename-2/> (<_:option-3/>). You " @@ -8902,7 +9127,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:479 +#: useradd.8.xml.out:481 msgid "" "Note that this option will not update <_:filename-1/> and <_:filename-2/>. " "You have to specify the <_:option-3/> options if you want to update the " @@ -8910,7 +9135,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:520 +#: useradd.8.xml.out:522 msgid "" "sets the path to the user's login shell. Without this option, the system " "will use the <_:option-1/> variable specified in <_:filename-2/>, or, if " @@ -8919,19 +9144,19 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 msgid "--uid" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 #, fuzzy #| msgid "GID" msgid "UID" msgstr "GID" #. (itstool) path: listitem/para -#: useradd.8.xml.out:534 +#: useradd.8.xml.out:536 msgid "" "The numerical value of the user's ID. This value must be unique, unless the " "<_:option-1/> option is used. The value must be non-negative. The default is " @@ -8940,54 +9165,76 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:549 +#: useradd.8.xml.out:551 msgid "--user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:552 +#: useradd.8.xml.out:554 msgid "" "Create a group with the same name as the user, and add the user to this " "group." msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:593 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:525 #, fuzzy #| msgid "-" msgid "-Z" msgstr "-" #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:594 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:526 msgid "--selinux-user" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:566 usermod.8.xml.out:501 +#: useradd.8.xml.out:568 usermod.8.xml.out:501 msgid "SEUSER" msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: useradd.8.xml.out:573 +#: useradd.8.xml.out:575 useradd.8.xml.out:589 usermod.8.xml.out:521 msgid "semanage" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:569 +#: useradd.8.xml.out:571 msgid "" -"defines the SELinux user for the new account. Without this option, a SELinux " +"defines the SELinux user for the new account. Without this option, SELinux " "uses the default user. Note that the shadow system doesn't store the selinux-" "user, it uses <_:citerefentry-1/> for that." msgstr "" +#. (itstool) path: term/option +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +msgid "--selinux-range" +msgstr "" + +#. (itstool) path: term/replaceable +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +msgid "SERANGE" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:585 +msgid "" +"defines the SELinux MLS range for the new account. Without this option, " +"SELinux uses the default range. Note that the shadow system doesn't store " +"the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + #. (itstool) path: refsect2/title -#: useradd.8.xml.out:581 +#: useradd.8.xml.out:601 msgid "Changing the default values" msgstr "" #. (itstool) path: refsect2/para -#: useradd.8.xml.out:582 +#: useradd.8.xml.out:602 msgid "" "When invoked with only the <_:option-1/> option, <_:command-2/> will display " "the current default values. When invoked with <_:option-3/> plus other " @@ -8996,7 +9243,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:595 +#: useradd.8.xml.out:615 msgid "" "sets the path prefix for a new user's home directory. The user's name will " "be affixed to the end of <_:replaceable-1/> to form the new user's home " @@ -9005,18 +9252,18 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:602 useradd.8.xml.out:614 useradd.8.xml.out:631 -#: useradd.8.xml.out:647 useradd.8.xml.out:661 +#: useradd.8.xml.out:622 useradd.8.xml.out:634 useradd.8.xml.out:651 +#: useradd.8.xml.out:667 useradd.8.xml.out:681 msgid "This option sets the <_:option-1/> variable in <_:filename-2/>." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:613 +#: useradd.8.xml.out:633 msgid "sets the date on which newly created user accounts are disabled." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:625 +#: useradd.8.xml.out:645 msgid "" "defines the number of days after the password exceeded its maximum age where " "the user is expected to replace this password. See <_:citerefentry-1/>for " @@ -9024,7 +9271,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:642 +#: useradd.8.xml.out:662 msgid "" "sets the default primary group for newly created users, accepting group " "names or a numerical group ID. The named group must exist, and the GID must " @@ -9032,23 +9279,23 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:658 +#: useradd.8.xml.out:678 msgid "defines the default login shell for new users." msgstr "" #. (itstool) path: refsect1/title -#: useradd.8.xml.out:673 +#: useradd.8.xml.out:693 msgid "NOTES" msgstr "UWAGI" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: useradd.8.xml.out:675 useradd.8.xml.out:779 +#: useradd.8.xml.out:695 useradd.8.xml.out:799 msgid "/etc/skel/" msgstr "/etc/skel/" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:674 +#: useradd.8.xml.out:694 msgid "" "The system administrator is responsible for placing the default user files " "in the <_:filename-1/> directory (or any other skeleton directory specified " @@ -9056,26 +9303,26 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:683 +#: useradd.8.xml.out:703 msgid "" "You may not add a user to a NIS or LDAP group. This must be performed on the " "corresponding server." msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:688 +#: useradd.8.xml.out:708 msgid "" "Similarly, if the username already exists in an external user database such " "as NIS or LDAP, <_:command-1/> will deny the user account creation request." msgstr "" #. (itstool) path: para/command -#: useradd.8.xml.out:702 +#: useradd.8.xml.out:722 msgid "ls" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:694 +#: useradd.8.xml.out:714 msgid "" "Usernames may contain only lower and upper case letters, digits, " "underscores, or dashes. They can end with a dollar sign. Dashes are not " @@ -9086,60 +9333,60 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:704 +#: useradd.8.xml.out:724 msgid "Usernames may only be up to 32 characters long." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:769 +#: useradd.8.xml.out:789 msgid "Default values for account creation." msgstr "" #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 #, fuzzy #| msgid "/etc/default/useradd" msgid "/etc/shadow-maint/useradd-pre.d/*" msgstr "/etc/default/useradd" #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 msgid "/etc/shadow-maint/useradd-post.d/*" msgstr "" #. (itstool) path: varlistentry/term -#: useradd.8.xml.out:773 userdel.8.xml.out:209 +#: useradd.8.xml.out:793 userdel.8.xml.out:209 msgid "<_:filename-1/>, <_:filename-2/>" msgstr "" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 #, fuzzy #| msgid "OPTIONS" msgid "ACTION" msgstr "OPCJE" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 msgid "SUBJECT" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #, fuzzy #| msgid "useradd" msgid "useradd-pre.d" msgstr "useradd" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #, fuzzy #| msgid "useradd" msgid "useradd-post.d" msgstr "useradd" #. (itstool) path: listitem/para -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "" "Run-part files to execute during user addition. The environment variable <_:" "command-1/> will be populated with useradd and <_:command-2/> with the <_:" @@ -9149,48 +9396,48 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:781 +#: useradd.8.xml.out:801 msgid "Directory containing default files." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:819 userdel.8.xml.out:243 +#: useradd.8.xml.out:839 userdel.8.xml.out:243 msgid "can't update password file" msgstr "nie można zaktualizować pliku z hasłami" #. (itstool) path: listitem/para -#: useradd.8.xml.out:837 +#: useradd.8.xml.out:857 #, fuzzy #| msgid "UID already in use (and no )" msgid "UID already in use (and no <_:option-1/>)" msgstr "UID juz jest używany (i nie uzyto opcji )" #. (itstool) path: listitem/para -#: useradd.8.xml.out:849 +#: useradd.8.xml.out:869 #, fuzzy #| msgid "group name already in use" msgid "username or group name already in use" msgstr "nazwa grupy już jest w użyciu" #. (itstool) path: listitem/para -#: useradd.8.xml.out:861 +#: useradd.8.xml.out:881 msgid "can't create home directory" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:865 +#: useradd.8.xml.out:885 #, fuzzy #| msgid "1" msgid "14" msgstr "1" #. (itstool) path: listitem/para -#: useradd.8.xml.out:867 +#: useradd.8.xml.out:887 msgid "can't update SELinux user mapping" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:876 usermod.8.xml.out:603 +#: useradd.8.xml.out:896 usermod.8.xml.out:620 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:" @@ -9886,9 +10133,16 @@ msgid "" "shadow system doesn't store the selinux-user, it uses semanage(8) for that." msgstr "" -#. (itstool) path: refsect1/para +#. (itstool) path: listitem/para #: usermod.8.xml.out:518 msgid "" +"defines the SELinux MLS range for the new account. Note that the shadow " +"system doesn't store the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + +#. (itstool) path: refsect1/para +#: usermod.8.xml.out:535 +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. <_:command-1/> " @@ -9897,69 +10151,69 @@ msgid "" msgstr "" #. (itstool) path: para/command -#: usermod.8.xml.out:527 +#: usermod.8.xml.out:544 msgid "crontab" msgstr "" #. (itstool) path: para/command -#: usermod.8.xml.out:528 +#: usermod.8.xml.out:545 msgid "at" msgstr "" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:526 +#: usermod.8.xml.out:543 msgid "" "You must change the owner of any <_:command-1/> files or <_:command-2/> jobs " "manually." msgstr "" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:530 +#: usermod.8.xml.out:547 msgid "You must make any changes involving NIS on the NIS server." msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:559 +#: usermod.8.xml.out:576 #, fuzzy #| msgid "Group account information." msgid "Group account information" msgstr "Informacje o grupach użytkowników." #. (itstool) path: listitem/para -#: usermod.8.xml.out:565 +#: usermod.8.xml.out:582 #, fuzzy #| msgid "Secure group account information." -msgid "Secure group account informatio." +msgid "Secure group account information" msgstr "Informacje chronione o grupach użytkowników." #. (itstool) path: listitem/para -#: usermod.8.xml.out:571 +#: usermod.8.xml.out:588 #, fuzzy #| msgid "Shadow password suite configuration." msgid "Shadow password suite configuration" msgstr "Konfiguracja pakietu shadow." #. (itstool) path: listitem/para -#: usermod.8.xml.out:577 +#: usermod.8.xml.out:594 #, fuzzy #| msgid "User account information." msgid "User account information" msgstr "Informacja o kontach użytkowników." #. (itstool) path: listitem/para -#: usermod.8.xml.out:583 +#: usermod.8.xml.out:600 #, fuzzy #| msgid "Secure user account information." msgid "Secure user account information" msgstr "Informacje chronione o użytkownikach." #. (itstool) path: listitem/para -#: usermod.8.xml.out:589 +#: usermod.8.xml.out:606 msgid "Per user subordinate group IDs" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:595 +#: usermod.8.xml.out:612 msgid "Per user subordinate user IDs" msgstr "" @@ -10007,7 +10261,7 @@ msgstr "vipw" #| "envar>, and finally the default editor, vi1." msgid "" -"The <_:command-1/> and <_:command-2/> commands edits the files <_:filename-3/" +"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 " @@ -12609,9 +12863,6 @@ msgstr "" #~ "newgrp5." -#~ msgid "-K =" -#~ msgstr "-K =" - #, fuzzy #~ msgid " user,..." #~ msgstr "" diff --git a/man/po/ru.po b/man/po/ru.po index c9bb37e1..2a550188 100644 --- a/man/po/ru.po +++ b/man/po/ru.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: 1:4.0.18.2-1\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-14 18:23-0500\n" "PO-Revision-Date: 2013-08-23 01:39+0200\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" @@ -17,12 +17,12 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #. (itstool) path: author/firstname -#: chage.1.xml.out:16 chfn.1.xml.out:18 chpasswd.8.xml.out:19 chsh.1.xml.out:18 +#: 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:84 logoutd.8.xml.out:15 -#: newgrp.1.xml.out:16 newusers.8.xml.out:31 passwd.1.xml.out:22 +#: 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 @@ -30,12 +30,12 @@ msgid "Julianne Frances" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:17 chfn.1.xml.out:19 chpasswd.8.xml.out:20 chsh.1.xml.out:19 +#: 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:85 logoutd.8.xml.out:16 -#: newgrp.1.xml.out:17 newusers.8.xml.out:32 passwd.1.xml.out:23 +#: 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 @@ -48,14 +48,14 @@ msgid "Creation, 1990" msgstr "" #. (itstool) path: author/firstname -#: chage.1.xml.out:21 chfn.1.xml.out:23 chgpasswd.8.xml.out:20 -#: chpasswd.8.xml.out:24 chsh.1.xml.out:23 expiry.1.xml.out:24 -#: faillog.5.xml.out:20 faillog.8.xml.out:20 gpasswd.1.xml.out:25 +#: 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:89 logoutd.8.xml.out:20 -#: newgrp.1.xml.out:21 newusers.8.xml.out:36 passwd.1.xml.out:27 +#: 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 @@ -64,14 +64,14 @@ msgid "Thomas" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:22 chfn.1.xml.out:24 chgpasswd.8.xml.out:21 -#: chpasswd.8.xml.out:25 chsh.1.xml.out:24 expiry.1.xml.out:25 -#: faillog.5.xml.out:21 faillog.8.xml.out:21 gpasswd.1.xml.out:26 +#: 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:90 logoutd.8.xml.out:21 -#: newgrp.1.xml.out:22 newusers.8.xml.out:37 passwd.1.xml.out:28 +#: 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 @@ -80,14 +80,14 @@ msgid "Kłoczko" msgstr "" #. (itstool) path: author/email -#: chage.1.xml.out:23 chfn.1.xml.out:25 chgpasswd.8.xml.out:22 -#: chpasswd.8.xml.out:26 chsh.1.xml.out:25 expiry.1.xml.out:26 -#: faillog.5.xml.out:22 faillog.8.xml.out:22 gpasswd.1.xml.out:27 +#: 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:91 logoutd.8.xml.out:22 -#: newgrp.1.xml.out:23 newusers.8.xml.out:38 passwd.1.xml.out:29 +#: 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 @@ -96,14 +96,14 @@ msgid "kloczek@pld.org.pl" msgstr "" #. (itstool) path: author/contrib -#: chage.1.xml.out:24 chfn.1.xml.out:26 chpasswd.8.xml.out:27 chsh.1.xml.out:26 +#: 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:28 groupadd.8.xml.out:26 groupdel.8.xml.out:24 +#: 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:92 -#: logoutd.8.xml.out:23 newgrp.1.xml.out:24 newusers.8.xml.out:39 -#: passwd.1.xml.out:30 passwd.5.xml.out:23 porttime.5.xml.out:23 +#: 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 @@ -112,15 +112,15 @@ msgid "shadow-utils maintainer, 2000 - 2007" msgstr "" #. (itstool) path: author/firstname -#: chage.1.xml.out:27 chfn.1.xml.out:29 chgpasswd.8.xml.out:26 -#: chpasswd.8.xml.out:30 chsh.1.xml.out:29 expiry.1.xml.out:30 -#: faillog.5.xml.out:26 faillog.8.xml.out:26 gpasswd.1.xml.out:31 +#: 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:95 -#: logoutd.8.xml.out:26 newgrp.1.xml.out:27 newusers.8.xml.out:42 -#: nologin.8.xml.out:15 passwd.1.xml.out:33 passwd.5.xml.out:26 +#: 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 @@ -129,15 +129,15 @@ msgid "Nicolas" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:28 chfn.1.xml.out:30 chgpasswd.8.xml.out:27 -#: chpasswd.8.xml.out:31 chsh.1.xml.out:30 expiry.1.xml.out:31 -#: faillog.5.xml.out:27 faillog.8.xml.out:27 gpasswd.1.xml.out:32 +#: 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:96 -#: logoutd.8.xml.out:27 newgrp.1.xml.out:28 newusers.8.xml.out:43 -#: nologin.8.xml.out:16 passwd.1.xml.out:34 passwd.5.xml.out:27 +#: 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 @@ -146,15 +146,15 @@ msgid "François" msgstr "" #. (itstool) path: author/email -#: chage.1.xml.out:29 chfn.1.xml.out:31 chgpasswd.8.xml.out:28 -#: chpasswd.8.xml.out:32 chsh.1.xml.out:31 expiry.1.xml.out:32 -#: faillog.5.xml.out:28 faillog.8.xml.out:28 gpasswd.1.xml.out:33 +#: 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:97 -#: logoutd.8.xml.out:28 newgrp.1.xml.out:29 newusers.8.xml.out:44 -#: nologin.8.xml.out:17 passwd.1.xml.out:35 passwd.5.xml.out:28 +#: 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 @@ -163,15 +163,15 @@ msgid "nicolas.francois@centraliens.net" msgstr "" #. (itstool) path: author/contrib -#: chage.1.xml.out:30 chfn.1.xml.out:32 chgpasswd.8.xml.out:29 -#: chpasswd.8.xml.out:33 chsh.1.xml.out:32 expiry.1.xml.out:33 -#: faillog.5.xml.out:29 faillog.8.xml.out:29 gpasswd.1.xml.out:34 +#: 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:98 -#: logoutd.8.xml.out:29 newgrp.1.xml.out:30 newusers.8.xml.out:45 -#: nologin.8.xml.out:18 passwd.1.xml.out:36 passwd.5.xml.out:29 +#: 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 @@ -187,9 +187,9 @@ msgstr "" #. (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:216 chage.1.xml.out:226 -#: chage.1.xml.out:236 chage.1.xml.out:241 chage.1.xml.out:285 -#: login.defs.5.xml.out:233 shadow.5.xml.out:262 +#: 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" @@ -198,11 +198,11 @@ msgstr "chage" #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum #. (itstool) path: para/replaceable -#: chage.1.xml.out:35 chage.1.xml.out:294 chfn.1.xml.out:37 chfn.1.xml.out:65 -#: chfn.1.xml.out:205 chgpasswd.8.xml.out:217 chpasswd.8.xml.out:265 -#: chsh.1.xml.out:37 chsh.1.xml.out:171 expiry.1.xml.out:38 -#: faillog.8.xml.out:235 gpasswd.1.xml.out:39 gpasswd.1.xml.out:93 -#: gpasswd.1.xml.out:277 groupadd.8.xml.out:345 groupadd.8.xml.out:348 +#: 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 @@ -210,46 +210,46 @@ msgstr "chage" #: 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:516 -#: login.defs.5.xml.out:518 login.defs.5.xml.out:520 login.defs.5.xml.out:530 -#: login.defs.5.xml.out:533 login.defs.5.xml.out:536 newgrp.1.xml.out:35 +#: 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:456 -#: nologin.8.xml.out:60 passwd.1.xml.out:41 passwd.1.xml.out:431 -#: 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:817 -#: useradd.8.xml.out:878 useradd.8.xml.out:881 useradd.8.xml.out:884 -#: 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:605 usermod.8.xml.out:608 usermod.8.xml.out:611 -#: vipw.8.xml.out:78 vipw.8.xml.out:205 +#: 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" # type: Content of: #. (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:40 groups.1.xml.out:35 login.1.xml.out:68 -#: newgrp.1.xml.out:36 passwd.1.xml.out:42 sg.1.xml.out:36 su.1.xml.out:52 +#: 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 "Пользовательские команды" # type: Content of: #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:37 chfn.1.xml.out:39 chgpasswd.8.xml.out:36 -#: chpasswd.8.xml.out:40 chsh.1.xml.out:39 expiry.1.xml.out:40 -#: faillog.5.xml.out:36 faillog.8.xml.out:36 gpasswd.1.xml.out:41 +#: 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:105 -#: logoutd.8.xml.out:36 newgrp.1.xml.out:37 newusers.8.xml.out:52 -#: nologin.8.xml.out:25 passwd.1.xml.out:43 passwd.5.xml.out:36 +#: 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 @@ -258,20 +258,20 @@ msgid "shadow-utils" msgstr "shadow-utils" #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:38 chfn.1.xml.out:40 chgpasswd.8.xml.out:37 -#: chpasswd.8.xml.out:41 chsh.1.xml.out:40 expiry.1.xml.out:41 -#: faillog.5.xml.out:37 faillog.8.xml.out:37 gpasswd.1.xml.out:42 +#: 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:106 -#: logoutd.8.xml.out:37 newgrp.1.xml.out:38 newusers.8.xml.out:53 -#: nologin.8.xml.out:26 passwd.1.xml.out:44 passwd.5.xml.out:37 +#: 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.13" +msgid "4.15.0" msgstr "" # type: Content of: @@ -283,10 +283,10 @@ msgstr "изменяет информацию об устаревании пар # type: Content of: #. (itstool) path: arg/replaceable #. (itstool) path: cmdsynopsis/arg -#: chage.1.xml.out:48 chfn.1.xml.out:51 chgpasswd.8.xml.out:48 -#: chpasswd.8.xml.out:52 chsh.1.xml.out:51 faillog.8.xml.out:48 +#: 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:64 passwd.1.xml.out:55 +#: 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 @@ -300,7 +300,7 @@ msgstr "параметры" #. (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:58 useradd.8.xml.out:68 +#: 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" @@ -308,15 +308,15 @@ msgstr "УЧЁТНАЯ_ЗАПИСЬ" # type: Content of: #. (itstool) path: refsect1/title -#: chage.1.xml.out:57 chfn.1.xml.out:60 chgpasswd.8.xml.out:54 -#: chpasswd.8.xml.out:58 chsh.1.xml.out:60 expiry.1.xml.out:58 -#: faillog.5.xml.out:45 faillog.8.xml.out:54 gpasswd.1.xml.out:70 +#: 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:114 -#: logoutd.8.xml.out:51 newgrp.1.xml.out:53 newusers.8.xml.out:73 -#: nologin.8.xml.out:40 passwd.1.xml.out:64 passwd.5.xml.out:45 +#: 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 @@ -346,12 +346,12 @@ msgstr "" # type: Content of: <refentry><refsect1><title> #. (itstool) path: refsect1/title #. (itstool) path: arg/replaceable -#: chage.1.xml.out:67 chfn.1.xml.out:87 chgpasswd.8.xml.out:81 -#: chpasswd.8.xml.out:106 chsh.1.xml.out:71 expiry.1.xml.out:67 -#: faillog.8.xml.out:65 gpasswd.1.xml.out:110 groupadd.8.xml.out:51 +#: 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:250 passwd.1.xml.out:150 +#: 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 @@ -360,12 +360,12 @@ msgstr "ПАРАМЕТРЫ" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: chage.1.xml.out:68 chfn.1.xml.out:88 chgpasswd.8.xml.out:82 -#: chpasswd.8.xml.out:107 chsh.1.xml.out:72 expiry.1.xml.out:68 -#: faillog.8.xml.out:66 gpasswd.1.xml.out:118 groupadd.8.xml.out:81 +#: 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:251 -#: passwd.1.xml.out:151 pwck.8.xml.out:158 su.1.xml.out:121 +#: 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 <command>su</command> command are:" @@ -375,9 +375,9 @@ msgstr "Параметры команды <command>su</command>:" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><option> #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:74 gpasswd.1.xml.out:137 groupmems.8.xml.out:94 -#: passwd.1.xml.out:168 useradd.8.xml.out:123 useradd.8.xml.out:151 -#: useradd.8.xml.out:599 usermod.8.xml.out:112 usermod.8.xml.out:260 +#: 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 msgid "-d" msgstr "-d" @@ -395,34 +395,34 @@ msgstr "" #. (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 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:122 chpasswd.8.xml.out:113 chpasswd.8.xml.out:164 -#: chpasswd.8.xml.out:177 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:123 gpasswd.1.xml.out:136 -#: gpasswd.1.xml.out:157 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:305 passwd.1.xml.out:196 passwd.1.xml.out:245 -#: passwd.1.xml.out:267 passwd.1.xml.out:277 passwd.1.xml.out:321 -#: passwd.1.xml.out:334 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:277 -#: useradd.8.xml.out:424 useradd.8.xml.out:488 useradd.8.xml.out:501 -#: useradd.8.xml.out:516 useradd.8.xml.out:530 useradd.8.xml.out:565 -#: useradd.8.xml.out:591 useradd.8.xml.out:609 useradd.8.xml.out:621 -#: useradd.8.xml.out:638 useradd.8.xml.out:654 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 +#: 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 "" @@ -430,10 +430,10 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:82 chage.1.xml.out:288 groupadd.8.xml.out:303 +#: 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:138 passwd.1.xml.out:425 pwck.8.xml.out:287 -#: su.1.xml.out:385 useradd.8.xml.out:811 userdel.8.xml.out:235 +#: 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" @@ -464,7 +464,7 @@ msgid "-E" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:610 +#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:630 #: usermod.8.xml.out:129 msgid "--expiredate" msgstr "" @@ -472,7 +472,7 @@ 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:610 usermod.8.xml.out:129 usermod.8.xml.out:243 +#: useradd.8.xml.out:630 usermod.8.xml.out:129 usermod.8.xml.out:243 #: usermod.8.xml.out:416 msgid "EXPIRE_DATE" msgstr "" @@ -509,7 +509,7 @@ 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:344 useradd.8.xml.out:315 +#: passwd.1.xml.out:355 useradd.8.xml.out:317 #, fuzzy #| msgid "1" msgid "-1" @@ -533,60 +533,60 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><option> #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:115 chfn.1.xml.out:102 chgpasswd.8.xml.out:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 passwd.1.xml.out:190 -#: pwck.8.xml.out:173 pwconv.8.xml.out:171 useradd.8.xml.out:271 +#: 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:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 -#: passwd.1.xml.out:190 pwck.8.xml.out:173 pwconv.8.xml.out:171 -#: su.1.xml.out:387 useradd.8.xml.out:271 userdel.8.xml.out:99 +#: 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:88 chgpasswd.8.xml.out:101 -#: chgpasswd.8.xml.out:107 chgpasswd.8.xml.out:113 chgpasswd.8.xml.out:135 -#: chpasswd.8.xml.out:139 chpasswd.8.xml.out:147 chpasswd.8.xml.out:155 +#: 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:149 gpasswd.1.xml.out:172 -#: gpasswd.1.xml.out:188 groupadd.8.xml.out:87 groupadd.8.xml.out:118 +#: 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:268 newusers.8.xml.out:280 newusers.8.xml.out:286 -#: newusers.8.xml.out:320 passwd.1.xml.out:156 passwd.1.xml.out:167 -#: passwd.1.xml.out:179 passwd.1.xml.out:190 passwd.1.xml.out:209 -#: passwd.1.xml.out:221 passwd.1.xml.out:257 passwd.1.xml.out:290 -#: passwd.1.xml.out:308 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:271 -#: useradd.8.xml.out:330 useradd.8.xml.out:349 useradd.8.xml.out:372 -#: useradd.8.xml.out:385 useradd.8.xml.out:404 useradd.8.xml.out:455 -#: useradd.8.xml.out:548 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 +#: 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 "<option>-a</option>, <option>--all</option>" msgid "<_:option-1/>, <_:option-2/>" @@ -594,19 +594,19 @@ msgstr "<option>-a</option>, <option>--all</option>" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chage.1.xml.out:117 chfn.1.xml.out:146 chgpasswd.8.xml.out:109 -#: chpasswd.8.xml.out:149 chsh.1.xml.out:79 expiry.1.xml.out:90 -#: faillog.8.xml.out:100 gpasswd.1.xml.out:151 groupadd.8.xml.out:120 +#: 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:282 -#: passwd.1.xml.out:192 pwck.8.xml.out:175 pwconv.8.xml.out:173 -#: useradd.8.xml.out:273 userdel.8.xml.out:101 vipw.8.xml.out:98 +#: 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 "Показать краткую справку и закончить работу." # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option -#: chage.1.xml.out:121 passwd.1.xml.out:197 +#: chage.1.xml.out:121 passwd.1.xml.out:193 #, fuzzy #| msgid "-" msgid "-i" @@ -631,8 +631,8 @@ msgid "-I" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:128 passwd.1.xml.out:197 useradd.8.xml.out:196 -#: useradd.8.xml.out:622 usermod.8.xml.out:152 +#: 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 "" @@ -640,8 +640,8 @@ msgstr "" #. (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:197 passwd.1.xml.out:203 useradd.8.xml.out:196 -#: useradd.8.xml.out:211 useradd.8.xml.out:622 useradd.8.xml.out:632 +#: 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 "" @@ -685,10 +685,10 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option #. (itstool) path: group/arg -#: chage.1.xml.out:147 chage.1.xml.out:242 faillog.8.xml.out:88 +#: 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:222 -#: passwd.1.xml.out:316 su.1.xml.out:144 su.1.xml.out:156 useradd.8.xml.out:330 +#: 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" @@ -707,11 +707,11 @@ msgstr "Показать информацию об устаревании учё # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:157 chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:113 -#: chpasswd.8.xml.out:78 chpasswd.8.xml.out:84 chpasswd.8.xml.out:130 -#: chpasswd.8.xml.out:155 faillog.8.xml.out:88 faillog.8.xml.out:120 +#: 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:287 useradd.8.xml.out:350 useradd.8.xml.out:476 +#: 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 "-" @@ -719,20 +719,20 @@ msgid "-m" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:157 passwd.1.xml.out:246 +#: 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:246 -#: passwd.1.xml.out:251 +#: chage.1.xml.out:157 chage.1.xml.out:162 passwd.1.xml.out:242 +#: passwd.1.xml.out:247 msgid "MIN_DAYS" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chage.1.xml.out:160 passwd.1.xml.out:249 +#: chage.1.xml.out:160 passwd.1.xml.out:245 #, fuzzy #| msgid "" #| "Set the minimum number of days between password changes to " @@ -750,27 +750,27 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:169 gpasswd.1.xml.out:81 gpasswd.1.xml.out:112 -#: gpasswd.1.xml.out:217 useradd.8.xml.out:162 useradd.8.xml.out:373 +#: 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 msgid "-M" msgstr "-M" #. (itstool) path: term/option -#: chage.1.xml.out:169 passwd.1.xml.out:335 +#: 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:335 passwd.1.xml.out:340 passwd.1.xml.out:345 +#: passwd.1.xml.out:346 passwd.1.xml.out:351 passwd.1.xml.out:356 msgid "MAX_DAYS" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: para/option #. (itstool) path: term/option -#: chage.1.xml.out:178 chage.1.xml.out:203 usermod.8.xml.out:481 +#: chage.1.xml.out:178 chage.1.xml.out:218 usermod.8.xml.out:481 #, fuzzy #| msgid "-" msgid "-W" @@ -802,7 +802,7 @@ msgstr "" "активирует выдачу предупреждения о смене пароля пользователя заранее." #. (itstool) path: listitem/para -#: chage.1.xml.out:181 passwd.1.xml.out:343 +#: chage.1.xml.out:181 passwd.1.xml.out:354 #, fuzzy #| msgid "" #| "Passing the number <emphasis remap=\"I\">-1</emphasis> as " @@ -817,24 +817,24 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option -#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 chsh.1.xml.out:84 faillog.8.xml.out:157 -#: gpasswd.1.xml.out:189 groupadd.8.xml.out:201 groupdel.8.xml.out:89 +#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 chsh.1.xml.out:84 faillog.8.xml.out:157 +#: gpasswd.1.xml.out:191 groupadd.8.xml.out:201 groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 groupmod.8.xml.out:164 grpck.8.xml.out:149 -#: lastlog.8.xml.out:104 newusers.8.xml.out:306 passwd.1.xml.out:278 -#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:489 +#: lastlog.8.xml.out:104 newusers.8.xml.out:308 passwd.1.xml.out:274 +#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:491 #: userdel.8.xml.out:123 usermod.8.xml.out:328 vipw.8.xml.out:115 #, fuzzy msgid "-R" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 chsh.1.xml.out:84 faillog.8.xml.out:157 -#: gpasswd.1.xml.out:158 groupadd.8.xml.out:201 groupdel.8.xml.out:89 +#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 chsh.1.xml.out:84 faillog.8.xml.out:157 +#: gpasswd.1.xml.out:160 groupadd.8.xml.out:201 groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 groupmod.8.xml.out:164 grpck.8.xml.out:149 -#: lastlog.8.xml.out:104 newusers.8.xml.out:306 passwd.1.xml.out:278 -#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:489 +#: lastlog.8.xml.out:104 newusers.8.xml.out:308 passwd.1.xml.out:274 +#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:491 #: userdel.8.xml.out:123 usermod.8.xml.out:328 vipw.8.xml.out:115 msgid "--root" msgstr "" @@ -843,22 +843,22 @@ msgstr "" #. (itstool) path: para/replaceable #: chage.1.xml.out:190 chage.1.xml.out:194 chage.1.xml.out:196 #: chfn.1.xml.out:130 chfn.1.xml.out:134 chfn.1.xml.out:136 -#: chgpasswd.8.xml.out:123 chgpasswd.8.xml.out:127 chgpasswd.8.xml.out:129 -#: chpasswd.8.xml.out:165 chpasswd.8.xml.out:169 chpasswd.8.xml.out:171 +#: chgpasswd.8.xml.out:129 chgpasswd.8.xml.out:133 chgpasswd.8.xml.out:135 +#: chpasswd.8.xml.out:171 chpasswd.8.xml.out:175 chpasswd.8.xml.out:177 #: chsh.1.xml.out:84 chsh.1.xml.out:88 chsh.1.xml.out:90 faillog.8.xml.out:157 -#: faillog.8.xml.out:161 faillog.8.xml.out:163 gpasswd.1.xml.out:158 -#: gpasswd.1.xml.out:162 gpasswd.1.xml.out:164 groupadd.8.xml.out:201 +#: faillog.8.xml.out:161 faillog.8.xml.out:163 gpasswd.1.xml.out:160 +#: gpasswd.1.xml.out:164 gpasswd.1.xml.out:166 groupadd.8.xml.out:201 #: groupadd.8.xml.out:205 groupadd.8.xml.out:207 groupdel.8.xml.out:89 #: groupdel.8.xml.out:93 groupdel.8.xml.out:95 groupmems.8.xml.out:142 #: groupmems.8.xml.out:146 groupmems.8.xml.out:148 groupmod.8.xml.out:164 #: groupmod.8.xml.out:168 groupmod.8.xml.out:170 grpck.8.xml.out:149 #: grpck.8.xml.out:153 grpck.8.xml.out:155 lastlog.8.xml.out:104 -#: lastlog.8.xml.out:108 lastlog.8.xml.out:110 newusers.8.xml.out:306 -#: newusers.8.xml.out:310 newusers.8.xml.out:312 passwd.1.xml.out:278 -#: passwd.1.xml.out:282 passwd.1.xml.out:284 pwck.8.xml.out:197 +#: lastlog.8.xml.out:108 lastlog.8.xml.out:110 newusers.8.xml.out:308 +#: newusers.8.xml.out:312 newusers.8.xml.out:314 passwd.1.xml.out:274 +#: passwd.1.xml.out:278 passwd.1.xml.out:280 pwck.8.xml.out:197 #: pwck.8.xml.out:201 pwck.8.xml.out:203 pwconv.8.xml.out:178 -#: pwconv.8.xml.out:182 pwconv.8.xml.out:184 useradd.8.xml.out:489 -#: useradd.8.xml.out:493 useradd.8.xml.out:495 userdel.8.xml.out:123 +#: pwconv.8.xml.out:182 pwconv.8.xml.out:184 useradd.8.xml.out:491 +#: useradd.8.xml.out:495 useradd.8.xml.out:497 userdel.8.xml.out:123 #: userdel.8.xml.out:127 userdel.8.xml.out:129 usermod.8.xml.out:328 #: usermod.8.xml.out:332 usermod.8.xml.out:334 vipw.8.xml.out:115 #: vipw.8.xml.out:119 vipw.8.xml.out:121 @@ -866,12 +866,12 @@ msgid "CHROOT_DIR" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:193 chfn.1.xml.out:133 chgpasswd.8.xml.out:126 -#: chpasswd.8.xml.out:168 chsh.1.xml.out:87 faillog.8.xml.out:160 -#: gpasswd.1.xml.out:161 groupadd.8.xml.out:204 groupdel.8.xml.out:92 +#: chage.1.xml.out:193 chfn.1.xml.out:133 chgpasswd.8.xml.out:132 +#: chpasswd.8.xml.out:174 chsh.1.xml.out:87 faillog.8.xml.out:160 +#: gpasswd.1.xml.out:163 groupadd.8.xml.out:204 groupdel.8.xml.out:92 #: groupmems.8.xml.out:145 groupmod.8.xml.out:167 grpck.8.xml.out:152 -#: lastlog.8.xml.out:107 newusers.8.xml.out:309 passwd.1.xml.out:281 -#: pwck.8.xml.out:200 pwconv.8.xml.out:181 useradd.8.xml.out:492 +#: lastlog.8.xml.out:107 newusers.8.xml.out:311 passwd.1.xml.out:277 +#: pwck.8.xml.out:200 pwconv.8.xml.out:181 useradd.8.xml.out:494 #: userdel.8.xml.out:126 usermod.8.xml.out:331 vipw.8.xml.out:118 #, fuzzy #| msgid "" @@ -887,21 +887,61 @@ msgstr "" "использовать файлы настройки из каталога <replaceable>КАТ_CHROOT</" "replaceable>." +# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option -#: chage.1.xml.out:203 passwd.1.xml.out:322 +#: chage.1.xml.out:203 chpasswd.8.xml.out:184 groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 groupmod.8.xml.out:177 passwd.1.xml.out:287 +#: useradd.8.xml.out:504 userdel.8.xml.out:136 usermod.8.xml.out:341 +#, fuzzy +#| msgid "-" +msgid "-P" +msgstr "-" + +#. (itstool) path: term/option +#: chage.1.xml.out:203 chpasswd.8.xml.out:184 groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 groupmod.8.xml.out:177 passwd.1.xml.out:287 +#: useradd.8.xml.out:504 userdel.8.xml.out:136 usermod.8.xml.out:341 +msgid "--prefix" +msgstr "" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: chage.1.xml.out:203 chage.1.xml.out:208 chpasswd.8.xml.out:184 +#: chpasswd.8.xml.out:189 groupadd.8.xml.out:214 groupadd.8.xml.out:219 +#: groupdel.8.xml.out:102 groupdel.8.xml.out:106 groupdel.8.xml.out:108 +#: groupmod.8.xml.out:177 groupmod.8.xml.out:181 groupmod.8.xml.out:183 +#: passwd.1.xml.out:287 passwd.1.xml.out:292 useradd.8.xml.out:504 +#: useradd.8.xml.out:509 userdel.8.xml.out:136 userdel.8.xml.out:140 +#: userdel.8.xml.out:142 usermod.8.xml.out:341 usermod.8.xml.out:346 +msgid "PREFIX_DIR" +msgstr "" + +#. (itstool) path: listitem/para +#: chage.1.xml.out:206 chpasswd.8.xml.out:187 groupadd.8.xml.out:217 +#: passwd.1.xml.out:290 useradd.8.xml.out:507 +msgid "" +"Apply changes to configuration files under the root filesystem found under " +"the directory <_:replaceable-1/>. 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 "" + +#. (itstool) path: term/option +#: chage.1.xml.out:218 passwd.1.xml.out:333 msgid "--warndays" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:203 chage.1.xml.out:208 passwd.1.xml.out:322 -#: passwd.1.xml.out:327 +#: chage.1.xml.out:218 chage.1.xml.out:223 passwd.1.xml.out:333 +#: passwd.1.xml.out:338 msgid "WARN_DAYS" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chage.1.xml.out:206 +#: chage.1.xml.out:221 #, fuzzy #| msgid "" #| "Set the number of days of warning before a password change is required. " @@ -919,13 +959,13 @@ msgstr "" "устаревании пароля, перед тем как это случится." #. (itstool) path: para/emphasis -#: chage.1.xml.out:220 chfn.1.xml.out:163 chsh.1.xml.out:112 +#: chage.1.xml.out:235 chfn.1.xml.out:163 chsh.1.xml.out:112 msgid "[ ]" msgstr "" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: chage.1.xml.out:215 +#: chage.1.xml.out:230 #, fuzzy #| msgid "" #| "If none of the options are selected, <command>chage</command> operates in " @@ -948,14 +988,14 @@ msgstr "" # type: Content of: <refentry><refsect1><title> #. (itstool) path: refsect1/title -#: chage.1.xml.out:224 chsh.1.xml.out:117 groups.1.xml.out:65 +#: chage.1.xml.out:239 chsh.1.xml.out:117 groups.1.xml.out:65 #: lastlog.8.xml.out:170 msgid "NOTE" msgstr "ЗАМЕЧАНИЕ" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: chage.1.xml.out:225 +#: chage.1.xml.out:240 #, fuzzy #| msgid "" #| "The <command>chage</command> program requires a shadow password file to " @@ -966,7 +1006,7 @@ msgstr "" "Программа <command>chage</command> требует наличия файла теневых паролей." #. (itstool) path: refsect1/para -#: chage.1.xml.out:229 +#: chage.1.xml.out:244 msgid "" "The chage program will report only the information from the shadow password " "file. This implies that configuration from other sources (e.g. LDAP or empty " @@ -981,7 +1021,7 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: chage.1.xml.out:238 grpck.8.xml.out:294 login.defs.5.xml.out:410 +#: chage.1.xml.out:253 grpck.8.xml.out:294 login.defs.5.xml.out:429 #: passwd.5.xml.out:185 pwck.8.xml.out:40 pwck.8.xml.out:47 pwck.8.xml.out:53 #: pwck.8.xml.out:71 pwck.8.xml.out:147 pwck.8.xml.out:159 pwck.8.xml.out:191 #: pwck.8.xml.out:223 pwck.8.xml.out:284 pwconv.8.xml.out:197 @@ -990,7 +1030,7 @@ msgid "pwck" msgstr "pwck" #. (itstool) path: refsect1/para -#: chage.1.xml.out:235 +#: chage.1.xml.out:250 msgid "" "The <_:command-1/> program will also not report any inconsistency between " "the shadow and passwd files (e.g. missing x in the passwd file). The <_:" @@ -999,7 +1039,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: chage.1.xml.out:241 +#: chage.1.xml.out:256 #, fuzzy #| msgid "" #| "The <command>chage</command> command is restricted to the root user, " @@ -1017,53 +1057,55 @@ msgstr "" "устаревания своего пароля." #. (itstool) path: refsect1/title -#: chage.1.xml.out:249 chfn.1.xml.out:170 chgpasswd.8.xml.out:175 -#: chpasswd.8.xml.out:216 chsh.1.xml.out:131 gpasswd.1.xml.out:241 +#: chage.1.xml.out:264 chfn.1.xml.out:170 chgpasswd.8.xml.out:201 +#: chpasswd.8.xml.out:256 chsh.1.xml.out:150 gpasswd.1.xml.out:243 #: groupadd.8.xml.out:247 groupdel.8.xml.out:133 groupmems.8.xml.out:176 #: groupmod.8.xml.out:212 grpck.8.xml.out:196 lastlog.8.xml.out:182 -#: login.1.xml.out:270 newgrp.1.xml.out:85 newusers.8.xml.out:360 -#: passwd.1.xml.out:372 pwck.8.xml.out:240 pwconv.8.xml.out:204 sg.1.xml.out:74 -#: su.1.xml.out:314 useradd.8.xml.out:710 userdel.8.xml.out:165 -#: usermod.8.xml.out:536 vipw.8.xml.out:142 +#: login.1.xml.out:270 newgrp.1.xml.out:85 newusers.8.xml.out:381 +#: passwd.1.xml.out:394 pwck.8.xml.out:240 pwconv.8.xml.out:204 sg.1.xml.out:74 +#: su.1.xml.out:314 useradd.8.xml.out:730 userdel.8.xml.out:165 +#: usermod.8.xml.out:553 vipw.8.xml.out:142 msgid "CONFIGURATION" msgstr "НАСТРОЙКА" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> #. (itstool) path: para/filename #. (itstool) path: term/filename -#: chage.1.xml.out:252 chfn.1.xml.out:68 chfn.1.xml.out:173 chfn.1.xml.out:187 -#: chgpasswd.8.xml.out:70 chgpasswd.8.xml.out:155 chgpasswd.8.xml.out:178 -#: chgpasswd.8.xml.out:205 chpasswd.8.xml.out:77 chpasswd.8.xml.out:134 -#: chpasswd.8.xml.out:200 chpasswd.8.xml.out:219 chpasswd.8.xml.out:247 -#: chsh.1.xml.out:134 chsh.1.xml.out:159 gpasswd.1.xml.out:244 -#: groupadd.8.xml.out:129 groupadd.8.xml.out:239 groupadd.8.xml.out:250 -#: groupadd.8.xml.out:276 groupdel.8.xml.out:136 groupmems.8.xml.out:179 -#: groupmod.8.xml.out:109 groupmod.8.xml.out:204 groupmod.8.xml.out:215 -#: groupmod.8.xml.out:239 grpck.8.xml.out:199 lastlog.8.xml.out:185 -#: login.1.xml.out:273 login.1.xml.out:365 login.access.5.xml.out:100 -#: login.defs.5.xml.out:116 login.defs.5.xml.out:515 newgrp.1.xml.out:88 -#: newusers.8.xml.out:340 newusers.8.xml.out:363 newusers.8.xml.out:423 -#: passwd.1.xml.out:375 passwd.1.xml.out:405 pwck.8.xml.out:243 +#: chage.1.xml.out:267 chfn.1.xml.out:68 chfn.1.xml.out:173 chfn.1.xml.out:187 +#: chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:159 chgpasswd.8.xml.out:168 +#: chgpasswd.8.xml.out:177 chgpasswd.8.xml.out:204 chgpasswd.8.xml.out:233 +#: chpasswd.8.xml.out:79 chpasswd.8.xml.out:140 chpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:227 chpasswd.8.xml.out:236 chpasswd.8.xml.out:259 +#: chpasswd.8.xml.out:289 chsh.1.xml.out:153 chsh.1.xml.out:200 +#: gpasswd.1.xml.out:246 groupadd.8.xml.out:129 groupadd.8.xml.out:239 +#: groupadd.8.xml.out:250 groupadd.8.xml.out:276 groupdel.8.xml.out:136 +#: groupmems.8.xml.out:179 groupmod.8.xml.out:109 groupmod.8.xml.out:204 +#: groupmod.8.xml.out:215 groupmod.8.xml.out:239 grpck.8.xml.out:199 +#: lastlog.8.xml.out:185 login.1.xml.out:273 login.1.xml.out:365 +#: login.access.5.xml.out:100 login.defs.5.xml.out:118 login.defs.5.xml.out:534 +#: newgrp.1.xml.out:88 newusers.8.xml.out:340 newusers.8.xml.out:349 +#: newusers.8.xml.out:357 newusers.8.xml.out:384 newusers.8.xml.out:444 +#: passwd.1.xml.out:397 passwd.1.xml.out:427 pwck.8.xml.out:243 #: pwconv.8.xml.out:148 pwconv.8.xml.out:207 pwconv.8.xml.out:215 #: pwconv.8.xml.out:230 sg.1.xml.out:77 su.1.xml.out:109 su.1.xml.out:219 #: su.1.xml.out:277 su.1.xml.out:317 su.1.xml.out:357 useradd.8.xml.out:241 -#: useradd.8.xml.out:307 useradd.8.xml.out:378 useradd.8.xml.out:399 -#: useradd.8.xml.out:467 useradd.8.xml.out:474 useradd.8.xml.out:560 -#: useradd.8.xml.out:713 useradd.8.xml.out:797 userdel.8.xml.out:87 +#: useradd.8.xml.out:309 useradd.8.xml.out:380 useradd.8.xml.out:401 +#: useradd.8.xml.out:469 useradd.8.xml.out:476 useradd.8.xml.out:562 +#: useradd.8.xml.out:733 useradd.8.xml.out:817 userdel.8.xml.out:87 #: userdel.8.xml.out:168 userdel.8.xml.out:191 userdel.8.xml.out:297 -#: usermod.8.xml.out:399 usermod.8.xml.out:539 usermod.8.xml.out:569 +#: usermod.8.xml.out:399 usermod.8.xml.out:556 usermod.8.xml.out:586 #: vipw.8.xml.out:145 msgid "/etc/login.defs" msgstr "/etc/login.defs" #. (itstool) path: refsect1/para -#: chage.1.xml.out:250 chfn.1.xml.out:171 chgpasswd.8.xml.out:176 -#: chpasswd.8.xml.out:217 chsh.1.xml.out:132 gpasswd.1.xml.out:242 +#: chage.1.xml.out:265 chfn.1.xml.out:171 chgpasswd.8.xml.out:202 +#: chpasswd.8.xml.out:257 chsh.1.xml.out:151 gpasswd.1.xml.out:244 #: groupadd.8.xml.out:248 groupdel.8.xml.out:134 groupmems.8.xml.out:177 #: groupmod.8.xml.out:213 grpck.8.xml.out:197 lastlog.8.xml.out:183 -#: login.1.xml.out:271 newgrp.1.xml.out:86 newusers.8.xml.out:361 -#: passwd.1.xml.out:373 pwck.8.xml.out:241 sg.1.xml.out:75 su.1.xml.out:315 -#: useradd.8.xml.out:711 userdel.8.xml.out:166 usermod.8.xml.out:537 +#: login.1.xml.out:271 newgrp.1.xml.out:86 newusers.8.xml.out:382 +#: passwd.1.xml.out:395 pwck.8.xml.out:241 sg.1.xml.out:75 su.1.xml.out:315 +#: useradd.8.xml.out:731 userdel.8.xml.out:166 usermod.8.xml.out:554 #: vipw.8.xml.out:143 #, fuzzy #| msgid "" @@ -1078,138 +1120,138 @@ msgstr "" # type: Content of: <refentry><refsect1><title> #. (itstool) path: refsect1/title -#: chage.1.xml.out:261 chfn.1.xml.out:184 chgpasswd.8.xml.out:190 -#: chpasswd.8.xml.out:232 chsh.1.xml.out:144 expiry.1.xml.out:97 -#: faillog.5.xml.out:72 faillog.8.xml.out:220 gpasswd.1.xml.out:256 +#: chage.1.xml.out:276 chfn.1.xml.out:184 chgpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:274 chsh.1.xml.out:163 expiry.1.xml.out:97 +#: faillog.5.xml.out:72 faillog.8.xml.out:220 gpasswd.1.xml.out:258 #: groupadd.8.xml.out:261 groupdel.8.xml.out:145 groupmems.8.xml.out:188 #: groupmod.8.xml.out:224 groups.1.xml.out:77 grpck.8.xml.out:208 #: gshadow.5.xml.out:132 lastlog.8.xml.out:194 limits.5.xml.out:172 #: login.1.xml.out:314 login.access.5.xml.out:97 logoutd.8.xml.out:65 -#: newgrp.1.xml.out:97 newusers.8.xml.out:396 passwd.1.xml.out:390 +#: newgrp.1.xml.out:97 newusers.8.xml.out:417 passwd.1.xml.out:412 #: passwd.5.xml.out:139 porttime.5.xml.out:106 pwck.8.xml.out:258 #: pwconv.8.xml.out:227 shadow.3.xml.out:202 shadow.5.xml.out:231 -#: sg.1.xml.out:86 su.1.xml.out:342 suauth.5.xml.out:169 useradd.8.xml.out:740 -#: userdel.8.xml.out:182 usermod.8.xml.out:554 vipw.8.xml.out:172 +#: sg.1.xml.out:86 su.1.xml.out:342 suauth.5.xml.out:169 useradd.8.xml.out:760 +#: userdel.8.xml.out:182 usermod.8.xml.out:571 vipw.8.xml.out:172 msgid "FILES" msgstr "ФАЙЛЫ" # type: Content of: <refentry><refsect1><para><filename> #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:265 chfn.1.xml.out:193 chpasswd.8.xml.out:235 -#: chsh.1.xml.out:147 expiry.1.xml.out:100 groupmod.8.xml.out:245 +#: chage.1.xml.out:280 chfn.1.xml.out:193 chpasswd.8.xml.out:277 +#: chsh.1.xml.out:166 expiry.1.xml.out:100 groupmod.8.xml.out:245 #: grpck.8.xml.out:223 lastlog.8.xml.out:63 login.1.xml.out:145 #: login.1.xml.out:329 newgrp.1.xml.out:65 newgrp.1.xml.out:70 -#: newgrp.1.xml.out:100 newusers.8.xml.out:399 passwd.1.xml.out:393 +#: newgrp.1.xml.out:100 newusers.8.xml.out:420 passwd.1.xml.out:415 #: passwd.5.xml.out:47 passwd.5.xml.out:89 passwd.5.xml.out:142 #: pwck.8.xml.out:73 pwck.8.xml.out:145 pwck.8.xml.out:212 pwck.8.xml.out:224 #: pwck.8.xml.out:267 pwconv.8.xml.out:127 shadow.5.xml.out:234 sg.1.xml.out:89 -#: su.1.xml.out:185 su.1.xml.out:197 su.1.xml.out:345 useradd.8.xml.out:524 -#: useradd.8.xml.out:743 userdel.8.xml.out:197 usermod.8.xml.out:103 -#: usermod.8.xml.out:305 usermod.8.xml.out:362 usermod.8.xml.out:575 +#: su.1.xml.out:185 su.1.xml.out:197 su.1.xml.out:345 useradd.8.xml.out:526 +#: useradd.8.xml.out:763 userdel.8.xml.out:197 usermod.8.xml.out:103 +#: usermod.8.xml.out:305 usermod.8.xml.out:362 usermod.8.xml.out:592 #: vipw.8.xml.out:68 vipw.8.xml.out:187 msgid "/etc/passwd" msgstr "/etc/passwd" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chage.1.xml.out:268 chfn.1.xml.out:195 chpasswd.8.xml.out:237 -#: chsh.1.xml.out:149 expiry.1.xml.out:102 groupmod.8.xml.out:247 +#: chage.1.xml.out:283 chfn.1.xml.out:195 chpasswd.8.xml.out:279 +#: chsh.1.xml.out:168 expiry.1.xml.out:102 groupmod.8.xml.out:247 #: grpck.8.xml.out:225 login.1.xml.out:331 newgrp.1.xml.out:102 -#: newusers.8.xml.out:401 passwd.1.xml.out:395 passwd.5.xml.out:144 +#: newusers.8.xml.out:422 passwd.1.xml.out:417 passwd.5.xml.out:144 #: pwck.8.xml.out:269 shadow.5.xml.out:236 sg.1.xml.out:91 su.1.xml.out:347 -#: useradd.8.xml.out:745 userdel.8.xml.out:199 vipw.8.xml.out:189 +#: useradd.8.xml.out:765 userdel.8.xml.out:199 vipw.8.xml.out:189 msgid "User account information." msgstr "содержит информацию о пользователях" # type: Content of: <refentry><refsect1><para><filename> #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:273 chpasswd.8.xml.out:241 expiry.1.xml.out:106 +#: chage.1.xml.out:288 chpasswd.8.xml.out:283 expiry.1.xml.out:106 #: login.1.xml.out:335 newgrp.1.xml.out:68 newgrp.1.xml.out:106 -#: newusers.8.xml.out:295 newusers.8.xml.out:405 passwd.1.xml.out:399 +#: newusers.8.xml.out:297 newusers.8.xml.out:426 passwd.1.xml.out:421 #: passwd.5.xml.out:82 passwd.5.xml.out:148 pwck.8.xml.out:73 #: pwck.8.xml.out:107 pwck.8.xml.out:213 pwck.8.xml.out:225 pwck.8.xml.out:273 #: pwconv.8.xml.out:128 pwconv.8.xml.out:149 shadow.3.xml.out:97 #: shadow.3.xml.out:173 shadow.3.xml.out:205 shadow.5.xml.out:78 -#: shadow.5.xml.out:240 sg.1.xml.out:95 su.1.xml.out:351 useradd.8.xml.out:439 -#: useradd.8.xml.out:464 useradd.8.xml.out:749 userdel.8.xml.out:203 +#: shadow.5.xml.out:240 sg.1.xml.out:95 su.1.xml.out:351 useradd.8.xml.out:441 +#: useradd.8.xml.out:466 useradd.8.xml.out:769 userdel.8.xml.out:203 #: usermod.8.xml.out:144 usermod.8.xml.out:145 usermod.8.xml.out:166 -#: usermod.8.xml.out:167 usermod.8.xml.out:306 usermod.8.xml.out:581 +#: usermod.8.xml.out:167 usermod.8.xml.out:306 usermod.8.xml.out:598 #: vipw.8.xml.out:71 vipw.8.xml.out:193 msgid "/etc/shadow" msgstr "/etc/shadow" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chage.1.xml.out:276 chpasswd.8.xml.out:243 expiry.1.xml.out:108 -#: login.1.xml.out:337 newgrp.1.xml.out:108 newusers.8.xml.out:407 -#: passwd.1.xml.out:401 pwck.8.xml.out:275 shadow.3.xml.out:207 -#: shadow.5.xml.out:242 sg.1.xml.out:97 su.1.xml.out:353 useradd.8.xml.out:751 +#: chage.1.xml.out:291 chpasswd.8.xml.out:285 expiry.1.xml.out:108 +#: login.1.xml.out:337 newgrp.1.xml.out:108 newusers.8.xml.out:428 +#: passwd.1.xml.out:423 pwck.8.xml.out:275 shadow.3.xml.out:207 +#: shadow.5.xml.out:242 sg.1.xml.out:97 su.1.xml.out:353 useradd.8.xml.out:771 #: userdel.8.xml.out:205 vipw.8.xml.out:195 msgid "Secure user account information." msgstr "содержит защищаемую информацию о пользователях" # type: Content of: <refentry><refsect1><title> #. (itstool) path: refsect1/title -#: chage.1.xml.out:283 groupadd.8.xml.out:298 groupdel.8.xml.out:163 -#: groupmod.8.xml.out:254 grpck.8.xml.out:232 passwd.1.xml.out:420 -#: pwck.8.xml.out:282 su.1.xml.out:366 useradd.8.xml.out:806 +#: chage.1.xml.out:298 groupadd.8.xml.out:298 groupdel.8.xml.out:163 +#: groupmod.8.xml.out:254 grpck.8.xml.out:232 passwd.1.xml.out:442 +#: pwck.8.xml.out:282 su.1.xml.out:366 useradd.8.xml.out:826 #: userdel.8.xml.out:230 msgid "EXIT VALUES" msgstr "ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chage.1.xml.out:290 groupadd.8.xml.out:305 groupdel.8.xml.out:170 -#: grpck.8.xml.out:239 passwd.1.xml.out:427 pwck.8.xml.out:289 -#: useradd.8.xml.out:813 userdel.8.xml.out:237 +#: chage.1.xml.out:305 groupadd.8.xml.out:305 groupdel.8.xml.out:170 +#: grpck.8.xml.out:239 passwd.1.xml.out:449 pwck.8.xml.out:289 +#: useradd.8.xml.out:833 userdel.8.xml.out:237 msgid "success" msgstr "успешное выполнение" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chage.1.xml.out:296 passwd.1.xml.out:433 +#: chage.1.xml.out:311 passwd.1.xml.out:455 msgid "permission denied" msgstr "доступ запрещён" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum -#: chage.1.xml.out:300 groupadd.8.xml.out:309 groupdel.8.xml.out:174 +#: chage.1.xml.out:315 groupadd.8.xml.out:309 groupdel.8.xml.out:174 #: groupmod.8.xml.out:265 groups.1.xml.out:95 groups.1.xml.out:98 #: groups.1.xml.out:101 grpck.8.xml.out:249 limits.5.xml.out:90 #: limits.5.xml.out:101 limits.5.xml.out:188 limits.5.xml.out:191 -#: passwd.1.xml.out:437 pwck.8.xml.out:299 useradd.8.xml.out:823 +#: passwd.1.xml.out:459 pwck.8.xml.out:299 useradd.8.xml.out:843 #: userdel.8.xml.out:247 msgid "2" msgstr "2" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chage.1.xml.out:302 groupadd.8.xml.out:311 groupdel.8.xml.out:176 -#: grpck.8.xml.out:245 pwck.8.xml.out:295 useradd.8.xml.out:825 +#: chage.1.xml.out:317 groupadd.8.xml.out:311 groupdel.8.xml.out:176 +#: grpck.8.xml.out:245 pwck.8.xml.out:295 useradd.8.xml.out:845 #: userdel.8.xml.out:249 msgid "invalid command syntax" msgstr "ошибка в параметрах команды" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/replaceable -#: chage.1.xml.out:306 +#: chage.1.xml.out:321 msgid "15" msgstr "15" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chage.1.xml.out:308 +#: chage.1.xml.out:323 msgid "can't find the shadow password file" msgstr "не удалось найти файл теневых паролей" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: chage.1.xml.out:284 groupadd.8.xml.out:299 groupdel.8.xml.out:164 -#: groupmod.8.xml.out:255 grpck.8.xml.out:233 passwd.1.xml.out:421 -#: pwck.8.xml.out:283 useradd.8.xml.out:807 userdel.8.xml.out:231 +#: chage.1.xml.out:299 groupadd.8.xml.out:299 groupdel.8.xml.out:164 +#: groupmod.8.xml.out:255 grpck.8.xml.out:233 passwd.1.xml.out:443 +#: pwck.8.xml.out:283 useradd.8.xml.out:827 userdel.8.xml.out:231 #, fuzzy #| msgid "" #| "The <command>pwck</command> command exits with the following values: " @@ -1223,18 +1265,18 @@ msgstr "" # type: Content of: <refentry><refsect1><title> #. (itstool) path: refsect1/title -#: chage.1.xml.out:316 chfn.1.xml.out:202 chgpasswd.8.xml.out:214 -#: chpasswd.8.xml.out:262 chsh.1.xml.out:168 expiry.1.xml.out:115 -#: faillog.5.xml.out:84 faillog.8.xml.out:232 gpasswd.1.xml.out:274 +#: chage.1.xml.out:331 chfn.1.xml.out:202 chgpasswd.8.xml.out:242 +#: chpasswd.8.xml.out:304 chsh.1.xml.out:209 expiry.1.xml.out:115 +#: faillog.5.xml.out:84 faillog.8.xml.out:232 gpasswd.1.xml.out:276 #: groupadd.8.xml.out:343 groupdel.8.xml.out:202 groupmems.8.xml.out:206 #: groupmod.8.xml.out:323 groups.1.xml.out:89 grpck.8.xml.out:277 #: gshadow.5.xml.out:150 limits.5.xml.out:182 login.1.xml.out:374 -#: login.access.5.xml.out:109 login.defs.5.xml.out:527 newgrp.1.xml.out:127 -#: newusers.8.xml.out:450 nologin.8.xml.out:57 passwd.1.xml.out:471 +#: login.access.5.xml.out:109 login.defs.5.xml.out:546 newgrp.1.xml.out:127 +#: newusers.8.xml.out:471 nologin.8.xml.out:57 passwd.1.xml.out:493 #: passwd.5.xml.out:167 porttime.5.xml.out:118 pwck.8.xml.out:333 #: pwconv.8.xml.out:239 shadow.3.xml.out:214 shadow.5.xml.out:259 -#: sg.1.xml.out:116 su.1.xml.out:413 suauth.5.xml.out:198 useradd.8.xml.out:875 -#: userdel.8.xml.out:308 usermod.8.xml.out:602 vipw.8.xml.out:202 +#: sg.1.xml.out:116 su.1.xml.out:413 suauth.5.xml.out:198 useradd.8.xml.out:895 +#: userdel.8.xml.out:308 usermod.8.xml.out:619 vipw.8.xml.out:202 msgid "SEE ALSO" msgstr "СМОТРИТЕ ТАКЖЕ" @@ -1248,22 +1290,22 @@ msgstr "СМОТРИТЕ ТАКЖЕ" #. (itstool) path: para/command #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: chage.1.xml.out:319 chfn.1.xml.out:211 chpasswd.8.xml.out:265 -#: chsh.1.xml.out:177 expiry.1.xml.out:118 groupadd.8.xml.out:351 +#: 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:399 -#: login.defs.5.xml.out:516 login.defs.5.xml.out:533 login.defs.5.xml.out:539 -#: newusers.8.xml.out:79 newusers.8.xml.out:456 passwd.1.xml.out:40 -#: passwd.1.xml.out:47 passwd.1.xml.out:53 passwd.1.xml.out:66 -#: passwd.1.xml.out:69 passwd.1.xml.out:86 passwd.1.xml.out:116 -#: passwd.1.xml.out:152 passwd.1.xml.out:366 passwd.1.xml.out:413 -#: passwd.1.xml.out:422 passwd.1.xml.out:451 passwd.1.xml.out:457 -#: passwd.1.xml.out:477 passwd.5.xml.out:33 passwd.5.xml.out:40 +#: 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:884 userdel.8.xml.out:316 -#: usermod.8.xml.out:611 vipw.8.xml.out:217 +#: 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" @@ -1271,31 +1313,31 @@ msgstr "passwd" #. (itstool) path: citerefentry/manvolnum #. (itstool) path: refmeta/manvolnum #. (itstool) path: term/replaceable -#: chage.1.xml.out:319 chage.1.xml.out:322 chfn.1.xml.out:208 -#: chfn.1.xml.out:211 chgpasswd.8.xml.out:223 chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 chsh.1.xml.out:177 expiry.1.xml.out:118 +#: 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:292 gpasswd.1.xml.out:295 groupadd.8.xml.out:363 +#: 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:103 login.defs.5.xml.out:539 login.defs.5.xml.out:542 -#: newgrp.1.xml.out:145 newgrp.1.xml.out:148 newusers.8.xml.out:79 -#: newusers.8.xml.out:453 newusers.8.xml.out:460 newusers.8.xml.out:463 -#: nologin.8.xml.out:48 nologin.8.xml.out:63 passwd.1.xml.out:455 -#: passwd.1.xml.out:477 passwd.1.xml.out:480 passwd.1.xml.out:484 +#: 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:628 -#: useradd.8.xml.out:899 useradd.8.xml.out:906 useradd.8.xml.out:909 +#: 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:629 usermod.8.xml.out:633 -#: usermod.8.xml.out:636 vipw.8.xml.out:208 vipw.8.xml.out:211 +#: 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" @@ -1309,20 +1351,20 @@ msgstr "5" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/filename -#: chage.1.xml.out:322 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:542 -#: passwd.1.xml.out:480 passwd.5.xml.out:79 passwd.5.xml.out:194 +#: 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:628 +#: 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:317 expiry.1.xml.out:116 faillog.8.xml.out:233 +#: 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 "" @@ -1335,10 +1377,10 @@ msgstr "" #. (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:171 +#: 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:239 useradd.8.xml.out:878 -#: userdel.8.xml.out:310 usermod.8.xml.out:105 usermod.8.xml.out:605 +#: 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" @@ -1358,8 +1400,8 @@ msgstr "" #. (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:405 useradd.8.xml.out:536 -#: useradd.8.xml.out:837 usermod.8.xml.out:271 usermod.8.xml.out:377 +#: 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 msgid "-o" msgstr "-o" @@ -1437,7 +1479,7 @@ msgstr "" #: 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:622 userdel.8.xml.out:76 userdel.8.xml.out:287 +#: 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" @@ -1507,12 +1549,12 @@ msgstr "" #. (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:173 +#: 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:287 passwd.1.xml.out:268 pwck.8.xml.out:155 -#: pwck.8.xml.out:188 useradd.8.xml.out:224 useradd.8.xml.out:456 -#: useradd.8.xml.out:542 userdel.8.xml.out:106 usermod.8.xml.out:317 +#: 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" @@ -1539,8 +1581,8 @@ msgstr "Изменяет номер комнаты пользователя." #. (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:309 useradd.8.xml.out:414 -#: useradd.8.xml.out:531 usermod.8.xml.out:279 usermod.8.xml.out:369 +#: 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 "-" @@ -1549,7 +1591,7 @@ msgstr "-" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option -#: chfn.1.xml.out:151 passwd.1.xml.out:322 usermod.8.xml.out:463 +#: chfn.1.xml.out:151 passwd.1.xml.out:333 usermod.8.xml.out:463 #, fuzzy #| msgid "-" msgid "-w" @@ -1602,11 +1644,11 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chfn.1.xml.out:189 chgpasswd.8.xml.out:207 chpasswd.8.xml.out:249 -#: chsh.1.xml.out:161 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:425 -#: passwd.1.xml.out:407 pwconv.8.xml.out:232 su.1.xml.out:359 -#: useradd.8.xml.out:799 userdel.8.xml.out:193 +#: 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 "содержит конфигурацию подсистемы теневых паролей" @@ -1620,8 +1662,8 @@ msgstr "содержит конфигурацию подсистемы тене #: 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:270 useradd.8.xml.out:881 -#: userdel.8.xml.out:313 usermod.8.xml.out:608 +#: 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" @@ -1630,25 +1672,25 @@ msgstr "chsh" #. (itstool) path: para/filename #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname -#: chfn.1.xml.out:208 chgpasswd.8.xml.out:223 chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 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:102 -#: login.defs.5.xml.out:109 newusers.8.xml.out:298 newusers.8.xml.out:453 -#: passwd.1.xml.out:484 pwconv.8.xml.out:92 pwconv.8.xml.out:94 +#: 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:899 userdel.8.xml.out:117 userdel.8.xml.out:319 -#: usermod.8.xml.out:629 vipw.8.xml.out:214 +#: 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:215 chsh.1.xml.out:169 +#: 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:23 +#: chgpasswd.8.xml.out:25 msgid "Creation, 2006" msgstr "" @@ -1658,9 +1700,9 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:33 chgpasswd.8.xml.out:40 chgpasswd.8.xml.out:46 -#: chgpasswd.8.xml.out:56 chgpasswd.8.xml.out:66 chgpasswd.8.xml.out:83 -#: login.defs.5.xml.out:249 +#: 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" @@ -1668,10 +1710,10 @@ msgstr "chgpasswd" #. (itstool) path: refmeta/manvolnum #. (itstool) path: citerefentry/manvolnum #. (itstool) path: term/replaceable -#: chgpasswd.8.xml.out:34 chgpasswd.8.xml.out:220 chpasswd.8.xml.out:38 -#: chpasswd.8.xml.out:268 chpasswd.8.xml.out:276 faillog.5.xml.out:87 -#: faillog.8.xml.out:34 gpasswd.1.xml.out:280 gpasswd.1.xml.out:283 -#: gpasswd.1.xml.out:286 gpasswd.1.xml.out:289 groupadd.8.xml.out:37 +#: 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 @@ -1684,32 +1726,32 @@ msgstr "chgpasswd" #: 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:545 -#: logoutd.8.xml.out:34 newusers.8.xml.out:50 newusers.8.xml.out:467 -#: nologin.8.xml.out:23 passwd.1.xml.out:474 passwd.1.xml.out:488 +#: 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:574 -#: useradd.8.xml.out:890 useradd.8.xml.out:893 useradd.8.xml.out:896 -#: useradd.8.xml.out:902 useradd.8.xml.out:913 useradd.8.xml.out:916 -#: 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:617 usermod.8.xml.out:620 usermod.8.xml.out:623 -#: usermod.8.xml.out:626 usermod.8.xml.out:640 usermod.8.xml.out:643 -#: vipw.8.xml.out:36 +#: 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" # type: Content of: <refentry><refmeta><refmiscinfo> #. (itstool) path: refmeta/refmiscinfo -#: chgpasswd.8.xml.out:35 chpasswd.8.xml.out:39 faillog.8.xml.out:35 +#: 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:51 nologin.8.xml.out:24 +#: 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" @@ -1717,13 +1759,13 @@ msgstr "Команды управления системой" # type: Content of: <refentry><refnamediv><refpurpose> #. (itstool) path: refnamediv/refpurpose -#: chgpasswd.8.xml.out:41 +#: chgpasswd.8.xml.out:43 msgid "update group passwords in batch mode" msgstr "обновляет пароли групп в пакетном режиме" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:55 +#: chgpasswd.8.xml.out:57 #, fuzzy #| msgid "" #| "The <command>chgpasswd</command> command reads a list of group name and " @@ -1742,13 +1784,13 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chgpasswd.8.xml.out:61 groupmems.8.xml.out:54 groupmems.8.xml.out:110 +#: chgpasswd.8.xml.out:63 groupmems.8.xml.out:54 groupmems.8.xml.out:110 msgid "group_name" msgstr "имя_группы" # type: Content of: <refentry><refsect1><para><emphasis> #. (itstool) path: para/emphasis -#: chgpasswd.8.xml.out:62 chpasswd.8.xml.out:66 passwd.5.xml.out:77 +#: 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 @@ -1757,13 +1799,13 @@ msgid "password" msgstr "passwd" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:60 chpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:62 chpasswd.8.xml.out:66 msgid "<_:emphasis-1/>:<_:emphasis-2/>" msgstr "" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:66 #, fuzzy #| msgid "" #| "By default the supplied password must be in clear-text, and is encrypted " @@ -1776,8 +1818,8 @@ msgstr "" "шифруется командой <command>chgpasswd</command>." #. (itstool) path: para/option -#: chgpasswd.8.xml.out:70 chpasswd.8.xml.out:75 chpasswd.8.xml.out:132 -#: passwd.1.xml.out:129 +#: 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" @@ -1786,9 +1828,9 @@ msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: para/option #. (itstool) path: term/option -#: chgpasswd.8.xml.out:71 chgpasswd.8.xml.out:101 chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 chpasswd.8.xml.out:130 chpasswd.8.xml.out:139 -#: passwd.1.xml.out:180 useradd.8.xml.out:179 useradd.8.xml.out:610 +#: 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 "-" @@ -1799,16 +1841,16 @@ msgstr "-" #. (itstool) path: para/option #. (itstool) path: term/option #. (itstool) path: arg/arg -#: chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:88 chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 chpasswd.8.xml.out:114 chpasswd.8.xml.out:129 -#: expiry.1.xml.out:60 expiry.1.xml.out:73 newusers.8.xml.out:268 +#: 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:68 +#: chgpasswd.8.xml.out:70 #, fuzzy #| msgid "" #| "The default encryption algorithm can be defined for the system with the " @@ -1827,7 +1869,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:74 chpasswd.8.xml.out:99 +#: 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." @@ -1836,32 +1878,89 @@ msgstr "" "один раз заводится несколько учётных записей." #. (itstool) path: term/option -#: chgpasswd.8.xml.out:88 chpasswd.8.xml.out:114 newusers.8.xml.out:268 +#: 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:90 chpasswd.8.xml.out:117 newusers.8.xml.out:270 +#: 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 "Использовать указанный метод для шифрования паролей." -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:91 chpasswd.8.xml.out:118 -msgid "The available methods are DES, MD5, and NONE." -msgstr "Возможные методы: DES, MD5 и NONE." +#. (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 <placeholder-1/>" +msgid "<_:replaceable-1/>," +msgstr "-h <placeholder-1/>" + +#. (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 +#, fuzzy +#| msgid "-K <placeholder-1/>=<placeholder-2/>" +msgid ", <_:replaceable-1/>, <_:replaceable-2/>" +msgstr "-K <placeholder-1/>=<placeholder-2/>" + +# type: Content of: <refentry><refsect1><title> +#. (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 "ОПИСАНИЕ" + +#. (itstool) path: para/phrase +#: chgpasswd.8.xml.out:99 chpasswd.8.xml.out:126 +#, fuzzy +#| msgid "-h <placeholder-1/>" +msgid ", <_:replaceable-1/>" +msgstr "-h <placeholder-1/>" + +#. (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:94 chpasswd.8.xml.out:121 newusers.8.xml.out:271 +#: chgpasswd.8.xml.out:93 chpasswd.8.xml.out:120 msgid "" -"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc " -"support these methods." +"The available methods are <_:phrase-1/> <_:replaceable-2/>, <_:replaceable-3/" +"><_:phrase-4/><_:phrase-5/> and <_:replaceable-6/> if your libc supports " +"these methods." msgstr "" -"Возможные методы: DES, MD5, NONE и SHA256 или SHA512, если эти методы " -"поддерживается libc." # type: Content of: <refentry><refsect1><itemizedlist><listitem><para> #. (itstool) path: term/option -#: chgpasswd.8.xml.out:101 chpasswd.8.xml.out:139 +#: chgpasswd.8.xml.out:107 chpasswd.8.xml.out:145 #, fuzzy #| msgid "encrypted password" msgid "--encrypted" @@ -1869,18 +1968,18 @@ msgstr "шифрованный пароль" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:103 chpasswd.8.xml.out:141 +#: chgpasswd.8.xml.out:109 chpasswd.8.xml.out:147 msgid "Supplied passwords are in encrypted form." msgstr "Передаваемые пароли заданы в шифрованном виде." #. (itstool) path: term/option -#: chgpasswd.8.xml.out:113 chpasswd.8.xml.out:155 +#: chgpasswd.8.xml.out:119 chpasswd.8.xml.out:161 msgid "--md5" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:115 chpasswd.8.xml.out:157 +#: chgpasswd.8.xml.out:121 chpasswd.8.xml.out:163 msgid "" "Use MD5 encryption instead of DES when the supplied passwords are not " "encrypted." @@ -1891,75 +1990,126 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><option> #. (itstool) path: term/option #. (itstool) path: para/option -#: chgpasswd.8.xml.out:135 chpasswd.8.xml.out:178 chsh.1.xml.out:97 +#: 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:320 pwck.8.xml.out:155 pwck.8.xml.out:209 -#: su.1.xml.out:163 useradd.8.xml.out:517 useradd.8.xml.out:655 -#: usermod.8.xml.out:357 vipw.8.xml.out:70 vipw.8.xml.out:127 +#: 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 msgid "-s" msgstr "-s" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:135 chpasswd.8.xml.out:178 newusers.8.xml.out:320 +#: 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:137 chpasswd.8.xml.out:181 newusers.8.xml.out:322 +#: 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 "Использовать указанное количество раундов шифрования паролей." #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:140 chpasswd.8.xml.out:184 newusers.8.xml.out:325 +#: chgpasswd.8.xml.out:146 chpasswd.8.xml.out:205 newusers.8.xml.out:327 msgid "" -"The value 0 means that the system will choose the default number of rounds " -"for the crypt method (5000)." +"You can only use this option with crypt method: <_:phrase-1/> <_:phrase-2/> " +"<_:phrase-3/>" msgstr "" -"Значение 0 означает, что система выберет количество раундов по умолчанию для " -"выбранного метода шифрования (5000)." #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:144 chpasswd.8.xml.out:188 newusers.8.xml.out:329 -msgid "" -"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced." -msgstr "" -"Минимальное значение равно 1000, а максимальное значение равно 999,999,999." - -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:148 chpasswd.8.xml.out:192 newusers.8.xml.out:333 -msgid "You can only use this option with the SHA256 or SHA512 crypt method." -msgstr "" -"Вы можете использовать этот параметр только при методе шифрования SHA256 или " -"SHA512." - -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:152 newusers.8.xml.out:337 +#: 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 <filename>/etc/login.defs</" #| "filename>." msgid "" -"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and " -"SHA_CRYPT_MAX_ROUNDS variables in <_:filename-1/>." +"By default, the number of rounds for BCRYPT is defined by the " +"BCRYPT_MIN_ROUNDS and BCRYPT_MAX_ROUNDS variables in <_:filename-1/>." msgstr "" "По умолчанию, количество раундов определяется переменными " "SHA_CRYPT_MIN_ROUNDS и SHA_CRYPT_MAX_ROUNDS из <filename>/etc/login.defs</" "filename>." +#. (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 "" +"Минимальное значение равно 1000, а максимальное значение равно 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 <filename>/etc/login.defs</" +#| "filename>." +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 "" +"По умолчанию, количество раундов определяется переменными " +"SHA_CRYPT_MIN_ROUNDS и SHA_CRYPT_MAX_ROUNDS из <filename>/etc/login.defs</" +"filename>." + +#. (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 "" +"Минимальное значение равно 1000, а максимальное значение равно 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 <filename>/etc/login.defs</" +#| "filename>." +msgid "" +"By default, the number of rounds for YESCRYPT is defined by the " +"YESCRYPT_COST_FACTOR in <_:filename-1/>." +msgstr "" +"По умолчанию, количество раундов определяется переменными " +"SHA_CRYPT_MIN_ROUNDS и SHA_CRYPT_MAX_ROUNDS из <filename>/etc/login.defs</" +"filename>." + +#. (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 "" +"Минимальное значение равно 1000, а максимальное значение равно 999,999,999." + # type: Content of: <refentry><refsect1><title> #. (itstool) path: refsect1/title -#: chgpasswd.8.xml.out:163 chpasswd.8.xml.out:208 faillog.8.xml.out:209 -#: gpasswd.1.xml.out:229 groupadd.8.xml.out:285 groupdel.8.xml.out:121 -#: lastlog.8.xml.out:206 login.1.xml.out:236 newusers.8.xml.out:348 -#: passwd.1.xml.out:354 shadow.3.xml.out:194 su.1.xml.out:306 -#: useradd.8.xml.out:682 userdel.8.xml.out:281 usermod.8.xml.out:517 +#: 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 "ПРЕДОСТЕРЕЖЕНИЯ" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:164 chpasswd.8.xml.out:209 +#: 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." @@ -1968,7 +2118,7 @@ msgstr "" "шифрованных файлов другими пользователями." #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:168 newusers.8.xml.out:353 +#: 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." @@ -1981,8 +2131,8 @@ msgstr "" #. (itstool) path: phrase/filename #. (itstool) path: para/filename #. (itstool) path: citerefentry/refentrytitle -#: chgpasswd.8.xml.out:193 gpasswd.1.xml.out:48 gpasswd.1.xml.out:51 -#: gpasswd.1.xml.out:73 gpasswd.1.xml.out:231 gpasswd.1.xml.out:259 +#: 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 @@ -1990,20 +2140,20 @@ msgstr "" #: 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:411 pwck.8.xml.out:261 pwconv.8.xml.out:128 -#: sg.1.xml.out:101 suauth.5.xml.out:90 useradd.8.xml.out:755 -#: userdel.8.xml.out:185 usermod.8.xml.out:557 vipw.8.xml.out:69 +#: 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" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:195 gpasswd.1.xml.out:261 groupadd.8.xml.out:266 +#: 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:413 pwck.8.xml.out:263 -#: sg.1.xml.out:103 useradd.8.xml.out:757 userdel.8.xml.out:187 +#: 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 "содержит информацию о группах" @@ -2012,8 +2162,8 @@ msgstr "содержит информацию о группах" #. (itstool) path: term/filename #. (itstool) path: phrase/filename #. (itstool) path: para/filename -#: chgpasswd.8.xml.out:199 gpasswd.1.xml.out:52 gpasswd.1.xml.out:74 -#: gpasswd.1.xml.out:232 gpasswd.1.xml.out:265 groupadd.8.xml.out:170 +#: 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 @@ -2021,18 +2171,18 @@ msgstr "содержит информацию о группах" #: 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:417 pwconv.8.xml.out:129 sg.1.xml.out:107 -#: useradd.8.xml.out:761 usermod.8.xml.out:563 vipw.8.xml.out:72 +#: 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" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:201 gpasswd.1.xml.out:267 groupadd.8.xml.out:272 +#: 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:419 -#: sg.1.xml.out:109 useradd.8.xml.out:763 vipw.8.xml.out:183 +#: 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 "содержит защищаемую информацию о группах" @@ -2043,12 +2193,12 @@ msgstr "содержит защищаемую информацию о групп #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:217 gpasswd.1.xml.out:38 gpasswd.1.xml.out:45 -#: gpasswd.1.xml.out:59 gpasswd.1.xml.out:72 gpasswd.1.xml.out:85 -#: gpasswd.1.xml.out:119 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:280 +#: 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:617 +#: usermod.8.xml.out:634 msgid "gpasswd" msgstr "gpasswd" @@ -2059,19 +2209,19 @@ msgstr "gpasswd" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:220 gpasswd.1.xml.out:280 groupadd.8.xml.out:36 +#: 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:290 useradd.8.xml.out:890 userdel.8.xml.out:325 -#: usermod.8.xml.out:620 +#: 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:21 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:86 -#: logoutd.8.xml.out:17 newgrp.1.xml.out:18 newusers.8.xml.out:33 +#: 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" @@ -2084,22 +2234,22 @@ msgstr "" #. (itstool) path: para/command #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: chpasswd.8.xml.out:37 chpasswd.8.xml.out:44 chpasswd.8.xml.out:50 -#: chpasswd.8.xml.out:60 chpasswd.8.xml.out:70 chpasswd.8.xml.out:89 -#: chpasswd.8.xml.out:96 chpasswd.8.xml.out:108 chpasswd.8.xml.out:255 -#: login.defs.5.xml.out:259 passwd.1.xml.out:474 +#: 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" # type: Content of: <refentry><refnamediv><refpurpose> #. (itstool) path: refnamediv/refpurpose -#: chpasswd.8.xml.out:45 +#: chpasswd.8.xml.out:47 msgid "update passwords in batch mode" msgstr "обновляет пароли в пакетном режиме" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:59 +#: chpasswd.8.xml.out:61 #, fuzzy #| msgid "" #| "The <command>chpasswd</command> command reads a list of user name and " @@ -2118,14 +2268,14 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:65 groupmems.8.xml.out:52 groupmems.8.xml.out:53 +#: 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 "имя_пользователя" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:68 +#: chpasswd.8.xml.out:70 #, fuzzy #| msgid "" #| "By default the passwords must be supplied in clear-text, and are " @@ -2140,14 +2290,14 @@ msgstr "" "действия пароля, то он будет обновлён." #. (itstool) path: para/option -#: chpasswd.8.xml.out:76 chpasswd.8.xml.out:133 +#: 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" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:73 +#: chpasswd.8.xml.out:75 #, fuzzy #| msgid "" #| "The default encryption algorithm can be defined for the system with the " @@ -2165,7 +2315,7 @@ msgstr "" "<option>-m</option> или <option>-c</option>." #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:81 +#: chpasswd.8.xml.out:83 #, fuzzy #| msgid "" #| "By default, passwords are encrypted by PAM, but (even if not recommended) " @@ -2181,14 +2331,14 @@ msgstr "" "option>, <option>-m</option> или <option>-c</option>." #. (itstool) path: para/phrase -#: chpasswd.8.xml.out:88 +#: 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 "По умолчанию, для шифрования паролей используется PAM." #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:87 +#: chpasswd.8.xml.out:89 #, fuzzy #| msgid "" #| "<phrase condition=\"pam\">Except when PAM is used to encrypt the " @@ -2205,7 +2355,7 @@ msgstr "" "никаких ошибок." #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:93 +#: chpasswd.8.xml.out:95 #, fuzzy #| msgid "" #| "When PAM is used to encrypt the passwords (and update the passwords in " @@ -2224,17 +2374,17 @@ msgstr "" "работу с кодом ошибки." #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:114 +#: chpasswd.8.xml.out:116 msgid "METHOD" msgstr "" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:125 +#: chpasswd.8.xml.out:131 msgid "By default, PAM is used to encrypt the passwords." msgstr "По умолчанию, для шифрования паролей используется PAM." #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:128 +#: chpasswd.8.xml.out:134 #, fuzzy #| msgid "" #| "By default (if none of the <option>-c</option>, <option>-m</option>, or " @@ -2252,47 +2402,18 @@ msgstr "" "<filename>/etc/login.defs</filename>." #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:178 +#: chpasswd.8.xml.out:199 msgid "ROUNDS" msgstr "" -#. (itstool) path: para/option -#: chpasswd.8.xml.out:198 -#, fuzzy -#| msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" -msgid "SHA_CRYPT_MIN_ROUNDS" -msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" - -#. (itstool) path: para/option -#: chpasswd.8.xml.out:199 -#, fuzzy -#| msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" -msgid "SHA_CRYPT_MAX_ROUNDS" -msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" - -#. (itstool) path: listitem/para -#: chpasswd.8.xml.out:196 -#, fuzzy -#| msgid "" -#| "By default, the number of rounds is defined by the " -#| "<option>SHA_CRYPT_MIN_ROUNDS</option> and <option>SHA_CRYPT_MAX_ROUNDS</" -#| "option> variables in <filename>/etc/login.defs</filename>." -msgid "" -"By default, the number of rounds is defined by the <_:option-1/> and <_:" -"option-2/> variables in <_:filename-3/>." -msgstr "" -"По умолчанию, количество раундов определяется переменными " -"<option>SHA_CRYPT_MIN_ROUNDS</option> и <option>SHA_CRYPT_MAX_ROUNDS</" -"option> в <filename>/etc/login.defs</filename>." - # type: Content of: <refentry><refsect1><para><filename> #. (itstool) path: term/filename -#: chpasswd.8.xml.out:253 +#: chpasswd.8.xml.out:295 msgid "/etc/pam.d/chpasswd" msgstr "/etc/pam.d/chpasswd" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:255 newusers.8.xml.out:431 passwd.1.xml.out:413 +#: chpasswd.8.xml.out:297 newusers.8.xml.out:452 passwd.1.xml.out:435 #, fuzzy #| msgid "PAM configuration for <command>passwd</command>." msgid "PAM configuration for <_:command-1/>." @@ -2305,17 +2426,17 @@ msgstr "настройки PAM для <command>passwd</command>" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:268 login.defs.5.xml.out:380 newusers.8.xml.out:49 -#: newusers.8.xml.out:56 newusers.8.xml.out:62 newusers.8.xml.out:75 -#: newusers.8.xml.out:96 newusers.8.xml.out:123 newusers.8.xml.out:132 -#: newusers.8.xml.out:151 newusers.8.xml.out:164 newusers.8.xml.out:170 -#: newusers.8.xml.out:172 newusers.8.xml.out:210 newusers.8.xml.out:230 -#: newusers.8.xml.out:252 newusers.8.xml.out:431 useradd.8.xml.out:902 +#: 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:270 grpck.8.xml.out:285 passwd.1.xml.out:482 +#: chpasswd.8.xml.out:312 grpck.8.xml.out:285 passwd.1.xml.out:507 msgid "<_:citerefentry-1/>," msgstr "" @@ -2326,21 +2447,21 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:276 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:462 -#: newusers.8.xml.out:467 useradd.8.xml.out:52 useradd.8.xml.out:59 +#: 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:284 useradd.8.xml.out:341 -#: useradd.8.xml.out:472 useradd.8.xml.out:584 useradd.8.xml.out:586 -#: useradd.8.xml.out:690 useradd.8.xml.out:808 userdel.8.xml.out:342 -#: usermod.8.xml.out:640 +#: 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:263 newusers.8.xml.out:451 +#: chpasswd.8.xml.out:305 newusers.8.xml.out:472 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:phrase-3/> <_:citerefentry-4/>." msgstr "" @@ -2374,8 +2495,8 @@ msgstr "" #. (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:517 -#: useradd.8.xml.out:655 usermod.8.xml.out:357 +#: 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" @@ -2383,8 +2504,8 @@ 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:517 -#: useradd.8.xml.out:522 useradd.8.xml.out:655 useradd.8.xml.out:662 +#: 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 "" @@ -2425,12 +2546,13 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> #. (itstool) path: para/filename #. (itstool) path: term/filename -#: chsh.1.xml.out:120 chsh.1.xml.out:124 chsh.1.xml.out:153 su.1.xml.out:198 +#: 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:123 chsh.1.xml.out:142 msgid "/bin/rsh" msgstr "" @@ -2464,12 +2586,103 @@ msgstr "" "как, если пользователь случайно изменит свою регистрационную оболочку на эту " "ограниченную оболочку, то не сможет восстановить её первоначальное значение." +#. (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 "" + +# type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> +#. (itstool) path: para/filename +#: chsh.1.xml.out:134 +#, fuzzy +#| msgid "/etc/shells" +msgid "/etc/shells.d/*" +msgstr "/etc/shells" + +# type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> +#. (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 "" +"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 "" + +#. (itstool) path: refsect1/para +#: chsh.1.xml.out:141 +msgid "" +"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 "" + # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: chsh.1.xml.out:155 +#: chsh.1.xml.out:174 msgid "List of valid login shells." msgstr "содержит список разрешённых регистрационных оболочек" +# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#. (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 "содержит список разрешённых регистрационных оболочек" + +#. (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 "" + +# type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> +#. (itstool) path: term/filename +#: chsh.1.xml.out:194 +#, fuzzy +#| msgid "/etc/shells" +msgid "/etc/shells.d" +msgstr "/etc/shells" + +# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> +#. (itstool) path: listitem/para +#: chsh.1.xml.out:196 +#, fuzzy +#| msgid "Directory containing default files." +msgid "Directory for additional user defined configuration files." +msgstr "каталог, содержащий файлы по умолчанию" + # type: Content of: <refentry><refsect1><para><command> #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname @@ -2488,7 +2701,7 @@ msgstr "проверяет и изменяет пароль согласно п # type: Content of: <refentry><refsynopsisdiv><cmdsynopsis><arg><replaceable> #. (itstool) path: arg/replaceable -#: expiry.1.xml.out:52 gpasswd.1.xml.out:61 +#: expiry.1.xml.out:52 gpasswd.1.xml.out:63 msgid "option" msgstr "параметр" @@ -2533,7 +2746,7 @@ msgstr "Принудительно меняет пароль, если его с #. (itstool) path: author/contrib #: faillog.5.xml.out:17 faillog.8.xml.out:17 login.1.xml.out:50 -#: passwd.1.xml.out:24 passwd.5.xml.out:17 porttime.5.xml.out:17 +#: 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 "" @@ -2556,7 +2769,7 @@ msgstr "faillog" # type: Content of: <refentry><refmeta><refmiscinfo> #. (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:104 passwd.5.xml.out:35 +#: 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" @@ -2681,14 +2894,14 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><option> #. (itstool) path: term/option #. (itstool) path: para/option -#: faillog.8.xml.out:72 faillog.8.xml.out:215 gpasswd.1.xml.out:124 -#: groupmems.8.xml.out:83 groupmod.8.xml.out:73 passwd.1.xml.out:157 +#: 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 msgid "-a" msgstr "-a" #. (itstool) path: term/option -#: faillog.8.xml.out:72 passwd.1.xml.out:157 +#: faillog.8.xml.out:72 passwd.1.xml.out:153 msgid "--all" msgstr "" @@ -3004,8 +3217,8 @@ msgstr "" #: login.1.xml.out:108 login.1.xml.out:112 login.1.xml.out:119 #: login.1.xml.out:171 login.1.xml.out:177 login.1.xml.out:230 #: login.1.xml.out:238 login.1.xml.out:247 login.1.xml.out:253 -#: login.1.xml.out:259 login.access.5.xml.out:112 login.defs.5.xml.out:343 -#: login.defs.5.xml.out:518 login.defs.5.xml.out:530 newgrp.1.xml.out:133 +#: login.1.xml.out:259 login.access.5.xml.out:112 login.defs.5.xml.out:356 +#: login.defs.5.xml.out:537 login.defs.5.xml.out:549 newgrp.1.xml.out:133 #: nologin.8.xml.out:60 passwd.5.xml.out:125 passwd.5.xml.out:132 #: passwd.5.xml.out:179 porttime.5.xml.out:121 shadow.5.xml.out:265 #: sg.1.xml.out:122 su.1.xml.out:415 @@ -3013,31 +3226,31 @@ msgid "login" msgstr "login" #. (itstool) path: author/firstname -#: gpasswd.1.xml.out:20 +#: gpasswd.1.xml.out:22 msgid "Rafal" msgstr "" #. (itstool) path: author/surname -#: gpasswd.1.xml.out:21 +#: gpasswd.1.xml.out:23 msgid "Maszkowski" msgstr "" #. (itstool) path: author/contrib -#: gpasswd.1.xml.out:22 login.access.5.xml.out:18 pwconv.8.xml.out:23 +#: gpasswd.1.xml.out:24 login.access.5.xml.out:18 pwconv.8.xml.out:23 #: suauth.5.xml.out:17 msgid "Creation, 1996" msgstr "" # type: Content of: <refentry><refnamediv><refpurpose> #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:47 +#: gpasswd.1.xml.out:49 #, fuzzy #| msgid "administer <placeholder-1/>" msgid "administer <_:filename-1/>" msgstr "управление <placeholder-1/>" #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:50 +#: gpasswd.1.xml.out:52 #, fuzzy #| msgid "administer <placeholder-1/> and <placeholder-2/>" msgid "administer <_:filename-1/> and <_:filename-2/>" @@ -3048,9 +3261,9 @@ msgstr "управление <placeholder-1/> и <placeholder-2/>" #. (itstool) path: para/replaceable #. (itstool) path: citerefentry/refentrytitle #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:64 gpasswd.1.xml.out:89 gpasswd.1.xml.out:129 -#: gpasswd.1.xml.out:142 gpasswd.1.xml.out:177 gpasswd.1.xml.out:181 -#: gpasswd.1.xml.out:193 gpasswd.1.xml.out:197 gpasswd.1.xml.out:292 +#: gpasswd.1.xml.out:66 gpasswd.1.xml.out:91 gpasswd.1.xml.out:131 +#: gpasswd.1.xml.out:144 gpasswd.1.xml.out:179 gpasswd.1.xml.out:183 +#: gpasswd.1.xml.out:195 gpasswd.1.xml.out:199 gpasswd.1.xml.out:294 #: grpck.8.xml.out:49 grpck.8.xml.out:188 grpck.8.xml.out:280 #: gshadow.5.xml.out:156 limits.5.xml.out:138 newgrp.1.xml.out:48 #: newgrp.1.xml.out:145 pwck.8.xml.out:336 pwconv.8.xml.out:114 @@ -3059,19 +3272,19 @@ msgid "group" msgstr "группа" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:73 +#: gpasswd.1.xml.out:75 msgid ", and <_:filename-1/>" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:76 +#: gpasswd.1.xml.out:78 #, fuzzy #| msgid "administrators" msgid "administrators," msgstr "администраторы" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:71 +#: gpasswd.1.xml.out:73 msgid "" "The <_:command-1/> command is used to administer <_:filename-2/><_:phrase-3/" ">. Every group can have <_:phrase-4/> members and a password." @@ -3080,14 +3293,14 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: para/option #. (itstool) path: term/option -#: gpasswd.1.xml.out:80 gpasswd.1.xml.out:112 gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:82 gpasswd.1.xml.out:114 gpasswd.1.xml.out:207 #, fuzzy #| msgid "-" msgid "-A" msgstr "-" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:79 +#: gpasswd.1.xml.out:81 #, fuzzy #| msgid "" #| "System administrators can use the <option>-A</option> option to define " @@ -3104,21 +3317,21 @@ msgstr "" "группы." #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:86 +#: gpasswd.1.xml.out:88 #, fuzzy #| msgid "administrators" msgid "a group administrator" msgstr "администраторы" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:87 +#: gpasswd.1.xml.out:89 #, fuzzy #| msgid "administrators" msgid "a system administrator" msgstr "администраторы" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:84 +#: gpasswd.1.xml.out:86 msgid "" "<_:command-1/> called by <_:phrase-2/> <_:phrase-3/> with a group name only " "prompts for the new password of the <_:replaceable-4/>." @@ -3130,8 +3343,8 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: gpasswd.1.xml.out:93 gpasswd.1.xml.out:180 gpasswd.1.xml.out:196 -#: gpasswd.1.xml.out:277 groups.1.xml.out:71 groups.1.xml.out:92 +#: gpasswd.1.xml.out:95 gpasswd.1.xml.out:182 gpasswd.1.xml.out:198 +#: gpasswd.1.xml.out:279 groups.1.xml.out:71 groups.1.xml.out:92 #: gshadow.5.xml.out:76 gshadow.5.xml.out:165 newgrp.1.xml.out:34 #: newgrp.1.xml.out:41 newgrp.1.xml.out:47 newgrp.1.xml.out:55 #: newgrp.1.xml.out:63 newgrp.1.xml.out:66 sg.1.xml.out:60 sg.1.xml.out:64 @@ -3140,7 +3353,7 @@ msgid "newgrp" msgstr "newgrp" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:91 +#: gpasswd.1.xml.out:93 #, fuzzy #| msgid "" #| "If a password is set the members can still use " @@ -3157,13 +3370,13 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><title> #. (itstool) path: refsect2/title -#: gpasswd.1.xml.out:99 +#: gpasswd.1.xml.out:101 msgid "Notes about group passwords" msgstr "Замечания о паролях групп" # type: Content of: <refentry><refsect1><refsect2><para> #. (itstool) path: refsect2/para -#: gpasswd.1.xml.out:100 +#: gpasswd.1.xml.out:102 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 " @@ -3174,7 +3387,7 @@ msgstr "" "совместной работы различных пользователей." #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:111 +#: gpasswd.1.xml.out:113 #, fuzzy #| msgid "" #| "Except for the <option>-A</option> and <option>-M</option> options, the " @@ -3187,12 +3400,12 @@ msgstr "" "параметры нельзя использовать вместе." #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:115 +#: gpasswd.1.xml.out:117 msgid "The options cannot be combined." msgstr "Параметры не могут быть указаны одновременно." #. (itstool) path: term/option -#: gpasswd.1.xml.out:124 groupmems.8.xml.out:83 +#: gpasswd.1.xml.out:126 groupmems.8.xml.out:83 msgid "--add" msgstr "" @@ -3200,14 +3413,14 @@ msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable #. (itstool) path: arg/replaceable -#: gpasswd.1.xml.out:124 gpasswd.1.xml.out:128 gpasswd.1.xml.out:137 -#: gpasswd.1.xml.out:141 gpasswd.1.xml.out:205 gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:126 gpasswd.1.xml.out:130 gpasswd.1.xml.out:139 +#: gpasswd.1.xml.out:143 gpasswd.1.xml.out:207 gpasswd.1.xml.out:219 #: groups.1.xml.out:48 groups.1.xml.out:59 msgid "user" msgstr "имя" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:127 +#: gpasswd.1.xml.out:129 #, fuzzy #| msgid "" #| "Add the <replaceable>user</replaceable> to the named <replaceable>group</" @@ -3218,12 +3431,12 @@ msgstr "" "<replaceable>группу</replaceable>." #. (itstool) path: term/option -#: gpasswd.1.xml.out:137 groupmems.8.xml.out:94 passwd.1.xml.out:168 +#: gpasswd.1.xml.out:139 groupmems.8.xml.out:94 passwd.1.xml.out:164 msgid "--delete" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:140 +#: gpasswd.1.xml.out:142 #, fuzzy #| msgid "" #| "Remove the <replaceable>user</replaceable> from the named " @@ -3235,19 +3448,19 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option -#: gpasswd.1.xml.out:158 +#: gpasswd.1.xml.out:160 #, fuzzy #| msgid "-" msgid "-Q" msgstr "-" #. (itstool) path: term/option -#: gpasswd.1.xml.out:173 +#: gpasswd.1.xml.out:175 msgid "--remove-password" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:176 +#: gpasswd.1.xml.out:178 #, fuzzy #| msgid "" #| "Remove the password from the named <replaceable>group</replaceable>. The " @@ -3264,12 +3477,12 @@ msgstr "" "command> для входа в указанную <replaceable>группу</replaceable>." #. (itstool) path: term/option -#: gpasswd.1.xml.out:189 +#: gpasswd.1.xml.out:191 msgid "--restrict" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:192 +#: gpasswd.1.xml.out:194 #, fuzzy #| msgid "" #| "Restrict the access to the named <replaceable>group</replaceable>. The " @@ -3287,14 +3500,14 @@ msgstr "" "<replaceable>группу</replaceable>." #. (itstool) path: term/option -#: gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:207 #, fuzzy #| msgid "administrators" msgid "--administrators" msgstr "администраторы" #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:204 gpasswd.1.xml.out:216 +#: gpasswd.1.xml.out:206 gpasswd.1.xml.out:218 #, fuzzy msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>,..." msgstr "" @@ -3303,12 +3516,12 @@ msgstr "" # type: Content of: <refentry><refsect1><itemizedlist><listitem><para> #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:208 +#: gpasswd.1.xml.out:210 msgid "Set the list of administrative users." msgstr "Задать список администраторов группы." #. (itstool) path: term/option -#: gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:219 #, fuzzy #| msgid "members" msgid "--members" @@ -3316,25 +3529,25 @@ msgstr "члены" # type: Content of: <refentry><refsect1><itemizedlist><listitem><para> #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:220 +#: gpasswd.1.xml.out:222 msgid "Set the list of group members." msgstr "Задать список членов группы." #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:232 +#: gpasswd.1.xml.out:234 #, fuzzy msgid "and <_:filename-1/> files." msgstr "-a <placeholder-1/>" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:234 +#: gpasswd.1.xml.out:236 #, fuzzy #| msgid "file" msgid "file." msgstr "файл" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:230 +#: gpasswd.1.xml.out:232 #, fuzzy #| msgid "" #| "This tool only operates on the <filename>/etc/group</filename><phrase " @@ -3359,11 +3572,11 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:283 groupadd.8.xml.out:357 groupdel.8.xml.out:34 +#: gpasswd.1.xml.out:285 groupadd.8.xml.out:357 groupdel.8.xml.out:34 #: groupdel.8.xml.out:41 groupdel.8.xml.out:47 groupdel.8.xml.out:57 #: groupdel.8.xml.out:66 groupdel.8.xml.out:165 groupmems.8.xml.out:221 -#: groupmod.8.xml.out:341 login.defs.5.xml.out:299 useradd.8.xml.out:893 -#: userdel.8.xml.out:328 usermod.8.xml.out:623 +#: groupmod.8.xml.out:341 login.defs.5.xml.out:312 useradd.8.xml.out:913 +#: userdel.8.xml.out:328 usermod.8.xml.out:640 msgid "groupdel" msgstr "groupdel" @@ -3374,11 +3587,11 @@ msgstr "groupdel" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:286 groupadd.8.xml.out:360 groupdel.8.xml.out:220 +#: gpasswd.1.xml.out:288 groupadd.8.xml.out:360 groupdel.8.xml.out:220 #: groupmod.8.xml.out:34 groupmod.8.xml.out:41 groupmod.8.xml.out:47 #: groupmod.8.xml.out:58 groupmod.8.xml.out:67 groupmod.8.xml.out:256 -#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:311 -#: useradd.8.xml.out:896 userdel.8.xml.out:331 usermod.8.xml.out:626 +#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:324 +#: useradd.8.xml.out:916 userdel.8.xml.out:331 usermod.8.xml.out:643 msgid "groupmod" msgstr "groupmod" @@ -3389,10 +3602,10 @@ msgstr "groupmod" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:289 grpck.8.xml.out:33 grpck.8.xml.out:40 +#: gpasswd.1.xml.out:291 grpck.8.xml.out:33 grpck.8.xml.out:40 #: grpck.8.xml.out:46 grpck.8.xml.out:60 grpck.8.xml.out:116 #: grpck.8.xml.out:128 grpck.8.xml.out:141 grpck.8.xml.out:184 -#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:318 +#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:331 #: pwck.8.xml.out:339 pwconv.8.xml.out:198 pwconv.8.xml.out:242 msgid "grpck" msgstr "grpck" @@ -3403,7 +3616,7 @@ msgstr "grpck" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:295 grpck.8.xml.out:95 grpck.8.xml.out:287 +#: gpasswd.1.xml.out:297 grpck.8.xml.out:95 grpck.8.xml.out:287 #: gshadow.5.xml.out:22 gshadow.5.xml.out:29 newgrp.1.xml.out:148 #: pwconv.8.xml.out:114 pwconv.8.xml.out:115 pwconv.8.xml.out:121 #: pwconv.8.xml.out:122 sg.1.xml.out:137 vipw.8.xml.out:211 @@ -3411,12 +3624,12 @@ msgid "gshadow" msgstr "gshadow" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:293 newgrp.1.xml.out:146 sg.1.xml.out:135 +#: gpasswd.1.xml.out:295 newgrp.1.xml.out:146 sg.1.xml.out:135 msgid ", <_:citerefentry-1/>" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:275 newgrp.1.xml.out:128 sg.1.xml.out:117 +#: gpasswd.1.xml.out:277 newgrp.1.xml.out:128 sg.1.xml.out:117 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/><_:phrase-7/>." @@ -3476,8 +3689,8 @@ msgstr "Имена пользователей могут быть длиной #: groupadd.8.xml.out:94 groupadd.8.xml.out:95 groupadd.8.xml.out:102 #: groupadd.8.xml.out:236 groupmems.8.xml.out:110 groupmod.8.xml.out:82 #: groupmod.8.xml.out:136 groupmod.8.xml.out:201 useradd.8.xml.out:96 -#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:391 -#: useradd.8.xml.out:396 useradd.8.xml.out:557 useradd.8.xml.out:639 +#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:393 +#: useradd.8.xml.out:398 useradd.8.xml.out:559 useradd.8.xml.out:659 #: usermod.8.xml.out:174 vipw.8.xml.out:90 msgid "-g" msgstr "-g" @@ -3503,7 +3716,7 @@ msgstr "" #. (itstool) path: term/option #: groupadd.8.xml.out:102 groupmod.8.xml.out:82 useradd.8.xml.out:230 -#: useradd.8.xml.out:639 usermod.8.xml.out:174 +#: useradd.8.xml.out:659 usermod.8.xml.out:174 msgid "--gid" msgstr "" @@ -3513,8 +3726,8 @@ msgstr "" #. (itstool) path: para/option #: groupadd.8.xml.out:102 groupadd.8.xml.out:105 groupadd.8.xml.out:151 #: groupmod.8.xml.out:73 groupmod.8.xml.out:82 groupmod.8.xml.out:87 -#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:300 -#: useradd.8.xml.out:469 +#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:302 +#: useradd.8.xml.out:471 msgid "GID" msgstr "GID" @@ -3559,7 +3772,7 @@ msgid "GID_MAX" msgstr "GID_MAX GID_MIN" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:111 useradd.8.xml.out:541 +#: groupadd.8.xml.out:111 useradd.8.xml.out:543 #, fuzzy #| msgid "" #| "See also the <option>-r</option> option and the <option>UID_MAX</option> " @@ -3572,33 +3785,33 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option #: groupadd.8.xml.out:125 groupadd.8.xml.out:131 groupadd.8.xml.out:134 -#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:303 -#: useradd.8.xml.out:314 useradd.8.xml.out:317 useradd.8.xml.out:319 -#: useradd.8.xml.out:320 +#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:305 +#: useradd.8.xml.out:316 useradd.8.xml.out:319 useradd.8.xml.out:321 +#: useradd.8.xml.out:322 #, fuzzy #| msgid "-" msgid "-K" msgstr "-" #. (itstool) path: term/option -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "--key" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "KEY" msgstr "КЛЮЧ" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "VALUE" msgstr "ЗНАЧЕНИЕ" #. (itstool) path: varlistentry/term -#: groupadd.8.xml.out:124 useradd.8.xml.out:302 +#: groupadd.8.xml.out:124 useradd.8.xml.out:304 #, fuzzy msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>=<_:replaceable-4/>" msgstr "" @@ -3622,14 +3835,14 @@ msgstr "" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable> #. (itstool) path: para/replaceable -#: groupadd.8.xml.out:134 useradd.8.xml.out:320 +#: groupadd.8.xml.out:134 useradd.8.xml.out:322 #, fuzzy #| msgid "10" msgid "100" msgstr "10" #. (itstool) path: para/replaceable -#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:321 +#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:323 msgid "499" msgstr "" @@ -3650,7 +3863,7 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: term/replaceable #: groupadd.8.xml.out:138 groupadd.8.xml.out:333 groupdel.8.xml.out:192 -#: groupmod.8.xml.out:295 useradd.8.xml.out:853 userdel.8.xml.out:265 +#: groupmod.8.xml.out:295 useradd.8.xml.out:873 userdel.8.xml.out:265 msgid "10" msgstr "10" @@ -3670,7 +3883,7 @@ msgstr "" "replaceable>=<replaceable>499</replaceable> пока не работает." #. (itstool) path: term/option -#: groupadd.8.xml.out:145 groupmod.8.xml.out:132 useradd.8.xml.out:405 +#: groupadd.8.xml.out:145 groupmod.8.xml.out:132 useradd.8.xml.out:407 #: usermod.8.xml.out:271 msgid "--non-unique" msgstr "" @@ -3691,14 +3904,14 @@ msgstr "" #: groupadd.8.xml.out:158 groupmems.8.xml.out:55 groupmems.8.xml.out:130 #: groupmod.8.xml.out:143 login.1.xml.out:80 login.1.xml.out:88 #: login.1.xml.out:95 login.1.xml.out:212 su.1.xml.out:207 -#: useradd.8.xml.out:425 usermod.8.xml.out:237 usermod.8.xml.out:290 +#: useradd.8.xml.out:427 usermod.8.xml.out:237 usermod.8.xml.out:290 #: usermod.8.xml.out:411 vipw.8.xml.out:102 msgid "-p" msgstr "-p" # type: Content of: <refentry><refsect1><para><emphasis> #. (itstool) path: term/option -#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:425 +#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:427 #: usermod.8.xml.out:290 #, fuzzy #| msgid "passwd" @@ -3706,7 +3919,7 @@ msgid "--password" msgstr "passwd" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:425 +#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:427 #: usermod.8.xml.out:290 msgid "PASSWORD" msgstr "" @@ -3715,8 +3928,8 @@ msgstr "" #: groupadd.8.xml.out:163 groupmod.8.xml.out:148 gshadow.5.xml.out:62 #: gshadow.5.xml.out:68 passwd.5.xml.out:103 passwd.5.xml.out:109 #: passwd.5.xml.out:170 shadow.5.xml.out:88 shadow.5.xml.out:94 -#: useradd.8.xml.out:430 useradd.8.xml.out:887 usermod.8.xml.out:295 -#: usermod.8.xml.out:614 +#: useradd.8.xml.out:432 useradd.8.xml.out:907 usermod.8.xml.out:295 +#: usermod.8.xml.out:631 msgid "crypt" msgstr "" @@ -3727,11 +3940,11 @@ msgstr "" #: groupadd.8.xml.out:164 groupadd.8.xml.out:315 groupmod.8.xml.out:148 #: groupmod.8.xml.out:271 groups.1.xml.out:68 groups.1.xml.out:104 #: grpck.8.xml.out:255 gshadow.5.xml.out:63 gshadow.5.xml.out:69 -#: passwd.1.xml.out:443 passwd.5.xml.out:104 passwd.5.xml.out:110 +#: passwd.1.xml.out:465 passwd.5.xml.out:104 passwd.5.xml.out:110 #: passwd.5.xml.out:170 passwd.5.xml.out:176 pwck.8.xml.out:305 #: shadow.3.xml.out:34 shadow.3.xml.out:217 shadow.5.xml.out:89 -#: shadow.5.xml.out:95 useradd.8.xml.out:431 useradd.8.xml.out:829 -#: useradd.8.xml.out:887 usermod.8.xml.out:296 usermod.8.xml.out:614 +#: shadow.5.xml.out:95 useradd.8.xml.out:433 useradd.8.xml.out:849 +#: useradd.8.xml.out:907 usermod.8.xml.out:296 usermod.8.xml.out:631 msgid "3" msgstr "3" @@ -3751,7 +3964,7 @@ msgid "" msgstr "" #. (itstool) path: para/emphasis -#: groupadd.8.xml.out:173 groupmod.8.xml.out:152 useradd.8.xml.out:444 +#: groupadd.8.xml.out:173 groupmod.8.xml.out:152 useradd.8.xml.out:446 #: userdel.8.xml.out:93 usermod.8.xml.out:299 msgid "Note:" msgstr "" @@ -3772,7 +3985,7 @@ msgstr "" "другими пользователям в списке процессов." #. (itstool) path: listitem/para -#: groupadd.8.xml.out:177 groupmod.8.xml.out:156 useradd.8.xml.out:448 +#: groupadd.8.xml.out:177 groupmod.8.xml.out:156 useradd.8.xml.out:450 #: usermod.8.xml.out:309 msgid "" "You should make sure the password respects the system's password policy." @@ -3780,7 +3993,7 @@ msgstr "" "Вы должны проверить, что пароль соответствует политике системных паролей." #. (itstool) path: term/option -#: groupadd.8.xml.out:185 newusers.8.xml.out:287 useradd.8.xml.out:456 +#: groupadd.8.xml.out:185 newusers.8.xml.out:289 useradd.8.xml.out:458 msgid "--system" msgstr "" @@ -3821,47 +4034,12 @@ msgstr "" "<filename>login.defs</filename>, а не из <option>GID_MIN</option>-" "<option>GID_MAX</option>." -# type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -#, fuzzy -#| msgid "-" -msgid "-P" -msgstr "-" - -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -msgid "--prefix" -msgstr "" - -#. (itstool) path: term/replaceable -#. (itstool) path: para/replaceable -#: groupadd.8.xml.out:214 groupadd.8.xml.out:219 groupdel.8.xml.out:102 -#: groupdel.8.xml.out:106 groupdel.8.xml.out:108 groupmod.8.xml.out:177 -#: groupmod.8.xml.out:181 groupmod.8.xml.out:183 useradd.8.xml.out:502 -#: useradd.8.xml.out:507 userdel.8.xml.out:136 userdel.8.xml.out:140 -#: userdel.8.xml.out:142 usermod.8.xml.out:341 usermod.8.xml.out:346 -msgid "PREFIX_DIR" -msgstr "" - -#. (itstool) path: listitem/para -#: groupadd.8.xml.out:217 useradd.8.xml.out:505 -msgid "" -"Apply changes to configuration files under the root filesystem found under " -"the directory <_:replaceable-1/>. 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 "" - # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (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:397 -#: useradd.8.xml.out:549 useradd.8.xml.out:558 usermod.8.xml.out:238 +#: 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 "-" @@ -3887,7 +4065,7 @@ msgstr "Администраторы могут менять пароль или #. (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:386 useradd.8.xml.out:397 useradd.8.xml.out:558 +#: useradd.8.xml.out:388 useradd.8.xml.out:399 useradd.8.xml.out:560 #, fuzzy #| msgid "-" msgid "-N" @@ -3895,15 +4073,15 @@ msgstr "-" #. (itstool) path: para/option #. (itstool) path: para/phrase -#: groupadd.8.xml.out:238 groupmod.8.xml.out:203 login.defs.5.xml.out:448 -#: useradd.8.xml.out:97 useradd.8.xml.out:240 useradd.8.xml.out:398 -#: useradd.8.xml.out:559 userdel.8.xml.out:86 userdel.8.xml.out:296 +#: 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:395 -#: useradd.8.xml.out:556 +#: 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 <option>-g</option>, <option>-N</option>, " @@ -3946,14 +4124,14 @@ msgstr "" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: groupadd.8.xml.out:317 passwd.1.xml.out:463 useradd.8.xml.out:831 +#: groupadd.8.xml.out:317 passwd.1.xml.out:485 useradd.8.xml.out:851 msgid "invalid argument to option" msgstr "недопустимое значение параметра" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/replaceable #: groupadd.8.xml.out:321 groupmod.8.xml.out:277 grpck.8.xml.out:261 -#: passwd.1.xml.out:449 pwck.8.xml.out:311 useradd.8.xml.out:835 +#: passwd.1.xml.out:471 pwck.8.xml.out:311 useradd.8.xml.out:855 msgid "4" msgstr "4" @@ -3967,7 +4145,7 @@ msgstr "такой UID уже существует (и не задан пара # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:847 +#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:867 msgid "9" msgstr "9" @@ -3981,7 +4159,7 @@ msgstr "такое имя группы уже используется" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: groupadd.8.xml.out:335 groupdel.8.xml.out:194 useradd.8.xml.out:855 +#: 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 "не удалось изменить файл групп" @@ -3994,11 +4172,11 @@ msgstr "не удалось изменить файл групп" #. (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:480 useradd.8.xml.out:913 +#: 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:643 +#: userdel.8.xml.out:298 userdel.8.xml.out:300 usermod.8.xml.out:660 msgid "userdel" msgstr "userdel" @@ -4010,11 +4188,11 @@ msgstr "userdel" #. (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:490 passwd.1.xml.out:488 -#: pwck.8.xml.out:140 pwck.8.xml.out:348 useradd.8.xml.out:916 +#: 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:522 +#: usermod.8.xml.out:263 usermod.8.xml.out:539 msgid "usermod" msgstr "usermod" @@ -4041,8 +4219,8 @@ msgstr "удаляет группу" #: 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:392 -#: useradd.8.xml.out:639 useradd.8.xml.out:648 usermod.8.xml.out:174 +#: 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 "ГРУППА" @@ -4100,14 +4278,14 @@ msgstr "" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/replaceable -#: groupdel.8.xml.out:180 groupmod.8.xml.out:283 passwd.1.xml.out:461 -#: pwck.8.xml.out:323 useradd.8.xml.out:841 userdel.8.xml.out:253 +#: 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" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: groupdel.8.xml.out:182 useradd.8.xml.out:843 +#: groupdel.8.xml.out:182 useradd.8.xml.out:863 msgid "specified group doesn't exist" msgstr "указанная группа не существует" @@ -4154,7 +4332,7 @@ msgstr "" #: 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:305 +#: login.defs.5.xml.out:318 msgid "groupmems" msgstr "groupmems" @@ -4350,7 +4528,7 @@ msgstr "" #| "\t$ groupmems -g groups -a gk4\n" #| " " msgid "" -"$ groupadd -r groups $ chmod 2710 groupmems $ chown root.groups groupmems $ " +"$ groupadd -r groups $ chmod 2710 groupmems $ chown root:groups groupmems $ " "groupmems -g groups -a gk4" msgstr "" "\n" @@ -4476,7 +4654,7 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option -#: groupmod.8.xml.out:121 passwd.1.xml.out:246 +#: groupmod.8.xml.out:121 passwd.1.xml.out:242 #, fuzzy #| msgid "-" msgid "-n" @@ -4595,7 +4773,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/replaceable -#: groupmod.8.xml.out:307 useradd.8.xml.out:859 userdel.8.xml.out:271 +#: groupmod.8.xml.out:307 useradd.8.xml.out:879 userdel.8.xml.out:271 msgid "12" msgstr "12" @@ -4838,7 +5016,7 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: arg/replaceable #. (itstool) path: para/replaceable -#: grpck.8.xml.out:113 newusers.8.xml.out:67 newusers.8.xml.out:75 +#: grpck.8.xml.out:113 newusers.8.xml.out:69 newusers.8.xml.out:77 msgid "file" msgstr "файл" @@ -4883,7 +5061,7 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: grpck.8.xml.out:143 login.defs.5.xml.out:134 login.defs.5.xml.out:136 +#: 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 "" @@ -4917,8 +5095,8 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option #. (itstool) path: para/option -#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:161 -#: passwd.1.xml.out:291 +#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:157 +#: passwd.1.xml.out:302 #, fuzzy #| msgid "-" msgid "-S" @@ -5193,7 +5371,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: gshadow.5.xml.out:162 login.defs.5.xml.out:324 pwconv.8.xml.out:48 +#: 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" @@ -5208,7 +5386,7 @@ msgstr "grpconv" #. (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:337 +#: login.defs.5.xml.out:350 msgid "lastlog" msgstr "lastlog" @@ -5276,7 +5454,7 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option -#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:592 +#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:612 #: usermod.8.xml.out:89 #, fuzzy #| msgid "-" @@ -5724,7 +5902,7 @@ msgstr "" #. (itstool) path: para/command #: limits.5.xml.out:122 login.1.xml.out:83 login.1.xml.out:91 #: login.1.xml.out:197 su.1.xml.out:70 su.1.xml.out:82 su.1.xml.out:95 -#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:775 +#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:795 msgid "username" msgstr "имя_пользователя" @@ -6402,8 +6580,8 @@ msgstr "chsh" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.1.xml.out:386 login.defs.5.xml.out:436 login.defs.5.xml.out:520 -#: login.defs.5.xml.out:536 newgrp.1.xml.out:136 passwd.5.xml.out:197 +#: login.1.xml.out:386 login.defs.5.xml.out:455 login.defs.5.xml.out:539 +#: login.defs.5.xml.out:555 newgrp.1.xml.out:136 passwd.5.xml.out:197 #: shadow.5.xml.out:283 sg.1.xml.out:128 su.1.xml.out:50 su.1.xml.out:57 #: su.1.xml.out:62 su.1.xml.out:81 su.1.xml.out:83 su.1.xml.out:121 #: su.1.xml.out:201 su.1.xml.out:239 su.1.xml.out:308 su.1.xml.out:368 @@ -6627,13 +6805,13 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: refnamediv/refpurpose -#: login.defs.5.xml.out:110 +#: login.defs.5.xml.out:112 msgid "shadow password suite configuration" msgstr "содержит конфигурацию подсистемы теневых паролей" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:115 +#: login.defs.5.xml.out:117 #, fuzzy #| msgid "" #| "The <filename>/etc/login.defs</filename> file defines the site-specific " @@ -6652,7 +6830,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:122 +#: login.defs.5.xml.out:124 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 " @@ -6668,14 +6846,14 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:133 useradd.8.xml.out:242 useradd.8.xml.out:380 +#: login.defs.5.xml.out:135 useradd.8.xml.out:242 useradd.8.xml.out:382 #: userdel.8.xml.out:87 userdel.8.xml.out:297 msgid "yes" msgstr "" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><term><replaceable> #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:140 +#: login.defs.5.xml.out:142 #, fuzzy #| msgid "0" msgid "0x" @@ -6683,7 +6861,7 @@ msgstr "0" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:130 +#: login.defs.5.xml.out:132 #, fuzzy #| msgid "" #| "Parameter values may be of four types: strings, booleans, numbers, and " @@ -6719,33 +6897,33 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:145 +#: login.defs.5.xml.out:147 msgid "The following configuration items are provided:" msgstr "Возможны следующие параметры настройки:" #. (itstool) path: para/option #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:193 pwconv.8.xml.out:146 useradd.8.xml.out:309 -#: useradd.8.xml.out:314 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:146 useradd.8.xml.out:311 +#: useradd.8.xml.out:316 msgid "PASS_MAX_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:193 pwconv.8.xml.out:145 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:145 msgid "PASS_MIN_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:194 pwconv.8.xml.out:147 +#: login.defs.5.xml.out:197 pwconv.8.xml.out:147 msgid "PASS_WARN_AGE" msgstr "" # type: Content of: <refentry><refsect1><para> #. (itstool) path: variablelist/para -#: login.defs.5.xml.out:192 +#: login.defs.5.xml.out:195 #, fuzzy #| msgid "" #| "<option>PASS_MAX_DAYS</option>, <option>PASS_MIN_DAYS</option> and " @@ -6763,13 +6941,13 @@ msgstr "" # type: Content of: <refentry><refsect1><title> #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:225 +#: login.defs.5.xml.out:229 msgid "CROSS REFERENCES" msgstr "ПЕРЕКРЁСТНЫЕ ССЫЛКИ" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:226 +#: login.defs.5.xml.out:230 msgid "" "The following cross references show which programs in the shadow password " "suite use which parameters." @@ -6781,8 +6959,8 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: phrase/option #. (itstool) path: para/option -#: login.defs.5.xml.out:235 login.defs.5.xml.out:423 login.defs.5.xml.out:431 -#: login.defs.5.xml.out:503 pwck.8.xml.out:75 pwck.8.xml.out:216 +#: login.defs.5.xml.out:239 login.defs.5.xml.out:442 login.defs.5.xml.out:450 +#: login.defs.5.xml.out:522 pwck.8.xml.out:75 pwck.8.xml.out:216 #: pwck.8.xml.out:232 pwconv.8.xml.out:89 pwconv.8.xml.out:91 #: pwconv.8.xml.out:94 pwconv.8.xml.out:105 pwconv.8.xml.out:107 msgid "USE_TCB" @@ -6790,60 +6968,76 @@ msgstr "USE_TCB" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: para/phrase -#: login.defs.5.xml.out:242 +#: login.defs.5.xml.out:246 msgid "CHFN_AUTH" msgstr "CHFN_AUTH" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: para/phrase -#: login.defs.5.xml.out:244 login.defs.5.xml.out:359 +#: login.defs.5.xml.out:248 login.defs.5.xml.out:372 #, fuzzy #| msgid "CHSH_AUTH LOGIN_STRING" msgid "LOGIN_STRING" msgstr "CHSH_AUTH LOGIN_STRING" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:241 +#: login.defs.5.xml.out:245 msgid "<_:phrase-1/> CHFN_RESTRICT <_:phrase-2/>" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:253 login.defs.5.xml.out:264 login.defs.5.xml.out:284 -#: login.defs.5.xml.out:388 login.defs.5.xml.out:404 +#: login.defs.5.xml.out:256 login.defs.5.xml.out:269 login.defs.5.xml.out:293 +#: login.defs.5.xml.out:396 login.defs.5.xml.out:418 +#, fuzzy +#| msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +msgid "BCRYPT_MAX_ROUNDS BCRYPT_MIN_ROUNDS" +msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" + +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:259 login.defs.5.xml.out:273 login.defs.5.xml.out:296 +#: login.defs.5.xml.out:403 login.defs.5.xml.out:422 msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:261 login.defs.5.xml.out:275 login.defs.5.xml.out:298 +#: login.defs.5.xml.out:409 login.defs.5.xml.out:424 +msgid "YESCRYPT_COST_FACTOR" +msgstr "" + #. (itstool) path: listitem/para -#: login.defs.5.xml.out:251 login.defs.5.xml.out:282 +#: login.defs.5.xml.out:255 login.defs.5.xml.out:292 #, fuzzy #| msgid "" #| "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase " #| "condition=\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>" -msgid "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:phrase-1/>" +msgid "" +"<_:phrase-1/> ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:" +"phrase-2/> <_:phrase-3/>" msgstr "" "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase " "condition=\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:262 +#: login.defs.5.xml.out:271 msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB" msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: login.defs.5.xml.out:272 +#: login.defs.5.xml.out:282 msgid "CHSH_AUTH LOGIN_STRING" msgstr "CHSH_AUTH LOGIN_STRING" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: login.defs.5.xml.out:292 +#: login.defs.5.xml.out:305 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" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:301 login.defs.5.xml.out:307 login.defs.5.xml.out:313 -#: login.defs.5.xml.out:320 login.defs.5.xml.out:326 login.defs.5.xml.out:332 +#: login.defs.5.xml.out:314 login.defs.5.xml.out:320 login.defs.5.xml.out:326 +#: login.defs.5.xml.out:333 login.defs.5.xml.out:339 login.defs.5.xml.out:345 msgid "MAX_MEMBERS_PER_GROUP" msgstr "MAX_MEMBERS_PER_GROUP" @@ -6852,29 +7046,29 @@ msgstr "MAX_MEMBERS_PER_GROUP" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:330 pwconv.8.xml.out:49 pwconv.8.xml.out:73 +#: login.defs.5.xml.out:343 pwconv.8.xml.out:49 pwconv.8.xml.out:73 #: pwconv.8.xml.out:119 pwconv.8.xml.out:153 pwconv.8.xml.out:167 #: pwconv.8.xml.out:208 msgid "grpunconv" msgstr "grpunconv" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:339 +#: login.defs.5.xml.out:352 msgid "LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:346 login.defs.5.xml.out:439 +#: login.defs.5.xml.out:359 login.defs.5.xml.out:458 msgid "CONSOLE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:348 +#: login.defs.5.xml.out:361 msgid "ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:351 +#: login.defs.5.xml.out:364 #, fuzzy #| msgid "SYSLOG_SG_ENAB" msgid "FAILLOG_ENAB" @@ -6882,36 +7076,36 @@ msgstr "SYSLOG_SG_ENAB" # type: Content of: <refentry><refsect1><title> #. (itstool) path: para/phrase -#: login.defs.5.xml.out:353 +#: login.defs.5.xml.out:366 #, fuzzy #| msgid "FILE" msgid "FTMP_FILE" msgstr "ФАЙЛ" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:355 +#: login.defs.5.xml.out:368 msgid "ISSUE_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:357 +#: login.defs.5.xml.out:370 msgid "LASTLOG_ENAB LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:361 +#: login.defs.5.xml.out:374 msgid "" "MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE " "PORTTIME_CHECKS_ENAB QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:365 +#: login.defs.5.xml.out:378 msgid "ULIMIT UMASK" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:345 +#: login.defs.5.xml.out:358 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ERASECHAR FAIL_DELAY " "<_:phrase-3/> FAKE_SHELL <_:phrase-4/> HUSHLOGIN_FILE <_:phrase-5/> KILLCHAR " @@ -6922,18 +7116,18 @@ msgstr "" # type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle> #. (itstool) path: varlistentry/term -#: login.defs.5.xml.out:372 +#: login.defs.5.xml.out:385 msgid "newgrp / sg" msgstr "newgrp / sg" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:374 +#: login.defs.5.xml.out:387 msgid "SYSLOG_SG_ENAB" msgstr "SYSLOG_SG_ENAB" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: login.defs.5.xml.out:382 +#: login.defs.5.xml.out:395 #, fuzzy #| msgid "" #| "ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB " @@ -6942,10 +7136,11 @@ msgstr "SYSLOG_SG_ENAB" #| "phrase> SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN " #| "UMASK" 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 <_:phrase-1/> " -"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-1/> ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP " +"MD5_CRYPT_ENAB HOME_MODE PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:" +"phrase-2/> 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-3/>" msgstr "" "ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB " "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase " @@ -6953,28 +7148,29 @@ msgstr "" "SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:401 +#: login.defs.5.xml.out:417 #, fuzzy #| msgid "" #| "ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " #| "PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase " #| "condition=\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>" msgid "" -"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " -"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-1/>" +"<_:phrase-1/> ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB " +"PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-2/> " +"<_:phrase-3/>" msgstr "" "ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " "PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase " "condition=\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:414 +#: login.defs.5.xml.out:433 msgid "TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: login.defs.5.xml.out:412 login.defs.5.xml.out:421 +#: login.defs.5.xml.out:431 login.defs.5.xml.out:440 #, fuzzy #| msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE" msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:phrase-1/>" @@ -6987,7 +7183,7 @@ msgstr "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:419 passwd.5.xml.out:188 pwconv.8.xml.out:39 +#: login.defs.5.xml.out:438 passwd.5.xml.out:188 pwconv.8.xml.out:39 #: pwconv.8.xml.out:46 pwconv.8.xml.out:55 pwconv.8.xml.out:83 #: pwconv.8.xml.out:88 pwconv.8.xml.out:90 pwconv.8.xml.out:134 #: pwconv.8.xml.out:144 pwconv.8.xml.out:165 pwconv.8.xml.out:216 @@ -7001,7 +7197,7 @@ msgstr "pwconv" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:428 passwd.5.xml.out:191 pwconv.8.xml.out:47 +#: login.defs.5.xml.out:447 passwd.5.xml.out:191 pwconv.8.xml.out:47 #: pwconv.8.xml.out:61 pwconv.8.xml.out:98 pwconv.8.xml.out:104 #: pwconv.8.xml.out:109 pwconv.8.xml.out:153 pwconv.8.xml.out:157 #: pwconv.8.xml.out:166 shadow.5.xml.out:280 @@ -7009,22 +7205,22 @@ msgid "pwunconv" msgstr "pwunconv" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:441 +#: login.defs.5.xml.out:460 msgid "ENV_HZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:443 +#: login.defs.5.xml.out:462 msgid "ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:446 +#: login.defs.5.xml.out:465 msgid "SU_WHEEL_ONLY" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:438 +#: login.defs.5.xml.out:457 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ENV_PATH ENV_SUPATH " "<_:phrase-3/> SULOG_FILE SU_NAME <_:phrase-4/> SYSLOG_SU_ENAB <_:phrase-5/>" @@ -7033,29 +7229,23 @@ msgstr "" # type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle> #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:453 passwd.5.xml.out:200 shadow.5.xml.out:286 +#: login.defs.5.xml.out:472 passwd.5.xml.out:200 shadow.5.xml.out:286 msgid "sulogin" msgstr "sulogin" -#. (itstool) path: para/phrase -#. (itstool) path: para/option -#: login.defs.5.xml.out:457 su.1.xml.out:278 -msgid "ENV_TZ" -msgstr "" - #. (itstool) path: listitem/para -#: login.defs.5.xml.out:455 -msgid "ENV_HZ <_:phrase-1/>" +#: login.defs.5.xml.out:474 +msgid "ENV_HZ ENV_TZ" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:475 +#: login.defs.5.xml.out:494 msgid "TCB_AUTH_GROUP TCB_SYMLINK USE_TCB" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: login.defs.5.xml.out:464 +#: login.defs.5.xml.out:483 #, fuzzy #| msgid "" #| "CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS " @@ -7075,12 +7265,12 @@ msgstr "" "USE_TCB</phrase>" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:485 login.defs.5.xml.out:495 +#: login.defs.5.xml.out:504 login.defs.5.xml.out:514 msgid "TCB_SYMLINKS USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:482 +#: login.defs.5.xml.out:501 #, fuzzy #| msgid "" #| "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB " @@ -7093,7 +7283,7 @@ msgstr "" "condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:492 +#: login.defs.5.xml.out:511 #, fuzzy #| msgid "" #| "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase " @@ -7109,19 +7299,19 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:500 vipw.8.xml.out:35 vipw.8.xml.out:42 +#: login.defs.5.xml.out:519 vipw.8.xml.out:35 vipw.8.xml.out:42 #: vipw.8.xml.out:51 vipw.8.xml.out:67 vipw.8.xml.out:85 msgid "vipw" msgstr "vipw" # type: Content of: <refentry><refsect1><title> #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:511 pwconv.8.xml.out:193 suauth.5.xml.out:179 +#: login.defs.5.xml.out:530 pwconv.8.xml.out:193 suauth.5.xml.out:179 msgid "BUGS" msgstr "ОШИБКИ РЕАЛИЗАЦИИ" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:512 +#: login.defs.5.xml.out:531 #, fuzzy #| msgid "" #| "Much of the functionality that used to be provided by the shadow password " @@ -7149,14 +7339,14 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><replaceable> #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:545 +#: login.defs.5.xml.out:564 #, fuzzy #| msgid "pw_name" msgid "pam" msgstr "pw_name" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:528 +#: login.defs.5.xml.out:547 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>." @@ -7320,14 +7510,14 @@ msgstr "" # type: Content of: <refentry><refnamediv><refpurpose> #. (itstool) path: refnamediv/refpurpose -#: newusers.8.xml.out:57 +#: newusers.8.xml.out:59 msgid "update and create new users in batch" msgstr "" "обновляет и создаёт новые учётные записи пользователей в пакетном режиме" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: newusers.8.xml.out:74 +#: newusers.8.xml.out:76 #, fuzzy #| msgid "" #| "The <command>newusers</command> command reads a <replaceable>file</" @@ -7350,23 +7540,23 @@ msgstr "" "citerefentry>) за исключением:" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:82 +#: newusers.8.xml.out:84 msgid "pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell" msgstr "pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/emphasis -#: newusers.8.xml.out:87 +#: newusers.8.xml.out:89 msgid "pw_name" msgstr "pw_name" #. (itstool) path: listitem/para -#: newusers.8.xml.out:90 +#: newusers.8.xml.out:92 msgid "This is the name of the user." msgstr "Имя пользователя." #. (itstool) path: listitem/para -#: newusers.8.xml.out:93 +#: newusers.8.xml.out:95 #, fuzzy #| msgid "" #| "It can be the name of a new user or the name of an existing user (or an " @@ -7385,13 +7575,13 @@ msgstr "" # type: Content of: <refentry><refsect1><para><emphasis> #. (itstool) path: term/emphasis -#: newusers.8.xml.out:104 +#: newusers.8.xml.out:106 msgid "pw_passwd" msgstr "pw_passwd" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: newusers.8.xml.out:107 +#: newusers.8.xml.out:109 msgid "" "This field will be encrypted and used as the new value of the encrypted " "password." @@ -7401,17 +7591,17 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/emphasis -#: newusers.8.xml.out:115 +#: newusers.8.xml.out:117 msgid "pw_uid" msgstr " pw_gid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:118 +#: newusers.8.xml.out:120 msgid "This field is used to define the UID of the user." msgstr "Это поле используется для определения UID пользователя." #. (itstool) path: listitem/para -#: newusers.8.xml.out:121 +#: newusers.8.xml.out:123 #, fuzzy #| msgid "" #| "If the field is empty, an new (unused) UID will be defined automatically " @@ -7424,13 +7614,13 @@ msgstr "" "определяется новый (неиспользованный) UID." #. (itstool) path: listitem/para -#: newusers.8.xml.out:125 +#: newusers.8.xml.out:127 msgid "If this field contains a number, this number will be used as the UID." msgstr "" "Если в этом поле указано число, то оно будет использовано в качестве UID." #. (itstool) path: listitem/para -#: newusers.8.xml.out:129 +#: newusers.8.xml.out:131 #, fuzzy #| msgid "" #| "If this field contains the name of an existing user (or the name of an " @@ -7446,7 +7636,7 @@ msgstr "" "пользователя." #. (itstool) path: listitem/para -#: newusers.8.xml.out:135 +#: newusers.8.xml.out:137 msgid "" "If the UID of an existing user is changed, the files ownership of the user's " "file should be fixed manually." @@ -7456,18 +7646,18 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/emphasis -#: newusers.8.xml.out:143 +#: newusers.8.xml.out:145 msgid "pw_gid" msgstr "pw_gid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:146 +#: newusers.8.xml.out:148 msgid "This field is used to define the primary group ID for the user." msgstr "" "Это поле используется для определения ID первичной группы пользователя." #. (itstool) path: listitem/para -#: newusers.8.xml.out:149 +#: newusers.8.xml.out:151 #, fuzzy #| msgid "" #| "If this field contains the name of an existing group (or a group created " @@ -7483,7 +7673,7 @@ msgstr "" "пользователя будет использован GID этой группы." #. (itstool) path: listitem/para -#: newusers.8.xml.out:155 +#: newusers.8.xml.out:157 msgid "" "If this field is a number, this number will be used as the primary group ID " "of the user. If no groups exist with this GID, a new group will be created " @@ -7494,7 +7684,7 @@ msgstr "" "создана новая группа с этим GID и именем пользователя." #. (itstool) path: listitem/para -#: newusers.8.xml.out:161 +#: newusers.8.xml.out:163 #, fuzzy #| msgid "" #| "If this field is empty, a new group will be created with the name of the " @@ -7512,7 +7702,7 @@ msgstr "" "группы)." #. (itstool) path: listitem/para -#: newusers.8.xml.out:167 +#: newusers.8.xml.out:169 #, fuzzy #| msgid "" #| "If this field contains the name of a group which does not exist (and was " @@ -7533,33 +7723,33 @@ msgstr "" "и GID новой группы)." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:179 +#: newusers.8.xml.out:181 msgid "pw_gecos" msgstr "pw_gecos" #. (itstool) path: listitem/para -#: newusers.8.xml.out:182 +#: newusers.8.xml.out:184 msgid "This field is copied in the GECOS field of the user." msgstr "Это поле копируется в поле GECOS записи пользователя." # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><emphasis> #. (itstool) path: term/emphasis -#: newusers.8.xml.out:189 +#: newusers.8.xml.out:191 msgid "pw_dir" msgstr "pw_dir" #. (itstool) path: listitem/para -#: newusers.8.xml.out:192 +#: newusers.8.xml.out:194 msgid "This field is used to define the home directory of the user." msgstr "Это поле используется для определения домашнего каталога пользователя." #. (itstool) path: para/emphasis -#: newusers.8.xml.out:199 +#: newusers.8.xml.out:201 msgid "newusers does not create parent directories" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:195 +#: newusers.8.xml.out:197 msgid "" "If this field does not specify an existing directory, the specified " "directory is created, with ownership set to the user being created or " @@ -7572,7 +7762,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:208 +#: newusers.8.xml.out:210 #, fuzzy #| msgid "" #| "If the home directory of an existing user is changed, <command>newusers</" @@ -7588,12 +7778,12 @@ msgstr "" "каталога в новое место. Это нужно выполнить вручную." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:218 +#: newusers.8.xml.out:220 msgid "pw_shell" msgstr "pw_shell" #. (itstool) path: listitem/para -#: newusers.8.xml.out:221 +#: newusers.8.xml.out:223 msgid "" "This field defines the shell of the user. No checks are performed on this " "field." @@ -7602,7 +7792,7 @@ msgstr "" "делается." #. (itstool) path: refsect1/para -#: newusers.8.xml.out:229 +#: newusers.8.xml.out:231 #, fuzzy #| msgid "" #| "<command>newusers</command> first tries to create or change all the " @@ -7621,7 +7811,7 @@ msgstr "" "записи в базы данных), то изменения в базы не сохраняются." #. (itstool) path: refsect1/para -#: newusers.8.xml.out:235 +#: newusers.8.xml.out:237 msgid "" "During this first pass, users are created with a locked password (and " "passwords are not changed for the users which are not created). A second " @@ -7635,7 +7825,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: newusers.8.xml.out:243 +#: newusers.8.xml.out:245 msgid "" "This command is intended to be used in a large system environment where many " "accounts are updated at a single time." @@ -7644,48 +7834,57 @@ msgstr "" "один раз обновляется несколько учётных записей." #. (itstool) path: term/option -#: newusers.8.xml.out:257 pwck.8.xml.out:164 useradd.8.xml.out:108 +#: newusers.8.xml.out:259 pwck.8.xml.out:164 useradd.8.xml.out:108 #: usermod.8.xml.out:89 msgid "--badname" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:260 pwck.8.xml.out:167 useradd.8.xml.out:111 +#: newusers.8.xml.out:262 pwck.8.xml.out:167 useradd.8.xml.out:111 #: usermod.8.xml.out:92 msgid "Allow names that do not conform to standards." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:290 useradd.8.xml.out:459 +#: newusers.8.xml.out:273 +msgid "" +"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc " +"support these methods." +msgstr "" +"Возможные методы: DES, MD5, NONE и SHA256 или SHA512, если эти методы " +"поддерживается libc." + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:292 useradd.8.xml.out:461 msgid "Create a system account." msgstr "Создать системную учётную запись." #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MIN" msgstr "" #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MAX" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:319 -#: useradd.8.xml.out:468 useradd.8.xml.out:538 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:321 +#: useradd.8.xml.out:470 useradd.8.xml.out:540 usermod.8.xml.out:397 msgid "UID_MIN" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:321 -#: useradd.8.xml.out:468 useradd.8.xml.out:543 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:323 +#: useradd.8.xml.out:470 useradd.8.xml.out:545 usermod.8.xml.out:397 msgid "UID_MAX" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:293 useradd.8.xml.out:462 +#: newusers.8.xml.out:295 useradd.8.xml.out:464 #, fuzzy #| msgid "" #| "System users will be created with no aging information in <filename>/etc/" @@ -7707,9 +7906,45 @@ msgstr "" "<option>UID_MAX</option> (это же касается и части с <option>GID</option> при " "создании групп)." +#. (itstool) path: listitem/para +#: newusers.8.xml.out:342 +#, 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 is 13." +msgstr "" +"Минимальное значение равно 1000, а максимальное значение равно 999,999,999." + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:351 +#, 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 is 5000." +msgstr "" +"Минимальное значение равно 1000, а максимальное значение равно 999,999,999." + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:359 +#, 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 is 5." +msgstr "" +"Минимальное значение равно 1000, а максимальное значение равно 999,999,999." + # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: newusers.8.xml.out:349 +#: newusers.8.xml.out:370 msgid "" "The input file must be protected since it contains unencrypted passwords." msgstr "" @@ -7718,44 +7953,44 @@ msgstr "" # type: Content of: <refentry><refsect1><para><filename> #. (itstool) path: term/filename -#: newusers.8.xml.out:429 +#: newusers.8.xml.out:450 msgid "/etc/pam.d/newusers" msgstr "/etc/pam.d/newusers" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:435 useradd.8.xml.out:222 useradd.8.xml.out:481 -#: useradd.8.xml.out:785 userdel.8.xml.out:215 usermod.8.xml.out:587 +#: newusers.8.xml.out:456 useradd.8.xml.out:222 useradd.8.xml.out:483 +#: useradd.8.xml.out:805 userdel.8.xml.out:215 usermod.8.xml.out:604 #, fuzzy #| msgid "/etc/suauth" msgid "/etc/subgid" msgstr "/etc/suauth" #. (itstool) path: listitem/para -#: newusers.8.xml.out:437 useradd.8.xml.out:787 userdel.8.xml.out:217 +#: newusers.8.xml.out:458 useradd.8.xml.out:807 userdel.8.xml.out:217 msgid "Per user subordinate group IDs." msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:441 useradd.8.xml.out:222 useradd.8.xml.out:480 -#: useradd.8.xml.out:791 userdel.8.xml.out:221 usermod.8.xml.out:593 +#: newusers.8.xml.out:462 useradd.8.xml.out:222 useradd.8.xml.out:482 +#: useradd.8.xml.out:811 userdel.8.xml.out:221 usermod.8.xml.out:610 #, fuzzy #| msgid "/etc/suauth" msgid "/etc/subuid" msgstr "/etc/suauth" #. (itstool) path: listitem/para -#: newusers.8.xml.out:443 useradd.8.xml.out:793 userdel.8.xml.out:223 +#: newusers.8.xml.out:464 useradd.8.xml.out:813 userdel.8.xml.out:223 msgid "Per user subordinate user IDs." msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:460 useradd.8.xml.out:906 userdel.8.xml.out:335 -#: usermod.8.xml.out:633 +#: newusers.8.xml.out:481 useradd.8.xml.out:926 userdel.8.xml.out:335 +#: usermod.8.xml.out:650 #, fuzzy #| msgid "/etc/suauth" msgid "subgid" @@ -7763,16 +7998,16 @@ msgstr "/etc/suauth" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:463 useradd.8.xml.out:909 userdel.8.xml.out:338 -#: usermod.8.xml.out:636 +#: newusers.8.xml.out:484 useradd.8.xml.out:929 userdel.8.xml.out:338 +#: usermod.8.xml.out:653 #, fuzzy #| msgid "/etc/suauth" msgid "subuid" msgstr "/etc/suauth" #. (itstool) path: para/phrase -#: newusers.8.xml.out:458 useradd.8.xml.out:904 userdel.8.xml.out:333 -#: usermod.8.xml.out:631 +#: newusers.8.xml.out:479 useradd.8.xml.out:924 userdel.8.xml.out:333 +#: usermod.8.xml.out:648 msgid "<_:citerefentry-1/>, <_:citerefentry-2/>," msgstr "" @@ -7831,13 +8066,13 @@ msgstr "Программа <command>nologin</command> впервые появи # type: Content of: <refentry><refnamediv><refpurpose> #. (itstool) path: refnamediv/refpurpose -#: passwd.1.xml.out:48 +#: passwd.1.xml.out:50 msgid "change user password" msgstr "изменяет пароль пользователя" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: passwd.1.xml.out:65 +#: passwd.1.xml.out:67 #, fuzzy #| msgid "" #| "The <command>passwd</command> command changes passwords for user " @@ -7859,13 +8094,13 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><title> #. (itstool) path: refsect2/title -#: passwd.1.xml.out:74 +#: passwd.1.xml.out:76 msgid "Password Changes" msgstr "Изменение пароля" # type: Content of: <refentry><refsect1><refsect2><para> #. (itstool) path: refsect2/para -#: passwd.1.xml.out:75 +#: passwd.1.xml.out:77 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 " @@ -7879,7 +8114,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. (itstool) path: refsect2/para -#: passwd.1.xml.out:83 +#: passwd.1.xml.out:85 #, fuzzy #| msgid "" #| "After the password has been entered, password aging information is " @@ -7898,7 +8133,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. (itstool) path: refsect2/para -#: passwd.1.xml.out:90 +#: passwd.1.xml.out:92 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 " @@ -7908,67 +8143,28 @@ msgstr "" "ввода сравнивается с первым и для изменения пароли из обеих попыток должны " "совпасть." -# type: Content of: <refentry><refsect1><refsect2><para> #. (itstool) path: refsect2/para -#: passwd.1.xml.out:96 +#: passwd.1.xml.out:98 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:" +"Then, the password is tested for complexity. <_:command-1/> will reject any " +"password which is not suitably complex. Care must be taken not to include " +"the system default erase or kill characters." msgstr "" -"Затем пароль тестируется на сложность подбора. Согласно общим принципам, " -"пароли должны быть длиной от 6 до 8 символов и включать один или более " -"символов каждого типа:" - -# type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> -#. (itstool) path: listitem/para -#: passwd.1.xml.out:104 -msgid "lower case alphabetics" -msgstr "строчные буквы" - -# type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> -#. (itstool) path: listitem/para -#: passwd.1.xml.out:107 -msgid "digits 0 thru 9" -msgstr "цифры от 0 до 9" - -# type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> -#. (itstool) path: listitem/para -#: passwd.1.xml.out:110 -msgid "punctuation marks" -msgstr "знаки пунктуации" - -# type: Content of: <refentry><refsect1><refsect2><para> -#. (itstool) path: refsect2/para -#: passwd.1.xml.out:114 -#, fuzzy -#| msgid "" -#| "Care must be taken not to include the system default erase or kill " -#| "characters. <command>passwd</command> will reject any password which is " -#| "not suitably complex." -msgid "" -"Care must be taken not to include the system default erase or kill " -"characters. <_:command-1/> will reject any password which is not suitably " -"complex." -msgstr "" -"Не включайте системные символы стирания и удаления. Программа " -"<command>passwd</command> не примет пароль, который не имеет достаточной " -"сложности." # type: Content of: <refentry><refsect1><refsect2><title> #. (itstool) path: refsect2/title -#: passwd.1.xml.out:123 +#: passwd.1.xml.out:108 msgid "Hints for user passwords" msgstr "Выбор пароля" #. (itstool) path: para/emphasis -#: passwd.1.xml.out:127 +#: passwd.1.xml.out:112 msgid "UNIX" msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. (itstool) path: refsect2/para -#: passwd.1.xml.out:124 +#: passwd.1.xml.out:109 #, fuzzy #| msgid "" #| "The security of a password depends upon the strength of the encryption " @@ -7992,7 +8188,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><para> #. (itstool) path: refsect2/para -#: passwd.1.xml.out:133 +#: passwd.1.xml.out:118 msgid "" "Compromises in password security normally result from careless password " "selection or handling. For this reason, you should not select a password " @@ -8008,7 +8204,19 @@ msgstr "" "этом легко догадаться, что приведёт к нарушению безопасности системы." #. (itstool) path: refsect2/para -#: passwd.1.xml.out:142 +#: passwd.1.xml.out:127 +msgid "" +"As a general guideline, passwords should be long and random. It's 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's apparent that the exponent " +"(the length) is more important than the base (the size of the character set)." +msgstr "" + +#. (itstool) path: refsect2/para +#: passwd.1.xml.out:138 #, fuzzy #| msgid "" #| "You can find advices on how to choose a strong password on http://en." @@ -8021,7 +8229,7 @@ msgstr "" "Сложность_пароля." #. (itstool) path: listitem/para -#: passwd.1.xml.out:160 +#: passwd.1.xml.out:156 #, fuzzy #| msgid "" #| "This option can be used only with <option>-S</option> and causes show " @@ -8035,7 +8243,7 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:171 +#: passwd.1.xml.out:167 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." @@ -8046,7 +8254,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para><command> #. (itstool) path: term/option -#: passwd.1.xml.out:180 +#: passwd.1.xml.out:176 #, fuzzy #| msgid "expiry" msgid "--expire" @@ -8054,7 +8262,7 @@ msgstr "expiry" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:183 +#: passwd.1.xml.out:179 msgid "" "Immediately expire an account's password. This in effect can force a user to " "change their password at the user's next login." @@ -8064,7 +8272,7 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:200 +#: passwd.1.xml.out:196 #, fuzzy #| msgid "" #| "This option is used to disable an account after the password has been " @@ -8085,20 +8293,20 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option #. (itstool) path: para/option -#: passwd.1.xml.out:210 useradd.8.xml.out:278 useradd.8.xml.out:356 +#: passwd.1.xml.out:206 useradd.8.xml.out:280 useradd.8.xml.out:358 #, fuzzy #| msgid "-" msgid "-k" msgstr "-" #. (itstool) path: term/option -#: passwd.1.xml.out:210 +#: passwd.1.xml.out:206 msgid "--keep-tokens" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:213 +#: passwd.1.xml.out:209 msgid "" "Indicate password change should be performed only for expired authentication " "tokens (passwords). The user wishes to keep their non-expired tokens as " @@ -8109,13 +8317,13 @@ msgstr "" "ключи нетронутыми." #. (itstool) path: term/option -#: passwd.1.xml.out:222 usermod.8.xml.out:231 +#: passwd.1.xml.out:218 usermod.8.xml.out:231 msgid "--lock" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:225 +#: passwd.1.xml.out:221 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 " @@ -8126,12 +8334,12 @@ msgstr "" "паролем (добавляется символ «!» в начало пароля)." #. (itstool) path: para/command -#: passwd.1.xml.out:235 +#: passwd.1.xml.out:231 msgid "usermod --expiredate 1" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:231 +#: passwd.1.xml.out:227 #, fuzzy #| msgid "" #| "Note that this does not disable the account. The user may still be able " @@ -8151,56 +8359,56 @@ msgstr "" "установит дату устаревания учётной запись равной 2 января 1970 года)." #. (itstool) path: listitem/para -#: passwd.1.xml.out:238 +#: passwd.1.xml.out:234 msgid "Users with a locked password are not allowed to change their password." msgstr "Посетитель с заблокированным паролем не может изменить свой пароль." # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><option> #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "-q" msgstr "-q" #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "--quiet" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:261 vipw.8.xml.out:110 +#: passwd.1.xml.out:257 vipw.8.xml.out:110 msgid "Quiet mode." msgstr "Не выводить сообщений при работе." #. (itstool) path: term/option -#: passwd.1.xml.out:268 +#: passwd.1.xml.out:264 msgid "--repository" msgstr "" # type: Content of: <refentry><refsect1><title> #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: passwd.1.xml.out:268 passwd.1.xml.out:272 +#: passwd.1.xml.out:264 passwd.1.xml.out:268 #, fuzzy #| msgid "EDITOR" msgid "REPOSITORY" msgstr "EDITOR" #. (itstool) path: listitem/para -#: passwd.1.xml.out:271 +#: passwd.1.xml.out:267 #, fuzzy #| msgid "change password in <replaceable>REPOSITORY</replaceable> repository" msgid "change password in <_:replaceable-1/> repository" msgstr "Изменить пароль в <replaceable>РЕПОЗИТОРИИ</replaceable>." #. (itstool) path: term/option -#: passwd.1.xml.out:291 +#: passwd.1.xml.out:302 msgid "--status" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:294 +#: passwd.1.xml.out:305 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 " @@ -8218,13 +8426,13 @@ msgstr "" "предупреждения и период неактивности пароля. Эти сроки измеряются в днях." #. (itstool) path: term/option -#: passwd.1.xml.out:309 usermod.8.xml.out:405 +#: passwd.1.xml.out:320 usermod.8.xml.out:405 msgid "--unlock" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:312 +#: passwd.1.xml.out:323 #, fuzzy #| msgid "" #| "Unlock the password of the named account. This option re-enables a " @@ -8241,7 +8449,7 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:325 +#: passwd.1.xml.out:336 #, fuzzy #| msgid "" #| "Set the number of days of warning before a password change is required. " @@ -8260,7 +8468,7 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option -#: passwd.1.xml.out:335 +#: passwd.1.xml.out:346 #, fuzzy #| msgid "-" msgid "-x" @@ -8268,7 +8476,7 @@ msgstr "-" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:338 +#: passwd.1.xml.out:349 #, fuzzy #| msgid "" #| "Set the maximum number of days a password remains valid. After " @@ -8281,9 +8489,21 @@ msgstr "" "Установить максимальное количество дней, в течении которых пароль остаётся " "рабочим. После <replaceable>МАКС_ДНЕЙ</replaceable> пароль нужно изменить." +#. (itstool) path: term/option +#: passwd.1.xml.out:363 +msgid "--stdin" +msgstr "" + +#. (itstool) path: listitem/para +#: passwd.1.xml.out:366 +msgid "" +"This option is used to indicate that passwd should read the new password " +"from standard input, which can be a pipe." +msgstr "" + # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: passwd.1.xml.out:355 +#: passwd.1.xml.out:377 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." @@ -8293,7 +8513,7 @@ msgstr "" "нормально работалось." #. (itstool) path: refsect1/para -#: passwd.1.xml.out:360 +#: passwd.1.xml.out:382 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." @@ -8302,7 +8522,7 @@ msgstr "" "не вошли на сервер NIS." #. (itstool) path: refsect1/para -#: passwd.1.xml.out:365 +#: passwd.1.xml.out:387 #, fuzzy #| msgid "" #| "<command>passwd</command> uses PAM to authenticate users and to change " @@ -8315,25 +8535,25 @@ msgstr "" # type: Content of: <refentry><refsect1><para><filename> #. (itstool) path: term/filename -#: passwd.1.xml.out:411 +#: passwd.1.xml.out:433 msgid "/etc/pam.d/passwd" msgstr "/etc/pam.d/passwd" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:439 +#: passwd.1.xml.out:461 msgid "invalid combination of options" msgstr "недопустимая комбинация параметров" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:445 +#: passwd.1.xml.out:467 msgid "unexpected failure, nothing done" msgstr "неожиданная ошибка при работе, ничего не сделано" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:451 +#: passwd.1.xml.out:473 #, fuzzy #| msgid "unexpected failure, <filename>passwd</filename> file missing" msgid "unexpected failure, <_:filename-1/> file missing" @@ -8342,18 +8562,33 @@ msgstr "" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: passwd.1.xml.out:457 +#: passwd.1.xml.out:479 #, fuzzy #| msgid "<filename>passwd</filename> file busy, try again" msgid "<_:filename-1/> file busy, try again" msgstr "" "файл <filename>passwd</filename> занят другой программой, попробуйте ещё раз" +# type: Content of: <refentry><refsect1><para><emphasis> +#. (itstool) path: citerefentry/refentrytitle +#: passwd.1.xml.out:499 +#, fuzzy +#| msgid "passwd" +msgid "makepasswd" +msgstr "passwd" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:472 +#: passwd.1.xml.out:494 msgid "" -"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:phrase-4/> " -"<_:citerefentry-5/>." +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>, <_:phrase-5/> <_:citerefentry-6/>." +msgstr "" + +#. (itstool) path: refsect1/para +#: passwd.1.xml.out:517 +msgid "" +"The following web page comically (yet correctly) compares the strength of " +"two different methods for choosing a password: \"https://xkcd.com/936/\"" msgstr "" # type: Content of: <refentry><refnamediv><refpurpose> @@ -10584,6 +10819,11 @@ msgstr "" 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" @@ -11070,7 +11310,7 @@ msgstr "" #. (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:583 useradd.8.xml.out:585 +#: useradd.8.xml.out:169 useradd.8.xml.out:603 useradd.8.xml.out:605 msgid "-D" msgstr "-D" @@ -11115,7 +11355,7 @@ msgstr "" "<option>USERGROUPS_ENAB</option>)." #. (itstool) path: term/option -#: useradd.8.xml.out:118 useradd.8.xml.out:592 +#: useradd.8.xml.out:118 useradd.8.xml.out:612 msgid "--base-dir" msgstr "" @@ -11123,7 +11363,7 @@ 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:592 useradd.8.xml.out:598 +#: useradd.8.xml.out:612 useradd.8.xml.out:618 #, fuzzy #| msgid "MAIL_DIR" msgid "BASE_DIR" @@ -11161,7 +11401,7 @@ msgstr "" "существовать." #. (itstool) path: para/option -#: useradd.8.xml.out:131 useradd.8.xml.out:603 +#: useradd.8.xml.out:131 useradd.8.xml.out:623 msgid "HOME" msgstr "" @@ -11169,11 +11409,11 @@ 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:293 useradd.8.xml.out:343 -#: useradd.8.xml.out:393 useradd.8.xml.out:523 useradd.8.xml.out:604 -#: useradd.8.xml.out:616 useradd.8.xml.out:633 useradd.8.xml.out:649 -#: useradd.8.xml.out:663 useradd.8.xml.out:677 useradd.8.xml.out:767 -#: usermod.8.xml.out:419 +#: 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" @@ -11288,7 +11528,7 @@ msgstr "" "формате <emphasis remap=\"I\">ГГГГ-ММ-ДД</emphasis>." #. (itstool) path: para/option -#: useradd.8.xml.out:188 useradd.8.xml.out:615 usermod.8.xml.out:418 +#: useradd.8.xml.out:188 useradd.8.xml.out:635 usermod.8.xml.out:418 msgid "EXPIRE" msgstr "" @@ -11339,7 +11579,7 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option #. (itstool) path: para/option -#: useradd.8.xml.out:218 useradd.8.xml.out:482 +#: useradd.8.xml.out:218 useradd.8.xml.out:484 #, fuzzy #| msgid "-" msgid "-F" @@ -11463,6 +11703,13 @@ msgid "" "emphasis-5/>]]]" msgstr "" +#. (itstool) path: para/option +#: useradd.8.xml.out:267 +#, fuzzy +#| msgid "GROUP" +msgid "GROUPS" +msgstr "ГРУППА" + # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para #: useradd.8.xml.out:260 @@ -11478,7 +11725,9 @@ msgid "" "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." +"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 "" "Список дополнительных групп, в которых числится пользователь. Перечисление " "групп осуществляется через запятую, без промежуточных пробелов. На указанные " @@ -11487,20 +11736,20 @@ msgstr "" "группу." #. (itstool) path: term/option -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 msgid "--skel" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><emphasis> #. (itstool) path: term/replaceable -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 #, fuzzy #| msgid "MAIL_DIR" msgid "SKEL_DIR" msgstr "MAIL_DIR" #. (itstool) path: listitem/para -#: useradd.8.xml.out:281 +#: useradd.8.xml.out:283 #, fuzzy #| msgid "" #| "The skeleton directory, which contains files and directories to be copied " @@ -11517,12 +11766,12 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: useradd.8.xml.out:288 useradd.8.xml.out:350 +#: useradd.8.xml.out:290 useradd.8.xml.out:352 msgid "--create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:286 +#: useradd.8.xml.out:288 useradd.8.xml.out:592 usermod.8.xml.out:524 #, fuzzy #| msgid "" #| "This option is only valid if the <option>-m</option> (or <option>--create-" @@ -11535,20 +11784,20 @@ msgstr "" "(или <option>--create-home</option>)." #. (itstool) path: para/option -#: useradd.8.xml.out:292 +#: useradd.8.xml.out:294 msgid "SKEL" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> #. (itstool) path: para/filename -#: useradd.8.xml.out:294 +#: useradd.8.xml.out:296 #, fuzzy #| msgid "/etc/skel/" msgid "/etc/skel" msgstr "/etc/skel/" #. (itstool) path: listitem/para -#: useradd.8.xml.out:290 +#: useradd.8.xml.out:292 #, fuzzy #| msgid "" #| "If this option is not set, the skeleton directory is defined by the " @@ -11563,24 +11812,24 @@ msgstr "" "или равен <filename>/etc/skel</filename> (по умолчанию)." #. (itstool) path: listitem/para -#: useradd.8.xml.out:296 +#: useradd.8.xml.out:298 msgid "If possible, the ACLs and extended attributes are copied." msgstr "Если возможно, выполняется копирование ACL и расширенных атрибутов." #. (itstool) path: para/option -#: useradd.8.xml.out:309 +#: useradd.8.xml.out:311 msgid "UMASK" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:306 +#: useradd.8.xml.out:308 msgid "" "Overrides <_:filename-1/> defaults (<_:option-2/>, <_:option-3/>, <_:" "option-4/>, <_:option-5/> and others)." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:312 +#: useradd.8.xml.out:314 msgid "" "Example: <_:option-1/> <_:replaceable-2/>=<_:replaceable-3/> can be used " "when creating an account to turn off password aging. Multiple <_:option-4/> " @@ -11589,17 +11838,17 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:330 +#: useradd.8.xml.out:332 msgid "--no-log-init" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:332 +#: useradd.8.xml.out:334 msgid "Do not add the user to the lastlog and faillog databases." msgstr "Не добавлять пользователя в базы данных lastlog и faillog." #. (itstool) path: listitem/para -#: useradd.8.xml.out:335 +#: useradd.8.xml.out:337 #, fuzzy #| msgid "" #| "By default, the user's entries in the lastlog and faillog databases are " @@ -11613,12 +11862,12 @@ msgstr "" "ранее удалённого пользователя." #. (itstool) path: para/option -#: useradd.8.xml.out:342 +#: useradd.8.xml.out:344 msgid "LOG_INIT" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:340 +#: useradd.8.xml.out:342 msgid "" "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 " @@ -11626,7 +11875,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:353 +#: useradd.8.xml.out:355 #, fuzzy #| msgid "" #| "Create the user's home directory if it does not exist. The files and " @@ -11643,12 +11892,12 @@ msgstr "" "каталог." #. (itstool) path: para/option -#: useradd.8.xml.out:361 useradd.8.xml.out:379 useradd.8.xml.out:475 +#: useradd.8.xml.out:363 useradd.8.xml.out:381 useradd.8.xml.out:477 msgid "CREATE_HOME" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:359 +#: useradd.8.xml.out:361 #, fuzzy #| msgid "" #| "By default, if this option is not specified and <option>CREATE_HOME</" @@ -11661,7 +11910,7 @@ msgstr "" "<option>CREATE_HOME</option>, домашний каталог не создаётся." #. (itstool) path: listitem/para -#: useradd.8.xml.out:364 +#: useradd.8.xml.out:366 msgid "" "The directory where the user's home directory is created must exist and have " "proper SELinux context and permissions. Otherwise the user's home directory " @@ -11669,12 +11918,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:373 +#: useradd.8.xml.out:375 msgid "--no-create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:376 +#: useradd.8.xml.out:378 #, fuzzy #| msgid "" #| "Do no create the user's home directory, even if the system wide setting " @@ -11689,12 +11938,12 @@ msgstr "" "(<option>CREATE_HOME</option>) равно <replaceable>yes</replaceable>." #. (itstool) path: term/option -#: useradd.8.xml.out:386 +#: useradd.8.xml.out:388 msgid "--no-user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:389 +#: useradd.8.xml.out:391 #, fuzzy #| msgid "" #| "Do not create a group with the same name as the user, but add the user to " @@ -11713,7 +11962,7 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: useradd.8.xml.out:408 +#: useradd.8.xml.out:410 #, fuzzy #| msgid "" #| "Allow the creation of a user account with a duplicate (non-unique) UID." @@ -11721,7 +11970,7 @@ msgid "allows the creation of an account with an already existing UID." msgstr "Разрешить создание учётной записи с уже имеющимся (не уникальным) UID." #. (itstool) path: listitem/para -#: useradd.8.xml.out:412 usermod.8.xml.out:277 +#: useradd.8.xml.out:414 usermod.8.xml.out:277 msgid "" "This option is only valid in combination with the <_:option-1/> option. As a " "user identity serves as key to map between users on one hand and " @@ -11731,7 +11980,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:428 +#: useradd.8.xml.out:430 msgid "" "defines an initial password for the account. PASSWORD is expected to be " "encrypted, as returned by <_:citerefentry-1/>. Within a shell script, this " @@ -11739,7 +11988,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:435 +#: useradd.8.xml.out:437 msgid "" "Without this option, the new account will be locked and with no password " "defined, i.e. a single exclamation mark in the respective field of <_:" @@ -11748,7 +11997,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:443 +#: useradd.8.xml.out:445 #, fuzzy #| msgid "" #| "<emphasis role=\"bold\">Note:</emphasis> This option is not recommended " @@ -11763,7 +12012,7 @@ msgstr "" "другими пользователям в списке процессов." #. (itstool) path: listitem/para -#: useradd.8.xml.out:471 +#: useradd.8.xml.out:473 #, fuzzy #| msgid "" #| "Note that <command>useradd</command> will not create a home directory for " @@ -11784,7 +12033,7 @@ msgstr "" "option>." #. (itstool) path: listitem/para -#: useradd.8.xml.out:479 +#: useradd.8.xml.out:481 #, fuzzy #| msgid "" #| "Note that <command>useradd</command> will not create a home directory for " @@ -11804,7 +12053,7 @@ msgstr "" "option>." #. (itstool) path: listitem/para -#: useradd.8.xml.out:520 +#: useradd.8.xml.out:522 msgid "" "sets the path to the user's login shell. Without this option, the system " "will use the <_:option-1/> variable specified in <_:filename-2/>, or, if " @@ -11813,13 +12062,13 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 msgid "--uid" msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><replaceable> #. (itstool) path: term/replaceable -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 #, fuzzy #| msgid "GID" msgid "UID" @@ -11827,7 +12076,7 @@ msgstr "GID" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: useradd.8.xml.out:534 +#: useradd.8.xml.out:536 #, fuzzy #| msgid "" #| "The numerical value of the user's ID. This value must be unique, unless " @@ -11847,12 +12096,12 @@ msgstr "" "пользователей." #. (itstool) path: term/option -#: useradd.8.xml.out:549 +#: useradd.8.xml.out:551 msgid "--user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:552 +#: useradd.8.xml.out:554 msgid "" "Create a group with the same name as the user, and add the user to this " "group." @@ -11862,44 +12111,66 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para><option> #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:593 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:525 #, fuzzy #| msgid "-" msgid "-Z" msgstr "-" #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:594 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:526 msgid "--selinux-user" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:566 usermod.8.xml.out:501 +#: useradd.8.xml.out:568 usermod.8.xml.out:501 msgid "SEUSER" msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: useradd.8.xml.out:573 +#: useradd.8.xml.out:575 useradd.8.xml.out:589 usermod.8.xml.out:521 msgid "semanage" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:569 +#: useradd.8.xml.out:571 msgid "" -"defines the SELinux user for the new account. Without this option, a SELinux " +"defines the SELinux user for the new account. Without this option, SELinux " "uses the default user. Note that the shadow system doesn't store the selinux-" "user, it uses <_:citerefentry-1/> for that." msgstr "" +#. (itstool) path: term/option +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +msgid "--selinux-range" +msgstr "" + +#. (itstool) path: term/replaceable +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +msgid "SERANGE" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:585 +msgid "" +"defines the SELinux MLS range for the new account. Without this option, " +"SELinux uses the default range. Note that the shadow system doesn't store " +"the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + # type: Content of: <refentry><refsect1><refsect2><title> #. (itstool) path: refsect2/title -#: useradd.8.xml.out:581 +#: useradd.8.xml.out:601 msgid "Changing the default values" msgstr "Изменение значений по умолчанию" # type: Content of: <refentry><refsect1><refsect2><para> #. (itstool) path: refsect2/para -#: useradd.8.xml.out:582 +#: useradd.8.xml.out:602 #, fuzzy #| msgid "" #| "When invoked with only the <option>-D</option> option, <command>useradd</" @@ -11920,7 +12191,7 @@ msgstr "" "этих указанных параметров. Изменяемые параметры:" #. (itstool) path: listitem/para -#: useradd.8.xml.out:595 +#: useradd.8.xml.out:615 #, fuzzy #| msgid "" #| "The path prefix for a new user's home directory. The user's name will be " @@ -11939,8 +12210,8 @@ msgstr "" "учётной записи не указан параметр <option>-d</option>." #. (itstool) path: listitem/para -#: useradd.8.xml.out:602 useradd.8.xml.out:614 useradd.8.xml.out:631 -#: useradd.8.xml.out:647 useradd.8.xml.out:661 +#: useradd.8.xml.out:622 useradd.8.xml.out:634 useradd.8.xml.out:651 +#: useradd.8.xml.out:667 useradd.8.xml.out:681 #, fuzzy #| msgid "" #| "This option sets the <option>HOME</option> variable in <filename>/etc/" @@ -11952,14 +12223,14 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: useradd.8.xml.out:613 +#: useradd.8.xml.out:633 #, fuzzy #| msgid "The date on which the user account is disabled." msgid "sets the date on which newly created user accounts are disabled." msgstr "Дата, когда учётная запись пользователя заблокирована." #. (itstool) path: listitem/para -#: useradd.8.xml.out:625 +#: useradd.8.xml.out:645 msgid "" "defines the number of days after the password exceeded its maximum age where " "the user is expected to replace this password. See <_:citerefentry-1/>for " @@ -11968,7 +12239,7 @@ msgstr "" # type: Content of: <refentry><refsect1><refsect2><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: useradd.8.xml.out:642 +#: useradd.8.xml.out:662 #, fuzzy #| msgid "" #| "The group name or ID for a new user's initial group. The named group must " @@ -11983,26 +12254,26 @@ msgstr "" "запись." #. (itstool) path: listitem/para -#: useradd.8.xml.out:658 +#: useradd.8.xml.out:678 msgid "defines the default login shell for new users." msgstr "" # type: Content of: <refentry><refsect1><title> #. (itstool) path: refsect1/title -#: useradd.8.xml.out:673 +#: useradd.8.xml.out:693 msgid "NOTES" msgstr "ЗАМЕЧАНИЯ" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> #. (itstool) path: para/filename #. (itstool) path: term/filename -#: useradd.8.xml.out:675 useradd.8.xml.out:779 +#: useradd.8.xml.out:695 useradd.8.xml.out:799 msgid "/etc/skel/" msgstr "/etc/skel/" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: useradd.8.xml.out:674 +#: useradd.8.xml.out:694 #, fuzzy #| msgid "" #| "The system administrator is responsible for placing the default user " @@ -12021,7 +12292,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: useradd.8.xml.out:683 +#: useradd.8.xml.out:703 msgid "" "You may not add a user to a NIS or LDAP group. This must be performed on the " "corresponding server." @@ -12031,7 +12302,7 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: useradd.8.xml.out:688 +#: useradd.8.xml.out:708 #, fuzzy #| msgid "" #| "Similarly, if the username already exists in an external user database " @@ -12046,12 +12317,12 @@ msgstr "" "запись пользователя." #. (itstool) path: para/command -#: useradd.8.xml.out:702 +#: useradd.8.xml.out:722 msgid "ls" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:694 +#: useradd.8.xml.out:714 msgid "" "Usernames may contain only lower and upper case letters, digits, " "underscores, or dashes. They can end with a dollar sign. Dashes are not " @@ -12063,50 +12334,50 @@ msgstr "" # type: Content of: <refentry><refsect1><para> #. (itstool) path: refsect1/para -#: useradd.8.xml.out:704 +#: useradd.8.xml.out:724 msgid "Usernames may only be up to 32 characters long." msgstr "Имена пользователей могут быть длиной не более 32 знаков." # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: useradd.8.xml.out:769 +#: useradd.8.xml.out:789 msgid "Default values for account creation." msgstr "значения по умолчанию для создаваемой учётной записи" # type: Content of: <refentry><refsect1><variablelist><varlistentry><term><filename> #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 #, fuzzy #| msgid "/etc/default/useradd" msgid "/etc/shadow-maint/useradd-pre.d/*" msgstr "/etc/default/useradd" #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 msgid "/etc/shadow-maint/useradd-post.d/*" msgstr "" #. (itstool) path: varlistentry/term -#: useradd.8.xml.out:773 userdel.8.xml.out:209 +#: useradd.8.xml.out:793 userdel.8.xml.out:209 msgid "<_:filename-1/>, <_:filename-2/>" msgstr "" # type: Content of: <refentry><refsect1><title> #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 #, fuzzy #| msgid "OPTIONS" msgid "ACTION" msgstr "ПАРАМЕТРЫ" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 msgid "SUBJECT" msgstr "" # type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle> #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #, fuzzy #| msgid "useradd" msgid "useradd-pre.d" @@ -12114,14 +12385,14 @@ msgstr "useradd" # type: Content of: <refentry><refsect1><para><citerefentry><refentrytitle> #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #, fuzzy #| msgid "useradd" msgid "useradd-post.d" msgstr "useradd" #. (itstool) path: listitem/para -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "" "Run-part files to execute during user addition. The environment variable <_:" "command-1/> will be populated with useradd and <_:command-2/> with the <_:" @@ -12132,19 +12403,19 @@ msgstr "" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: useradd.8.xml.out:781 +#: useradd.8.xml.out:801 msgid "Directory containing default files." msgstr "каталог, содержащий файлы по умолчанию" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: useradd.8.xml.out:819 userdel.8.xml.out:243 +#: useradd.8.xml.out:839 userdel.8.xml.out:243 msgid "can't update password file" msgstr "не удалось изменить файл паролей" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: useradd.8.xml.out:837 +#: useradd.8.xml.out:857 #, fuzzy #| msgid "UID already in use (and no <option>-o</option>)" msgid "UID already in use (and no <_:option-1/>)" @@ -12152,7 +12423,7 @@ msgstr "такой UID уже существует (и не задан пара # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: useradd.8.xml.out:849 +#: useradd.8.xml.out:869 #, fuzzy #| msgid "group name already in use" msgid "username or group name already in use" @@ -12160,25 +12431,25 @@ msgstr "такое имя группы уже используется" # type: Content of: <refentry><refsect1><para><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: useradd.8.xml.out:861 +#: useradd.8.xml.out:881 msgid "can't create home directory" msgstr "не удалось создать домашний каталог" # type: Content of: <refentry><refmeta><manvolnum> #. (itstool) path: term/replaceable -#: useradd.8.xml.out:865 +#: useradd.8.xml.out:885 #, fuzzy #| msgid "1" msgid "14" msgstr "1" #. (itstool) path: listitem/para -#: useradd.8.xml.out:867 +#: useradd.8.xml.out:887 msgid "can't update SELinux user mapping" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:876 usermod.8.xml.out:603 +#: useradd.8.xml.out:896 usermod.8.xml.out:620 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:" @@ -13080,8 +13351,15 @@ msgid "" "shadow system doesn't store the selinux-user, it uses semanage(8) for that." msgstr "" -#. (itstool) path: refsect1/para +#. (itstool) path: listitem/para #: usermod.8.xml.out:518 +msgid "" +"defines the SELinux MLS range for the new account. Note that the shadow " +"system doesn't store the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + +#. (itstool) path: refsect1/para +#: usermod.8.xml.out:535 #, fuzzy #| msgid "" #| "You must make certain that the named user is not executing any processes " @@ -13104,17 +13382,17 @@ msgstr "" "согласно данным utmp." #. (itstool) path: para/command -#: usermod.8.xml.out:527 +#: usermod.8.xml.out:544 msgid "crontab" msgstr "" #. (itstool) path: para/command -#: usermod.8.xml.out:528 +#: usermod.8.xml.out:545 msgid "at" msgstr "" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:526 +#: usermod.8.xml.out:543 #, fuzzy #| msgid "" #| "You must change the owner of any <command>crontab</command> files or " @@ -13127,13 +13405,13 @@ msgstr "" "или заданий <command>at</command>." #. (itstool) path: refsect1/para -#: usermod.8.xml.out:530 +#: usermod.8.xml.out:547 msgid "You must make any changes involving NIS on the NIS server." msgstr "Вы должны сделать все изменения NIS на сервере NIS самостоятельно." # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: usermod.8.xml.out:559 +#: usermod.8.xml.out:576 #, fuzzy #| msgid "Group account information." msgid "Group account information" @@ -13141,15 +13419,15 @@ msgstr "содержит информацию о группах" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: usermod.8.xml.out:565 +#: usermod.8.xml.out:582 #, fuzzy #| msgid "Secure group account information." -msgid "Secure group account informatio." +msgid "Secure group account information" msgstr "содержит защищаемую информацию о группах" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: usermod.8.xml.out:571 +#: usermod.8.xml.out:588 #, fuzzy #| msgid "Shadow password suite configuration." msgid "Shadow password suite configuration" @@ -13157,7 +13435,7 @@ msgstr "содержит конфигурацию подсистемы тене # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: usermod.8.xml.out:577 +#: usermod.8.xml.out:594 #, fuzzy #| msgid "User account information." msgid "User account information" @@ -13165,19 +13443,19 @@ msgstr "содержит информацию о пользователях" # type: Content of: <refentry><refsect1><variablelist><varlistentry><listitem><para> #. (itstool) path: listitem/para -#: usermod.8.xml.out:583 +#: usermod.8.xml.out:600 #, fuzzy #| msgid "Secure user account information." msgid "Secure user account information" msgstr "содержит защищаемую информацию о пользователях" #. (itstool) path: listitem/para -#: usermod.8.xml.out:589 +#: usermod.8.xml.out:606 msgid "Per user subordinate group IDs" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:595 +#: usermod.8.xml.out:612 msgid "Per user subordinate user IDs" msgstr "" @@ -13235,7 +13513,7 @@ msgstr "vipw" #| "envar>, and finally the default editor, <citerefentry><refentrytitle>vi</" #| "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgid "" -"The <_:command-1/> and <_:command-2/> commands edits the files <_:filename-3/" +"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 " @@ -15181,6 +15459,38 @@ msgstr "" #~ "<citerefentry><refentrytitle>sulogin</refentrytitle><manvolnum>8</" #~ "manvolnum></citerefentry>." +# type: Content of: <refentry><refsect1><refsect2><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 "" +#~ "Затем пароль тестируется на сложность подбора. Согласно общим принципам, " +#~ "пароли должны быть длиной от 6 до 8 символов и включать один или более " +#~ "символов каждого типа:" + +# type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> +#~ msgid "lower case alphabetics" +#~ msgstr "строчные буквы" + +# type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> +#~ msgid "digits 0 thru 9" +#~ msgstr "цифры от 0 до 9" + +# type: Content of: <refentry><refsect1><refsect2><itemizedlist><listitem><para> +#~ msgid "punctuation marks" +#~ msgstr "знаки пунктуации" + +# type: Content of: <refentry><refsect1><refsect2><para> +#~ msgid "" +#~ "Care must be taken not to include the system default erase or kill " +#~ "characters. <command>passwd</command> will reject any password which is " +#~ "not suitably complex." +#~ msgstr "" +#~ "Не включайте системные символы стирания и удаления. Программа " +#~ "<command>passwd</command> не примет пароль, который не имеет достаточной " +#~ "сложности." + #~ msgid "<option>-d</option>, <option>--delete</option>" #~ msgstr "<option>-d</option>, <option>--delete</option>" @@ -15472,6 +15782,18 @@ msgstr "" #~ msgid "<option>-s</option>, <option>--sha-rounds</option>" #~ msgstr "<option>-s</option>, <option>--sha-rounds</option>" +#~ msgid "" +#~ "The value 0 means that the system will choose the default number of " +#~ "rounds for the crypt method (5000)." +#~ msgstr "" +#~ "Значение 0 означает, что система выберет количество раундов по умолчанию " +#~ "для выбранного метода шифрования (5000)." + +#~ msgid "You can only use this option with the SHA256 or SHA512 crypt method." +#~ msgstr "" +#~ "Вы можете использовать этот параметр только при методе шифрования SHA256 " +#~ "или SHA512." + #~ msgid "PAM configuration for <command>newusers</command>." #~ msgstr "настройки PAM для <command>newusers</command>" @@ -16629,6 +16951,9 @@ msgstr "" #~ "<option>-c</option>, <option>--crypt-method</option> " #~ "<replaceable>МЕТОД</replaceable>" +#~ msgid "The available methods are DES, MD5, and NONE." +#~ msgstr "Возможные методы: DES, MD5 и NONE." + #~ msgid "<option>-e</option>, <option>--encrypted</option>" #~ msgstr "<option>-e</option>, <option>--encrypted</option>" @@ -16642,6 +16967,15 @@ msgstr "" #~ "<option>-s</option>, <option>--sha-rounds</option> " #~ "<replaceable>РАУНДОВ</replaceable>" +#~ msgid "" +#~ "By default, the number of rounds is defined by the " +#~ "<option>SHA_CRYPT_MIN_ROUNDS</option> and <option>SHA_CRYPT_MAX_ROUNDS</" +#~ "option> variables in <filename>/etc/login.defs</filename>." +#~ msgstr "" +#~ "По умолчанию, количество раундов определяется переменными " +#~ "<option>SHA_CRYPT_MIN_ROUNDS</option> и <option>SHA_CRYPT_MAX_ROUNDS</" +#~ "option> в <filename>/etc/login.defs</filename>." + #~ msgid "PAM configuration for <command>chpasswd</command>." #~ msgstr "настройки PAM для <command>chpasswd</command>" @@ -17315,9 +17649,6 @@ msgstr "" #~ "<citerefentry><refentrytitle>newgrp</refentrytitle><manvolnum>5</" #~ "manvolnum></citerefentry>." -#~ msgid "-K <placeholder-1/>=<placeholder-2/>" -#~ msgstr "-K <placeholder-1/>=<placeholder-2/>" - #, fuzzy #~ msgid "<option>-M</option> <replaceable>user</replaceable>,..." #~ msgstr "" diff --git a/man/po/shadow-man-pages.pot b/man/po/shadow-man-pages.pot index b2ab03c4..fc39c1db 100644 --- a/man/po/shadow-man-pages.pot +++ b/man/po/shadow-man-pages.pot @@ -1,7 +1,8 @@ +# To re-generate, run "cd man/po; make update-po" msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-14 18:23-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -12,7 +13,7 @@ msgstr "" #. (itstool) path: author/firstname #: chage.1.xml.out:16 #: chfn.1.xml.out:18 -#: chpasswd.8.xml.out:19 +#: chpasswd.8.xml.out:21 #: chsh.1.xml.out:18 #: expiry.1.xml.out:19 #: faillog.5.xml.out:15 @@ -24,11 +25,11 @@ msgstr "" #: grpck.8.xml.out:15 #: lastlog.8.xml.out:17 #: login.1.xml.out:48 -#: login.defs.5.xml.out:84 +#: login.defs.5.xml.out:86 #: logoutd.8.xml.out:15 #: newgrp.1.xml.out:16 -#: newusers.8.xml.out:31 -#: passwd.1.xml.out:22 +#: 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 @@ -45,7 +46,7 @@ msgstr "" #. (itstool) path: author/surname #: chage.1.xml.out:17 #: chfn.1.xml.out:19 -#: chpasswd.8.xml.out:20 +#: chpasswd.8.xml.out:22 #: chsh.1.xml.out:19 #: expiry.1.xml.out:20 #: faillog.5.xml.out:16 @@ -57,11 +58,11 @@ msgstr "" #: grpck.8.xml.out:16 #: lastlog.8.xml.out:18 #: login.1.xml.out:49 -#: login.defs.5.xml.out:85 +#: login.defs.5.xml.out:87 #: logoutd.8.xml.out:16 #: newgrp.1.xml.out:17 -#: newusers.8.xml.out:32 -#: passwd.1.xml.out:23 +#: 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 @@ -86,13 +87,13 @@ msgstr "" #. (itstool) path: author/firstname #: chage.1.xml.out:21 #: chfn.1.xml.out:23 -#: chgpasswd.8.xml.out:20 -#: chpasswd.8.xml.out:24 +#: 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:25 +#: gpasswd.1.xml.out:27 #: groupadd.8.xml.out:23 #: groupdel.8.xml.out:21 #: groupmems.8.xml.out:24 @@ -103,11 +104,11 @@ msgstr "" #: limits.5.xml.out:22 #: login.1.xml.out:53 #: login.access.5.xml.out:21 -#: login.defs.5.xml.out:89 +#: login.defs.5.xml.out:91 #: logoutd.8.xml.out:20 #: newgrp.1.xml.out:21 -#: newusers.8.xml.out:36 -#: passwd.1.xml.out:27 +#: 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 @@ -127,13 +128,13 @@ msgstr "" #. (itstool) path: author/surname #: chage.1.xml.out:22 #: chfn.1.xml.out:24 -#: chgpasswd.8.xml.out:21 -#: chpasswd.8.xml.out:25 +#: 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:26 +#: gpasswd.1.xml.out:28 #: groupadd.8.xml.out:24 #: groupdel.8.xml.out:22 #: groupmems.8.xml.out:25 @@ -144,11 +145,11 @@ msgstr "" #: limits.5.xml.out:23 #: login.1.xml.out:54 #: login.access.5.xml.out:22 -#: login.defs.5.xml.out:90 +#: login.defs.5.xml.out:92 #: logoutd.8.xml.out:21 #: newgrp.1.xml.out:22 -#: newusers.8.xml.out:37 -#: passwd.1.xml.out:28 +#: 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 @@ -168,13 +169,13 @@ msgstr "" #. (itstool) path: author/email #: chage.1.xml.out:23 #: chfn.1.xml.out:25 -#: chgpasswd.8.xml.out:22 -#: chpasswd.8.xml.out:26 +#: 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:27 +#: gpasswd.1.xml.out:29 #: groupadd.8.xml.out:25 #: groupdel.8.xml.out:23 #: groupmems.8.xml.out:26 @@ -185,11 +186,11 @@ msgstr "" #: limits.5.xml.out:24 #: login.1.xml.out:55 #: login.access.5.xml.out:23 -#: login.defs.5.xml.out:91 +#: login.defs.5.xml.out:93 #: logoutd.8.xml.out:22 #: newgrp.1.xml.out:23 -#: newusers.8.xml.out:38 -#: passwd.1.xml.out:29 +#: 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 @@ -209,12 +210,12 @@ msgstr "" #. (itstool) path: author/contrib #: chage.1.xml.out:24 #: chfn.1.xml.out:26 -#: chpasswd.8.xml.out:27 +#: 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:28 +#: gpasswd.1.xml.out:30 #: groupadd.8.xml.out:26 #: groupdel.8.xml.out:24 #: groupmems.8.xml.out:27 @@ -225,11 +226,11 @@ msgstr "" #: limits.5.xml.out:25 #: login.1.xml.out:56 #: login.access.5.xml.out:24 -#: login.defs.5.xml.out:92 +#: login.defs.5.xml.out:94 #: logoutd.8.xml.out:23 #: newgrp.1.xml.out:24 -#: newusers.8.xml.out:39 -#: passwd.1.xml.out:30 +#: 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 @@ -249,13 +250,13 @@ msgstr "" #. (itstool) path: author/firstname #: chage.1.xml.out:27 #: chfn.1.xml.out:29 -#: chgpasswd.8.xml.out:26 -#: chpasswd.8.xml.out:30 +#: 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:31 +#: gpasswd.1.xml.out:33 #: groupadd.8.xml.out:29 #: groupdel.8.xml.out:27 #: groupmems.8.xml.out:30 @@ -267,12 +268,12 @@ msgstr "" #: limits.5.xml.out:28 #: login.1.xml.out:59 #: login.access.5.xml.out:27 -#: login.defs.5.xml.out:95 +#: login.defs.5.xml.out:97 #: logoutd.8.xml.out:26 #: newgrp.1.xml.out:27 -#: newusers.8.xml.out:42 +#: newusers.8.xml.out:44 #: nologin.8.xml.out:15 -#: passwd.1.xml.out:33 +#: passwd.1.xml.out:35 #: passwd.5.xml.out:26 #: porttime.5.xml.out:26 #: pwck.8.xml.out:33 @@ -292,13 +293,13 @@ msgstr "" #. (itstool) path: author/surname #: chage.1.xml.out:28 #: chfn.1.xml.out:30 -#: chgpasswd.8.xml.out:27 -#: chpasswd.8.xml.out:31 +#: 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:32 +#: gpasswd.1.xml.out:34 #: groupadd.8.xml.out:30 #: groupdel.8.xml.out:28 #: groupmems.8.xml.out:31 @@ -310,12 +311,12 @@ msgstr "" #: limits.5.xml.out:29 #: login.1.xml.out:60 #: login.access.5.xml.out:28 -#: login.defs.5.xml.out:96 +#: login.defs.5.xml.out:98 #: logoutd.8.xml.out:27 #: newgrp.1.xml.out:28 -#: newusers.8.xml.out:43 +#: newusers.8.xml.out:45 #: nologin.8.xml.out:16 -#: passwd.1.xml.out:34 +#: passwd.1.xml.out:36 #: passwd.5.xml.out:27 #: porttime.5.xml.out:27 #: pwck.8.xml.out:34 @@ -335,13 +336,13 @@ msgstr "" #. (itstool) path: author/email #: chage.1.xml.out:29 #: chfn.1.xml.out:31 -#: chgpasswd.8.xml.out:28 -#: chpasswd.8.xml.out:32 +#: 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:33 +#: gpasswd.1.xml.out:35 #: groupadd.8.xml.out:31 #: groupdel.8.xml.out:29 #: groupmems.8.xml.out:32 @@ -353,12 +354,12 @@ msgstr "" #: limits.5.xml.out:30 #: login.1.xml.out:61 #: login.access.5.xml.out:29 -#: login.defs.5.xml.out:97 +#: login.defs.5.xml.out:99 #: logoutd.8.xml.out:28 #: newgrp.1.xml.out:29 -#: newusers.8.xml.out:44 +#: newusers.8.xml.out:46 #: nologin.8.xml.out:17 -#: passwd.1.xml.out:35 +#: passwd.1.xml.out:37 #: passwd.5.xml.out:28 #: porttime.5.xml.out:28 #: pwck.8.xml.out:35 @@ -378,13 +379,13 @@ msgstr "" #. (itstool) path: author/contrib #: chage.1.xml.out:30 #: chfn.1.xml.out:32 -#: chgpasswd.8.xml.out:29 -#: chpasswd.8.xml.out:33 +#: 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:34 +#: gpasswd.1.xml.out:36 #: groupadd.8.xml.out:32 #: groupdel.8.xml.out:30 #: groupmems.8.xml.out:33 @@ -396,12 +397,12 @@ msgstr "" #: limits.5.xml.out:31 #: login.1.xml.out:62 #: login.access.5.xml.out:30 -#: login.defs.5.xml.out:98 +#: login.defs.5.xml.out:100 #: logoutd.8.xml.out:29 #: newgrp.1.xml.out:30 -#: newusers.8.xml.out:45 +#: newusers.8.xml.out:47 #: nologin.8.xml.out:18 -#: passwd.1.xml.out:36 +#: passwd.1.xml.out:38 #: passwd.5.xml.out:29 #: porttime.5.xml.out:29 #: pwck.8.xml.out:36 @@ -429,12 +430,12 @@ msgstr "" #: chage.1.xml.out:46 #: chage.1.xml.out:59 #: chage.1.xml.out:69 -#: chage.1.xml.out:216 -#: chage.1.xml.out:226 -#: chage.1.xml.out:236 +#: chage.1.xml.out:231 #: chage.1.xml.out:241 -#: chage.1.xml.out:285 -#: login.defs.5.xml.out:233 +#: 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 "" @@ -444,19 +445,19 @@ msgstr "" #. (itstool) path: citerefentry/manvolnum #. (itstool) path: para/replaceable #: chage.1.xml.out:35 -#: chage.1.xml.out:294 +#: chage.1.xml.out:309 #: chfn.1.xml.out:37 #: chfn.1.xml.out:65 #: chfn.1.xml.out:205 -#: chgpasswd.8.xml.out:217 -#: chpasswd.8.xml.out:265 +#: chgpasswd.8.xml.out:245 +#: chpasswd.8.xml.out:307 #: chsh.1.xml.out:37 -#: chsh.1.xml.out:171 +#: chsh.1.xml.out:212 #: expiry.1.xml.out:38 #: faillog.8.xml.out:235 -#: gpasswd.1.xml.out:39 -#: gpasswd.1.xml.out:93 -#: gpasswd.1.xml.out:277 +#: 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 @@ -482,22 +483,23 @@ msgstr "" #: login.1.xml.out:383 #: login.1.xml.out:386 #: login.access.5.xml.out:112 -#: login.defs.5.xml.out:516 -#: login.defs.5.xml.out:518 -#: login.defs.5.xml.out:520 -#: login.defs.5.xml.out:530 -#: login.defs.5.xml.out:533 -#: login.defs.5.xml.out:536 +#: 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:456 +#: newusers.8.xml.out:477 #: nologin.8.xml.out:60 -#: passwd.1.xml.out:41 -#: passwd.1.xml.out:431 +#: 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 @@ -521,19 +523,19 @@ msgstr "" #: su.1.xml.out:421 #: su.1.xml.out:424 #: suauth.5.xml.out:201 -#: useradd.8.xml.out:817 -#: useradd.8.xml.out:878 -#: useradd.8.xml.out:881 -#: useradd.8.xml.out:884 +#: 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:605 -#: usermod.8.xml.out:608 -#: usermod.8.xml.out:611 +#: 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" @@ -544,11 +546,11 @@ msgstr "" #: chfn.1.xml.out:38 #: chsh.1.xml.out:38 #: expiry.1.xml.out:39 -#: gpasswd.1.xml.out:40 +#: gpasswd.1.xml.out:42 #: groups.1.xml.out:35 #: login.1.xml.out:68 #: newgrp.1.xml.out:36 -#: passwd.1.xml.out:42 +#: passwd.1.xml.out:44 #: sg.1.xml.out:36 #: su.1.xml.out:52 msgid "User Commands" @@ -557,13 +559,13 @@ msgstr "" #. (itstool) path: refmeta/refmiscinfo #: chage.1.xml.out:37 #: chfn.1.xml.out:39 -#: chgpasswd.8.xml.out:36 -#: chpasswd.8.xml.out:40 +#: 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:41 +#: gpasswd.1.xml.out:43 #: groupadd.8.xml.out:39 #: groupdel.8.xml.out:37 #: groupmems.8.xml.out:40 @@ -575,12 +577,12 @@ msgstr "" #: limits.5.xml.out:38 #: login.1.xml.out:69 #: login.access.5.xml.out:37 -#: login.defs.5.xml.out:105 +#: login.defs.5.xml.out:107 #: logoutd.8.xml.out:36 #: newgrp.1.xml.out:37 -#: newusers.8.xml.out:52 +#: newusers.8.xml.out:54 #: nologin.8.xml.out:25 -#: passwd.1.xml.out:43 +#: passwd.1.xml.out:45 #: passwd.5.xml.out:36 #: porttime.5.xml.out:36 #: pwck.8.xml.out:43 @@ -600,13 +602,13 @@ msgstr "" #. (itstool) path: refmeta/refmiscinfo #: chage.1.xml.out:38 #: chfn.1.xml.out:40 -#: chgpasswd.8.xml.out:37 -#: chpasswd.8.xml.out:41 +#: 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:42 +#: gpasswd.1.xml.out:44 #: groupadd.8.xml.out:40 #: groupdel.8.xml.out:38 #: groupmems.8.xml.out:41 @@ -618,12 +620,12 @@ msgstr "" #: limits.5.xml.out:39 #: login.1.xml.out:70 #: login.access.5.xml.out:38 -#: login.defs.5.xml.out:106 +#: login.defs.5.xml.out:108 #: logoutd.8.xml.out:37 #: newgrp.1.xml.out:38 -#: newusers.8.xml.out:53 +#: newusers.8.xml.out:55 #: nologin.8.xml.out:26 -#: passwd.1.xml.out:44 +#: passwd.1.xml.out:46 #: passwd.5.xml.out:37 #: porttime.5.xml.out:37 #: pwck.8.xml.out:44 @@ -637,7 +639,7 @@ msgstr "" #: userdel.8.xml.out:43 #: usermod.8.xml.out:44 #: vipw.8.xml.out:39 -msgid "4.13" +msgid "4.15.0" msgstr "" #. (itstool) path: refnamediv/refpurpose @@ -649,16 +651,16 @@ msgstr "" #. (itstool) path: cmdsynopsis/arg #: chage.1.xml.out:48 #: chfn.1.xml.out:51 -#: chgpasswd.8.xml.out:48 -#: chpasswd.8.xml.out:52 +#: 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:64 -#: passwd.1.xml.out:55 +#: 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 @@ -683,7 +685,7 @@ msgstr "" #: chsh.1.xml.out:54 #: faillog.8.xml.out:180 #: lastlog.8.xml.out:139 -#: passwd.1.xml.out:58 +#: passwd.1.xml.out:60 #: useradd.8.xml.out:68 #: useradd.8.xml.out:158 #: userdel.8.xml.out:54 @@ -697,13 +699,13 @@ msgstr "" #. (itstool) path: refsect1/title #: chage.1.xml.out:57 #: chfn.1.xml.out:60 -#: chgpasswd.8.xml.out:54 -#: chpasswd.8.xml.out:58 +#: 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:70 +#: gpasswd.1.xml.out:72 #: groupadd.8.xml.out:60 #: groupdel.8.xml.out:56 #: groupmems.8.xml.out:61 @@ -715,12 +717,12 @@ msgstr "" #: limits.5.xml.out:48 #: login.1.xml.out:101 #: login.access.5.xml.out:46 -#: login.defs.5.xml.out:114 +#: login.defs.5.xml.out:116 #: logoutd.8.xml.out:51 #: newgrp.1.xml.out:53 -#: newusers.8.xml.out:73 +#: newusers.8.xml.out:75 #: nologin.8.xml.out:40 -#: passwd.1.xml.out:64 +#: passwd.1.xml.out:66 #: passwd.5.xml.out:45 #: porttime.5.xml.out:45 #: pwck.8.xml.out:69 @@ -747,12 +749,12 @@ msgstr "" #. (itstool) path: arg/replaceable #: chage.1.xml.out:67 #: chfn.1.xml.out:87 -#: chgpasswd.8.xml.out:81 -#: chpasswd.8.xml.out:106 +#: 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:110 +#: gpasswd.1.xml.out:112 #: groupadd.8.xml.out:51 #: groupadd.8.xml.out:80 #: groupdel.8.xml.out:64 @@ -761,8 +763,8 @@ msgstr "" #: grpck.8.xml.out:122 #: lastlog.8.xml.out:68 #: login.1.xml.out:186 -#: newusers.8.xml.out:250 -#: passwd.1.xml.out:150 +#: 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 @@ -776,20 +778,20 @@ msgstr "" #. (itstool) path: refsect1/para #: chage.1.xml.out:68 #: chfn.1.xml.out:88 -#: chgpasswd.8.xml.out:82 -#: chpasswd.8.xml.out:107 +#: 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:118 +#: 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:251 -#: passwd.1.xml.out:151 +#: 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 @@ -801,12 +803,12 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option #: chage.1.xml.out:74 -#: gpasswd.1.xml.out:137 +#: gpasswd.1.xml.out:139 #: groupmems.8.xml.out:94 -#: passwd.1.xml.out:168 +#: passwd.1.xml.out:164 #: useradd.8.xml.out:123 #: useradd.8.xml.out:151 -#: useradd.8.xml.out:599 +#: useradd.8.xml.out:619 #: usermod.8.xml.out:112 #: usermod.8.xml.out:260 msgid "-d" @@ -833,25 +835,27 @@ msgstr "" #: 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:122 -#: chpasswd.8.xml.out:113 -#: chpasswd.8.xml.out:164 -#: chpasswd.8.xml.out:177 +#: 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:123 -#: gpasswd.1.xml.out:136 -#: gpasswd.1.xml.out:157 +#: 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 @@ -872,13 +876,14 @@ msgstr "" #: lastlog.8.xml.out:74 #: lastlog.8.xml.out:103 #: lastlog.8.xml.out:127 -#: newusers.8.xml.out:305 -#: passwd.1.xml.out:196 -#: passwd.1.xml.out:245 -#: passwd.1.xml.out:267 -#: passwd.1.xml.out:277 -#: passwd.1.xml.out:321 -#: passwd.1.xml.out:334 +#: 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 @@ -889,18 +894,18 @@ msgstr "" #: useradd.8.xml.out:178 #: useradd.8.xml.out:195 #: useradd.8.xml.out:229 -#: useradd.8.xml.out:277 -#: useradd.8.xml.out:424 -#: useradd.8.xml.out:488 -#: useradd.8.xml.out:501 -#: useradd.8.xml.out:516 -#: useradd.8.xml.out:530 -#: useradd.8.xml.out:565 -#: useradd.8.xml.out:591 -#: useradd.8.xml.out:609 -#: useradd.8.xml.out:621 -#: useradd.8.xml.out:638 -#: useradd.8.xml.out:654 +#: 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 @@ -923,16 +928,16 @@ msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable #: chage.1.xml.out:82 -#: chage.1.xml.out:288 +#: 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:138 -#: passwd.1.xml.out:425 +#: 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:811 +#: useradd.8.xml.out:831 #: userdel.8.xml.out:235 msgid "0" msgstr "" @@ -950,7 +955,7 @@ msgstr "" #. (itstool) path: term/option #: chage.1.xml.out:89 #: useradd.8.xml.out:179 -#: useradd.8.xml.out:610 +#: useradd.8.xml.out:630 #: usermod.8.xml.out:129 msgid "--expiredate" msgstr "" @@ -960,7 +965,7 @@ msgstr "" #: chage.1.xml.out:89 #: chage.1.xml.out:109 #: useradd.8.xml.out:179 -#: useradd.8.xml.out:610 +#: useradd.8.xml.out:630 #: usermod.8.xml.out:129 #: usermod.8.xml.out:243 #: usermod.8.xml.out:416 @@ -987,8 +992,8 @@ msgstr "" #: chage.1.xml.out:108 #: chage.1.xml.out:139 #: chage.1.xml.out:182 -#: passwd.1.xml.out:344 -#: useradd.8.xml.out:315 +#: passwd.1.xml.out:355 +#: useradd.8.xml.out:317 msgid "-1" msgstr "" @@ -1001,12 +1006,12 @@ msgstr "" #. (itstool) path: para/option #: chage.1.xml.out:115 #: chfn.1.xml.out:102 -#: chgpasswd.8.xml.out:107 -#: chpasswd.8.xml.out:147 +#: 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:149 +#: gpasswd.1.xml.out:151 #: groupadd.8.xml.out:118 #: groupdel.8.xml.out:82 #: groupmems.8.xml.out:118 @@ -1015,11 +1020,11 @@ msgstr "" #: lastlog.8.xml.out:96 #: login.1.xml.out:204 #: login.1.xml.out:229 -#: newusers.8.xml.out:280 -#: passwd.1.xml.out:190 +#: newusers.8.xml.out:282 +#: passwd.1.xml.out:186 #: pwck.8.xml.out:173 #: pwconv.8.xml.out:171 -#: useradd.8.xml.out:271 +#: useradd.8.xml.out:273 #: userdel.8.xml.out:99 #: vipw.8.xml.out:96 msgid "-h" @@ -1029,24 +1034,24 @@ msgstr "" #. (itstool) path: para/option #: chage.1.xml.out:115 #: chfn.1.xml.out:143 -#: chgpasswd.8.xml.out:107 -#: chpasswd.8.xml.out:147 +#: 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:149 +#: 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:280 -#: passwd.1.xml.out:190 +#: 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:271 +#: useradd.8.xml.out:273 #: userdel.8.xml.out:99 #: vipw.8.xml.out:96 msgid "--help" @@ -1057,14 +1062,14 @@ msgstr "" #: chage.1.xml.out:121 #: chage.1.xml.out:146 #: chfn.1.xml.out:142 -#: chgpasswd.8.xml.out:88 -#: chgpasswd.8.xml.out:101 +#: chgpasswd.8.xml.out:90 #: chgpasswd.8.xml.out:107 #: chgpasswd.8.xml.out:113 -#: chgpasswd.8.xml.out:135 -#: chpasswd.8.xml.out:139 -#: chpasswd.8.xml.out:147 -#: chpasswd.8.xml.out:155 +#: 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 @@ -1072,9 +1077,9 @@ msgstr "" #: faillog.8.xml.out:72 #: faillog.8.xml.out:98 #: faillog.8.xml.out:144 -#: gpasswd.1.xml.out:149 -#: gpasswd.1.xml.out:172 -#: gpasswd.1.xml.out:188 +#: 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 @@ -1095,19 +1100,20 @@ msgstr "" #: lastlog.8.xml.out:84 #: lastlog.8.xml.out:95 #: lastlog.8.xml.out:116 -#: newusers.8.xml.out:268 -#: newusers.8.xml.out:280 -#: newusers.8.xml.out:286 -#: newusers.8.xml.out:320 -#: passwd.1.xml.out:156 -#: passwd.1.xml.out:167 -#: passwd.1.xml.out:179 -#: passwd.1.xml.out:190 -#: passwd.1.xml.out:209 -#: passwd.1.xml.out:221 -#: passwd.1.xml.out:257 -#: passwd.1.xml.out:290 -#: passwd.1.xml.out:308 +#: 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 @@ -1115,14 +1121,14 @@ msgstr "" #: pwconv.8.xml.out:171 #: useradd.8.xml.out:168 #: useradd.8.xml.out:217 -#: useradd.8.xml.out:271 -#: useradd.8.xml.out:330 -#: useradd.8.xml.out:349 -#: useradd.8.xml.out:372 -#: useradd.8.xml.out:385 -#: useradd.8.xml.out:404 -#: useradd.8.xml.out:455 -#: useradd.8.xml.out:548 +#: 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 @@ -1146,23 +1152,23 @@ msgstr "" #. (itstool) path: listitem/para #: chage.1.xml.out:117 #: chfn.1.xml.out:146 -#: chgpasswd.8.xml.out:109 -#: chpasswd.8.xml.out:149 +#: 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:151 +#: 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:282 -#: passwd.1.xml.out:192 +#: newusers.8.xml.out:284 +#: passwd.1.xml.out:188 #: pwck.8.xml.out:175 #: pwconv.8.xml.out:173 -#: useradd.8.xml.out:273 +#: useradd.8.xml.out:275 #: userdel.8.xml.out:101 #: vipw.8.xml.out:98 msgid "Display help message and exit." @@ -1170,7 +1176,7 @@ msgstr "" #. (itstool) path: term/option #: chage.1.xml.out:121 -#: passwd.1.xml.out:197 +#: passwd.1.xml.out:193 msgid "-i" msgstr "" @@ -1191,9 +1197,9 @@ msgstr "" #. (itstool) path: term/option #: chage.1.xml.out:128 -#: passwd.1.xml.out:197 +#: passwd.1.xml.out:193 #: useradd.8.xml.out:196 -#: useradd.8.xml.out:622 +#: useradd.8.xml.out:642 #: usermod.8.xml.out:152 msgid "--inactive" msgstr "" @@ -1204,12 +1210,12 @@ msgstr "" #: chage.1.xml.out:128 #: chage.1.xml.out:134 #: chage.1.xml.out:140 -#: passwd.1.xml.out:197 -#: passwd.1.xml.out:203 +#: passwd.1.xml.out:193 +#: passwd.1.xml.out:199 #: useradd.8.xml.out:196 #: useradd.8.xml.out:211 -#: useradd.8.xml.out:622 -#: useradd.8.xml.out:632 +#: useradd.8.xml.out:642 +#: useradd.8.xml.out:652 #: usermod.8.xml.out:152 msgid "INACTIVE" msgstr "" @@ -1228,18 +1234,18 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: group/arg #: chage.1.xml.out:147 -#: chage.1.xml.out:242 +#: 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:222 -#: passwd.1.xml.out:316 +#: passwd.1.xml.out:218 +#: passwd.1.xml.out:327 #: su.1.xml.out:144 #: su.1.xml.out:156 -#: useradd.8.xml.out:330 +#: useradd.8.xml.out:332 #: usermod.8.xml.out:217 msgid "-l" msgstr "" @@ -1258,20 +1264,20 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option #: chage.1.xml.out:157 -#: chgpasswd.8.xml.out:72 -#: chgpasswd.8.xml.out:113 -#: chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 -#: chpasswd.8.xml.out:130 -#: chpasswd.8.xml.out:155 +#: 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:287 -#: useradd.8.xml.out:350 -#: useradd.8.xml.out:476 +#: 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 msgid "-m" @@ -1279,7 +1285,7 @@ msgstr "" #. (itstool) path: term/option #: chage.1.xml.out:157 -#: passwd.1.xml.out:246 +#: passwd.1.xml.out:242 msgid "--mindays" msgstr "" @@ -1287,31 +1293,31 @@ msgstr "" #. (itstool) path: para/replaceable #: chage.1.xml.out:157 #: chage.1.xml.out:162 -#: passwd.1.xml.out:246 -#: passwd.1.xml.out:251 +#: 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:249 +#: passwd.1.xml.out:245 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 "" #. (itstool) path: term/option #. (itstool) path: para/option #: chage.1.xml.out:169 -#: gpasswd.1.xml.out:81 -#: gpasswd.1.xml.out:112 -#: gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:83 +#: gpasswd.1.xml.out:114 +#: gpasswd.1.xml.out:219 #: useradd.8.xml.out:162 -#: useradd.8.xml.out:373 +#: useradd.8.xml.out:375 msgid "-M" msgstr "" #. (itstool) path: term/option #: chage.1.xml.out:169 -#: passwd.1.xml.out:335 +#: passwd.1.xml.out:346 msgid "--maxdays" msgstr "" @@ -1320,16 +1326,16 @@ msgstr "" #: chage.1.xml.out:169 #: chage.1.xml.out:174 #: chage.1.xml.out:183 -#: passwd.1.xml.out:335 -#: passwd.1.xml.out:340 -#: passwd.1.xml.out:345 +#: 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:203 +#: chage.1.xml.out:218 #: usermod.8.xml.out:481 msgid "-W" msgstr "" @@ -1341,29 +1347,29 @@ msgstr "" #. (itstool) path: listitem/para #: chage.1.xml.out:181 -#: passwd.1.xml.out:343 +#: passwd.1.xml.out:354 msgid "Passing the number <_:emphasis-1/> as <_:replaceable-2/> will remove checking a password's validity." msgstr "" #. (itstool) path: term/option #: chage.1.xml.out:190 #: chfn.1.xml.out:130 -#: chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 +#: chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 #: chsh.1.xml.out:84 #: faillog.8.xml.out:157 -#: gpasswd.1.xml.out:189 +#: gpasswd.1.xml.out:191 #: groupadd.8.xml.out:201 #: groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 #: groupmod.8.xml.out:164 #: grpck.8.xml.out:149 #: lastlog.8.xml.out:104 -#: newusers.8.xml.out:306 -#: passwd.1.xml.out:278 +#: newusers.8.xml.out:308 +#: passwd.1.xml.out:274 #: pwck.8.xml.out:197 #: pwconv.8.xml.out:178 -#: useradd.8.xml.out:489 +#: useradd.8.xml.out:491 #: userdel.8.xml.out:123 #: usermod.8.xml.out:328 #: vipw.8.xml.out:115 @@ -1373,22 +1379,22 @@ msgstr "" #. (itstool) path: term/option #: chage.1.xml.out:190 #: chfn.1.xml.out:130 -#: chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 +#: chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 #: chsh.1.xml.out:84 #: faillog.8.xml.out:157 -#: gpasswd.1.xml.out:158 +#: gpasswd.1.xml.out:160 #: groupadd.8.xml.out:201 #: groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 #: groupmod.8.xml.out:164 #: grpck.8.xml.out:149 #: lastlog.8.xml.out:104 -#: newusers.8.xml.out:306 -#: passwd.1.xml.out:278 +#: newusers.8.xml.out:308 +#: passwd.1.xml.out:274 #: pwck.8.xml.out:197 #: pwconv.8.xml.out:178 -#: useradd.8.xml.out:489 +#: useradd.8.xml.out:491 #: userdel.8.xml.out:123 #: usermod.8.xml.out:328 #: vipw.8.xml.out:115 @@ -1403,21 +1409,21 @@ msgstr "" #: chfn.1.xml.out:130 #: chfn.1.xml.out:134 #: chfn.1.xml.out:136 -#: chgpasswd.8.xml.out:123 -#: chgpasswd.8.xml.out:127 #: chgpasswd.8.xml.out:129 -#: chpasswd.8.xml.out:165 -#: chpasswd.8.xml.out:169 +#: chgpasswd.8.xml.out:133 +#: chgpasswd.8.xml.out:135 #: chpasswd.8.xml.out:171 +#: chpasswd.8.xml.out:175 +#: chpasswd.8.xml.out:177 #: chsh.1.xml.out:84 #: chsh.1.xml.out:88 #: chsh.1.xml.out:90 #: faillog.8.xml.out:157 #: faillog.8.xml.out:161 #: faillog.8.xml.out:163 -#: gpasswd.1.xml.out:158 -#: gpasswd.1.xml.out:162 +#: gpasswd.1.xml.out:160 #: gpasswd.1.xml.out:164 +#: gpasswd.1.xml.out:166 #: groupadd.8.xml.out:201 #: groupadd.8.xml.out:205 #: groupadd.8.xml.out:207 @@ -1436,21 +1442,21 @@ msgstr "" #: lastlog.8.xml.out:104 #: lastlog.8.xml.out:108 #: lastlog.8.xml.out:110 -#: newusers.8.xml.out:306 -#: newusers.8.xml.out:310 +#: newusers.8.xml.out:308 #: newusers.8.xml.out:312 +#: newusers.8.xml.out:314 +#: passwd.1.xml.out:274 #: passwd.1.xml.out:278 -#: passwd.1.xml.out:282 -#: passwd.1.xml.out:284 +#: passwd.1.xml.out:280 #: pwck.8.xml.out:197 #: pwck.8.xml.out:201 #: pwck.8.xml.out:203 #: pwconv.8.xml.out:178 #: pwconv.8.xml.out:182 #: pwconv.8.xml.out:184 -#: useradd.8.xml.out:489 -#: useradd.8.xml.out:493 +#: useradd.8.xml.out:491 #: useradd.8.xml.out:495 +#: useradd.8.xml.out:497 #: userdel.8.xml.out:123 #: userdel.8.xml.out:127 #: userdel.8.xml.out:129 @@ -1466,22 +1472,22 @@ msgstr "" #. (itstool) path: listitem/para #: chage.1.xml.out:193 #: chfn.1.xml.out:133 -#: chgpasswd.8.xml.out:126 -#: chpasswd.8.xml.out:168 +#: chgpasswd.8.xml.out:132 +#: chpasswd.8.xml.out:174 #: chsh.1.xml.out:87 #: faillog.8.xml.out:160 -#: gpasswd.1.xml.out:161 +#: gpasswd.1.xml.out:163 #: groupadd.8.xml.out:204 #: groupdel.8.xml.out:92 #: groupmems.8.xml.out:145 #: groupmod.8.xml.out:167 #: grpck.8.xml.out:152 #: lastlog.8.xml.out:107 -#: newusers.8.xml.out:309 -#: passwd.1.xml.out:281 +#: newusers.8.xml.out:311 +#: passwd.1.xml.out:277 #: pwck.8.xml.out:200 #: pwconv.8.xml.out:181 -#: useradd.8.xml.out:492 +#: useradd.8.xml.out:494 #: userdel.8.xml.out:126 #: usermod.8.xml.out:331 #: vipw.8.xml.out:118 @@ -1490,38 +1496,99 @@ msgstr "" #. (itstool) path: term/option #: chage.1.xml.out:203 -#: passwd.1.xml.out:322 -msgid "--warndays" +#: chpasswd.8.xml.out:184 +#: groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 +#: groupmod.8.xml.out:177 +#: passwd.1.xml.out:287 +#: useradd.8.xml.out:504 +#: userdel.8.xml.out:136 +#: usermod.8.xml.out:341 +msgid "-P" +msgstr "" + +#. (itstool) path: term/option +#: chage.1.xml.out:203 +#: chpasswd.8.xml.out:184 +#: groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 +#: groupmod.8.xml.out:177 +#: passwd.1.xml.out:287 +#: useradd.8.xml.out:504 +#: userdel.8.xml.out:136 +#: usermod.8.xml.out:341 +msgid "--prefix" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable #: chage.1.xml.out:203 #: chage.1.xml.out:208 -#: passwd.1.xml.out:322 -#: passwd.1.xml.out:327 -msgid "WARN_DAYS" +#: chpasswd.8.xml.out:184 +#: chpasswd.8.xml.out:189 +#: groupadd.8.xml.out:214 +#: groupadd.8.xml.out:219 +#: groupdel.8.xml.out:102 +#: groupdel.8.xml.out:106 +#: groupdel.8.xml.out:108 +#: groupmod.8.xml.out:177 +#: groupmod.8.xml.out:181 +#: groupmod.8.xml.out:183 +#: passwd.1.xml.out:287 +#: passwd.1.xml.out:292 +#: useradd.8.xml.out:504 +#: useradd.8.xml.out:509 +#: userdel.8.xml.out:136 +#: userdel.8.xml.out:140 +#: userdel.8.xml.out:142 +#: usermod.8.xml.out:341 +#: usermod.8.xml.out:346 +msgid "PREFIX_DIR" msgstr "" #. (itstool) path: listitem/para #: chage.1.xml.out:206 +#: chpasswd.8.xml.out:187 +#: groupadd.8.xml.out:217 +#: passwd.1.xml.out:290 +#: useradd.8.xml.out:507 +msgid "Apply changes to configuration files under the root filesystem found under the directory <_:replaceable-1/>. 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 "" + +#. (itstool) path: term/option +#: chage.1.xml.out:218 +#: passwd.1.xml.out:333 +msgid "--warndays" +msgstr "" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: chage.1.xml.out:218 +#: chage.1.xml.out:223 +#: passwd.1.xml.out:333 +#: passwd.1.xml.out:338 +msgid "WARN_DAYS" +msgstr "" + +#. (itstool) path: listitem/para +#: chage.1.xml.out:221 msgid "Set the number of days of warning before a password change is required. The <_:replaceable-1/> option is the number of days prior to the password expiring that a user will be warned their password is about to expire." msgstr "" #. (itstool) path: para/emphasis -#: chage.1.xml.out:220 +#: chage.1.xml.out:235 #: chfn.1.xml.out:163 #: chsh.1.xml.out:112 msgid "[ ]" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:215 +#: chage.1.xml.out:230 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." msgstr "" #. (itstool) path: refsect1/title -#: chage.1.xml.out:224 +#: chage.1.xml.out:239 #: chsh.1.xml.out:117 #: groups.1.xml.out:65 #: lastlog.8.xml.out:170 @@ -1529,12 +1596,12 @@ msgid "NOTE" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:225 +#: chage.1.xml.out:240 msgid "The <_:command-1/> program requires a shadow password file to be available." msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:229 +#: chage.1.xml.out:244 msgid "The chage program will report only the information from the shadow password file. This implies that configuration from other sources (e.g. LDAP or empty password hash field from the passwd file) that affect the user's login will not be shown in the chage output." msgstr "" @@ -1544,9 +1611,9 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: chage.1.xml.out:238 +#: chage.1.xml.out:253 #: grpck.8.xml.out:294 -#: login.defs.5.xml.out:410 +#: login.defs.5.xml.out:429 #: passwd.5.xml.out:185 #: pwck.8.xml.out:40 #: pwck.8.xml.out:47 @@ -1564,22 +1631,22 @@ msgid "pwck" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:235 +#: chage.1.xml.out:250 msgid "The <_:command-1/> program will also not report any inconsistency between the shadow and passwd files (e.g. missing x in the passwd file). The <_:command-2/> can be used to check for this kind of inconsistencies." msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:241 +#: chage.1.xml.out:256 msgid "The <_:command-1/> command is restricted to the root user, except for the <_:option-2/> option, which may be used by an unprivileged user to determine when their password or account is due to expire." msgstr "" #. (itstool) path: refsect1/title -#: chage.1.xml.out:249 +#: chage.1.xml.out:264 #: chfn.1.xml.out:170 -#: chgpasswd.8.xml.out:175 -#: chpasswd.8.xml.out:216 -#: chsh.1.xml.out:131 -#: gpasswd.1.xml.out:241 +#: chgpasswd.8.xml.out:201 +#: chpasswd.8.xml.out:256 +#: chsh.1.xml.out:150 +#: gpasswd.1.xml.out:243 #: groupadd.8.xml.out:247 #: groupdel.8.xml.out:133 #: groupmems.8.xml.out:176 @@ -1588,37 +1655,41 @@ msgstr "" #: lastlog.8.xml.out:182 #: login.1.xml.out:270 #: newgrp.1.xml.out:85 -#: newusers.8.xml.out:360 -#: passwd.1.xml.out:372 +#: newusers.8.xml.out:381 +#: passwd.1.xml.out:394 #: pwck.8.xml.out:240 #: pwconv.8.xml.out:204 #: sg.1.xml.out:74 #: su.1.xml.out:314 -#: useradd.8.xml.out:710 +#: useradd.8.xml.out:730 #: userdel.8.xml.out:165 -#: usermod.8.xml.out:536 +#: usermod.8.xml.out:553 #: vipw.8.xml.out:142 msgid "CONFIGURATION" msgstr "" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: chage.1.xml.out:252 +#: chage.1.xml.out:267 #: chfn.1.xml.out:68 #: chfn.1.xml.out:173 #: chfn.1.xml.out:187 -#: chgpasswd.8.xml.out:70 -#: chgpasswd.8.xml.out:155 -#: chgpasswd.8.xml.out:178 -#: chgpasswd.8.xml.out:205 -#: chpasswd.8.xml.out:77 -#: chpasswd.8.xml.out:134 -#: chpasswd.8.xml.out:200 -#: chpasswd.8.xml.out:219 -#: chpasswd.8.xml.out:247 -#: chsh.1.xml.out:134 -#: chsh.1.xml.out:159 -#: gpasswd.1.xml.out:244 +#: chgpasswd.8.xml.out:72 +#: chgpasswd.8.xml.out:159 +#: chgpasswd.8.xml.out:168 +#: chgpasswd.8.xml.out:177 +#: chgpasswd.8.xml.out:204 +#: chgpasswd.8.xml.out:233 +#: chpasswd.8.xml.out:79 +#: chpasswd.8.xml.out:140 +#: chpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:227 +#: chpasswd.8.xml.out:236 +#: chpasswd.8.xml.out:259 +#: chpasswd.8.xml.out:289 +#: chsh.1.xml.out:153 +#: chsh.1.xml.out:200 +#: gpasswd.1.xml.out:246 #: groupadd.8.xml.out:129 #: groupadd.8.xml.out:239 #: groupadd.8.xml.out:250 @@ -1634,14 +1705,16 @@ msgstr "" #: login.1.xml.out:273 #: login.1.xml.out:365 #: login.access.5.xml.out:100 -#: login.defs.5.xml.out:116 -#: login.defs.5.xml.out:515 +#: login.defs.5.xml.out:118 +#: login.defs.5.xml.out:534 #: newgrp.1.xml.out:88 #: newusers.8.xml.out:340 -#: newusers.8.xml.out:363 -#: newusers.8.xml.out:423 -#: passwd.1.xml.out:375 -#: passwd.1.xml.out:405 +#: newusers.8.xml.out:349 +#: newusers.8.xml.out:357 +#: newusers.8.xml.out:384 +#: newusers.8.xml.out:444 +#: passwd.1.xml.out:397 +#: passwd.1.xml.out:427 #: pwck.8.xml.out:243 #: pwconv.8.xml.out:148 #: pwconv.8.xml.out:207 @@ -1654,32 +1727,32 @@ msgstr "" #: su.1.xml.out:317 #: su.1.xml.out:357 #: useradd.8.xml.out:241 -#: useradd.8.xml.out:307 -#: useradd.8.xml.out:378 -#: useradd.8.xml.out:399 -#: useradd.8.xml.out:467 -#: useradd.8.xml.out:474 -#: useradd.8.xml.out:560 -#: useradd.8.xml.out:713 -#: useradd.8.xml.out:797 +#: useradd.8.xml.out:309 +#: useradd.8.xml.out:380 +#: useradd.8.xml.out:401 +#: useradd.8.xml.out:469 +#: useradd.8.xml.out:476 +#: useradd.8.xml.out:562 +#: useradd.8.xml.out:733 +#: useradd.8.xml.out:817 #: userdel.8.xml.out:87 #: userdel.8.xml.out:168 #: userdel.8.xml.out:191 #: userdel.8.xml.out:297 #: usermod.8.xml.out:399 -#: usermod.8.xml.out:539 -#: usermod.8.xml.out:569 +#: usermod.8.xml.out:556 +#: usermod.8.xml.out:586 #: vipw.8.xml.out:145 msgid "/etc/login.defs" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:250 +#: chage.1.xml.out:265 #: chfn.1.xml.out:171 -#: chgpasswd.8.xml.out:176 -#: chpasswd.8.xml.out:217 -#: chsh.1.xml.out:132 -#: gpasswd.1.xml.out:242 +#: chgpasswd.8.xml.out:202 +#: chpasswd.8.xml.out:257 +#: chsh.1.xml.out:151 +#: gpasswd.1.xml.out:244 #: groupadd.8.xml.out:248 #: groupdel.8.xml.out:134 #: groupmems.8.xml.out:177 @@ -1688,28 +1761,28 @@ msgstr "" #: lastlog.8.xml.out:183 #: login.1.xml.out:271 #: newgrp.1.xml.out:86 -#: newusers.8.xml.out:361 -#: passwd.1.xml.out:373 +#: newusers.8.xml.out:382 +#: passwd.1.xml.out:395 #: pwck.8.xml.out:241 #: sg.1.xml.out:75 #: su.1.xml.out:315 -#: useradd.8.xml.out:711 +#: useradd.8.xml.out:731 #: userdel.8.xml.out:166 -#: usermod.8.xml.out:537 +#: usermod.8.xml.out:554 #: vipw.8.xml.out:143 msgid "The following configuration variables in <_:filename-1/> change the behavior of this tool:" msgstr "" #. (itstool) path: refsect1/title -#: chage.1.xml.out:261 +#: chage.1.xml.out:276 #: chfn.1.xml.out:184 -#: chgpasswd.8.xml.out:190 -#: chpasswd.8.xml.out:232 -#: chsh.1.xml.out:144 +#: chgpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:274 +#: chsh.1.xml.out:163 #: expiry.1.xml.out:97 #: faillog.5.xml.out:72 #: faillog.8.xml.out:220 -#: gpasswd.1.xml.out:256 +#: gpasswd.1.xml.out:258 #: groupadd.8.xml.out:261 #: groupdel.8.xml.out:145 #: groupmems.8.xml.out:188 @@ -1723,8 +1796,8 @@ msgstr "" #: login.access.5.xml.out:97 #: logoutd.8.xml.out:65 #: newgrp.1.xml.out:97 -#: newusers.8.xml.out:396 -#: passwd.1.xml.out:390 +#: newusers.8.xml.out:417 +#: passwd.1.xml.out:412 #: passwd.5.xml.out:139 #: porttime.5.xml.out:106 #: pwck.8.xml.out:258 @@ -1734,19 +1807,19 @@ msgstr "" #: sg.1.xml.out:86 #: su.1.xml.out:342 #: suauth.5.xml.out:169 -#: useradd.8.xml.out:740 +#: useradd.8.xml.out:760 #: userdel.8.xml.out:182 -#: usermod.8.xml.out:554 +#: usermod.8.xml.out:571 #: vipw.8.xml.out:172 msgid "FILES" msgstr "" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:265 +#: chage.1.xml.out:280 #: chfn.1.xml.out:193 -#: chpasswd.8.xml.out:235 -#: chsh.1.xml.out:147 +#: chpasswd.8.xml.out:277 +#: chsh.1.xml.out:166 #: expiry.1.xml.out:100 #: groupmod.8.xml.out:245 #: grpck.8.xml.out:223 @@ -1756,8 +1829,8 @@ msgstr "" #: newgrp.1.xml.out:65 #: newgrp.1.xml.out:70 #: newgrp.1.xml.out:100 -#: newusers.8.xml.out:399 -#: passwd.1.xml.out:393 +#: newusers.8.xml.out:420 +#: passwd.1.xml.out:415 #: passwd.5.xml.out:47 #: passwd.5.xml.out:89 #: passwd.5.xml.out:142 @@ -1772,36 +1845,36 @@ msgstr "" #: su.1.xml.out:185 #: su.1.xml.out:197 #: su.1.xml.out:345 -#: useradd.8.xml.out:524 -#: useradd.8.xml.out:743 +#: useradd.8.xml.out:526 +#: useradd.8.xml.out:763 #: userdel.8.xml.out:197 #: usermod.8.xml.out:103 #: usermod.8.xml.out:305 #: usermod.8.xml.out:362 -#: usermod.8.xml.out:575 +#: usermod.8.xml.out:592 #: vipw.8.xml.out:68 #: vipw.8.xml.out:187 msgid "/etc/passwd" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:268 +#: chage.1.xml.out:283 #: chfn.1.xml.out:195 -#: chpasswd.8.xml.out:237 -#: chsh.1.xml.out:149 +#: chpasswd.8.xml.out:279 +#: chsh.1.xml.out:168 #: expiry.1.xml.out:102 #: groupmod.8.xml.out:247 #: grpck.8.xml.out:225 #: login.1.xml.out:331 #: newgrp.1.xml.out:102 -#: newusers.8.xml.out:401 -#: passwd.1.xml.out:395 +#: newusers.8.xml.out:422 +#: passwd.1.xml.out:417 #: passwd.5.xml.out:144 #: pwck.8.xml.out:269 #: shadow.5.xml.out:236 #: sg.1.xml.out:91 #: su.1.xml.out:347 -#: useradd.8.xml.out:745 +#: useradd.8.xml.out:765 #: userdel.8.xml.out:199 #: vipw.8.xml.out:189 msgid "User account information." @@ -1809,15 +1882,15 @@ msgstr "" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:273 -#: chpasswd.8.xml.out:241 +#: chage.1.xml.out:288 +#: chpasswd.8.xml.out:283 #: expiry.1.xml.out:106 #: login.1.xml.out:335 #: newgrp.1.xml.out:68 #: newgrp.1.xml.out:106 -#: newusers.8.xml.out:295 -#: newusers.8.xml.out:405 -#: passwd.1.xml.out:399 +#: newusers.8.xml.out:297 +#: newusers.8.xml.out:426 +#: passwd.1.xml.out:421 #: passwd.5.xml.out:82 #: passwd.5.xml.out:148 #: pwck.8.xml.out:73 @@ -1834,75 +1907,75 @@ msgstr "" #: shadow.5.xml.out:240 #: sg.1.xml.out:95 #: su.1.xml.out:351 -#: useradd.8.xml.out:439 -#: useradd.8.xml.out:464 -#: useradd.8.xml.out:749 +#: useradd.8.xml.out:441 +#: useradd.8.xml.out:466 +#: useradd.8.xml.out:769 #: userdel.8.xml.out:203 #: usermod.8.xml.out:144 #: usermod.8.xml.out:145 #: usermod.8.xml.out:166 #: usermod.8.xml.out:167 #: usermod.8.xml.out:306 -#: usermod.8.xml.out:581 +#: usermod.8.xml.out:598 #: vipw.8.xml.out:71 #: vipw.8.xml.out:193 msgid "/etc/shadow" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:276 -#: chpasswd.8.xml.out:243 +#: chage.1.xml.out:291 +#: chpasswd.8.xml.out:285 #: expiry.1.xml.out:108 #: login.1.xml.out:337 #: newgrp.1.xml.out:108 -#: newusers.8.xml.out:407 -#: passwd.1.xml.out:401 +#: newusers.8.xml.out:428 +#: passwd.1.xml.out:423 #: pwck.8.xml.out:275 #: shadow.3.xml.out:207 #: shadow.5.xml.out:242 #: sg.1.xml.out:97 #: su.1.xml.out:353 -#: useradd.8.xml.out:751 +#: useradd.8.xml.out:771 #: userdel.8.xml.out:205 #: vipw.8.xml.out:195 msgid "Secure user account information." msgstr "" #. (itstool) path: refsect1/title -#: chage.1.xml.out:283 +#: chage.1.xml.out:298 #: groupadd.8.xml.out:298 #: groupdel.8.xml.out:163 #: groupmod.8.xml.out:254 #: grpck.8.xml.out:232 -#: passwd.1.xml.out:420 +#: passwd.1.xml.out:442 #: pwck.8.xml.out:282 #: su.1.xml.out:366 -#: useradd.8.xml.out:806 +#: useradd.8.xml.out:826 #: userdel.8.xml.out:230 msgid "EXIT VALUES" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:290 +#: chage.1.xml.out:305 #: groupadd.8.xml.out:305 #: groupdel.8.xml.out:170 #: grpck.8.xml.out:239 -#: passwd.1.xml.out:427 +#: passwd.1.xml.out:449 #: pwck.8.xml.out:289 -#: useradd.8.xml.out:813 +#: useradd.8.xml.out:833 #: userdel.8.xml.out:237 msgid "success" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:296 -#: passwd.1.xml.out:433 +#: chage.1.xml.out:311 +#: passwd.1.xml.out:455 msgid "permission denied" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum -#: chage.1.xml.out:300 +#: chage.1.xml.out:315 #: groupadd.8.xml.out:309 #: groupdel.8.xml.out:174 #: groupmod.8.xml.out:265 @@ -1914,57 +1987,57 @@ msgstr "" #: limits.5.xml.out:101 #: limits.5.xml.out:188 #: limits.5.xml.out:191 -#: passwd.1.xml.out:437 +#: passwd.1.xml.out:459 #: pwck.8.xml.out:299 -#: useradd.8.xml.out:823 +#: useradd.8.xml.out:843 #: userdel.8.xml.out:247 msgid "2" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:302 +#: chage.1.xml.out:317 #: groupadd.8.xml.out:311 #: groupdel.8.xml.out:176 #: grpck.8.xml.out:245 #: pwck.8.xml.out:295 -#: useradd.8.xml.out:825 +#: useradd.8.xml.out:845 #: userdel.8.xml.out:249 msgid "invalid command syntax" msgstr "" #. (itstool) path: term/replaceable -#: chage.1.xml.out:306 +#: chage.1.xml.out:321 msgid "15" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:308 +#: chage.1.xml.out:323 msgid "can't find the shadow password file" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:284 +#: chage.1.xml.out:299 #: groupadd.8.xml.out:299 #: groupdel.8.xml.out:164 #: groupmod.8.xml.out:255 #: grpck.8.xml.out:233 -#: passwd.1.xml.out:421 +#: passwd.1.xml.out:443 #: pwck.8.xml.out:283 -#: useradd.8.xml.out:807 +#: useradd.8.xml.out:827 #: userdel.8.xml.out:231 msgid "The <_:command-1/> command exits with the following values: <_:variablelist-2/>" msgstr "" #. (itstool) path: refsect1/title -#: chage.1.xml.out:316 +#: chage.1.xml.out:331 #: chfn.1.xml.out:202 -#: chgpasswd.8.xml.out:214 -#: chpasswd.8.xml.out:262 -#: chsh.1.xml.out:168 +#: chgpasswd.8.xml.out:242 +#: chpasswd.8.xml.out:304 +#: chsh.1.xml.out:209 #: expiry.1.xml.out:115 #: faillog.5.xml.out:84 #: faillog.8.xml.out:232 -#: gpasswd.1.xml.out:274 +#: gpasswd.1.xml.out:276 #: groupadd.8.xml.out:343 #: groupdel.8.xml.out:202 #: groupmems.8.xml.out:206 @@ -1975,11 +2048,11 @@ msgstr "" #: limits.5.xml.out:182 #: login.1.xml.out:374 #: login.access.5.xml.out:109 -#: login.defs.5.xml.out:527 +#: login.defs.5.xml.out:546 #: newgrp.1.xml.out:127 -#: newusers.8.xml.out:450 +#: newusers.8.xml.out:471 #: nologin.8.xml.out:57 -#: passwd.1.xml.out:471 +#: passwd.1.xml.out:493 #: passwd.5.xml.out:167 #: porttime.5.xml.out:118 #: pwck.8.xml.out:333 @@ -1989,9 +2062,9 @@ msgstr "" #: sg.1.xml.out:116 #: su.1.xml.out:413 #: suauth.5.xml.out:198 -#: useradd.8.xml.out:875 +#: useradd.8.xml.out:895 #: userdel.8.xml.out:308 -#: usermod.8.xml.out:602 +#: usermod.8.xml.out:619 #: vipw.8.xml.out:202 msgid "SEE ALSO" msgstr "" @@ -2005,10 +2078,10 @@ msgstr "" #. (itstool) path: para/command #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: chage.1.xml.out:319 +#: chage.1.xml.out:334 #: chfn.1.xml.out:211 -#: chpasswd.8.xml.out:265 -#: chsh.1.xml.out:177 +#: 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 @@ -2019,26 +2092,26 @@ msgstr "" #: login.1.xml.out:128 #: login.1.xml.out:380 #: login.1.xml.out:395 -#: login.defs.5.xml.out:399 -#: login.defs.5.xml.out:516 -#: login.defs.5.xml.out:533 -#: login.defs.5.xml.out:539 -#: newusers.8.xml.out:79 -#: newusers.8.xml.out:456 -#: passwd.1.xml.out:40 -#: passwd.1.xml.out:47 -#: passwd.1.xml.out:53 -#: passwd.1.xml.out:66 -#: passwd.1.xml.out:69 -#: passwd.1.xml.out:86 -#: passwd.1.xml.out:116 -#: passwd.1.xml.out:152 -#: passwd.1.xml.out:366 -#: passwd.1.xml.out:413 -#: passwd.1.xml.out:422 -#: passwd.1.xml.out:451 -#: passwd.1.xml.out:457 -#: passwd.1.xml.out:477 +#: 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 @@ -2049,9 +2122,9 @@ msgstr "" #: pwconv.8.xml.out:99 #: shadow.5.xml.out:268 #: shadow.5.xml.out:271 -#: useradd.8.xml.out:884 +#: useradd.8.xml.out:904 #: userdel.8.xml.out:316 -#: usermod.8.xml.out:611 +#: usermod.8.xml.out:628 #: vipw.8.xml.out:217 msgid "passwd" msgstr "" @@ -2059,20 +2132,20 @@ msgstr "" #. (itstool) path: citerefentry/manvolnum #. (itstool) path: refmeta/manvolnum #. (itstool) path: term/replaceable -#: chage.1.xml.out:319 -#: chage.1.xml.out:322 +#: chage.1.xml.out:334 +#: chage.1.xml.out:337 #: chfn.1.xml.out:208 #: chfn.1.xml.out:211 -#: chgpasswd.8.xml.out:223 -#: chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 -#: chsh.1.xml.out:177 +#: 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:292 -#: gpasswd.1.xml.out:295 +#: 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 @@ -2089,21 +2162,21 @@ msgstr "" #: login.1.xml.out:395 #: login.1.xml.out:398 #: login.access.5.xml.out:35 -#: login.defs.5.xml.out:103 -#: login.defs.5.xml.out:539 -#: login.defs.5.xml.out:542 +#: 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:79 -#: newusers.8.xml.out:453 -#: newusers.8.xml.out:460 -#: newusers.8.xml.out:463 +#: 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:455 #: passwd.1.xml.out:477 -#: passwd.1.xml.out:480 -#: passwd.1.xml.out:484 +#: 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 @@ -2122,17 +2195,17 @@ msgstr "" #: suauth.5.xml.out:34 #: suauth.5.xml.out:91 #: useradd.8.xml.out:205 -#: useradd.8.xml.out:628 -#: useradd.8.xml.out:899 -#: useradd.8.xml.out:906 -#: useradd.8.xml.out:909 +#: 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:629 -#: usermod.8.xml.out:633 -#: usermod.8.xml.out:636 +#: 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 @@ -2150,13 +2223,13 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/filename -#: chage.1.xml.out:322 +#: 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:542 -#: passwd.1.xml.out:480 +#: 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 @@ -2174,14 +2247,14 @@ msgstr "" #: shadow.5.xml.out:40 #: shadow.5.xml.out:47 #: useradd.8.xml.out:205 -#: useradd.8.xml.out:628 +#: useradd.8.xml.out:648 #: usermod.8.xml.out:162 #: vipw.8.xml.out:223 msgid "shadow" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:317 +#: chage.1.xml.out:332 #: expiry.1.xml.out:116 #: faillog.8.xml.out:233 #: nologin.8.xml.out:58 @@ -2202,16 +2275,16 @@ msgstr "" #: chfn.1.xml.out:89 #: chfn.1.xml.out:159 #: chfn.1.xml.out:164 -#: chsh.1.xml.out:171 +#: 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:239 -#: useradd.8.xml.out:878 +#: 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:605 +#: usermod.8.xml.out:622 msgid "chfn" msgstr "" @@ -2235,9 +2308,9 @@ msgstr "" #: groupadd.8.xml.out:323 #: groupmod.8.xml.out:93 #: groupmod.8.xml.out:132 -#: useradd.8.xml.out:405 -#: useradd.8.xml.out:536 -#: useradd.8.xml.out:837 +#: 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 msgid "-o" @@ -2271,7 +2344,7 @@ msgstr "" #: login.1.xml.out:190 #: login.1.xml.out:229 #: useradd.8.xml.out:196 -#: useradd.8.xml.out:622 +#: useradd.8.xml.out:642 #: userdel.8.xml.out:76 #: userdel.8.xml.out:287 #: userdel.8.xml.out:302 @@ -2331,20 +2404,20 @@ msgstr "" #: faillog.8.xml.out:144 #: faillog.8.xml.out:186 #: faillog.8.xml.out:203 -#: gpasswd.1.xml.out:173 +#: 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:287 -#: passwd.1.xml.out:268 +#: 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:456 -#: useradd.8.xml.out:542 +#: useradd.8.xml.out:458 +#: useradd.8.xml.out:544 #: userdel.8.xml.out:106 #: usermod.8.xml.out:317 msgid "-r" @@ -2374,9 +2447,9 @@ msgstr "" #: lastlog.8.xml.out:90 #: lastlog.8.xml.out:122 #: lastlog.8.xml.out:139 -#: passwd.1.xml.out:309 -#: useradd.8.xml.out:414 -#: useradd.8.xml.out:531 +#: 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 @@ -2385,7 +2458,7 @@ msgstr "" #. (itstool) path: term/option #: chfn.1.xml.out:151 -#: passwd.1.xml.out:322 +#: passwd.1.xml.out:333 #: usermod.8.xml.out:463 msgid "-w" msgstr "" @@ -2412,18 +2485,18 @@ msgstr "" #. (itstool) path: listitem/para #: chfn.1.xml.out:189 -#: chgpasswd.8.xml.out:207 -#: chpasswd.8.xml.out:249 -#: chsh.1.xml.out:161 +#: 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:425 -#: passwd.1.xml.out:407 +#: newusers.8.xml.out:446 +#: passwd.1.xml.out:429 #: pwconv.8.xml.out:232 #: su.1.xml.out:359 -#: useradd.8.xml.out:799 +#: useradd.8.xml.out:819 #: userdel.8.xml.out:193 msgid "Shadow password suite configuration." msgstr "" @@ -2445,10 +2518,10 @@ msgstr "" #: groupdel.8.xml.out:208 #: groupmems.8.xml.out:212 #: groupmod.8.xml.out:329 -#: login.defs.5.xml.out:270 -#: useradd.8.xml.out:881 +#: login.defs.5.xml.out:280 +#: useradd.8.xml.out:901 #: userdel.8.xml.out:313 -#: usermod.8.xml.out:608 +#: usermod.8.xml.out:625 msgid "chsh" msgstr "" @@ -2457,41 +2530,41 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #: chfn.1.xml.out:208 -#: chgpasswd.8.xml.out:223 -#: chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 +#: 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:102 -#: login.defs.5.xml.out:109 -#: newusers.8.xml.out:298 -#: newusers.8.xml.out:453 -#: passwd.1.xml.out:484 +#: 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:899 +#: useradd.8.xml.out:919 #: userdel.8.xml.out:117 #: userdel.8.xml.out:319 -#: usermod.8.xml.out:629 +#: usermod.8.xml.out:646 #: vipw.8.xml.out:214 msgid "login.defs" msgstr "" #. (itstool) path: refsect1/para #: chfn.1.xml.out:203 -#: chgpasswd.8.xml.out:215 -#: chsh.1.xml.out:169 +#: 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:23 +#: chgpasswd.8.xml.out:25 msgid "Creation, 2006" msgstr "" @@ -2500,30 +2573,30 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:33 -#: chgpasswd.8.xml.out:40 -#: chgpasswd.8.xml.out:46 -#: chgpasswd.8.xml.out:56 -#: chgpasswd.8.xml.out:66 -#: chgpasswd.8.xml.out:83 -#: login.defs.5.xml.out:249 +#: 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 "" #. (itstool) path: refmeta/manvolnum #. (itstool) path: citerefentry/manvolnum #. (itstool) path: term/replaceable -#: chgpasswd.8.xml.out:34 -#: chgpasswd.8.xml.out:220 -#: chpasswd.8.xml.out:38 -#: chpasswd.8.xml.out:268 -#: chpasswd.8.xml.out:276 +#: 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:280 -#: gpasswd.1.xml.out:283 -#: gpasswd.1.xml.out:286 -#: gpasswd.1.xml.out:289 +#: 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 @@ -2563,13 +2636,13 @@ msgstr "" #: login.1.xml.out:249 #: login.1.xml.out:251 #: login.1.xml.out:401 -#: login.defs.5.xml.out:545 +#: login.defs.5.xml.out:564 #: logoutd.8.xml.out:34 -#: newusers.8.xml.out:50 -#: newusers.8.xml.out:467 +#: newusers.8.xml.out:52 +#: newusers.8.xml.out:488 #: nologin.8.xml.out:23 -#: passwd.1.xml.out:474 -#: passwd.1.xml.out:488 +#: 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 @@ -2588,13 +2661,14 @@ msgstr "" #: shadow.5.xml.out:286 #: suauth.5.xml.out:192 #: useradd.8.xml.out:53 -#: useradd.8.xml.out:574 -#: useradd.8.xml.out:890 -#: useradd.8.xml.out:893 -#: useradd.8.xml.out:896 -#: useradd.8.xml.out:902 +#: 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 @@ -2604,19 +2678,20 @@ msgstr "" #: userdel.8.xml.out:342 #: userdel.8.xml.out:345 #: usermod.8.xml.out:41 -#: usermod.8.xml.out:617 -#: usermod.8.xml.out:620 -#: usermod.8.xml.out:623 -#: usermod.8.xml.out:626 +#: 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 "" #. (itstool) path: refmeta/refmiscinfo -#: chgpasswd.8.xml.out:35 -#: chpasswd.8.xml.out:39 +#: 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 @@ -2625,7 +2700,7 @@ msgstr "" #: grpck.8.xml.out:35 #: lastlog.8.xml.out:37 #: logoutd.8.xml.out:35 -#: newusers.8.xml.out:51 +#: newusers.8.xml.out:53 #: nologin.8.xml.out:24 #: pwck.8.xml.out:42 #: pwconv.8.xml.out:41 @@ -2637,27 +2712,27 @@ msgid "System Management Commands" msgstr "" #. (itstool) path: refnamediv/refpurpose -#: chgpasswd.8.xml.out:41 +#: chgpasswd.8.xml.out:43 msgid "update group passwords in batch mode" msgstr "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:55 +#: chgpasswd.8.xml.out:57 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 "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chgpasswd.8.xml.out:61 +#: chgpasswd.8.xml.out:63 #: groupmems.8.xml.out:54 #: groupmems.8.xml.out:110 msgid "group_name" msgstr "" #. (itstool) path: para/emphasis -#: chgpasswd.8.xml.out:62 -#: chpasswd.8.xml.out:66 +#: 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 @@ -2667,35 +2742,35 @@ msgid "password" msgstr "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:60 -#: chpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:62 +#: chpasswd.8.xml.out:66 msgid "<_:emphasis-1/>:<_:emphasis-2/>" msgstr "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:66 msgid "By default the supplied password must be in clear-text, and is encrypted by <_:command-1/>." msgstr "" #. (itstool) path: para/option -#: chgpasswd.8.xml.out:70 -#: chpasswd.8.xml.out:75 -#: chpasswd.8.xml.out:132 -#: passwd.1.xml.out:129 +#: chgpasswd.8.xml.out:72 +#: chpasswd.8.xml.out:77 +#: chpasswd.8.xml.out:138 +#: passwd.1.xml.out:114 msgid "ENCRYPT_METHOD" msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: chgpasswd.8.xml.out:71 -#: chgpasswd.8.xml.out:101 -#: chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 -#: chpasswd.8.xml.out:130 -#: chpasswd.8.xml.out:139 -#: passwd.1.xml.out:180 +#: 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:610 +#: useradd.8.xml.out:630 #: usermod.8.xml.out:129 msgid "-e" msgstr "" @@ -2703,15 +2778,15 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option #. (itstool) path: arg/arg -#: chgpasswd.8.xml.out:72 -#: chgpasswd.8.xml.out:88 -#: chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 -#: chpasswd.8.xml.out:114 -#: chpasswd.8.xml.out:129 +#: 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:268 +#: newusers.8.xml.out:270 #: sg.1.xml.out:50 #: su.1.xml.out:86 #: su.1.xml.out:126 @@ -2722,81 +2797,147 @@ msgid "-c" msgstr "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:68 +#: chgpasswd.8.xml.out:70 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 "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:74 -#: chpasswd.8.xml.out:99 +#: 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 "" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:88 -#: chpasswd.8.xml.out:114 -#: newusers.8.xml.out:268 +#: 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:90 -#: chpasswd.8.xml.out:117 -#: newusers.8.xml.out:270 +#: 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 "" -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:91 -#: chpasswd.8.xml.out:118 -msgid "The available methods are DES, MD5, and NONE." +#. (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 +msgid "<_:replaceable-1/>," +msgstr "" + +#. (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 +msgid "YESCRYPT" +msgstr "" + +#. (itstool) path: para/phrase +#: chgpasswd.8.xml.out:99 +#: chpasswd.8.xml.out:126 +msgid ", <_:replaceable-1/>" +msgstr "" + +#. (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:94 -#: chpasswd.8.xml.out:121 -#: newusers.8.xml.out:271 -msgid "The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc support these methods." +#: 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:101 -#: chpasswd.8.xml.out:139 +#: chgpasswd.8.xml.out:107 +#: chpasswd.8.xml.out:145 msgid "--encrypted" msgstr "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:103 -#: chpasswd.8.xml.out:141 +#: chgpasswd.8.xml.out:109 +#: chpasswd.8.xml.out:147 msgid "Supplied passwords are in encrypted form." msgstr "" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:113 -#: chpasswd.8.xml.out:155 +#: chgpasswd.8.xml.out:119 +#: chpasswd.8.xml.out:161 msgid "--md5" msgstr "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:115 -#: chpasswd.8.xml.out:157 +#: 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 "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chgpasswd.8.xml.out:135 -#: chpasswd.8.xml.out:178 +#: 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:320 +#: 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:517 -#: useradd.8.xml.out:655 +#: 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 @@ -2804,74 +2945,93 @@ msgid "-s" msgstr "" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:135 -#: chpasswd.8.xml.out:178 -#: newusers.8.xml.out:320 +#: 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:137 -#: chpasswd.8.xml.out:181 -#: newusers.8.xml.out:322 +#: 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 "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:140 -#: chpasswd.8.xml.out:184 -#: newusers.8.xml.out:325 -msgid "The value 0 means that the system will choose the default number of rounds for the crypt method (5000)." +#: 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:144 -#: chpasswd.8.xml.out:188 -#: newusers.8.xml.out:329 -msgid "A minimal value of 1000 and a maximal value of 999,999,999 will be enforced." -msgstr "" - -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:148 -#: chpasswd.8.xml.out:192 -#: newusers.8.xml.out:333 -msgid "You can only use this option with the SHA256 or SHA512 crypt method." -msgstr "" - -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:152 +#: chgpasswd.8.xml.out:156 +#: chpasswd.8.xml.out:215 #: newusers.8.xml.out:337 -msgid "By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in <_:filename-1/>." +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 "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:161 +#: chpasswd.8.xml.out:220 +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 "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:165 +#: chpasswd.8.xml.out:224 +#: newusers.8.xml.out:346 +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 "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:170 +#: chpasswd.8.xml.out:229 +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 "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:175 +#: chpasswd.8.xml.out:234 +#: newusers.8.xml.out:355 +msgid "By default, the number of rounds for YESCRYPT is defined by the YESCRYPT_COST_FACTOR in <_:filename-1/>." +msgstr "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:179 +#: chpasswd.8.xml.out:238 +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 "" #. (itstool) path: refsect1/title -#: chgpasswd.8.xml.out:163 -#: chpasswd.8.xml.out:208 +#: chgpasswd.8.xml.out:189 +#: chpasswd.8.xml.out:248 #: faillog.8.xml.out:209 -#: gpasswd.1.xml.out:229 +#: 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:348 -#: passwd.1.xml.out:354 +#: newusers.8.xml.out:369 +#: passwd.1.xml.out:376 #: shadow.3.xml.out:194 #: su.1.xml.out:306 -#: useradd.8.xml.out:682 +#: useradd.8.xml.out:702 #: userdel.8.xml.out:281 -#: usermod.8.xml.out:517 +#: usermod.8.xml.out:534 msgid "CAVEATS" msgstr "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:164 -#: chpasswd.8.xml.out:209 +#: 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 "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:168 -#: newusers.8.xml.out:353 +#: 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 "" @@ -2879,12 +3039,12 @@ msgstr "" #. (itstool) path: phrase/filename #. (itstool) path: para/filename #. (itstool) path: citerefentry/refentrytitle -#: chgpasswd.8.xml.out:193 -#: gpasswd.1.xml.out:48 -#: gpasswd.1.xml.out:51 -#: gpasswd.1.xml.out:73 -#: gpasswd.1.xml.out:231 -#: gpasswd.1.xml.out:259 +#: 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 @@ -2906,22 +3066,22 @@ msgstr "" #: gshadow.5.xml.out:135 #: newgrp.1.xml.out:80 #: newgrp.1.xml.out:112 -#: newusers.8.xml.out:411 +#: 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:755 +#: useradd.8.xml.out:775 #: userdel.8.xml.out:185 -#: usermod.8.xml.out:557 +#: usermod.8.xml.out:574 #: vipw.8.xml.out:69 #: vipw.8.xml.out:175 msgid "/etc/group" msgstr "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:195 -#: gpasswd.1.xml.out:261 +#: 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 @@ -2930,10 +3090,10 @@ msgstr "" #: grpck.8.xml.out:213 #: gshadow.5.xml.out:137 #: newgrp.1.xml.out:114 -#: newusers.8.xml.out:413 +#: newusers.8.xml.out:434 #: pwck.8.xml.out:263 #: sg.1.xml.out:103 -#: useradd.8.xml.out:757 +#: useradd.8.xml.out:777 #: userdel.8.xml.out:187 #: vipw.8.xml.out:177 msgid "Group account information." @@ -2942,11 +3102,11 @@ msgstr "" #. (itstool) path: term/filename #. (itstool) path: phrase/filename #. (itstool) path: para/filename -#: chgpasswd.8.xml.out:199 -#: gpasswd.1.xml.out:52 -#: gpasswd.1.xml.out:74 -#: gpasswd.1.xml.out:232 -#: gpasswd.1.xml.out:265 +#: 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 @@ -2969,28 +3129,28 @@ msgstr "" #: gshadow.5.xml.out:141 #: newgrp.1.xml.out:78 #: newgrp.1.xml.out:118 -#: newusers.8.xml.out:417 +#: newusers.8.xml.out:438 #: pwconv.8.xml.out:129 #: sg.1.xml.out:107 -#: useradd.8.xml.out:761 -#: usermod.8.xml.out:563 +#: useradd.8.xml.out:781 +#: usermod.8.xml.out:580 #: vipw.8.xml.out:72 #: vipw.8.xml.out:181 msgid "/etc/gshadow" msgstr "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:201 -#: gpasswd.1.xml.out:267 +#: 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:419 +#: newusers.8.xml.out:440 #: sg.1.xml.out:109 -#: useradd.8.xml.out:763 +#: useradd.8.xml.out:783 #: vipw.8.xml.out:183 msgid "Secure group account information." msgstr "" @@ -3001,22 +3161,22 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:217 -#: gpasswd.1.xml.out:38 -#: gpasswd.1.xml.out:45 -#: gpasswd.1.xml.out:59 -#: gpasswd.1.xml.out:72 -#: gpasswd.1.xml.out:85 -#: gpasswd.1.xml.out:119 +#: 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:280 +#: 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:617 +#: usermod.8.xml.out:634 msgid "gpasswd" msgstr "" @@ -3026,8 +3186,8 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:220 -#: gpasswd.1.xml.out:280 +#: 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 @@ -3038,23 +3198,23 @@ msgstr "" #: groupdel.8.xml.out:217 #: groupmems.8.xml.out:218 #: groupmod.8.xml.out:338 -#: login.defs.5.xml.out:290 -#: useradd.8.xml.out:890 +#: login.defs.5.xml.out:303 +#: useradd.8.xml.out:910 #: userdel.8.xml.out:325 -#: usermod.8.xml.out:620 +#: usermod.8.xml.out:637 msgid "groupadd" msgstr "" #. (itstool) path: author/contrib -#: chpasswd.8.xml.out:21 +#: 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:86 +#: login.defs.5.xml.out:88 #: logoutd.8.xml.out:17 #: newgrp.1.xml.out:18 -#: newusers.8.xml.out:33 +#: newusers.8.xml.out:35 #: sg.1.xml.out:18 #: useradd.8.xml.out:36 #: userdel.8.xml.out:23 @@ -3068,34 +3228,34 @@ msgstr "" #. (itstool) path: para/command #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: chpasswd.8.xml.out:37 -#: chpasswd.8.xml.out:44 -#: chpasswd.8.xml.out:50 -#: chpasswd.8.xml.out:60 -#: chpasswd.8.xml.out:70 -#: chpasswd.8.xml.out:89 -#: chpasswd.8.xml.out:96 -#: chpasswd.8.xml.out:108 -#: chpasswd.8.xml.out:255 -#: login.defs.5.xml.out:259 -#: passwd.1.xml.out:474 +#: 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 "" #. (itstool) path: refnamediv/refpurpose -#: chpasswd.8.xml.out:45 +#: chpasswd.8.xml.out:47 msgid "update passwords in batch mode" msgstr "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:59 +#: chpasswd.8.xml.out:61 msgid "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 "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:65 +#: chpasswd.8.xml.out:67 #: groupmems.8.xml.out:52 #: groupmems.8.xml.out:53 #: groupmems.8.xml.out:83 @@ -3104,85 +3264,70 @@ msgid "user_name" msgstr "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:68 +#: chpasswd.8.xml.out:70 msgid "By default the passwords must be supplied in clear-text, and are encrypted by <_:command-1/>. Also the password age will be updated, if present." msgstr "" #. (itstool) path: para/option -#: chpasswd.8.xml.out:76 -#: chpasswd.8.xml.out:133 +#: chpasswd.8.xml.out:78 +#: chpasswd.8.xml.out:139 msgid "MD5_CRYPT_ENAB" msgstr "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:73 +#: chpasswd.8.xml.out:75 msgid "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 "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:81 +#: chpasswd.8.xml.out:83 msgid "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 "" #. (itstool) path: para/phrase -#: chpasswd.8.xml.out:88 +#: chpasswd.8.xml.out:90 msgid "Except when PAM is used to encrypt the passwords," msgstr "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:87 +#: chpasswd.8.xml.out:89 msgid "<_: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 "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:93 +#: chpasswd.8.xml.out:95 msgid "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 "" #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:114 +#: chpasswd.8.xml.out:116 msgid "METHOD" msgstr "" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:125 +#: chpasswd.8.xml.out:131 msgid "By default, PAM is used to encrypt the passwords." msgstr "" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:128 +#: chpasswd.8.xml.out:134 msgid "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 "" #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:178 +#: chpasswd.8.xml.out:199 msgid "ROUNDS" msgstr "" -#. (itstool) path: para/option -#: chpasswd.8.xml.out:198 -msgid "SHA_CRYPT_MIN_ROUNDS" -msgstr "" - -#. (itstool) path: para/option -#: chpasswd.8.xml.out:199 -msgid "SHA_CRYPT_MAX_ROUNDS" -msgstr "" - -#. (itstool) path: listitem/para -#: chpasswd.8.xml.out:196 -msgid "By default, the number of rounds is defined by the <_:option-1/> and <_:option-2/> variables in <_:filename-3/>." -msgstr "" - #. (itstool) path: term/filename -#: chpasswd.8.xml.out:253 +#: chpasswd.8.xml.out:295 msgid "/etc/pam.d/chpasswd" msgstr "" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:255 -#: newusers.8.xml.out:431 -#: passwd.1.xml.out:413 +#: chpasswd.8.xml.out:297 +#: newusers.8.xml.out:452 +#: passwd.1.xml.out:435 msgid "PAM configuration for <_:command-1/>." msgstr "" @@ -3192,31 +3337,31 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:268 -#: login.defs.5.xml.out:380 -#: newusers.8.xml.out:49 -#: newusers.8.xml.out:56 -#: newusers.8.xml.out:62 -#: newusers.8.xml.out:75 -#: newusers.8.xml.out:96 -#: newusers.8.xml.out:123 -#: newusers.8.xml.out:132 -#: newusers.8.xml.out:151 -#: newusers.8.xml.out:164 -#: newusers.8.xml.out:170 +#: 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:210 -#: newusers.8.xml.out:230 -#: newusers.8.xml.out:252 -#: newusers.8.xml.out:431 -#: useradd.8.xml.out:902 +#: 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 "" #. (itstool) path: para/phrase -#: chpasswd.8.xml.out:270 +#: chpasswd.8.xml.out:312 #: grpck.8.xml.out:285 -#: passwd.1.xml.out:482 +#: passwd.1.xml.out:507 msgid "<_:citerefentry-1/>," msgstr "" @@ -3226,13 +3371,13 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:276 +#: 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:462 -#: newusers.8.xml.out:467 +#: 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 @@ -3245,21 +3390,21 @@ msgstr "" #: useradd.8.xml.out:187 #: useradd.8.xml.out:209 #: useradd.8.xml.out:239 -#: useradd.8.xml.out:284 -#: useradd.8.xml.out:341 -#: useradd.8.xml.out:472 -#: useradd.8.xml.out:584 -#: useradd.8.xml.out:586 -#: useradd.8.xml.out:690 -#: useradd.8.xml.out:808 +#: 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:640 +#: usermod.8.xml.out:657 msgid "useradd" msgstr "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:263 -#: newusers.8.xml.out:451 +#: chpasswd.8.xml.out:305 +#: newusers.8.xml.out:472 msgid "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:phrase-3/> <_:citerefentry-4/>." msgstr "" @@ -3278,8 +3423,8 @@ msgstr "" #: chsh.1.xml.out:97 #: su.1.xml.out:163 #: su.1.xml.out:199 -#: useradd.8.xml.out:517 -#: useradd.8.xml.out:655 +#: useradd.8.xml.out:519 +#: useradd.8.xml.out:675 #: usermod.8.xml.out:357 msgid "--shell" msgstr "" @@ -3288,10 +3433,10 @@ msgstr "" #. (itstool) path: para/option #: chsh.1.xml.out:97 #: su.1.xml.out:163 -#: useradd.8.xml.out:517 -#: useradd.8.xml.out:522 -#: useradd.8.xml.out:655 -#: useradd.8.xml.out:662 +#: 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 "" @@ -3310,13 +3455,17 @@ msgstr "" #. (itstool) path: term/filename #: chsh.1.xml.out:120 #: chsh.1.xml.out:124 -#: chsh.1.xml.out:153 +#: 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 "" #. (itstool) path: para/filename #: chsh.1.xml.out:123 +#: chsh.1.xml.out:142 msgid "/bin/rsh" msgstr "" @@ -3325,11 +3474,78 @@ msgstr "" msgid "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 "" +#. (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 +msgid "/etc/shells.d/*" +msgstr "" + +#. (itstool) path: para/filename +#: chsh.1.xml.out:135 +msgid "/etc/shells.d/@filename@" +msgstr "" + +#. (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 "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 "" + +#. (itstool) path: refsect1/para +#: chsh.1.xml.out:141 +msgid "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 "" + #. (itstool) path: listitem/para -#: chsh.1.xml.out:155 +#: chsh.1.xml.out:174 msgid "List of valid login shells." msgstr "" +#. (itstool) path: listitem/para +#: chsh.1.xml.out:177 +msgid "User defined list of valid login shells." +msgstr "" + +#. (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 +msgid "/etc/shells.d" +msgstr "" + +#. (itstool) path: listitem/para +#: chsh.1.xml.out:196 +msgid "Directory for additional user defined configuration files." +msgstr "" + #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command @@ -3349,7 +3565,7 @@ msgstr "" #. (itstool) path: arg/replaceable #: expiry.1.xml.out:52 -#: gpasswd.1.xml.out:61 +#: gpasswd.1.xml.out:63 msgid "option" msgstr "" @@ -3385,7 +3601,7 @@ msgstr "" #: faillog.5.xml.out:17 #: faillog.8.xml.out:17 #: login.1.xml.out:50 -#: passwd.1.xml.out:24 +#: passwd.1.xml.out:26 #: passwd.5.xml.out:17 #: porttime.5.xml.out:17 #: shadow.3.xml.out:17 @@ -3421,7 +3637,7 @@ msgstr "" #: gshadow.5.xml.out:24 #: limits.5.xml.out:37 #: login.access.5.xml.out:36 -#: login.defs.5.xml.out:104 +#: login.defs.5.xml.out:106 #: passwd.5.xml.out:35 #: porttime.5.xml.out:35 #: shadow.5.xml.out:35 @@ -3486,10 +3702,10 @@ msgstr "" #. (itstool) path: para/option #: faillog.8.xml.out:72 #: faillog.8.xml.out:215 -#: gpasswd.1.xml.out:124 +#: gpasswd.1.xml.out:126 #: groupmems.8.xml.out:83 #: groupmod.8.xml.out:73 -#: passwd.1.xml.out:157 +#: passwd.1.xml.out:153 #: usermod.8.xml.out:78 #: usermod.8.xml.out:210 msgid "-a" @@ -3497,7 +3713,7 @@ msgstr "" #. (itstool) path: term/option #: faillog.8.xml.out:72 -#: passwd.1.xml.out:157 +#: passwd.1.xml.out:153 msgid "--all" msgstr "" @@ -3713,9 +3929,9 @@ msgstr "" #: login.1.xml.out:253 #: login.1.xml.out:259 #: login.access.5.xml.out:112 -#: login.defs.5.xml.out:343 -#: login.defs.5.xml.out:518 -#: login.defs.5.xml.out:530 +#: login.defs.5.xml.out:356 +#: login.defs.5.xml.out:537 +#: login.defs.5.xml.out:549 #: newgrp.1.xml.out:133 #: nologin.8.xml.out:60 #: passwd.5.xml.out:125 @@ -3729,17 +3945,17 @@ msgid "login" msgstr "" #. (itstool) path: author/firstname -#: gpasswd.1.xml.out:20 +#: gpasswd.1.xml.out:22 msgid "Rafal" msgstr "" #. (itstool) path: author/surname -#: gpasswd.1.xml.out:21 +#: gpasswd.1.xml.out:23 msgid "Maszkowski" msgstr "" #. (itstool) path: author/contrib -#: gpasswd.1.xml.out:22 +#: gpasswd.1.xml.out:24 #: login.access.5.xml.out:18 #: pwconv.8.xml.out:23 #: suauth.5.xml.out:17 @@ -3747,12 +3963,12 @@ msgid "Creation, 1996" msgstr "" #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:47 +#: gpasswd.1.xml.out:49 msgid "administer <_:filename-1/>" msgstr "" #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:50 +#: gpasswd.1.xml.out:52 msgid "administer <_:filename-1/> and <_:filename-2/>" msgstr "" @@ -3760,15 +3976,15 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: citerefentry/refentrytitle #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:64 -#: gpasswd.1.xml.out:89 -#: gpasswd.1.xml.out:129 -#: gpasswd.1.xml.out:142 -#: gpasswd.1.xml.out:177 -#: gpasswd.1.xml.out:181 -#: gpasswd.1.xml.out:193 -#: gpasswd.1.xml.out:197 -#: gpasswd.1.xml.out:292 +#: gpasswd.1.xml.out:66 +#: gpasswd.1.xml.out:91 +#: gpasswd.1.xml.out:131 +#: gpasswd.1.xml.out:144 +#: gpasswd.1.xml.out:179 +#: gpasswd.1.xml.out:183 +#: gpasswd.1.xml.out:195 +#: gpasswd.1.xml.out:199 +#: gpasswd.1.xml.out:294 #: grpck.8.xml.out:49 #: grpck.8.xml.out:188 #: grpck.8.xml.out:280 @@ -3786,45 +4002,45 @@ msgid "group" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:73 +#: gpasswd.1.xml.out:75 msgid ", and <_:filename-1/>" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:76 +#: gpasswd.1.xml.out:78 msgid "administrators," msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:71 +#: gpasswd.1.xml.out:73 msgid "The <_:command-1/> command is used to administer <_:filename-2/><_:phrase-3/>. Every group can have <_:phrase-4/> members and a password." msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: gpasswd.1.xml.out:80 -#: gpasswd.1.xml.out:112 -#: gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:82 +#: gpasswd.1.xml.out:114 +#: gpasswd.1.xml.out:207 msgid "-A" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:79 +#: gpasswd.1.xml.out:81 msgid "System administrators can use the <_:option-1/> option to define group administrator(s) and the <_:option-2/> option to define members. They have all rights of group administrators and members." msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:86 +#: gpasswd.1.xml.out:88 msgid "a group administrator" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:87 +#: gpasswd.1.xml.out:89 msgid "a system administrator" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:84 +#: gpasswd.1.xml.out:86 msgid "<_:command-1/> called by <_:phrase-2/> <_:phrase-3/> with a group name only prompts for the new password of the <_:replaceable-4/>." msgstr "" @@ -3833,10 +4049,10 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: gpasswd.1.xml.out:93 -#: gpasswd.1.xml.out:180 -#: gpasswd.1.xml.out:196 -#: gpasswd.1.xml.out:277 +#: gpasswd.1.xml.out:95 +#: gpasswd.1.xml.out:182 +#: gpasswd.1.xml.out:198 +#: gpasswd.1.xml.out:279 #: groups.1.xml.out:71 #: groups.1.xml.out:92 #: gshadow.5.xml.out:76 @@ -3856,32 +4072,32 @@ msgid "newgrp" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:91 +#: gpasswd.1.xml.out:93 msgid "If a password is set the members can still use <_:citerefentry-1/> without a password, and non-members must supply the password." msgstr "" #. (itstool) path: refsect2/title -#: gpasswd.1.xml.out:99 +#: gpasswd.1.xml.out:101 msgid "Notes about group passwords" msgstr "" #. (itstool) path: refsect2/para -#: gpasswd.1.xml.out:100 +#: gpasswd.1.xml.out:102 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." msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:111 +#: gpasswd.1.xml.out:113 msgid "Except for the <_:option-1/> and <_:option-2/> options, the options cannot be combined." msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:115 +#: gpasswd.1.xml.out:117 msgid "The options cannot be combined." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:124 +#: gpasswd.1.xml.out:126 #: groupmems.8.xml.out:83 msgid "--add" msgstr "" @@ -3889,97 +4105,97 @@ msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable #. (itstool) path: arg/replaceable -#: gpasswd.1.xml.out:124 -#: gpasswd.1.xml.out:128 -#: gpasswd.1.xml.out:137 -#: gpasswd.1.xml.out:141 -#: gpasswd.1.xml.out:205 -#: gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:126 +#: gpasswd.1.xml.out:130 +#: gpasswd.1.xml.out:139 +#: gpasswd.1.xml.out:143 +#: gpasswd.1.xml.out:207 +#: gpasswd.1.xml.out:219 #: groups.1.xml.out:48 #: groups.1.xml.out:59 msgid "user" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:127 +#: gpasswd.1.xml.out:129 msgid "Add the <_:replaceable-1/> to the named <_:replaceable-2/>." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:137 +#: gpasswd.1.xml.out:139 #: groupmems.8.xml.out:94 -#: passwd.1.xml.out:168 +#: passwd.1.xml.out:164 msgid "--delete" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:140 +#: gpasswd.1.xml.out:142 msgid "Remove the <_:replaceable-1/> from the named <_:replaceable-2/>." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:158 +#: gpasswd.1.xml.out:160 msgid "-Q" msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:173 +#: gpasswd.1.xml.out:175 msgid "--remove-password" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:176 +#: gpasswd.1.xml.out:178 msgid "Remove the password from the named <_:replaceable-1/>. The group password will be empty. Only group members will be allowed to use <_:command-2/> to join the named <_:replaceable-3/>." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:189 +#: gpasswd.1.xml.out:191 msgid "--restrict" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:192 +#: gpasswd.1.xml.out:194 msgid "Restrict the access to the named <_:replaceable-1/>. The group password is set to \"!\". Only group members with a password will be allowed to use <_:command-2/> to join the named <_:replaceable-3/>." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:207 msgid "--administrators" msgstr "" #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:204 -#: gpasswd.1.xml.out:216 +#: gpasswd.1.xml.out:206 +#: gpasswd.1.xml.out:218 msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>,..." msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:208 +#: gpasswd.1.xml.out:210 msgid "Set the list of administrative users." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:219 msgid "--members" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:220 +#: gpasswd.1.xml.out:222 msgid "Set the list of group members." msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:232 +#: gpasswd.1.xml.out:234 msgid "and <_:filename-1/> files." msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:234 +#: gpasswd.1.xml.out:236 msgid "file." msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:230 +#: gpasswd.1.xml.out:232 msgid "This tool only operates on the <_:filename-1/> <_:phrase-2/> <_:phrase-3/> Thus you cannot change any NIS or LDAP group. This must be performed on the corresponding server." msgstr "" @@ -3989,7 +4205,7 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:283 +#: gpasswd.1.xml.out:285 #: groupadd.8.xml.out:357 #: groupdel.8.xml.out:34 #: groupdel.8.xml.out:41 @@ -3999,10 +4215,10 @@ msgstr "" #: groupdel.8.xml.out:165 #: groupmems.8.xml.out:221 #: groupmod.8.xml.out:341 -#: login.defs.5.xml.out:299 -#: useradd.8.xml.out:893 +#: login.defs.5.xml.out:312 +#: useradd.8.xml.out:913 #: userdel.8.xml.out:328 -#: usermod.8.xml.out:623 +#: usermod.8.xml.out:640 msgid "groupdel" msgstr "" @@ -4012,7 +4228,7 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:286 +#: gpasswd.1.xml.out:288 #: groupadd.8.xml.out:360 #: groupdel.8.xml.out:220 #: groupmod.8.xml.out:34 @@ -4023,10 +4239,10 @@ msgstr "" #: groupmod.8.xml.out:256 #: grpck.8.xml.out:107 #: grpck.8.xml.out:283 -#: login.defs.5.xml.out:311 -#: useradd.8.xml.out:896 +#: login.defs.5.xml.out:324 +#: useradd.8.xml.out:916 #: userdel.8.xml.out:331 -#: usermod.8.xml.out:626 +#: usermod.8.xml.out:643 msgid "groupmod" msgstr "" @@ -4036,7 +4252,7 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:289 +#: gpasswd.1.xml.out:291 #: grpck.8.xml.out:33 #: grpck.8.xml.out:40 #: grpck.8.xml.out:46 @@ -4047,7 +4263,7 @@ msgstr "" #: grpck.8.xml.out:184 #: grpck.8.xml.out:234 #: gshadow.5.xml.out:159 -#: login.defs.5.xml.out:318 +#: login.defs.5.xml.out:331 #: pwck.8.xml.out:339 #: pwconv.8.xml.out:198 #: pwconv.8.xml.out:242 @@ -4059,7 +4275,7 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:295 +#: gpasswd.1.xml.out:297 #: grpck.8.xml.out:95 #: grpck.8.xml.out:287 #: gshadow.5.xml.out:22 @@ -4075,14 +4291,14 @@ msgid "gshadow" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:293 +#: gpasswd.1.xml.out:295 #: newgrp.1.xml.out:146 #: sg.1.xml.out:135 msgid ", <_:citerefentry-1/>" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:275 +#: gpasswd.1.xml.out:277 #: newgrp.1.xml.out:128 #: sg.1.xml.out:117 msgid "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/><_:phrase-7/>." @@ -4128,10 +4344,10 @@ msgstr "" #: useradd.8.xml.out:96 #: useradd.8.xml.out:230 #: useradd.8.xml.out:264 -#: useradd.8.xml.out:391 -#: useradd.8.xml.out:396 -#: useradd.8.xml.out:557 -#: useradd.8.xml.out:639 +#: useradd.8.xml.out:393 +#: useradd.8.xml.out:398 +#: useradd.8.xml.out:559 +#: useradd.8.xml.out:659 #: usermod.8.xml.out:174 #: vipw.8.xml.out:90 msgid "-g" @@ -4146,7 +4362,7 @@ msgstr "" #: groupadd.8.xml.out:102 #: groupmod.8.xml.out:82 #: useradd.8.xml.out:230 -#: useradd.8.xml.out:639 +#: useradd.8.xml.out:659 #: usermod.8.xml.out:174 msgid "--gid" msgstr "" @@ -4162,8 +4378,8 @@ msgstr "" #: groupmod.8.xml.out:87 #: groupmod.8.xml.out:91 #: groupmod.8.xml.out:137 -#: newusers.8.xml.out:300 -#: useradd.8.xml.out:469 +#: newusers.8.xml.out:302 +#: useradd.8.xml.out:471 msgid "GID" msgstr "" @@ -4194,7 +4410,7 @@ msgstr "" #. (itstool) path: listitem/para #: groupadd.8.xml.out:111 -#: useradd.8.xml.out:541 +#: useradd.8.xml.out:543 msgid "See also the <_:option-1/> option and the <_:option-2/> description." msgstr "" @@ -4205,35 +4421,35 @@ msgstr "" #: groupadd.8.xml.out:134 #: groupadd.8.xml.out:135 #: groupadd.8.xml.out:138 -#: useradd.8.xml.out:303 -#: useradd.8.xml.out:314 -#: useradd.8.xml.out:317 +#: useradd.8.xml.out:305 +#: useradd.8.xml.out:316 #: useradd.8.xml.out:319 -#: useradd.8.xml.out:320 +#: useradd.8.xml.out:321 +#: useradd.8.xml.out:322 msgid "-K" msgstr "" #. (itstool) path: term/option #: groupadd.8.xml.out:125 -#: useradd.8.xml.out:303 +#: useradd.8.xml.out:305 msgid "--key" msgstr "" #. (itstool) path: term/replaceable #: groupadd.8.xml.out:125 -#: useradd.8.xml.out:303 +#: useradd.8.xml.out:305 msgid "KEY" msgstr "" #. (itstool) path: term/replaceable #: groupadd.8.xml.out:125 -#: useradd.8.xml.out:303 +#: useradd.8.xml.out:305 msgid "VALUE" msgstr "" #. (itstool) path: varlistentry/term #: groupadd.8.xml.out:124 -#: useradd.8.xml.out:302 +#: useradd.8.xml.out:304 msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>=<_:replaceable-4/>" msgstr "" @@ -4244,14 +4460,14 @@ msgstr "" #. (itstool) path: para/replaceable #: groupadd.8.xml.out:134 -#: useradd.8.xml.out:320 +#: useradd.8.xml.out:322 msgid "100" msgstr "" #. (itstool) path: para/replaceable #: groupadd.8.xml.out:135 #: groupadd.8.xml.out:138 -#: useradd.8.xml.out:321 +#: useradd.8.xml.out:323 msgid "499" msgstr "" @@ -4266,7 +4482,7 @@ msgstr "" #: groupadd.8.xml.out:333 #: groupdel.8.xml.out:192 #: groupmod.8.xml.out:295 -#: useradd.8.xml.out:853 +#: useradd.8.xml.out:873 #: userdel.8.xml.out:265 msgid "10" msgstr "" @@ -4279,7 +4495,7 @@ msgstr "" #. (itstool) path: term/option #: groupadd.8.xml.out:145 #: groupmod.8.xml.out:132 -#: useradd.8.xml.out:405 +#: useradd.8.xml.out:407 #: usermod.8.xml.out:271 msgid "--non-unique" msgstr "" @@ -4302,7 +4518,7 @@ msgstr "" #: login.1.xml.out:95 #: login.1.xml.out:212 #: su.1.xml.out:207 -#: useradd.8.xml.out:425 +#: useradd.8.xml.out:427 #: usermod.8.xml.out:237 #: usermod.8.xml.out:290 #: usermod.8.xml.out:411 @@ -4313,7 +4529,7 @@ msgstr "" #. (itstool) path: term/option #: groupadd.8.xml.out:158 #: groupmod.8.xml.out:143 -#: useradd.8.xml.out:425 +#: useradd.8.xml.out:427 #: usermod.8.xml.out:290 msgid "--password" msgstr "" @@ -4321,7 +4537,7 @@ msgstr "" #. (itstool) path: term/replaceable #: groupadd.8.xml.out:158 #: groupmod.8.xml.out:143 -#: useradd.8.xml.out:425 +#: useradd.8.xml.out:427 #: usermod.8.xml.out:290 msgid "PASSWORD" msgstr "" @@ -4336,10 +4552,10 @@ msgstr "" #: passwd.5.xml.out:170 #: shadow.5.xml.out:88 #: shadow.5.xml.out:94 -#: useradd.8.xml.out:430 -#: useradd.8.xml.out:887 +#: useradd.8.xml.out:432 +#: useradd.8.xml.out:907 #: usermod.8.xml.out:295 -#: usermod.8.xml.out:614 +#: usermod.8.xml.out:631 msgid "crypt" msgstr "" @@ -4355,7 +4571,7 @@ msgstr "" #: grpck.8.xml.out:255 #: gshadow.5.xml.out:63 #: gshadow.5.xml.out:69 -#: passwd.1.xml.out:443 +#: passwd.1.xml.out:465 #: passwd.5.xml.out:104 #: passwd.5.xml.out:110 #: passwd.5.xml.out:170 @@ -4365,11 +4581,11 @@ msgstr "" #: shadow.3.xml.out:217 #: shadow.5.xml.out:89 #: shadow.5.xml.out:95 -#: useradd.8.xml.out:431 -#: useradd.8.xml.out:829 -#: useradd.8.xml.out:887 +#: useradd.8.xml.out:433 +#: useradd.8.xml.out:849 +#: useradd.8.xml.out:907 #: usermod.8.xml.out:296 -#: usermod.8.xml.out:614 +#: usermod.8.xml.out:631 msgid "3" msgstr "" @@ -4386,7 +4602,7 @@ msgstr "" #. (itstool) path: para/emphasis #: groupadd.8.xml.out:173 #: groupmod.8.xml.out:152 -#: useradd.8.xml.out:444 +#: useradd.8.xml.out:446 #: userdel.8.xml.out:93 #: usermod.8.xml.out:299 msgid "Note:" @@ -4401,15 +4617,15 @@ msgstr "" #. (itstool) path: listitem/para #: groupadd.8.xml.out:177 #: groupmod.8.xml.out:156 -#: useradd.8.xml.out:448 +#: useradd.8.xml.out:450 #: usermod.8.xml.out:309 msgid "You should make sure the password respects the system's password policy." msgstr "" #. (itstool) path: term/option #: groupadd.8.xml.out:185 -#: newusers.8.xml.out:287 -#: useradd.8.xml.out:456 +#: newusers.8.xml.out:289 +#: useradd.8.xml.out:458 msgid "--system" msgstr "" @@ -4435,52 +4651,6 @@ msgstr "" 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 "" -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 -#: groupdel.8.xml.out:102 -#: groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 -#: userdel.8.xml.out:136 -#: usermod.8.xml.out:341 -msgid "-P" -msgstr "" - -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 -#: groupdel.8.xml.out:102 -#: groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 -#: userdel.8.xml.out:136 -#: usermod.8.xml.out:341 -msgid "--prefix" -msgstr "" - -#. (itstool) path: term/replaceable -#. (itstool) path: para/replaceable -#: groupadd.8.xml.out:214 -#: groupadd.8.xml.out:219 -#: groupdel.8.xml.out:102 -#: groupdel.8.xml.out:106 -#: groupdel.8.xml.out:108 -#: groupmod.8.xml.out:177 -#: groupmod.8.xml.out:181 -#: groupmod.8.xml.out:183 -#: useradd.8.xml.out:502 -#: useradd.8.xml.out:507 -#: userdel.8.xml.out:136 -#: userdel.8.xml.out:140 -#: userdel.8.xml.out:142 -#: usermod.8.xml.out:341 -#: usermod.8.xml.out:346 -msgid "PREFIX_DIR" -msgstr "" - -#. (itstool) path: listitem/para -#: groupadd.8.xml.out:217 -#: useradd.8.xml.out:505 -msgid "Apply changes to configuration files under the root filesystem found under the directory <_:replaceable-1/>. 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 "" - #. (itstool) path: term/option #. (itstool) path: para/option #: groupadd.8.xml.out:229 @@ -4488,9 +4658,9 @@ msgstr "" #: groupmod.8.xml.out:194 #: groupmod.8.xml.out:202 #: useradd.8.xml.out:96 -#: useradd.8.xml.out:397 -#: useradd.8.xml.out:549 -#: useradd.8.xml.out:558 +#: 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 msgid "-U" @@ -4513,9 +4683,9 @@ msgstr "" #: groupadd.8.xml.out:237 #: groupmod.8.xml.out:202 #: useradd.8.xml.out:96 -#: useradd.8.xml.out:386 -#: useradd.8.xml.out:397 -#: useradd.8.xml.out:558 +#: useradd.8.xml.out:388 +#: useradd.8.xml.out:399 +#: useradd.8.xml.out:560 msgid "-N" msgstr "" @@ -4523,11 +4693,11 @@ msgstr "" #. (itstool) path: para/phrase #: groupadd.8.xml.out:238 #: groupmod.8.xml.out:203 -#: login.defs.5.xml.out:448 +#: login.defs.5.xml.out:467 #: useradd.8.xml.out:97 #: useradd.8.xml.out:240 -#: useradd.8.xml.out:398 -#: useradd.8.xml.out:559 +#: useradd.8.xml.out:400 +#: useradd.8.xml.out:561 #: userdel.8.xml.out:86 #: userdel.8.xml.out:296 msgid "USERGROUPS_ENAB" @@ -4536,8 +4706,8 @@ msgstr "" #. (itstool) path: listitem/para #: groupadd.8.xml.out:235 #: groupmod.8.xml.out:200 -#: useradd.8.xml.out:395 -#: useradd.8.xml.out:556 +#: useradd.8.xml.out:397 +#: useradd.8.xml.out:558 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 "" @@ -4553,8 +4723,8 @@ msgstr "" #. (itstool) path: listitem/para #: groupadd.8.xml.out:317 -#: passwd.1.xml.out:463 -#: useradd.8.xml.out:831 +#: passwd.1.xml.out:485 +#: useradd.8.xml.out:851 msgid "invalid argument to option" msgstr "" @@ -4562,9 +4732,9 @@ msgstr "" #: groupadd.8.xml.out:321 #: groupmod.8.xml.out:277 #: grpck.8.xml.out:261 -#: passwd.1.xml.out:449 +#: passwd.1.xml.out:471 #: pwck.8.xml.out:311 -#: useradd.8.xml.out:835 +#: useradd.8.xml.out:855 msgid "4" msgstr "" @@ -4576,7 +4746,7 @@ msgstr "" #. (itstool) path: term/replaceable #: groupadd.8.xml.out:327 #: groupmod.8.xml.out:289 -#: useradd.8.xml.out:847 +#: useradd.8.xml.out:867 msgid "9" msgstr "" @@ -4588,7 +4758,7 @@ msgstr "" #. (itstool) path: listitem/para #: groupadd.8.xml.out:335 #: groupdel.8.xml.out:194 -#: useradd.8.xml.out:855 +#: useradd.8.xml.out:875 #: userdel.8.xml.out:267 msgid "can't update group file" msgstr "" @@ -4603,8 +4773,8 @@ msgstr "" #: groupdel.8.xml.out:226 #: groupmems.8.xml.out:227 #: groupmod.8.xml.out:350 -#: login.defs.5.xml.out:480 -#: useradd.8.xml.out:913 +#: 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 @@ -4616,7 +4786,7 @@ msgstr "" #: userdel.8.xml.out:283 #: userdel.8.xml.out:298 #: userdel.8.xml.out:300 -#: usermod.8.xml.out:643 +#: usermod.8.xml.out:660 msgid "userdel" msgstr "" @@ -4630,11 +4800,11 @@ msgstr "" #: groupdel.8.xml.out:229 #: groupmems.8.xml.out:230 #: groupmod.8.xml.out:353 -#: login.defs.5.xml.out:490 -#: passwd.1.xml.out:488 +#: 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:916 +#: useradd.8.xml.out:936 #: userdel.8.xml.out:345 #: usermod.8.xml.out:40 #: usermod.8.xml.out:47 @@ -4642,7 +4812,7 @@ msgstr "" #: usermod.8.xml.out:64 #: usermod.8.xml.out:72 #: usermod.8.xml.out:263 -#: usermod.8.xml.out:522 +#: usermod.8.xml.out:539 msgid "usermod" msgstr "" @@ -4673,9 +4843,9 @@ msgstr "" #: suauth.5.xml.out:87 #: useradd.8.xml.out:230 #: useradd.8.xml.out:249 -#: useradd.8.xml.out:392 -#: useradd.8.xml.out:639 -#: useradd.8.xml.out:648 +#: useradd.8.xml.out:394 +#: useradd.8.xml.out:659 +#: useradd.8.xml.out:668 #: usermod.8.xml.out:174 msgid "GROUP" msgstr "" @@ -4710,16 +4880,16 @@ msgstr "" #. (itstool) path: term/replaceable #: groupdel.8.xml.out:180 #: groupmod.8.xml.out:283 -#: passwd.1.xml.out:461 +#: passwd.1.xml.out:483 #: pwck.8.xml.out:323 -#: useradd.8.xml.out:841 +#: useradd.8.xml.out:861 #: userdel.8.xml.out:253 msgid "6" msgstr "" #. (itstool) path: listitem/para #: groupdel.8.xml.out:182 -#: useradd.8.xml.out:843 +#: useradd.8.xml.out:863 msgid "specified group doesn't exist" msgstr "" @@ -4769,7 +4939,7 @@ msgstr "" #: groupmems.8.xml.out:78 #: groupmems.8.xml.out:159 #: groupmems.8.xml.out:163 -#: login.defs.5.xml.out:305 +#: login.defs.5.xml.out:318 msgid "groupmems" msgstr "" @@ -4882,7 +5052,7 @@ msgstr "" #. (itstool) path: refsect1/programlisting #: groupmems.8.xml.out:167 -msgid "$ groupadd -r groups $ chmod 2710 groupmems $ chown root.groups groupmems $ groupmems -g groups -a gk4" +msgid "$ groupadd -r groups $ chmod 2710 groupmems $ chown root:groups groupmems $ groupmems -g groups -a gk4" msgstr "" #. (itstool) path: listitem/para @@ -4944,7 +5114,7 @@ msgstr "" #. (itstool) path: term/option #: groupmod.8.xml.out:121 -#: passwd.1.xml.out:246 +#: passwd.1.xml.out:242 msgid "-n" msgstr "" @@ -5022,7 +5192,7 @@ msgstr "" #. (itstool) path: term/replaceable #: groupmod.8.xml.out:307 -#: useradd.8.xml.out:859 +#: useradd.8.xml.out:879 #: userdel.8.xml.out:271 msgid "12" msgstr "" @@ -5179,8 +5349,8 @@ msgstr "" #. (itstool) path: arg/replaceable #. (itstool) path: para/replaceable #: grpck.8.xml.out:113 -#: newusers.8.xml.out:67 -#: newusers.8.xml.out:75 +#: newusers.8.xml.out:69 +#: newusers.8.xml.out:77 msgid "file" msgstr "" @@ -5209,8 +5379,8 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable #: grpck.8.xml.out:143 -#: login.defs.5.xml.out:134 #: login.defs.5.xml.out:136 +#: login.defs.5.xml.out:138 #: useradd.8.xml.out:246 msgid "no" msgstr "" @@ -5235,8 +5405,8 @@ msgstr "" #. (itstool) path: para/option #: grpck.8.xml.out:172 #: lastlog.8.xml.out:117 -#: passwd.1.xml.out:161 -#: passwd.1.xml.out:291 +#: passwd.1.xml.out:157 +#: passwd.1.xml.out:302 msgid "-S" msgstr "" @@ -5418,7 +5588,7 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #: gshadow.5.xml.out:162 -#: login.defs.5.xml.out:324 +#: login.defs.5.xml.out:337 #: pwconv.8.xml.out:48 #: pwconv.8.xml.out:67 #: pwconv.8.xml.out:113 @@ -5440,7 +5610,7 @@ msgstr "" #: lastlog.8.xml.out:58 #: lastlog.8.xml.out:70 #: lastlog.8.xml.out:172 -#: login.defs.5.xml.out:337 +#: login.defs.5.xml.out:350 msgid "lastlog" msgstr "" @@ -5480,7 +5650,7 @@ msgstr "" #. (itstool) path: term/option #: lastlog.8.xml.out:75 #: useradd.8.xml.out:118 -#: useradd.8.xml.out:592 +#: useradd.8.xml.out:612 #: usermod.8.xml.out:89 msgid "-b" msgstr "" @@ -5778,7 +5948,7 @@ msgstr "" #: su.1.xml.out:95 #: su.1.xml.out:153 #: su.1.xml.out:155 -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "username" msgstr "" @@ -6167,9 +6337,9 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #: login.1.xml.out:386 -#: login.defs.5.xml.out:436 -#: login.defs.5.xml.out:520 -#: login.defs.5.xml.out:536 +#: login.defs.5.xml.out:455 +#: login.defs.5.xml.out:539 +#: login.defs.5.xml.out:555 #: newgrp.1.xml.out:136 #: passwd.5.xml.out:197 #: shadow.5.xml.out:283 @@ -6330,81 +6500,81 @@ msgid "<_:citerefentry-1/>." msgstr "" #. (itstool) path: refnamediv/refpurpose -#: login.defs.5.xml.out:110 +#: login.defs.5.xml.out:112 msgid "shadow password suite configuration" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:115 +#: login.defs.5.xml.out:117 msgid "The <_:filename-1/> 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 "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:122 +#: login.defs.5.xml.out:124 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 "" #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:133 +#: login.defs.5.xml.out:135 #: useradd.8.xml.out:242 -#: useradd.8.xml.out:380 +#: useradd.8.xml.out:382 #: userdel.8.xml.out:87 #: userdel.8.xml.out:297 msgid "yes" msgstr "" #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:140 +#: login.defs.5.xml.out:142 msgid "0x" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:130 +#: login.defs.5.xml.out:132 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 <_:replaceable-1/> or <_:replaceable-2/>. An undefined boolean parameter or one with a value other than these will be given a <_:replaceable-3/> value. Numbers (both regular and long) may be either decimal values, octal values (precede the value with <_:replaceable-4/>) or hexadecimal values (precede the value with <_:replaceable-5/>). The maximum value of the regular and long numeric parameters is machine-dependent." msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:145 +#: login.defs.5.xml.out:147 msgid "The following configuration items are provided:" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:193 +#: login.defs.5.xml.out:196 #: pwconv.8.xml.out:146 -#: useradd.8.xml.out:309 -#: useradd.8.xml.out:314 +#: useradd.8.xml.out:311 +#: useradd.8.xml.out:316 msgid "PASS_MAX_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:193 +#: login.defs.5.xml.out:196 #: pwconv.8.xml.out:145 msgid "PASS_MIN_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:194 +#: login.defs.5.xml.out:197 #: pwconv.8.xml.out:147 msgid "PASS_WARN_AGE" msgstr "" #. (itstool) path: variablelist/para -#: login.defs.5.xml.out:192 +#: login.defs.5.xml.out:195 msgid "<_:option-1/>, <_:option-2/> and <_:option-3/> are only used at the time of account creation. Any changes to these settings won't affect existing accounts." msgstr "" #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:225 +#: login.defs.5.xml.out:229 msgid "CROSS REFERENCES" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:226 +#: login.defs.5.xml.out:230 msgid "The following cross references show which programs in the shadow password suite use which parameters." msgstr "" @@ -6412,10 +6582,10 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: phrase/option #. (itstool) path: para/option -#: login.defs.5.xml.out:235 -#: login.defs.5.xml.out:423 -#: login.defs.5.xml.out:431 -#: login.defs.5.xml.out:503 +#: login.defs.5.xml.out:239 +#: login.defs.5.xml.out:442 +#: login.defs.5.xml.out:450 +#: login.defs.5.xml.out:522 #: pwck.8.xml.out:75 #: pwck.8.xml.out:216 #: pwck.8.xml.out:232 @@ -6428,58 +6598,76 @@ msgid "USE_TCB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:242 +#: login.defs.5.xml.out:246 msgid "CHFN_AUTH" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:244 -#: login.defs.5.xml.out:359 +#: login.defs.5.xml.out:248 +#: login.defs.5.xml.out:372 msgid "LOGIN_STRING" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:241 +#: login.defs.5.xml.out:245 msgid "<_:phrase-1/> CHFN_RESTRICT <_:phrase-2/>" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:253 -#: login.defs.5.xml.out:264 -#: login.defs.5.xml.out:284 -#: login.defs.5.xml.out:388 -#: login.defs.5.xml.out:404 -msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" -msgstr "" - -#. (itstool) path: listitem/para -#: login.defs.5.xml.out:251 -#: login.defs.5.xml.out:282 -msgid "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:phrase-1/>" +#: login.defs.5.xml.out:256 +#: login.defs.5.xml.out:269 +#: login.defs.5.xml.out:293 +#: login.defs.5.xml.out:396 +#: login.defs.5.xml.out:418 +msgid "BCRYPT_MAX_ROUNDS BCRYPT_MIN_ROUNDS" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:262 +#: login.defs.5.xml.out:259 +#: login.defs.5.xml.out:273 +#: login.defs.5.xml.out:296 +#: login.defs.5.xml.out:403 +#: login.defs.5.xml.out:422 +msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +msgstr "" + +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:261 +#: login.defs.5.xml.out:275 +#: login.defs.5.xml.out:298 +#: login.defs.5.xml.out:409 +#: login.defs.5.xml.out:424 +msgid "YESCRYPT_COST_FACTOR" +msgstr "" + +#. (itstool) path: listitem/para +#: login.defs.5.xml.out:255 +#: login.defs.5.xml.out:292 +msgid "<_:phrase-1/> ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:phrase-2/> <_:phrase-3/>" +msgstr "" + +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:271 msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:272 +#: login.defs.5.xml.out:282 msgid "CHSH_AUTH LOGIN_STRING" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:292 +#: login.defs.5.xml.out:305 msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:301 -#: login.defs.5.xml.out:307 -#: login.defs.5.xml.out:313 +#: login.defs.5.xml.out:314 #: login.defs.5.xml.out:320 #: login.defs.5.xml.out:326 -#: login.defs.5.xml.out:332 +#: login.defs.5.xml.out:333 +#: login.defs.5.xml.out:339 +#: login.defs.5.xml.out:345 msgid "MAX_MEMBERS_PER_GROUP" msgstr "" @@ -6487,7 +6675,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:330 +#: login.defs.5.xml.out:343 #: pwconv.8.xml.out:49 #: pwconv.8.xml.out:73 #: pwconv.8.xml.out:119 @@ -6498,84 +6686,84 @@ msgid "grpunconv" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:339 +#: login.defs.5.xml.out:352 msgid "LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:346 -#: login.defs.5.xml.out:439 +#: login.defs.5.xml.out:359 +#: login.defs.5.xml.out:458 msgid "CONSOLE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:348 +#: login.defs.5.xml.out:361 msgid "ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:351 +#: login.defs.5.xml.out:364 msgid "FAILLOG_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:353 +#: login.defs.5.xml.out:366 msgid "FTMP_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:355 +#: login.defs.5.xml.out:368 msgid "ISSUE_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:357 +#: login.defs.5.xml.out:370 msgid "LASTLOG_ENAB LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:361 +#: login.defs.5.xml.out:374 msgid "MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:365 +#: login.defs.5.xml.out:378 msgid "ULIMIT UMASK" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:345 +#: login.defs.5.xml.out:358 msgid "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ERASECHAR FAIL_DELAY <_:phrase-3/> FAKE_SHELL <_:phrase-4/> HUSHLOGIN_FILE <_:phrase-5/> KILLCHAR <_:phrase-6/> LOGIN_RETRIES <_:phrase-7/> LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB <_:phrase-8/> TTYGROUP TTYPERM TTYTYPE_FILE <_:phrase-9/> USERGROUPS_ENAB" msgstr "" #. (itstool) path: varlistentry/term -#: login.defs.5.xml.out:372 +#: login.defs.5.xml.out:385 msgid "newgrp / sg" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:374 +#: login.defs.5.xml.out:387 msgid "SYSLOG_SG_ENAB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:382 -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 <_:phrase-1/> 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.out:395 +msgid "<_:phrase-1/> ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB HOME_MODE PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:phrase-2/> 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-3/>" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:401 -msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-1/>" +#: login.defs.5.xml.out:417 +msgid "<_:phrase-1/> ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-2/> <_:phrase-3/>" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:414 +#: login.defs.5.xml.out:433 msgid "TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:412 -#: login.defs.5.xml.out:421 +#: login.defs.5.xml.out:431 +#: login.defs.5.xml.out:440 msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:phrase-1/>" msgstr "" @@ -6585,7 +6773,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:419 +#: login.defs.5.xml.out:438 #: passwd.5.xml.out:188 #: pwconv.8.xml.out:39 #: pwconv.8.xml.out:46 @@ -6606,7 +6794,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:428 +#: login.defs.5.xml.out:447 #: passwd.5.xml.out:191 #: pwconv.8.xml.out:47 #: pwconv.8.xml.out:61 @@ -6621,68 +6809,61 @@ msgid "pwunconv" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:441 +#: login.defs.5.xml.out:460 msgid "ENV_HZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:443 +#: login.defs.5.xml.out:462 msgid "ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:446 +#: login.defs.5.xml.out:465 msgid "SU_WHEEL_ONLY" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:438 +#: login.defs.5.xml.out:457 msgid "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ENV_PATH ENV_SUPATH <_:phrase-3/> SULOG_FILE SU_NAME <_:phrase-4/> SYSLOG_SU_ENAB <_:phrase-5/>" msgstr "" #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:453 +#: login.defs.5.xml.out:472 #: passwd.5.xml.out:200 #: shadow.5.xml.out:286 msgid "sulogin" msgstr "" -#. (itstool) path: para/phrase -#. (itstool) path: para/option -#: login.defs.5.xml.out:457 -#: su.1.xml.out:278 -msgid "ENV_TZ" -msgstr "" - #. (itstool) path: listitem/para -#: login.defs.5.xml.out:455 -msgid "ENV_HZ <_:phrase-1/>" +#: login.defs.5.xml.out:474 +msgid "ENV_HZ ENV_TZ" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:475 +#: login.defs.5.xml.out:494 msgid "TCB_AUTH_GROUP TCB_SYMLINK USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:464 +#: login.defs.5.xml.out:483 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-1/>" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:485 -#: login.defs.5.xml.out:495 +#: login.defs.5.xml.out:504 +#: login.defs.5.xml.out:514 msgid "TCB_SYMLINKS USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:482 +#: login.defs.5.xml.out:501 msgid "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <_:phrase-1/>" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:492 +#: login.defs.5.xml.out:511 msgid "LASTLOG_UID_MAX MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <_:phrase-1/>" msgstr "" @@ -6691,7 +6872,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:500 +#: login.defs.5.xml.out:519 #: vipw.8.xml.out:35 #: vipw.8.xml.out:42 #: vipw.8.xml.out:51 @@ -6701,24 +6882,24 @@ msgid "vipw" msgstr "" #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:511 +#: login.defs.5.xml.out:530 #: pwconv.8.xml.out:193 #: suauth.5.xml.out:179 msgid "BUGS" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:512 +#: login.defs.5.xml.out:531 msgid "Much of the functionality that used to be provided by the shadow password suite is now handled by PAM. Thus, <_:filename-1/> is no longer used by <_:citerefentry-2/>, or less used by <_:citerefentry-3/>, and <_:citerefentry-4/>. Please refer to the corresponding PAM configuration files instead." msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:545 +#: login.defs.5.xml.out:564 msgid "pam" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:528 +#: login.defs.5.xml.out:547 msgid "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>." msgstr "" @@ -6792,167 +6973,167 @@ msgid "id" msgstr "" #. (itstool) path: refnamediv/refpurpose -#: newusers.8.xml.out:57 +#: newusers.8.xml.out:59 msgid "update and create new users in batch" msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:74 +#: newusers.8.xml.out:76 msgid "The <_:command-1/> command reads a <_:replaceable-2/> (or the standard input by default) and uses this information to update a set of existing users or to create new users. Each line is in the same format as the standard password file (see <_:citerefentry-3/>) with the exceptions explained below:" msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:82 +#: newusers.8.xml.out:84 msgid "pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell" msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:87 +#: newusers.8.xml.out:89 msgid "pw_name" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:90 +#: newusers.8.xml.out:92 msgid "This is the name of the user." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:93 +#: newusers.8.xml.out:95 msgid "It can be the name of a new user or the name of an existing user (or a user created before by <_:command-1/>). In case of an existing user, the user's information will be changed, otherwise a new user will be created." msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:104 +#: newusers.8.xml.out:106 msgid "pw_passwd" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:107 +#: newusers.8.xml.out:109 msgid "This field will be encrypted and used as the new value of the encrypted password." msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:115 +#: newusers.8.xml.out:117 msgid "pw_uid" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:118 +#: newusers.8.xml.out:120 msgid "This field is used to define the UID of the user." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:121 +#: newusers.8.xml.out:123 msgid "If the field is empty, a new (unused) UID will be defined automatically by <_:command-1/>." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:125 +#: newusers.8.xml.out:127 msgid "If this field contains a number, this number will be used as the UID." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:129 +#: newusers.8.xml.out:131 msgid "If this field contains the name of an existing user (or the name of a user created before by <_:command-1/>), the UID of the specified user will be used." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:135 +#: newusers.8.xml.out:137 msgid "If the UID of an existing user is changed, the files ownership of the user's file should be fixed manually." msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:143 +#: newusers.8.xml.out:145 msgid "pw_gid" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:146 +#: newusers.8.xml.out:148 msgid "This field is used to define the primary group ID for the user." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:149 +#: newusers.8.xml.out:151 msgid "If this field contains the name of an existing group (or a group created before by <_:command-1/>), the GID of this group will be used as the primary group ID for the user." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:155 +#: newusers.8.xml.out:157 msgid "If this field is a number, this number will be used as the primary group ID of the user. If no groups exist with this GID, a new group will be created with this GID, and the name of the user." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:161 +#: newusers.8.xml.out:163 msgid "If this field is empty, a new group will be created with the name of the user and a GID will be automatically defined by <_:command-1/> to be used as the primary group ID for the user and as the GID for the new group." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:167 +#: newusers.8.xml.out:169 msgid "If this field contains the name of a group which does not exist (and was not created before by <_:command-1/>), a new group will be created with the specified name and a GID will be automatically defined by <_:command-2/> to be used as the primary group ID for the user and GID for the new group." msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:179 +#: newusers.8.xml.out:181 msgid "pw_gecos" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:182 +#: newusers.8.xml.out:184 msgid "This field is copied in the GECOS field of the user." msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:189 +#: newusers.8.xml.out:191 msgid "pw_dir" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:192 +#: newusers.8.xml.out:194 msgid "This field is used to define the home directory of the user." msgstr "" #. (itstool) path: para/emphasis -#: newusers.8.xml.out:199 +#: newusers.8.xml.out:201 msgid "newusers does not create parent directories" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:195 +#: newusers.8.xml.out:197 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. Note that <_:emphasis-1/> of the new user's home directory. The newusers command will fail to create the home directory if the parent directories do not exist, and will send a message to stderr informing the user of the failure. The newusers command will not halt or return a failure to the calling shell if it fails to create the home directory, it will continue to process the batch of new users specified." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:208 +#: newusers.8.xml.out:210 msgid "If the home directory of an existing user is changed, <_:command-1/> does not move or copy the content of the old directory to the new location. This should be done manually." msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:218 +#: newusers.8.xml.out:220 msgid "pw_shell" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:221 +#: newusers.8.xml.out:223 msgid "This field defines the shell of the user. No checks are performed on this field." msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:229 +#: newusers.8.xml.out:231 msgid "<_:command-1/> first tries to create or change all the specified users, and then write these changes to the user or group databases. If an error occurs (except in the final writes to the databases), no changes are committed to the databases." msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:235 +#: newusers.8.xml.out:237 msgid "During this first pass, users are created with a locked password (and passwords are not changed for the users which are not created). A second pass is used to update the passwords using PAM. Failures to update a password are reported, but will not stop the other password updates." msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:243 +#: newusers.8.xml.out:245 msgid "This command is intended to be used in a large system environment where many accounts are updated at a single time." msgstr "" #. (itstool) path: term/option -#: newusers.8.xml.out:257 +#: newusers.8.xml.out:259 #: pwck.8.xml.out:164 #: useradd.8.xml.out:108 #: usermod.8.xml.out:89 @@ -6960,7 +7141,7 @@ msgid "--badname" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:260 +#: newusers.8.xml.out:262 #: pwck.8.xml.out:167 #: useradd.8.xml.out:111 #: usermod.8.xml.out:92 @@ -6968,120 +7149,140 @@ msgid "Allow names that do not conform to standards." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:290 -#: useradd.8.xml.out:459 +#: newusers.8.xml.out:273 +msgid "The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc support these methods." +msgstr "" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:292 +#: useradd.8.xml.out:461 msgid "Create a system account." msgstr "" #. (itstool) path: para/option -#: newusers.8.xml.out:297 -#: useradd.8.xml.out:466 +#: newusers.8.xml.out:299 +#: useradd.8.xml.out:468 #: usermod.8.xml.out:398 msgid "SYS_UID_MIN" msgstr "" #. (itstool) path: para/option -#: newusers.8.xml.out:297 -#: useradd.8.xml.out:466 +#: newusers.8.xml.out:299 +#: useradd.8.xml.out:468 #: usermod.8.xml.out:398 msgid "SYS_UID_MAX" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 -#: useradd.8.xml.out:308 -#: useradd.8.xml.out:319 -#: useradd.8.xml.out:468 -#: useradd.8.xml.out:538 +#: newusers.8.xml.out:301 +#: useradd.8.xml.out:310 +#: useradd.8.xml.out:321 +#: useradd.8.xml.out:470 +#: useradd.8.xml.out:540 #: usermod.8.xml.out:397 msgid "UID_MIN" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 -#: useradd.8.xml.out:308 -#: useradd.8.xml.out:321 -#: useradd.8.xml.out:468 -#: useradd.8.xml.out:543 +#: newusers.8.xml.out:301 +#: useradd.8.xml.out:310 +#: useradd.8.xml.out:323 +#: useradd.8.xml.out:470 +#: useradd.8.xml.out:545 #: usermod.8.xml.out:397 msgid "UID_MAX" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:293 -#: useradd.8.xml.out:462 +#: newusers.8.xml.out:295 +#: useradd.8.xml.out:464 msgid "System users will be created with no aging information in <_:filename-1/>, and their numeric identifiers are chosen in the <_:option-2/>-<_:option-3/> range, defined in <_:filename-4/>, instead of <_:option-5/>-<_:option-6/> (and their <_:option-7/> counterparts for the creation of groups)." msgstr "" +#. (itstool) path: listitem/para +#: newusers.8.xml.out:342 +msgid "A minimal value of 4 and a maximal value of 31 will be enforced for BCRYPT. The default is 13." +msgstr "" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:351 +msgid "A minimal value of 1000 and a maximal value of 999,999,999 will be enforced for SHA256 and SHA512. The default is 5000." +msgstr "" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:359 +msgid "A minimal value of 1 and a maximal value of 11 will be enforced for YESCRYPT. The default is 5." +msgstr "" + #. (itstool) path: refsect1/para -#: newusers.8.xml.out:349 +#: newusers.8.xml.out:370 msgid "The input file must be protected since it contains unencrypted passwords." msgstr "" #. (itstool) path: term/filename -#: newusers.8.xml.out:429 +#: newusers.8.xml.out:450 msgid "/etc/pam.d/newusers" msgstr "" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:435 +#: newusers.8.xml.out:456 #: useradd.8.xml.out:222 -#: useradd.8.xml.out:481 -#: useradd.8.xml.out:785 +#: useradd.8.xml.out:483 +#: useradd.8.xml.out:805 #: userdel.8.xml.out:215 -#: usermod.8.xml.out:587 +#: usermod.8.xml.out:604 msgid "/etc/subgid" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:437 -#: useradd.8.xml.out:787 +#: newusers.8.xml.out:458 +#: useradd.8.xml.out:807 #: userdel.8.xml.out:217 msgid "Per user subordinate group IDs." msgstr "" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:441 +#: newusers.8.xml.out:462 #: useradd.8.xml.out:222 -#: useradd.8.xml.out:480 -#: useradd.8.xml.out:791 +#: useradd.8.xml.out:482 +#: useradd.8.xml.out:811 #: userdel.8.xml.out:221 -#: usermod.8.xml.out:593 +#: usermod.8.xml.out:610 msgid "/etc/subuid" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:443 -#: useradd.8.xml.out:793 +#: newusers.8.xml.out:464 +#: useradd.8.xml.out:813 #: userdel.8.xml.out:223 msgid "Per user subordinate user IDs." msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:460 -#: useradd.8.xml.out:906 +#: newusers.8.xml.out:481 +#: useradd.8.xml.out:926 #: userdel.8.xml.out:335 -#: usermod.8.xml.out:633 +#: usermod.8.xml.out:650 msgid "subgid" msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:463 -#: useradd.8.xml.out:909 +#: newusers.8.xml.out:484 +#: useradd.8.xml.out:929 #: userdel.8.xml.out:338 -#: usermod.8.xml.out:636 +#: usermod.8.xml.out:653 msgid "subuid" msgstr "" #. (itstool) path: para/phrase -#: newusers.8.xml.out:458 -#: useradd.8.xml.out:904 +#: newusers.8.xml.out:479 +#: useradd.8.xml.out:924 #: userdel.8.xml.out:333 -#: usermod.8.xml.out:631 +#: usermod.8.xml.out:648 msgid "<_:citerefentry-1/>, <_:citerefentry-2/>," msgstr "" @@ -7121,270 +7322,275 @@ msgid "The <_:command-1/> command appeared in BSD 4.4." msgstr "" #. (itstool) path: refnamediv/refpurpose -#: passwd.1.xml.out:48 +#: passwd.1.xml.out:50 msgid "change user password" msgstr "" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:65 +#: passwd.1.xml.out:67 msgid "The <_:command-1/> 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-2/> also changes the account or associated password validity period." msgstr "" #. (itstool) path: refsect2/title -#: passwd.1.xml.out:74 +#: passwd.1.xml.out:76 msgid "Password Changes" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:75 +#: passwd.1.xml.out:77 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 "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:83 +#: passwd.1.xml.out:85 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-1/> refuses to change the password and exits." msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:90 +#: passwd.1.xml.out:92 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 "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:96 -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 "" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:104 -msgid "lower case alphabetics" -msgstr "" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:107 -msgid "digits 0 thru 9" -msgstr "" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:110 -msgid "punctuation marks" -msgstr "" - -#. (itstool) path: refsect2/para -#: passwd.1.xml.out:114 -msgid "Care must be taken not to include the system default erase or kill characters. <_:command-1/> will reject any password which is not suitably complex." +#: passwd.1.xml.out:98 +msgid "Then, the password is tested for complexity. <_:command-1/> will reject any password which is not suitably complex. Care must be taken not to include the system default erase or kill characters." msgstr "" #. (itstool) path: refsect2/title -#: passwd.1.xml.out:123 +#: passwd.1.xml.out:108 msgid "Hints for user passwords" msgstr "" #. (itstool) path: para/emphasis -#: passwd.1.xml.out:127 +#: passwd.1.xml.out:112 msgid "UNIX" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:124 +#: passwd.1.xml.out:109 msgid "The security of a password depends upon the strength of the encryption algorithm and the size of the key space. The legacy <_:emphasis-1/> System encryption method is based on the NBS DES algorithm. More recent methods are now recommended (see <_:option-2/>). The size of the key space depends upon the randomness of the password which is selected." msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:133 +#: passwd.1.xml.out:118 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 "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:142 +#: passwd.1.xml.out:127 +msgid "As a general guideline, passwords should be long and random. It's 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's apparent that the exponent (the length) is more important than the base (the size of the character set)." +msgstr "" + +#. (itstool) path: refsect2/para +#: passwd.1.xml.out:138 msgid "You can find advice on how to choose a strong password on http://en.wikipedia.org/wiki/Password_strength" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:160 +#: passwd.1.xml.out:156 msgid "This option can be used only with <_:option-1/> and causes show status for all users." msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:171 +#: passwd.1.xml.out:167 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 "" #. (itstool) path: term/option -#: passwd.1.xml.out:180 +#: passwd.1.xml.out:176 msgid "--expire" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:183 +#: passwd.1.xml.out:179 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 "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:200 +#: passwd.1.xml.out:196 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-1/> days, the user may no longer sign on to the account." msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: passwd.1.xml.out:210 -#: useradd.8.xml.out:278 -#: useradd.8.xml.out:356 +#: passwd.1.xml.out:206 +#: useradd.8.xml.out:280 +#: useradd.8.xml.out:358 msgid "-k" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:210 +#: passwd.1.xml.out:206 msgid "--keep-tokens" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:213 +#: passwd.1.xml.out:209 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 "" #. (itstool) path: term/option -#: passwd.1.xml.out:222 +#: passwd.1.xml.out:218 #: usermod.8.xml.out:231 msgid "--lock" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:225 +#: passwd.1.xml.out:221 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 "" #. (itstool) path: para/command -#: passwd.1.xml.out:235 +#: passwd.1.xml.out:231 msgid "usermod --expiredate 1" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:231 +#: passwd.1.xml.out:227 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 <_:command-1/> (this set the account's expire date to Jan 2, 1970)." msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:238 +#: passwd.1.xml.out:234 msgid "Users with a locked password are not allowed to change their password." msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:258 +#: passwd.1.xml.out:254 #: pwck.8.xml.out:179 #: vipw.8.xml.out:108 msgid "-q" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:258 +#: passwd.1.xml.out:254 #: pwck.8.xml.out:179 #: vipw.8.xml.out:108 msgid "--quiet" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:261 +#: passwd.1.xml.out:257 #: vipw.8.xml.out:110 msgid "Quiet mode." msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:268 +#: passwd.1.xml.out:264 msgid "--repository" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable +#: passwd.1.xml.out:264 #: passwd.1.xml.out:268 -#: passwd.1.xml.out:272 msgid "REPOSITORY" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:271 +#: passwd.1.xml.out:267 msgid "change password in <_:replaceable-1/> repository" msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:291 +#: passwd.1.xml.out:302 msgid "--status" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:294 +#: passwd.1.xml.out:305 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 "" #. (itstool) path: term/option -#: passwd.1.xml.out:309 +#: passwd.1.xml.out:320 #: usermod.8.xml.out:405 msgid "--unlock" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:312 +#: passwd.1.xml.out:323 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-1/> option)." msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:325 +#: passwd.1.xml.out:336 msgid "Set the number of days of warning before a password change is required. The <_:replaceable-1/> 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 "" #. (itstool) path: term/option -#: passwd.1.xml.out:335 +#: passwd.1.xml.out:346 msgid "-x" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:338 +#: passwd.1.xml.out:349 msgid "Set the maximum number of days a password remains valid. After <_:replaceable-1/>, the password is required to be changed." msgstr "" +#. (itstool) path: term/option +#: passwd.1.xml.out:363 +msgid "--stdin" +msgstr "" + +#. (itstool) path: listitem/para +#: passwd.1.xml.out:366 +msgid "This option is used to indicate that passwd should read the new password from standard input, which can be a pipe." +msgstr "" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:355 +#: passwd.1.xml.out:377 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 "" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:360 +#: passwd.1.xml.out:382 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 "" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:365 +#: passwd.1.xml.out:387 msgid "<_:command-1/> uses PAM to authenticate users and to change their passwords." msgstr "" #. (itstool) path: term/filename -#: passwd.1.xml.out:411 +#: passwd.1.xml.out:433 msgid "/etc/pam.d/passwd" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:439 +#: passwd.1.xml.out:461 msgid "invalid combination of options" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:445 +#: passwd.1.xml.out:467 msgid "unexpected failure, nothing done" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:451 +#: passwd.1.xml.out:473 msgid "unexpected failure, <_:filename-1/> file missing" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:457 +#: passwd.1.xml.out:479 msgid "<_:filename-1/> file busy, try again" msgstr "" +#. (itstool) path: citerefentry/refentrytitle +#: passwd.1.xml.out:499 +msgid "makepasswd" +msgstr "" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:472 -msgid "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:phrase-4/> <_:citerefentry-5/>." +#: passwd.1.xml.out:494 +msgid "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:citerefentry-4/>, <_:phrase-5/> <_:citerefentry-6/>." +msgstr "" + +#. (itstool) path: refsect1/para +#: passwd.1.xml.out:517 +msgid "The following web page comically (yet correctly) compares the strength of two different methods for choosing a password: \"https://xkcd.com/936/\"" msgstr "" #. (itstool) path: refnamediv/refpurpose @@ -8602,6 +8808,11 @@ msgstr "" 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" @@ -8841,8 +9052,8 @@ msgstr "" #: useradd.8.xml.out:76 #: useradd.8.xml.out:86 #: useradd.8.xml.out:169 -#: useradd.8.xml.out:583 -#: useradd.8.xml.out:585 +#: useradd.8.xml.out:603 +#: useradd.8.xml.out:605 msgid "-D" msgstr "" @@ -8858,7 +9069,7 @@ msgstr "" #. (itstool) path: term/option #: useradd.8.xml.out:118 -#: useradd.8.xml.out:592 +#: useradd.8.xml.out:612 msgid "--base-dir" msgstr "" @@ -8867,8 +9078,8 @@ msgstr "" #: useradd.8.xml.out:118 #: useradd.8.xml.out:124 #: useradd.8.xml.out:159 -#: useradd.8.xml.out:592 -#: useradd.8.xml.out:598 +#: useradd.8.xml.out:612 +#: useradd.8.xml.out:618 msgid "BASE_DIR" msgstr "" @@ -8889,7 +9100,7 @@ msgstr "" #. (itstool) path: para/option #: useradd.8.xml.out:131 -#: useradd.8.xml.out:603 +#: useradd.8.xml.out:623 msgid "HOME" msgstr "" @@ -8899,17 +9110,18 @@ msgstr "" #: useradd.8.xml.out:189 #: useradd.8.xml.out:212 #: useradd.8.xml.out:250 -#: useradd.8.xml.out:293 -#: useradd.8.xml.out:343 -#: useradd.8.xml.out:393 -#: useradd.8.xml.out:523 -#: useradd.8.xml.out:604 -#: useradd.8.xml.out:616 -#: useradd.8.xml.out:633 -#: useradd.8.xml.out:649 -#: useradd.8.xml.out:663 -#: useradd.8.xml.out:677 -#: useradd.8.xml.out:767 +#: 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 "" @@ -8974,7 +9186,7 @@ msgstr "" #. (itstool) path: para/option #: useradd.8.xml.out:188 -#: useradd.8.xml.out:615 +#: useradd.8.xml.out:635 #: usermod.8.xml.out:418 msgid "EXPIRE" msgstr "" @@ -8997,7 +9209,7 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option #: useradd.8.xml.out:218 -#: useradd.8.xml.out:482 +#: useradd.8.xml.out:484 msgid "-F" msgstr "" @@ -9070,411 +9282,443 @@ msgstr "" msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>[<_:emphasis-4/>[<_:emphasis-5/>]]]" msgstr "" +#. (itstool) path: para/option +#: useradd.8.xml.out:267 +msgid "GROUPS" +msgstr "" + #. (itstool) path: listitem/para #: useradd.8.xml.out:260 -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-1/> option. The default is for the user to belong only to the initial group." +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-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 "" #. (itstool) path: term/option -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 msgid "--skel" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 msgid "SKEL_DIR" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:281 +#: useradd.8.xml.out:283 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 <_:command-1/>." msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: useradd.8.xml.out:288 -#: useradd.8.xml.out:350 +#: useradd.8.xml.out:290 +#: useradd.8.xml.out:352 msgid "--create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:286 +#: useradd.8.xml.out:288 +#: useradd.8.xml.out:592 +#: usermod.8.xml.out:524 msgid "This option is only valid if the <_:option-1/> (or <_:option-2/>) option is specified." msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:292 +#: useradd.8.xml.out:294 msgid "SKEL" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:294 +#: useradd.8.xml.out:296 msgid "/etc/skel" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:290 +#: useradd.8.xml.out:292 msgid "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 "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:296 +#: useradd.8.xml.out:298 msgid "If possible, the ACLs and extended attributes are copied." msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:309 +#: useradd.8.xml.out:311 msgid "UMASK" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:306 +#: useradd.8.xml.out:308 msgid "Overrides <_:filename-1/> defaults (<_:option-2/>, <_:option-3/>, <_:option-4/>, <_:option-5/> and others)." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:312 +#: useradd.8.xml.out:314 msgid "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 "" #. (itstool) path: term/option -#: useradd.8.xml.out:330 +#: useradd.8.xml.out:332 msgid "--no-log-init" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:332 +#: useradd.8.xml.out:334 msgid "Do not add the user to the lastlog and faillog databases." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:335 +#: useradd.8.xml.out:337 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 "" #. (itstool) path: para/option -#: useradd.8.xml.out:342 +#: useradd.8.xml.out:344 msgid "LOG_INIT" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:340 +#: useradd.8.xml.out:342 msgid "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 "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:353 +#: useradd.8.xml.out:355 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-1/> option) will be copied to the home directory." msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:361 -#: useradd.8.xml.out:379 -#: useradd.8.xml.out:475 +#: useradd.8.xml.out:363 +#: useradd.8.xml.out:381 +#: useradd.8.xml.out:477 msgid "CREATE_HOME" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:359 +#: useradd.8.xml.out:361 msgid "By default, if this option is not specified and <_:option-1/> is not enabled, no home directories are created." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:364 +#: useradd.8.xml.out:366 msgid "The directory where the user's home directory is created must exist and have proper SELinux context and permissions. Otherwise the user's home directory cannot be created or accessed." msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:373 +#: useradd.8.xml.out:375 msgid "--no-create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:376 +#: useradd.8.xml.out:378 msgid "Do not create the user's home directory, even if the system wide setting from <_:filename-1/> (<_:option-2/>) is set to <_:replaceable-3/>." msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:386 +#: useradd.8.xml.out:388 msgid "--no-user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:389 +#: useradd.8.xml.out:391 msgid "Do not create a group with the same name as the user, but add the user to the group specified by the <_:option-1/> option or by the <_:option-2/> variable in <_:filename-3/>." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:408 +#: useradd.8.xml.out:410 msgid "allows the creation of an account with an already existing UID." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:412 +#: useradd.8.xml.out:414 #: usermod.8.xml.out:277 msgid "This option is only valid in combination with the <_:option-1/> option. As a user identity serves as key to map between users on one hand and permissions, file ownerships and other aspects that determine the system's behavior on the other hand, more than one login name will access the account of the given UID." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:428 +#: useradd.8.xml.out:430 msgid "defines an initial password for the account. PASSWORD is expected to be encrypted, as returned by <_:citerefentry-1/>. Within a shell script, this option allows to create efficiently batches of users." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:435 +#: useradd.8.xml.out:437 msgid "Without this option, the new account will be locked and with no password defined, i.e. a single exclamation mark in the respective field of <_:filename-1/>. This is a state where the user won't be able to access the account or to define a password himself." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:443 +#: useradd.8.xml.out:445 msgid "<_:emphasis-1/>Avoid this option on the command line because the password (or encrypted password) will be visible by users listing the processes." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:471 +#: useradd.8.xml.out:473 msgid "Note that <_:command-1/> will not create a home directory for such a user, regardless of the default setting in <_:filename-2/> (<_:option-3/>). You have to specify the <_:option-4/> options if you want a home directory for a system account to be created." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:479 +#: useradd.8.xml.out:481 msgid "Note that this option will not update <_:filename-1/> and <_:filename-2/>. You have to specify the <_:option-3/> options if you want to update the files for a system account to be created." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:520 +#: useradd.8.xml.out:522 msgid "sets the path to the user's login shell. Without this option, the system will use the <_:option-1/> variable specified in <_:filename-2/>, or, if that is as well not set, the field for the login shell in <_:filename-3/> remains empty." msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:531 +#: useradd.8.xml.out:533 #: usermod.8.xml.out:369 msgid "--uid" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:531 +#: useradd.8.xml.out:533 #: usermod.8.xml.out:369 msgid "UID" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:534 +#: useradd.8.xml.out:536 msgid "The numerical value of the user's ID. This value must be unique, unless the <_:option-1/> option is used. The value must be non-negative. The default is to use the smallest ID value greater than or equal to <_:option-2/> and greater than every other user." msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:549 +#: useradd.8.xml.out:551 msgid "--user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:552 +#: useradd.8.xml.out:554 msgid "Create a group with the same name as the user, and add the user to this group." msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:566 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 +#: useradd.8.xml.out:593 #: userdel.8.xml.out:153 #: usermod.8.xml.out:501 +#: usermod.8.xml.out:525 msgid "-Z" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:566 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 +#: useradd.8.xml.out:594 #: userdel.8.xml.out:153 #: usermod.8.xml.out:501 +#: usermod.8.xml.out:526 msgid "--selinux-user" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:566 +#: useradd.8.xml.out:568 #: usermod.8.xml.out:501 msgid "SEUSER" msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: useradd.8.xml.out:573 +#: useradd.8.xml.out:575 +#: useradd.8.xml.out:589 +#: usermod.8.xml.out:521 msgid "semanage" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:569 -msgid "defines the SELinux user for the new account. Without this option, a SELinux uses the default user. Note that the shadow system doesn't store the selinux-user, it uses <_:citerefentry-1/> for that." +#: useradd.8.xml.out:571 +msgid "defines the SELinux user for the new account. Without this option, SELinux uses the default user. Note that the shadow system doesn't store the selinux-user, it uses <_:citerefentry-1/> for that." +msgstr "" + +#. (itstool) path: term/option +#: useradd.8.xml.out:582 +#: usermod.8.xml.out:515 +msgid "--selinux-range" +msgstr "" + +#. (itstool) path: term/replaceable +#: useradd.8.xml.out:582 +#: usermod.8.xml.out:515 +msgid "SERANGE" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:585 +msgid "defines the SELinux MLS range for the new account. Without this option, SELinux uses the default range. Note that the shadow system doesn't store the selinux-range, it uses <_:citerefentry-1/> for that." msgstr "" #. (itstool) path: refsect2/title -#: useradd.8.xml.out:581 +#: useradd.8.xml.out:601 msgid "Changing the default values" msgstr "" #. (itstool) path: refsect2/para -#: useradd.8.xml.out:582 +#: useradd.8.xml.out:602 msgid "When invoked with only the <_:option-1/> option, <_:command-2/> will display the current default values. When invoked with <_:option-3/> plus other options, <_:command-4/> will update the default values for the specified options. Valid default-changing options are:" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:595 +#: useradd.8.xml.out:615 msgid "sets the path prefix for a new user's home directory. The user's name will be affixed to the end of <_:replaceable-1/> to form the new user's home directory name, if the <_:option-2/> option is not used when creating a new account." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:602 -#: useradd.8.xml.out:614 -#: useradd.8.xml.out:631 -#: useradd.8.xml.out:647 -#: useradd.8.xml.out:661 +#: useradd.8.xml.out:622 +#: useradd.8.xml.out:634 +#: useradd.8.xml.out:651 +#: useradd.8.xml.out:667 +#: useradd.8.xml.out:681 msgid "This option sets the <_:option-1/> variable in <_:filename-2/>." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:613 +#: useradd.8.xml.out:633 msgid "sets the date on which newly created user accounts are disabled." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:625 +#: useradd.8.xml.out:645 msgid "defines the number of days after the password exceeded its maximum age where the user is expected to replace this password. See <_:citerefentry-1/>for more information." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:642 +#: useradd.8.xml.out:662 msgid "sets the default primary group for newly created users, accepting group names or a numerical group ID. The named group must exist, and the GID must have an existing entry." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:658 +#: useradd.8.xml.out:678 msgid "defines the default login shell for new users." msgstr "" #. (itstool) path: refsect1/title -#: useradd.8.xml.out:673 +#: useradd.8.xml.out:693 msgid "NOTES" msgstr "" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: useradd.8.xml.out:675 -#: useradd.8.xml.out:779 +#: useradd.8.xml.out:695 +#: useradd.8.xml.out:799 msgid "/etc/skel/" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:674 +#: useradd.8.xml.out:694 msgid "The system administrator is responsible for placing the default user files in the <_:filename-1/> directory (or any other skeleton directory specified in <_:filename-2/> or on the command line)." msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:683 +#: useradd.8.xml.out:703 msgid "You may not add a user to a NIS or LDAP group. This must be performed on the corresponding server." msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:688 +#: useradd.8.xml.out:708 msgid "Similarly, if the username already exists in an external user database such as NIS or LDAP, <_:command-1/> will deny the user account creation request." msgstr "" #. (itstool) path: para/command -#: useradd.8.xml.out:702 +#: useradd.8.xml.out:722 msgid "ls" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:694 +#: useradd.8.xml.out:714 msgid "Usernames may contain only lower and upper case letters, digits, underscores, or dashes. They can end with a dollar sign. Dashes are not allowed at the beginning of the username. Fully numeric usernames and usernames . or .. are also disallowed. It is not recommended to use usernames beginning with . character as their home directories will be hidden in the <_:command-1/> output." msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:704 +#: useradd.8.xml.out:724 msgid "Usernames may only be up to 32 characters long." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:769 +#: useradd.8.xml.out:789 msgid "Default values for account creation." msgstr "" #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 msgid "/etc/shadow-maint/useradd-pre.d/*" msgstr "" #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 msgid "/etc/shadow-maint/useradd-post.d/*" msgstr "" #. (itstool) path: varlistentry/term -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 #: userdel.8.xml.out:209 msgid "<_:filename-1/>, <_:filename-2/>" msgstr "" #. (itstool) path: para/command -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #: userdel.8.xml.out:211 msgid "ACTION" msgstr "" #. (itstool) path: para/command -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #: userdel.8.xml.out:211 msgid "SUBJECT" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "useradd-pre.d" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "useradd-post.d" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "Run-part files to execute during user addition. The environment variable <_:command-1/> will be populated with useradd and <_:command-2/> with the <_:command-3/>. <_:filename-4/> will be executed prior to any user addition. <_:filename-5/> will execute after user addition. If a script exits non-zero then execution will terminate." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:781 +#: useradd.8.xml.out:801 msgid "Directory containing default files." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:819 +#: useradd.8.xml.out:839 #: userdel.8.xml.out:243 msgid "can't update password file" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:837 +#: useradd.8.xml.out:857 msgid "UID already in use (and no <_:option-1/>)" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:849 +#: useradd.8.xml.out:869 msgid "username or group name already in use" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:861 +#: useradd.8.xml.out:881 msgid "can't create home directory" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:865 +#: useradd.8.xml.out:885 msgid "14" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:867 +#: useradd.8.xml.out:887 msgid "can't update SELinux user mapping" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:876 -#: usermod.8.xml.out:603 +#: useradd.8.xml.out:896 +#: usermod.8.xml.out:620 msgid "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:citerefentry-7/>, <_:citerefentry-8/>, <_:citerefentry-9/>, <_:phrase-10/> <_:citerefentry-11/>, <_:citerefentry-12/>." msgstr "" @@ -9949,63 +10193,68 @@ msgstr "" msgid "defines the SELinux user to be mapped with <_:replaceable-1/>. An empty string (\"\") will remove the respective entry (if any). Note that the shadow system doesn't store the selinux-user, it uses semanage(8) for that." msgstr "" -#. (itstool) path: refsect1/para +#. (itstool) path: listitem/para #: usermod.8.xml.out:518 +msgid "defines the SELinux MLS range for the new account. Note that the shadow system doesn't store the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + +#. (itstool) path: refsect1/para +#: usermod.8.xml.out:535 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. <_:command-1/> checks this on Linux. On other operating systems it only uses utmp to check if the user is logged in." msgstr "" #. (itstool) path: para/command -#: usermod.8.xml.out:527 +#: usermod.8.xml.out:544 msgid "crontab" msgstr "" #. (itstool) path: para/command -#: usermod.8.xml.out:528 +#: usermod.8.xml.out:545 msgid "at" msgstr "" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:526 +#: usermod.8.xml.out:543 msgid "You must change the owner of any <_:command-1/> files or <_:command-2/> jobs manually." msgstr "" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:530 +#: usermod.8.xml.out:547 msgid "You must make any changes involving NIS on the NIS server." msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:559 +#: usermod.8.xml.out:576 msgid "Group account information" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:565 -msgid "Secure group account informatio." +#: usermod.8.xml.out:582 +msgid "Secure group account information" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:571 +#: usermod.8.xml.out:588 msgid "Shadow password suite configuration" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:577 +#: usermod.8.xml.out:594 msgid "User account information" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:583 +#: usermod.8.xml.out:600 msgid "Secure user account information" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:589 +#: usermod.8.xml.out:606 msgid "Per user subordinate group IDs" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:595 +#: usermod.8.xml.out:612 msgid "Per user subordinate user IDs" msgstr "" @@ -10042,7 +10291,7 @@ msgstr "" #. (itstool) path: refsect1/para #: vipw.8.xml.out:66 -msgid "The <_:command-1/> and <_:command-2/> commands edits 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/>." +msgid "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 "" #. (itstool) path: refsect1/para diff --git a/man/po/sv.po b/man/po/sv.po index 8fdf1c1f..9dc652f3 100644 --- a/man/po/sv.po +++ b/man/po/sv.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: man pages for shadow 4.0.18\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-14 18:23-0500\n" "PO-Revision-Date: 2013-08-23 01:41+0200\n" "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" "Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n" @@ -11,12 +11,12 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #. (itstool) path: author/firstname -#: chage.1.xml.out:16 chfn.1.xml.out:18 chpasswd.8.xml.out:19 chsh.1.xml.out:18 +#: 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:84 logoutd.8.xml.out:15 -#: newgrp.1.xml.out:16 newusers.8.xml.out:31 passwd.1.xml.out:22 +#: 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 @@ -24,12 +24,12 @@ msgid "Julianne Frances" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:17 chfn.1.xml.out:19 chpasswd.8.xml.out:20 chsh.1.xml.out:19 +#: 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:85 logoutd.8.xml.out:16 -#: newgrp.1.xml.out:17 newusers.8.xml.out:32 passwd.1.xml.out:23 +#: 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 @@ -42,14 +42,14 @@ msgid "Creation, 1990" msgstr "" #. (itstool) path: author/firstname -#: chage.1.xml.out:21 chfn.1.xml.out:23 chgpasswd.8.xml.out:20 -#: chpasswd.8.xml.out:24 chsh.1.xml.out:23 expiry.1.xml.out:24 -#: faillog.5.xml.out:20 faillog.8.xml.out:20 gpasswd.1.xml.out:25 +#: 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:89 logoutd.8.xml.out:20 -#: newgrp.1.xml.out:21 newusers.8.xml.out:36 passwd.1.xml.out:27 +#: 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 @@ -58,14 +58,14 @@ msgid "Thomas" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:22 chfn.1.xml.out:24 chgpasswd.8.xml.out:21 -#: chpasswd.8.xml.out:25 chsh.1.xml.out:24 expiry.1.xml.out:25 -#: faillog.5.xml.out:21 faillog.8.xml.out:21 gpasswd.1.xml.out:26 +#: 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:90 logoutd.8.xml.out:21 -#: newgrp.1.xml.out:22 newusers.8.xml.out:37 passwd.1.xml.out:28 +#: 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 @@ -74,14 +74,14 @@ msgid "Kłoczko" msgstr "" #. (itstool) path: author/email -#: chage.1.xml.out:23 chfn.1.xml.out:25 chgpasswd.8.xml.out:22 -#: chpasswd.8.xml.out:26 chsh.1.xml.out:25 expiry.1.xml.out:26 -#: faillog.5.xml.out:22 faillog.8.xml.out:22 gpasswd.1.xml.out:27 +#: 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:91 logoutd.8.xml.out:22 -#: newgrp.1.xml.out:23 newusers.8.xml.out:38 passwd.1.xml.out:29 +#: 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 @@ -90,14 +90,14 @@ msgid "kloczek@pld.org.pl" msgstr "" #. (itstool) path: author/contrib -#: chage.1.xml.out:24 chfn.1.xml.out:26 chpasswd.8.xml.out:27 chsh.1.xml.out:26 +#: 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:28 groupadd.8.xml.out:26 groupdel.8.xml.out:24 +#: 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:92 -#: logoutd.8.xml.out:23 newgrp.1.xml.out:24 newusers.8.xml.out:39 -#: passwd.1.xml.out:30 passwd.5.xml.out:23 porttime.5.xml.out:23 +#: 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 @@ -106,15 +106,15 @@ msgid "shadow-utils maintainer, 2000 - 2007" msgstr "" #. (itstool) path: author/firstname -#: chage.1.xml.out:27 chfn.1.xml.out:29 chgpasswd.8.xml.out:26 -#: chpasswd.8.xml.out:30 chsh.1.xml.out:29 expiry.1.xml.out:30 -#: faillog.5.xml.out:26 faillog.8.xml.out:26 gpasswd.1.xml.out:31 +#: 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:95 -#: logoutd.8.xml.out:26 newgrp.1.xml.out:27 newusers.8.xml.out:42 -#: nologin.8.xml.out:15 passwd.1.xml.out:33 passwd.5.xml.out:26 +#: 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 @@ -123,15 +123,15 @@ msgid "Nicolas" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:28 chfn.1.xml.out:30 chgpasswd.8.xml.out:27 -#: chpasswd.8.xml.out:31 chsh.1.xml.out:30 expiry.1.xml.out:31 -#: faillog.5.xml.out:27 faillog.8.xml.out:27 gpasswd.1.xml.out:32 +#: 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:96 -#: logoutd.8.xml.out:27 newgrp.1.xml.out:28 newusers.8.xml.out:43 -#: nologin.8.xml.out:16 passwd.1.xml.out:34 passwd.5.xml.out:27 +#: 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 @@ -140,15 +140,15 @@ msgid "François" msgstr "" #. (itstool) path: author/email -#: chage.1.xml.out:29 chfn.1.xml.out:31 chgpasswd.8.xml.out:28 -#: chpasswd.8.xml.out:32 chsh.1.xml.out:31 expiry.1.xml.out:32 -#: faillog.5.xml.out:28 faillog.8.xml.out:28 gpasswd.1.xml.out:33 +#: 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:97 -#: logoutd.8.xml.out:28 newgrp.1.xml.out:29 newusers.8.xml.out:44 -#: nologin.8.xml.out:17 passwd.1.xml.out:35 passwd.5.xml.out:28 +#: 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 @@ -157,15 +157,15 @@ msgid "nicolas.francois@centraliens.net" msgstr "" #. (itstool) path: author/contrib -#: chage.1.xml.out:30 chfn.1.xml.out:32 chgpasswd.8.xml.out:29 -#: chpasswd.8.xml.out:33 chsh.1.xml.out:32 expiry.1.xml.out:33 -#: faillog.5.xml.out:29 faillog.8.xml.out:29 gpasswd.1.xml.out:34 +#: 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:98 -#: logoutd.8.xml.out:29 newgrp.1.xml.out:30 newusers.8.xml.out:45 -#: nologin.8.xml.out:18 passwd.1.xml.out:36 passwd.5.xml.out:29 +#: 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 @@ -180,9 +180,9 @@ msgstr "" #. (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:216 chage.1.xml.out:226 -#: chage.1.xml.out:236 chage.1.xml.out:241 chage.1.xml.out:285 -#: login.defs.5.xml.out:233 shadow.5.xml.out:262 +#: 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" @@ -190,11 +190,11 @@ msgstr "chage" #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum #. (itstool) path: para/replaceable -#: chage.1.xml.out:35 chage.1.xml.out:294 chfn.1.xml.out:37 chfn.1.xml.out:65 -#: chfn.1.xml.out:205 chgpasswd.8.xml.out:217 chpasswd.8.xml.out:265 -#: chsh.1.xml.out:37 chsh.1.xml.out:171 expiry.1.xml.out:38 -#: faillog.8.xml.out:235 gpasswd.1.xml.out:39 gpasswd.1.xml.out:93 -#: gpasswd.1.xml.out:277 groupadd.8.xml.out:345 groupadd.8.xml.out:348 +#: 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 @@ -202,44 +202,44 @@ msgstr "chage" #: 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:516 -#: login.defs.5.xml.out:518 login.defs.5.xml.out:520 login.defs.5.xml.out:530 -#: login.defs.5.xml.out:533 login.defs.5.xml.out:536 newgrp.1.xml.out:35 +#: 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:456 -#: nologin.8.xml.out:60 passwd.1.xml.out:41 passwd.1.xml.out:431 -#: 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:817 -#: useradd.8.xml.out:878 useradd.8.xml.out:881 useradd.8.xml.out:884 -#: 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:605 usermod.8.xml.out:608 usermod.8.xml.out:611 -#: vipw.8.xml.out:78 vipw.8.xml.out:205 +#: 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" #. (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:40 groups.1.xml.out:35 login.1.xml.out:68 -#: newgrp.1.xml.out:36 passwd.1.xml.out:42 sg.1.xml.out:36 su.1.xml.out:52 +#: 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 "Användarkommandon" #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:37 chfn.1.xml.out:39 chgpasswd.8.xml.out:36 -#: chpasswd.8.xml.out:40 chsh.1.xml.out:39 expiry.1.xml.out:40 -#: faillog.5.xml.out:36 faillog.8.xml.out:36 gpasswd.1.xml.out:41 +#: 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:105 -#: logoutd.8.xml.out:36 newgrp.1.xml.out:37 newusers.8.xml.out:52 -#: nologin.8.xml.out:25 passwd.1.xml.out:43 passwd.5.xml.out:36 +#: 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 @@ -250,20 +250,20 @@ msgid "shadow-utils" msgstr "shadow" #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:38 chfn.1.xml.out:40 chgpasswd.8.xml.out:37 -#: chpasswd.8.xml.out:41 chsh.1.xml.out:40 expiry.1.xml.out:41 -#: faillog.5.xml.out:37 faillog.8.xml.out:37 gpasswd.1.xml.out:42 +#: 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:106 -#: logoutd.8.xml.out:37 newgrp.1.xml.out:38 newusers.8.xml.out:53 -#: nologin.8.xml.out:26 passwd.1.xml.out:44 passwd.5.xml.out:37 +#: 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.13" +msgid "4.15.0" msgstr "" #. (itstool) path: refnamediv/refpurpose @@ -273,10 +273,10 @@ msgstr "ändra åldringsinformation för användarlösenord" #. (itstool) path: arg/replaceable #. (itstool) path: cmdsynopsis/arg -#: chage.1.xml.out:48 chfn.1.xml.out:51 chgpasswd.8.xml.out:48 -#: chpasswd.8.xml.out:52 chsh.1.xml.out:51 faillog.8.xml.out:48 +#: 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:64 passwd.1.xml.out:55 +#: 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 @@ -289,22 +289,22 @@ msgstr "flaggor" #. (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:58 useradd.8.xml.out:68 +#: 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 "INLOGGNINGSNAMN" #. (itstool) path: refsect1/title -#: chage.1.xml.out:57 chfn.1.xml.out:60 chgpasswd.8.xml.out:54 -#: chpasswd.8.xml.out:58 chsh.1.xml.out:60 expiry.1.xml.out:58 -#: faillog.5.xml.out:45 faillog.8.xml.out:54 gpasswd.1.xml.out:70 +#: 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:114 -#: logoutd.8.xml.out:51 newgrp.1.xml.out:53 newusers.8.xml.out:73 -#: nologin.8.xml.out:40 passwd.1.xml.out:64 passwd.5.xml.out:45 +#: 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 @@ -322,12 +322,12 @@ msgstr "" #. (itstool) path: refsect1/title #. (itstool) path: arg/replaceable -#: chage.1.xml.out:67 chfn.1.xml.out:87 chgpasswd.8.xml.out:81 -#: chpasswd.8.xml.out:106 chsh.1.xml.out:71 expiry.1.xml.out:67 -#: faillog.8.xml.out:65 gpasswd.1.xml.out:110 groupadd.8.xml.out:51 +#: 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:250 passwd.1.xml.out:150 +#: 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 @@ -335,12 +335,12 @@ msgid "OPTIONS" msgstr "FLAGGOR" #. (itstool) path: refsect1/para -#: chage.1.xml.out:68 chfn.1.xml.out:88 chgpasswd.8.xml.out:82 -#: chpasswd.8.xml.out:107 chsh.1.xml.out:72 expiry.1.xml.out:68 -#: faillog.8.xml.out:66 gpasswd.1.xml.out:118 groupadd.8.xml.out:81 +#: 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:251 -#: passwd.1.xml.out:151 pwck.8.xml.out:158 su.1.xml.out:121 +#: 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 <command>su</command> command are:" @@ -349,9 +349,9 @@ msgstr "Flaggorna som gäller för kommandot <command>su</command> är:" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:74 gpasswd.1.xml.out:137 groupmems.8.xml.out:94 -#: passwd.1.xml.out:168 useradd.8.xml.out:123 useradd.8.xml.out:151 -#: useradd.8.xml.out:599 usermod.8.xml.out:112 usermod.8.xml.out:260 +#: 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 msgid "-d" msgstr "-d" @@ -369,44 +369,44 @@ msgstr "" #. (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 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:122 chpasswd.8.xml.out:113 chpasswd.8.xml.out:164 -#: chpasswd.8.xml.out:177 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:123 gpasswd.1.xml.out:136 -#: gpasswd.1.xml.out:157 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:305 passwd.1.xml.out:196 passwd.1.xml.out:245 -#: passwd.1.xml.out:267 passwd.1.xml.out:277 passwd.1.xml.out:321 -#: passwd.1.xml.out:334 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:277 -#: useradd.8.xml.out:424 useradd.8.xml.out:488 useradd.8.xml.out:501 -#: useradd.8.xml.out:516 useradd.8.xml.out:530 useradd.8.xml.out:565 -#: useradd.8.xml.out:591 useradd.8.xml.out:609 useradd.8.xml.out:621 -#: useradd.8.xml.out:638 useradd.8.xml.out:654 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 +#: 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 "" #. (itstool) path: para/emphasis #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:82 chage.1.xml.out:288 groupadd.8.xml.out:303 +#: 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:138 passwd.1.xml.out:425 pwck.8.xml.out:287 -#: su.1.xml.out:385 useradd.8.xml.out:811 userdel.8.xml.out:235 +#: 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" @@ -427,7 +427,7 @@ msgid "-E" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:610 +#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:630 #: usermod.8.xml.out:129 msgid "--expiredate" msgstr "" @@ -435,7 +435,7 @@ 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:610 usermod.8.xml.out:129 usermod.8.xml.out:243 +#: useradd.8.xml.out:630 usermod.8.xml.out:129 usermod.8.xml.out:243 #: usermod.8.xml.out:416 msgid "EXPIRE_DATE" msgstr "" @@ -465,7 +465,7 @@ 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:344 useradd.8.xml.out:315 +#: passwd.1.xml.out:355 useradd.8.xml.out:317 #, fuzzy #| msgid "1" msgid "-1" @@ -480,78 +480,78 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:115 chfn.1.xml.out:102 chgpasswd.8.xml.out:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 passwd.1.xml.out:190 -#: pwck.8.xml.out:173 pwconv.8.xml.out:171 useradd.8.xml.out:271 +#: 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:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 -#: passwd.1.xml.out:190 pwck.8.xml.out:173 pwconv.8.xml.out:171 -#: su.1.xml.out:387 useradd.8.xml.out:271 userdel.8.xml.out:99 +#: 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:88 chgpasswd.8.xml.out:101 -#: chgpasswd.8.xml.out:107 chgpasswd.8.xml.out:113 chgpasswd.8.xml.out:135 -#: chpasswd.8.xml.out:139 chpasswd.8.xml.out:147 chpasswd.8.xml.out:155 +#: 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:149 gpasswd.1.xml.out:172 -#: gpasswd.1.xml.out:188 groupadd.8.xml.out:87 groupadd.8.xml.out:118 +#: 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:268 newusers.8.xml.out:280 newusers.8.xml.out:286 -#: newusers.8.xml.out:320 passwd.1.xml.out:156 passwd.1.xml.out:167 -#: passwd.1.xml.out:179 passwd.1.xml.out:190 passwd.1.xml.out:209 -#: passwd.1.xml.out:221 passwd.1.xml.out:257 passwd.1.xml.out:290 -#: passwd.1.xml.out:308 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:271 -#: useradd.8.xml.out:330 useradd.8.xml.out:349 useradd.8.xml.out:372 -#: useradd.8.xml.out:385 useradd.8.xml.out:404 useradd.8.xml.out:455 -#: useradd.8.xml.out:548 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 +#: 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 "<option>-a</option>, <option>--all</option>" msgid "<_:option-1/>, <_:option-2/>" msgstr "<option>-a</option>, <option>--all</option>" #. (itstool) path: listitem/para -#: chage.1.xml.out:117 chfn.1.xml.out:146 chgpasswd.8.xml.out:109 -#: chpasswd.8.xml.out:149 chsh.1.xml.out:79 expiry.1.xml.out:90 -#: faillog.8.xml.out:100 gpasswd.1.xml.out:151 groupadd.8.xml.out:120 +#: 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:282 -#: passwd.1.xml.out:192 pwck.8.xml.out:175 pwconv.8.xml.out:173 -#: useradd.8.xml.out:273 userdel.8.xml.out:101 vipw.8.xml.out:98 +#: 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 "Visa hjälpmeddelande och avsluta." #. (itstool) path: term/option -#: chage.1.xml.out:121 passwd.1.xml.out:197 +#: chage.1.xml.out:121 passwd.1.xml.out:193 #, fuzzy #| msgid "-" msgid "-i" @@ -575,8 +575,8 @@ msgid "-I" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:128 passwd.1.xml.out:197 useradd.8.xml.out:196 -#: useradd.8.xml.out:622 usermod.8.xml.out:152 +#: 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 "" @@ -584,8 +584,8 @@ msgstr "" #. (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:197 passwd.1.xml.out:203 useradd.8.xml.out:196 -#: useradd.8.xml.out:211 useradd.8.xml.out:622 useradd.8.xml.out:632 +#: 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 "" @@ -609,10 +609,10 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option #. (itstool) path: group/arg -#: chage.1.xml.out:147 chage.1.xml.out:242 faillog.8.xml.out:88 +#: 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:222 -#: passwd.1.xml.out:316 su.1.xml.out:144 su.1.xml.out:156 useradd.8.xml.out:330 +#: 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" @@ -629,11 +629,11 @@ msgstr "Visa kontots åldringsinformation" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:157 chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:113 -#: chpasswd.8.xml.out:78 chpasswd.8.xml.out:84 chpasswd.8.xml.out:130 -#: chpasswd.8.xml.out:155 faillog.8.xml.out:88 faillog.8.xml.out:120 +#: 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:287 useradd.8.xml.out:350 useradd.8.xml.out:476 +#: 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 "-" @@ -641,19 +641,19 @@ msgid "-m" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:157 passwd.1.xml.out:246 +#: 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:246 -#: passwd.1.xml.out:251 +#: 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:249 +#: chage.1.xml.out:160 passwd.1.xml.out:245 #, fuzzy #| msgid "" #| "Set the minimum number of days between password changes to " @@ -670,28 +670,28 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:169 gpasswd.1.xml.out:81 gpasswd.1.xml.out:112 -#: gpasswd.1.xml.out:217 useradd.8.xml.out:162 useradd.8.xml.out:373 +#: 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:335 +#: 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:335 passwd.1.xml.out:340 passwd.1.xml.out:345 +#: 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:203 usermod.8.xml.out:481 +#: chage.1.xml.out:178 chage.1.xml.out:218 usermod.8.xml.out:481 #, fuzzy #| msgid "-" msgid "-W" @@ -708,31 +708,31 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:181 passwd.1.xml.out:343 +#: chage.1.xml.out:181 passwd.1.xml.out:354 msgid "" "Passing the number <_:emphasis-1/> as <_:replaceable-2/> will remove " "checking a password's validity." msgstr "" #. (itstool) path: term/option -#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 chsh.1.xml.out:84 faillog.8.xml.out:157 -#: gpasswd.1.xml.out:189 groupadd.8.xml.out:201 groupdel.8.xml.out:89 +#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 chsh.1.xml.out:84 faillog.8.xml.out:157 +#: gpasswd.1.xml.out:191 groupadd.8.xml.out:201 groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 groupmod.8.xml.out:164 grpck.8.xml.out:149 -#: lastlog.8.xml.out:104 newusers.8.xml.out:306 passwd.1.xml.out:278 -#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:489 +#: lastlog.8.xml.out:104 newusers.8.xml.out:308 passwd.1.xml.out:274 +#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:491 #: userdel.8.xml.out:123 usermod.8.xml.out:328 vipw.8.xml.out:115 #, fuzzy msgid "-R" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 chsh.1.xml.out:84 faillog.8.xml.out:157 -#: gpasswd.1.xml.out:158 groupadd.8.xml.out:201 groupdel.8.xml.out:89 +#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 chsh.1.xml.out:84 faillog.8.xml.out:157 +#: gpasswd.1.xml.out:160 groupadd.8.xml.out:201 groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 groupmod.8.xml.out:164 grpck.8.xml.out:149 -#: lastlog.8.xml.out:104 newusers.8.xml.out:306 passwd.1.xml.out:278 -#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:489 +#: lastlog.8.xml.out:104 newusers.8.xml.out:308 passwd.1.xml.out:274 +#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:491 #: userdel.8.xml.out:123 usermod.8.xml.out:328 vipw.8.xml.out:115 msgid "--root" msgstr "" @@ -741,22 +741,22 @@ msgstr "" #. (itstool) path: para/replaceable #: chage.1.xml.out:190 chage.1.xml.out:194 chage.1.xml.out:196 #: chfn.1.xml.out:130 chfn.1.xml.out:134 chfn.1.xml.out:136 -#: chgpasswd.8.xml.out:123 chgpasswd.8.xml.out:127 chgpasswd.8.xml.out:129 -#: chpasswd.8.xml.out:165 chpasswd.8.xml.out:169 chpasswd.8.xml.out:171 +#: chgpasswd.8.xml.out:129 chgpasswd.8.xml.out:133 chgpasswd.8.xml.out:135 +#: chpasswd.8.xml.out:171 chpasswd.8.xml.out:175 chpasswd.8.xml.out:177 #: chsh.1.xml.out:84 chsh.1.xml.out:88 chsh.1.xml.out:90 faillog.8.xml.out:157 -#: faillog.8.xml.out:161 faillog.8.xml.out:163 gpasswd.1.xml.out:158 -#: gpasswd.1.xml.out:162 gpasswd.1.xml.out:164 groupadd.8.xml.out:201 +#: faillog.8.xml.out:161 faillog.8.xml.out:163 gpasswd.1.xml.out:160 +#: gpasswd.1.xml.out:164 gpasswd.1.xml.out:166 groupadd.8.xml.out:201 #: groupadd.8.xml.out:205 groupadd.8.xml.out:207 groupdel.8.xml.out:89 #: groupdel.8.xml.out:93 groupdel.8.xml.out:95 groupmems.8.xml.out:142 #: groupmems.8.xml.out:146 groupmems.8.xml.out:148 groupmod.8.xml.out:164 #: groupmod.8.xml.out:168 groupmod.8.xml.out:170 grpck.8.xml.out:149 #: grpck.8.xml.out:153 grpck.8.xml.out:155 lastlog.8.xml.out:104 -#: lastlog.8.xml.out:108 lastlog.8.xml.out:110 newusers.8.xml.out:306 -#: newusers.8.xml.out:310 newusers.8.xml.out:312 passwd.1.xml.out:278 -#: passwd.1.xml.out:282 passwd.1.xml.out:284 pwck.8.xml.out:197 +#: lastlog.8.xml.out:108 lastlog.8.xml.out:110 newusers.8.xml.out:308 +#: newusers.8.xml.out:312 newusers.8.xml.out:314 passwd.1.xml.out:274 +#: passwd.1.xml.out:278 passwd.1.xml.out:280 pwck.8.xml.out:197 #: pwck.8.xml.out:201 pwck.8.xml.out:203 pwconv.8.xml.out:178 -#: pwconv.8.xml.out:182 pwconv.8.xml.out:184 useradd.8.xml.out:489 -#: useradd.8.xml.out:493 useradd.8.xml.out:495 userdel.8.xml.out:123 +#: pwconv.8.xml.out:182 pwconv.8.xml.out:184 useradd.8.xml.out:491 +#: useradd.8.xml.out:495 useradd.8.xml.out:497 userdel.8.xml.out:123 #: userdel.8.xml.out:127 userdel.8.xml.out:129 usermod.8.xml.out:328 #: usermod.8.xml.out:332 usermod.8.xml.out:334 vipw.8.xml.out:115 #: vipw.8.xml.out:119 vipw.8.xml.out:121 @@ -764,12 +764,12 @@ msgid "CHROOT_DIR" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:193 chfn.1.xml.out:133 chgpasswd.8.xml.out:126 -#: chpasswd.8.xml.out:168 chsh.1.xml.out:87 faillog.8.xml.out:160 -#: gpasswd.1.xml.out:161 groupadd.8.xml.out:204 groupdel.8.xml.out:92 +#: chage.1.xml.out:193 chfn.1.xml.out:133 chgpasswd.8.xml.out:132 +#: chpasswd.8.xml.out:174 chsh.1.xml.out:87 faillog.8.xml.out:160 +#: gpasswd.1.xml.out:163 groupadd.8.xml.out:204 groupdel.8.xml.out:92 #: groupmems.8.xml.out:145 groupmod.8.xml.out:167 grpck.8.xml.out:152 -#: lastlog.8.xml.out:107 newusers.8.xml.out:309 passwd.1.xml.out:281 -#: pwck.8.xml.out:200 pwconv.8.xml.out:181 useradd.8.xml.out:492 +#: lastlog.8.xml.out:107 newusers.8.xml.out:311 passwd.1.xml.out:277 +#: pwck.8.xml.out:200 pwconv.8.xml.out:181 useradd.8.xml.out:494 #: userdel.8.xml.out:126 usermod.8.xml.out:331 vipw.8.xml.out:118 msgid "" "Apply changes in the <_:replaceable-1/> directory and use the configuration " @@ -778,19 +778,58 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: chage.1.xml.out:203 passwd.1.xml.out:322 +#: chage.1.xml.out:203 chpasswd.8.xml.out:184 groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 groupmod.8.xml.out:177 passwd.1.xml.out:287 +#: useradd.8.xml.out:504 userdel.8.xml.out:136 usermod.8.xml.out:341 +#, fuzzy +#| msgid "-" +msgid "-P" +msgstr "-" + +#. (itstool) path: term/option +#: chage.1.xml.out:203 chpasswd.8.xml.out:184 groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 groupmod.8.xml.out:177 passwd.1.xml.out:287 +#: useradd.8.xml.out:504 userdel.8.xml.out:136 usermod.8.xml.out:341 +msgid "--prefix" +msgstr "" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: chage.1.xml.out:203 chage.1.xml.out:208 chpasswd.8.xml.out:184 +#: chpasswd.8.xml.out:189 groupadd.8.xml.out:214 groupadd.8.xml.out:219 +#: groupdel.8.xml.out:102 groupdel.8.xml.out:106 groupdel.8.xml.out:108 +#: groupmod.8.xml.out:177 groupmod.8.xml.out:181 groupmod.8.xml.out:183 +#: passwd.1.xml.out:287 passwd.1.xml.out:292 useradd.8.xml.out:504 +#: useradd.8.xml.out:509 userdel.8.xml.out:136 userdel.8.xml.out:140 +#: userdel.8.xml.out:142 usermod.8.xml.out:341 usermod.8.xml.out:346 +msgid "PREFIX_DIR" +msgstr "" + +#. (itstool) path: listitem/para +#: chage.1.xml.out:206 chpasswd.8.xml.out:187 groupadd.8.xml.out:217 +#: passwd.1.xml.out:290 useradd.8.xml.out:507 +msgid "" +"Apply changes to configuration files under the root filesystem found under " +"the directory <_:replaceable-1/>. 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 "" + +#. (itstool) path: term/option +#: chage.1.xml.out:218 passwd.1.xml.out:333 msgid "--warndays" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:203 chage.1.xml.out:208 passwd.1.xml.out:322 -#: passwd.1.xml.out:327 +#: chage.1.xml.out:218 chage.1.xml.out:223 passwd.1.xml.out:333 +#: passwd.1.xml.out:338 msgid "WARN_DAYS" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:206 +#: chage.1.xml.out:221 #, fuzzy #| msgid "" #| "Set the number of days of warning before a password change is required. " @@ -807,12 +846,12 @@ msgstr "" "varnas om att lösenordet är på väg att bli utgånget." #. (itstool) path: para/emphasis -#: chage.1.xml.out:220 chfn.1.xml.out:163 chsh.1.xml.out:112 +#: chage.1.xml.out:235 chfn.1.xml.out:163 chsh.1.xml.out:112 msgid "[ ]" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:215 +#: chage.1.xml.out:230 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 " @@ -822,13 +861,13 @@ msgid "" msgstr "" #. (itstool) path: refsect1/title -#: chage.1.xml.out:224 chsh.1.xml.out:117 groups.1.xml.out:65 +#: chage.1.xml.out:239 chsh.1.xml.out:117 groups.1.xml.out:65 #: lastlog.8.xml.out:170 msgid "NOTE" msgstr "NOTERA" #. (itstool) path: refsect1/para -#: chage.1.xml.out:225 +#: chage.1.xml.out:240 #, fuzzy #| msgid "" #| "The <command>chage</command> program requires a shadow password file to " @@ -840,7 +879,7 @@ msgstr "" "tillgänglig." #. (itstool) path: refsect1/para -#: chage.1.xml.out:229 +#: chage.1.xml.out:244 msgid "" "The chage program will report only the information from the shadow password " "file. This implies that configuration from other sources (e.g. LDAP or empty " @@ -854,7 +893,7 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: chage.1.xml.out:238 grpck.8.xml.out:294 login.defs.5.xml.out:410 +#: chage.1.xml.out:253 grpck.8.xml.out:294 login.defs.5.xml.out:429 #: passwd.5.xml.out:185 pwck.8.xml.out:40 pwck.8.xml.out:47 pwck.8.xml.out:53 #: pwck.8.xml.out:71 pwck.8.xml.out:147 pwck.8.xml.out:159 pwck.8.xml.out:191 #: pwck.8.xml.out:223 pwck.8.xml.out:284 pwconv.8.xml.out:197 @@ -863,7 +902,7 @@ msgid "pwck" msgstr "pwck" #. (itstool) path: refsect1/para -#: chage.1.xml.out:235 +#: chage.1.xml.out:250 msgid "" "The <_:command-1/> program will also not report any inconsistency between " "the shadow and passwd files (e.g. missing x in the passwd file). The <_:" @@ -871,7 +910,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:241 +#: chage.1.xml.out:256 msgid "" "The <_:command-1/> command is restricted to the root user, except for the <_:" "option-2/> option, which may be used by an unprivileged user to determine " @@ -879,52 +918,54 @@ msgid "" msgstr "" #. (itstool) path: refsect1/title -#: chage.1.xml.out:249 chfn.1.xml.out:170 chgpasswd.8.xml.out:175 -#: chpasswd.8.xml.out:216 chsh.1.xml.out:131 gpasswd.1.xml.out:241 +#: chage.1.xml.out:264 chfn.1.xml.out:170 chgpasswd.8.xml.out:201 +#: chpasswd.8.xml.out:256 chsh.1.xml.out:150 gpasswd.1.xml.out:243 #: groupadd.8.xml.out:247 groupdel.8.xml.out:133 groupmems.8.xml.out:176 #: groupmod.8.xml.out:212 grpck.8.xml.out:196 lastlog.8.xml.out:182 -#: login.1.xml.out:270 newgrp.1.xml.out:85 newusers.8.xml.out:360 -#: passwd.1.xml.out:372 pwck.8.xml.out:240 pwconv.8.xml.out:204 sg.1.xml.out:74 -#: su.1.xml.out:314 useradd.8.xml.out:710 userdel.8.xml.out:165 -#: usermod.8.xml.out:536 vipw.8.xml.out:142 +#: login.1.xml.out:270 newgrp.1.xml.out:85 newusers.8.xml.out:381 +#: passwd.1.xml.out:394 pwck.8.xml.out:240 pwconv.8.xml.out:204 sg.1.xml.out:74 +#: su.1.xml.out:314 useradd.8.xml.out:730 userdel.8.xml.out:165 +#: usermod.8.xml.out:553 vipw.8.xml.out:142 msgid "CONFIGURATION" msgstr "" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: chage.1.xml.out:252 chfn.1.xml.out:68 chfn.1.xml.out:173 chfn.1.xml.out:187 -#: chgpasswd.8.xml.out:70 chgpasswd.8.xml.out:155 chgpasswd.8.xml.out:178 -#: chgpasswd.8.xml.out:205 chpasswd.8.xml.out:77 chpasswd.8.xml.out:134 -#: chpasswd.8.xml.out:200 chpasswd.8.xml.out:219 chpasswd.8.xml.out:247 -#: chsh.1.xml.out:134 chsh.1.xml.out:159 gpasswd.1.xml.out:244 -#: groupadd.8.xml.out:129 groupadd.8.xml.out:239 groupadd.8.xml.out:250 -#: groupadd.8.xml.out:276 groupdel.8.xml.out:136 groupmems.8.xml.out:179 -#: groupmod.8.xml.out:109 groupmod.8.xml.out:204 groupmod.8.xml.out:215 -#: groupmod.8.xml.out:239 grpck.8.xml.out:199 lastlog.8.xml.out:185 -#: login.1.xml.out:273 login.1.xml.out:365 login.access.5.xml.out:100 -#: login.defs.5.xml.out:116 login.defs.5.xml.out:515 newgrp.1.xml.out:88 -#: newusers.8.xml.out:340 newusers.8.xml.out:363 newusers.8.xml.out:423 -#: passwd.1.xml.out:375 passwd.1.xml.out:405 pwck.8.xml.out:243 +#: chage.1.xml.out:267 chfn.1.xml.out:68 chfn.1.xml.out:173 chfn.1.xml.out:187 +#: chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:159 chgpasswd.8.xml.out:168 +#: chgpasswd.8.xml.out:177 chgpasswd.8.xml.out:204 chgpasswd.8.xml.out:233 +#: chpasswd.8.xml.out:79 chpasswd.8.xml.out:140 chpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:227 chpasswd.8.xml.out:236 chpasswd.8.xml.out:259 +#: chpasswd.8.xml.out:289 chsh.1.xml.out:153 chsh.1.xml.out:200 +#: gpasswd.1.xml.out:246 groupadd.8.xml.out:129 groupadd.8.xml.out:239 +#: groupadd.8.xml.out:250 groupadd.8.xml.out:276 groupdel.8.xml.out:136 +#: groupmems.8.xml.out:179 groupmod.8.xml.out:109 groupmod.8.xml.out:204 +#: groupmod.8.xml.out:215 groupmod.8.xml.out:239 grpck.8.xml.out:199 +#: lastlog.8.xml.out:185 login.1.xml.out:273 login.1.xml.out:365 +#: login.access.5.xml.out:100 login.defs.5.xml.out:118 login.defs.5.xml.out:534 +#: newgrp.1.xml.out:88 newusers.8.xml.out:340 newusers.8.xml.out:349 +#: newusers.8.xml.out:357 newusers.8.xml.out:384 newusers.8.xml.out:444 +#: passwd.1.xml.out:397 passwd.1.xml.out:427 pwck.8.xml.out:243 #: pwconv.8.xml.out:148 pwconv.8.xml.out:207 pwconv.8.xml.out:215 #: pwconv.8.xml.out:230 sg.1.xml.out:77 su.1.xml.out:109 su.1.xml.out:219 #: su.1.xml.out:277 su.1.xml.out:317 su.1.xml.out:357 useradd.8.xml.out:241 -#: useradd.8.xml.out:307 useradd.8.xml.out:378 useradd.8.xml.out:399 -#: useradd.8.xml.out:467 useradd.8.xml.out:474 useradd.8.xml.out:560 -#: useradd.8.xml.out:713 useradd.8.xml.out:797 userdel.8.xml.out:87 +#: useradd.8.xml.out:309 useradd.8.xml.out:380 useradd.8.xml.out:401 +#: useradd.8.xml.out:469 useradd.8.xml.out:476 useradd.8.xml.out:562 +#: useradd.8.xml.out:733 useradd.8.xml.out:817 userdel.8.xml.out:87 #: userdel.8.xml.out:168 userdel.8.xml.out:191 userdel.8.xml.out:297 -#: usermod.8.xml.out:399 usermod.8.xml.out:539 usermod.8.xml.out:569 +#: usermod.8.xml.out:399 usermod.8.xml.out:556 usermod.8.xml.out:586 #: vipw.8.xml.out:145 msgid "/etc/login.defs" msgstr "/etc/login.defs" #. (itstool) path: refsect1/para -#: chage.1.xml.out:250 chfn.1.xml.out:171 chgpasswd.8.xml.out:176 -#: chpasswd.8.xml.out:217 chsh.1.xml.out:132 gpasswd.1.xml.out:242 +#: chage.1.xml.out:265 chfn.1.xml.out:171 chgpasswd.8.xml.out:202 +#: chpasswd.8.xml.out:257 chsh.1.xml.out:151 gpasswd.1.xml.out:244 #: groupadd.8.xml.out:248 groupdel.8.xml.out:134 groupmems.8.xml.out:177 #: groupmod.8.xml.out:213 grpck.8.xml.out:197 lastlog.8.xml.out:183 -#: login.1.xml.out:271 newgrp.1.xml.out:86 newusers.8.xml.out:361 -#: passwd.1.xml.out:373 pwck.8.xml.out:241 sg.1.xml.out:75 su.1.xml.out:315 -#: useradd.8.xml.out:711 userdel.8.xml.out:166 usermod.8.xml.out:537 +#: login.1.xml.out:271 newgrp.1.xml.out:86 newusers.8.xml.out:382 +#: passwd.1.xml.out:395 pwck.8.xml.out:241 sg.1.xml.out:75 su.1.xml.out:315 +#: useradd.8.xml.out:731 userdel.8.xml.out:166 usermod.8.xml.out:554 #: vipw.8.xml.out:143 msgid "" "The following configuration variables in <_:filename-1/> change the behavior " @@ -932,126 +973,126 @@ msgid "" msgstr "" #. (itstool) path: refsect1/title -#: chage.1.xml.out:261 chfn.1.xml.out:184 chgpasswd.8.xml.out:190 -#: chpasswd.8.xml.out:232 chsh.1.xml.out:144 expiry.1.xml.out:97 -#: faillog.5.xml.out:72 faillog.8.xml.out:220 gpasswd.1.xml.out:256 +#: chage.1.xml.out:276 chfn.1.xml.out:184 chgpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:274 chsh.1.xml.out:163 expiry.1.xml.out:97 +#: faillog.5.xml.out:72 faillog.8.xml.out:220 gpasswd.1.xml.out:258 #: groupadd.8.xml.out:261 groupdel.8.xml.out:145 groupmems.8.xml.out:188 #: groupmod.8.xml.out:224 groups.1.xml.out:77 grpck.8.xml.out:208 #: gshadow.5.xml.out:132 lastlog.8.xml.out:194 limits.5.xml.out:172 #: login.1.xml.out:314 login.access.5.xml.out:97 logoutd.8.xml.out:65 -#: newgrp.1.xml.out:97 newusers.8.xml.out:396 passwd.1.xml.out:390 +#: newgrp.1.xml.out:97 newusers.8.xml.out:417 passwd.1.xml.out:412 #: passwd.5.xml.out:139 porttime.5.xml.out:106 pwck.8.xml.out:258 #: pwconv.8.xml.out:227 shadow.3.xml.out:202 shadow.5.xml.out:231 -#: sg.1.xml.out:86 su.1.xml.out:342 suauth.5.xml.out:169 useradd.8.xml.out:740 -#: userdel.8.xml.out:182 usermod.8.xml.out:554 vipw.8.xml.out:172 +#: sg.1.xml.out:86 su.1.xml.out:342 suauth.5.xml.out:169 useradd.8.xml.out:760 +#: userdel.8.xml.out:182 usermod.8.xml.out:571 vipw.8.xml.out:172 msgid "FILES" msgstr "FILER" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:265 chfn.1.xml.out:193 chpasswd.8.xml.out:235 -#: chsh.1.xml.out:147 expiry.1.xml.out:100 groupmod.8.xml.out:245 +#: chage.1.xml.out:280 chfn.1.xml.out:193 chpasswd.8.xml.out:277 +#: chsh.1.xml.out:166 expiry.1.xml.out:100 groupmod.8.xml.out:245 #: grpck.8.xml.out:223 lastlog.8.xml.out:63 login.1.xml.out:145 #: login.1.xml.out:329 newgrp.1.xml.out:65 newgrp.1.xml.out:70 -#: newgrp.1.xml.out:100 newusers.8.xml.out:399 passwd.1.xml.out:393 +#: newgrp.1.xml.out:100 newusers.8.xml.out:420 passwd.1.xml.out:415 #: passwd.5.xml.out:47 passwd.5.xml.out:89 passwd.5.xml.out:142 #: pwck.8.xml.out:73 pwck.8.xml.out:145 pwck.8.xml.out:212 pwck.8.xml.out:224 #: pwck.8.xml.out:267 pwconv.8.xml.out:127 shadow.5.xml.out:234 sg.1.xml.out:89 -#: su.1.xml.out:185 su.1.xml.out:197 su.1.xml.out:345 useradd.8.xml.out:524 -#: useradd.8.xml.out:743 userdel.8.xml.out:197 usermod.8.xml.out:103 -#: usermod.8.xml.out:305 usermod.8.xml.out:362 usermod.8.xml.out:575 +#: su.1.xml.out:185 su.1.xml.out:197 su.1.xml.out:345 useradd.8.xml.out:526 +#: useradd.8.xml.out:763 userdel.8.xml.out:197 usermod.8.xml.out:103 +#: usermod.8.xml.out:305 usermod.8.xml.out:362 usermod.8.xml.out:592 #: vipw.8.xml.out:68 vipw.8.xml.out:187 msgid "/etc/passwd" msgstr "/etc/passwd" #. (itstool) path: listitem/para -#: chage.1.xml.out:268 chfn.1.xml.out:195 chpasswd.8.xml.out:237 -#: chsh.1.xml.out:149 expiry.1.xml.out:102 groupmod.8.xml.out:247 +#: chage.1.xml.out:283 chfn.1.xml.out:195 chpasswd.8.xml.out:279 +#: chsh.1.xml.out:168 expiry.1.xml.out:102 groupmod.8.xml.out:247 #: grpck.8.xml.out:225 login.1.xml.out:331 newgrp.1.xml.out:102 -#: newusers.8.xml.out:401 passwd.1.xml.out:395 passwd.5.xml.out:144 +#: newusers.8.xml.out:422 passwd.1.xml.out:417 passwd.5.xml.out:144 #: pwck.8.xml.out:269 shadow.5.xml.out:236 sg.1.xml.out:91 su.1.xml.out:347 -#: useradd.8.xml.out:745 userdel.8.xml.out:199 vipw.8.xml.out:189 +#: useradd.8.xml.out:765 userdel.8.xml.out:199 vipw.8.xml.out:189 msgid "User account information." msgstr "Användarkontoinformation." #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:273 chpasswd.8.xml.out:241 expiry.1.xml.out:106 +#: chage.1.xml.out:288 chpasswd.8.xml.out:283 expiry.1.xml.out:106 #: login.1.xml.out:335 newgrp.1.xml.out:68 newgrp.1.xml.out:106 -#: newusers.8.xml.out:295 newusers.8.xml.out:405 passwd.1.xml.out:399 +#: newusers.8.xml.out:297 newusers.8.xml.out:426 passwd.1.xml.out:421 #: passwd.5.xml.out:82 passwd.5.xml.out:148 pwck.8.xml.out:73 #: pwck.8.xml.out:107 pwck.8.xml.out:213 pwck.8.xml.out:225 pwck.8.xml.out:273 #: pwconv.8.xml.out:128 pwconv.8.xml.out:149 shadow.3.xml.out:97 #: shadow.3.xml.out:173 shadow.3.xml.out:205 shadow.5.xml.out:78 -#: shadow.5.xml.out:240 sg.1.xml.out:95 su.1.xml.out:351 useradd.8.xml.out:439 -#: useradd.8.xml.out:464 useradd.8.xml.out:749 userdel.8.xml.out:203 +#: shadow.5.xml.out:240 sg.1.xml.out:95 su.1.xml.out:351 useradd.8.xml.out:441 +#: useradd.8.xml.out:466 useradd.8.xml.out:769 userdel.8.xml.out:203 #: usermod.8.xml.out:144 usermod.8.xml.out:145 usermod.8.xml.out:166 -#: usermod.8.xml.out:167 usermod.8.xml.out:306 usermod.8.xml.out:581 +#: usermod.8.xml.out:167 usermod.8.xml.out:306 usermod.8.xml.out:598 #: vipw.8.xml.out:71 vipw.8.xml.out:193 msgid "/etc/shadow" msgstr "/etc/shadow" #. (itstool) path: listitem/para -#: chage.1.xml.out:276 chpasswd.8.xml.out:243 expiry.1.xml.out:108 -#: login.1.xml.out:337 newgrp.1.xml.out:108 newusers.8.xml.out:407 -#: passwd.1.xml.out:401 pwck.8.xml.out:275 shadow.3.xml.out:207 -#: shadow.5.xml.out:242 sg.1.xml.out:97 su.1.xml.out:353 useradd.8.xml.out:751 +#: chage.1.xml.out:291 chpasswd.8.xml.out:285 expiry.1.xml.out:108 +#: login.1.xml.out:337 newgrp.1.xml.out:108 newusers.8.xml.out:428 +#: passwd.1.xml.out:423 pwck.8.xml.out:275 shadow.3.xml.out:207 +#: shadow.5.xml.out:242 sg.1.xml.out:97 su.1.xml.out:353 useradd.8.xml.out:771 #: userdel.8.xml.out:205 vipw.8.xml.out:195 msgid "Secure user account information." msgstr "Säker användarkontoinformation." #. (itstool) path: refsect1/title -#: chage.1.xml.out:283 groupadd.8.xml.out:298 groupdel.8.xml.out:163 -#: groupmod.8.xml.out:254 grpck.8.xml.out:232 passwd.1.xml.out:420 -#: pwck.8.xml.out:282 su.1.xml.out:366 useradd.8.xml.out:806 +#: chage.1.xml.out:298 groupadd.8.xml.out:298 groupdel.8.xml.out:163 +#: groupmod.8.xml.out:254 grpck.8.xml.out:232 passwd.1.xml.out:442 +#: pwck.8.xml.out:282 su.1.xml.out:366 useradd.8.xml.out:826 #: userdel.8.xml.out:230 msgid "EXIT VALUES" msgstr "AVSLUTNINGSVÄRDEN" #. (itstool) path: listitem/para -#: chage.1.xml.out:290 groupadd.8.xml.out:305 groupdel.8.xml.out:170 -#: grpck.8.xml.out:239 passwd.1.xml.out:427 pwck.8.xml.out:289 -#: useradd.8.xml.out:813 userdel.8.xml.out:237 +#: chage.1.xml.out:305 groupadd.8.xml.out:305 groupdel.8.xml.out:170 +#: grpck.8.xml.out:239 passwd.1.xml.out:449 pwck.8.xml.out:289 +#: useradd.8.xml.out:833 userdel.8.xml.out:237 msgid "success" msgstr "lyckad" #. (itstool) path: listitem/para -#: chage.1.xml.out:296 passwd.1.xml.out:433 +#: chage.1.xml.out:311 passwd.1.xml.out:455 msgid "permission denied" msgstr "åtkomst nekad" #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum -#: chage.1.xml.out:300 groupadd.8.xml.out:309 groupdel.8.xml.out:174 +#: chage.1.xml.out:315 groupadd.8.xml.out:309 groupdel.8.xml.out:174 #: groupmod.8.xml.out:265 groups.1.xml.out:95 groups.1.xml.out:98 #: groups.1.xml.out:101 grpck.8.xml.out:249 limits.5.xml.out:90 #: limits.5.xml.out:101 limits.5.xml.out:188 limits.5.xml.out:191 -#: passwd.1.xml.out:437 pwck.8.xml.out:299 useradd.8.xml.out:823 +#: passwd.1.xml.out:459 pwck.8.xml.out:299 useradd.8.xml.out:843 #: userdel.8.xml.out:247 msgid "2" msgstr "2" #. (itstool) path: listitem/para -#: chage.1.xml.out:302 groupadd.8.xml.out:311 groupdel.8.xml.out:176 -#: grpck.8.xml.out:245 pwck.8.xml.out:295 useradd.8.xml.out:825 +#: chage.1.xml.out:317 groupadd.8.xml.out:311 groupdel.8.xml.out:176 +#: grpck.8.xml.out:245 pwck.8.xml.out:295 useradd.8.xml.out:845 #: userdel.8.xml.out:249 msgid "invalid command syntax" msgstr "ogiltig kommandosyntax" #. (itstool) path: term/replaceable -#: chage.1.xml.out:306 +#: chage.1.xml.out:321 msgid "15" msgstr "15" #. (itstool) path: listitem/para -#: chage.1.xml.out:308 +#: chage.1.xml.out:323 msgid "can't find the shadow password file" msgstr "kan inte hitta skugglösenordsfilen" #. (itstool) path: refsect1/para -#: chage.1.xml.out:284 groupadd.8.xml.out:299 groupdel.8.xml.out:164 -#: groupmod.8.xml.out:255 grpck.8.xml.out:233 passwd.1.xml.out:421 -#: pwck.8.xml.out:283 useradd.8.xml.out:807 userdel.8.xml.out:231 +#: chage.1.xml.out:299 groupadd.8.xml.out:299 groupdel.8.xml.out:164 +#: groupmod.8.xml.out:255 grpck.8.xml.out:233 passwd.1.xml.out:443 +#: pwck.8.xml.out:283 useradd.8.xml.out:827 userdel.8.xml.out:231 #, fuzzy #| msgid "" #| "The <command>pwck</command> command exits with the following values: " @@ -1064,18 +1105,18 @@ msgstr "" "<placeholder-1/>" #. (itstool) path: refsect1/title -#: chage.1.xml.out:316 chfn.1.xml.out:202 chgpasswd.8.xml.out:214 -#: chpasswd.8.xml.out:262 chsh.1.xml.out:168 expiry.1.xml.out:115 -#: faillog.5.xml.out:84 faillog.8.xml.out:232 gpasswd.1.xml.out:274 +#: chage.1.xml.out:331 chfn.1.xml.out:202 chgpasswd.8.xml.out:242 +#: chpasswd.8.xml.out:304 chsh.1.xml.out:209 expiry.1.xml.out:115 +#: faillog.5.xml.out:84 faillog.8.xml.out:232 gpasswd.1.xml.out:276 #: groupadd.8.xml.out:343 groupdel.8.xml.out:202 groupmems.8.xml.out:206 #: groupmod.8.xml.out:323 groups.1.xml.out:89 grpck.8.xml.out:277 #: gshadow.5.xml.out:150 limits.5.xml.out:182 login.1.xml.out:374 -#: login.access.5.xml.out:109 login.defs.5.xml.out:527 newgrp.1.xml.out:127 -#: newusers.8.xml.out:450 nologin.8.xml.out:57 passwd.1.xml.out:471 +#: login.access.5.xml.out:109 login.defs.5.xml.out:546 newgrp.1.xml.out:127 +#: newusers.8.xml.out:471 nologin.8.xml.out:57 passwd.1.xml.out:493 #: passwd.5.xml.out:167 porttime.5.xml.out:118 pwck.8.xml.out:333 #: pwconv.8.xml.out:239 shadow.3.xml.out:214 shadow.5.xml.out:259 -#: sg.1.xml.out:116 su.1.xml.out:413 suauth.5.xml.out:198 useradd.8.xml.out:875 -#: userdel.8.xml.out:308 usermod.8.xml.out:602 vipw.8.xml.out:202 +#: sg.1.xml.out:116 su.1.xml.out:413 suauth.5.xml.out:198 useradd.8.xml.out:895 +#: userdel.8.xml.out:308 usermod.8.xml.out:619 vipw.8.xml.out:202 msgid "SEE ALSO" msgstr "SE OCKSÅ" @@ -1088,53 +1129,53 @@ msgstr "SE OCKSÅ" #. (itstool) path: para/command #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: chage.1.xml.out:319 chfn.1.xml.out:211 chpasswd.8.xml.out:265 -#: chsh.1.xml.out:177 expiry.1.xml.out:118 groupadd.8.xml.out:351 +#: 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:399 -#: login.defs.5.xml.out:516 login.defs.5.xml.out:533 login.defs.5.xml.out:539 -#: newusers.8.xml.out:79 newusers.8.xml.out:456 passwd.1.xml.out:40 -#: passwd.1.xml.out:47 passwd.1.xml.out:53 passwd.1.xml.out:66 -#: passwd.1.xml.out:69 passwd.1.xml.out:86 passwd.1.xml.out:116 -#: passwd.1.xml.out:152 passwd.1.xml.out:366 passwd.1.xml.out:413 -#: passwd.1.xml.out:422 passwd.1.xml.out:451 passwd.1.xml.out:457 -#: passwd.1.xml.out:477 passwd.5.xml.out:33 passwd.5.xml.out:40 +#: 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:884 userdel.8.xml.out:316 -#: usermod.8.xml.out:611 vipw.8.xml.out:217 +#: 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:319 chage.1.xml.out:322 chfn.1.xml.out:208 -#: chfn.1.xml.out:211 chgpasswd.8.xml.out:223 chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 chsh.1.xml.out:177 expiry.1.xml.out:118 +#: 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:292 gpasswd.1.xml.out:295 groupadd.8.xml.out:363 +#: 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:103 login.defs.5.xml.out:539 login.defs.5.xml.out:542 -#: newgrp.1.xml.out:145 newgrp.1.xml.out:148 newusers.8.xml.out:79 -#: newusers.8.xml.out:453 newusers.8.xml.out:460 newusers.8.xml.out:463 -#: nologin.8.xml.out:48 nologin.8.xml.out:63 passwd.1.xml.out:455 -#: passwd.1.xml.out:477 passwd.1.xml.out:480 passwd.1.xml.out:484 +#: 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:628 -#: useradd.8.xml.out:899 useradd.8.xml.out:906 useradd.8.xml.out:909 +#: 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:629 usermod.8.xml.out:633 -#: usermod.8.xml.out:636 vipw.8.xml.out:208 vipw.8.xml.out:211 +#: 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" @@ -1147,20 +1188,20 @@ msgstr "5" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/filename -#: chage.1.xml.out:322 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:542 -#: passwd.1.xml.out:480 passwd.5.xml.out:79 passwd.5.xml.out:194 +#: 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:628 +#: 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:317 expiry.1.xml.out:116 faillog.8.xml.out:233 +#: 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 "" @@ -1172,10 +1213,10 @@ msgstr "" #. (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:171 +#: 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:239 useradd.8.xml.out:878 -#: userdel.8.xml.out:310 usermod.8.xml.out:105 usermod.8.xml.out:605 +#: 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" @@ -1193,8 +1234,8 @@ msgstr "" #. (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:405 useradd.8.xml.out:536 -#: useradd.8.xml.out:837 usermod.8.xml.out:271 usermod.8.xml.out:377 +#: 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 msgid "-o" msgstr "-o" @@ -1232,7 +1273,7 @@ msgstr "" #: 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:622 userdel.8.xml.out:76 userdel.8.xml.out:287 +#: 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" @@ -1296,12 +1337,12 @@ msgstr "" #. (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:173 +#: 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:287 passwd.1.xml.out:268 pwck.8.xml.out:155 -#: pwck.8.xml.out:188 useradd.8.xml.out:224 useradd.8.xml.out:456 -#: useradd.8.xml.out:542 userdel.8.xml.out:106 usermod.8.xml.out:317 +#: 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" @@ -1326,8 +1367,8 @@ msgstr "" #. (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:309 useradd.8.xml.out:414 -#: useradd.8.xml.out:531 usermod.8.xml.out:279 usermod.8.xml.out:369 +#: 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 "-" @@ -1335,7 +1376,7 @@ msgid "-u" msgstr "-" #. (itstool) path: term/option -#: chfn.1.xml.out:151 passwd.1.xml.out:322 usermod.8.xml.out:463 +#: chfn.1.xml.out:151 passwd.1.xml.out:333 usermod.8.xml.out:463 #, fuzzy #| msgid "-" msgid "-w" @@ -1370,11 +1411,11 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: chfn.1.xml.out:189 chgpasswd.8.xml.out:207 chpasswd.8.xml.out:249 -#: chsh.1.xml.out:161 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:425 -#: passwd.1.xml.out:407 pwconv.8.xml.out:232 su.1.xml.out:359 -#: useradd.8.xml.out:799 userdel.8.xml.out:193 +#: 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 "" @@ -1387,8 +1428,8 @@ msgstr "" #: 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:270 useradd.8.xml.out:881 -#: userdel.8.xml.out:313 usermod.8.xml.out:608 +#: 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" @@ -1396,25 +1437,25 @@ msgstr "chsh" #. (itstool) path: para/filename #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname -#: chfn.1.xml.out:208 chgpasswd.8.xml.out:223 chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 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:102 -#: login.defs.5.xml.out:109 newusers.8.xml.out:298 newusers.8.xml.out:453 -#: passwd.1.xml.out:484 pwconv.8.xml.out:92 pwconv.8.xml.out:94 +#: 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:899 userdel.8.xml.out:117 userdel.8.xml.out:319 -#: usermod.8.xml.out:629 vipw.8.xml.out:214 +#: 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:215 chsh.1.xml.out:169 +#: 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:23 +#: chgpasswd.8.xml.out:25 msgid "Creation, 2006" msgstr "" @@ -1423,19 +1464,19 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:33 chgpasswd.8.xml.out:40 chgpasswd.8.xml.out:46 -#: chgpasswd.8.xml.out:56 chgpasswd.8.xml.out:66 chgpasswd.8.xml.out:83 -#: login.defs.5.xml.out:249 +#: 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:34 chgpasswd.8.xml.out:220 chpasswd.8.xml.out:38 -#: chpasswd.8.xml.out:268 chpasswd.8.xml.out:276 faillog.5.xml.out:87 -#: faillog.8.xml.out:34 gpasswd.1.xml.out:280 gpasswd.1.xml.out:283 -#: gpasswd.1.xml.out:286 gpasswd.1.xml.out:289 groupadd.8.xml.out:37 +#: 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 @@ -1448,43 +1489,43 @@ msgstr "chgpasswd" #: 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:545 -#: logoutd.8.xml.out:34 newusers.8.xml.out:50 newusers.8.xml.out:467 -#: nologin.8.xml.out:23 passwd.1.xml.out:474 passwd.1.xml.out:488 +#: 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:574 -#: useradd.8.xml.out:890 useradd.8.xml.out:893 useradd.8.xml.out:896 -#: useradd.8.xml.out:902 useradd.8.xml.out:913 useradd.8.xml.out:916 -#: 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:617 usermod.8.xml.out:620 usermod.8.xml.out:623 -#: usermod.8.xml.out:626 usermod.8.xml.out:640 usermod.8.xml.out:643 -#: vipw.8.xml.out:36 +#: 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:35 chpasswd.8.xml.out:39 faillog.8.xml.out:35 +#: 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:51 nologin.8.xml.out:24 +#: 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 "Systemhanteringskommandon" #. (itstool) path: refnamediv/refpurpose -#: chgpasswd.8.xml.out:41 +#: chgpasswd.8.xml.out:43 msgid "update group passwords in batch mode" msgstr "uppdatera grupplösenord i satsläge" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:55 +#: chgpasswd.8.xml.out:57 #, fuzzy msgid "" "The <_:command-1/> command reads a list of group name and password pairs " @@ -1498,12 +1539,12 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chgpasswd.8.xml.out:61 groupmems.8.xml.out:54 groupmems.8.xml.out:110 +#: chgpasswd.8.xml.out:63 groupmems.8.xml.out:54 groupmems.8.xml.out:110 msgid "group_name" msgstr "gruppnamn" #. (itstool) path: para/emphasis -#: chgpasswd.8.xml.out:62 chpasswd.8.xml.out:66 passwd.5.xml.out:77 +#: 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 @@ -1512,12 +1553,12 @@ msgid "password" msgstr "passwd" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:60 chpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:62 chpasswd.8.xml.out:66 msgid "<_:emphasis-1/>:<_:emphasis-2/>" msgstr "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:66 #, fuzzy msgid "" "By default the supplied password must be in clear-text, and is encrypted by " @@ -1527,16 +1568,16 @@ msgstr "" "Standardkrypteringsalgoritmen är DES." #. (itstool) path: para/option -#: chgpasswd.8.xml.out:70 chpasswd.8.xml.out:75 chpasswd.8.xml.out:132 -#: passwd.1.xml.out:129 +#: chgpasswd.8.xml.out:72 chpasswd.8.xml.out:77 chpasswd.8.xml.out:138 +#: passwd.1.xml.out:114 msgid "ENCRYPT_METHOD" msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: chgpasswd.8.xml.out:71 chgpasswd.8.xml.out:101 chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 chpasswd.8.xml.out:130 chpasswd.8.xml.out:139 -#: passwd.1.xml.out:180 useradd.8.xml.out:179 useradd.8.xml.out:610 +#: 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 "-" @@ -1546,16 +1587,16 @@ msgstr "-" #. (itstool) path: para/option #. (itstool) path: term/option #. (itstool) path: arg/arg -#: chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:88 chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 chpasswd.8.xml.out:114 chpasswd.8.xml.out:129 -#: expiry.1.xml.out:60 expiry.1.xml.out:73 newusers.8.xml.out:268 +#: 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:68 +#: chgpasswd.8.xml.out:70 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 <_:" @@ -1563,53 +1604,111 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:74 chpasswd.8.xml.out:99 +#: 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 "" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:88 chpasswd.8.xml.out:114 newusers.8.xml.out:268 +#: 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:90 chpasswd.8.xml.out:117 newusers.8.xml.out:270 +#: 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 "" -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:91 chpasswd.8.xml.out:118 -msgid "The available methods are DES, MD5, and NONE." +#. (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 <placeholder-1/>" +msgid "<_:replaceable-1/>," +msgstr "-h <placeholder-1/>" + +#. (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 +#, fuzzy +#| msgid "-K <placeholder-1/>=<placeholder-2/>" +msgid ", <_:replaceable-1/>, <_:replaceable-2/>" +msgstr "-K <placeholder-1/>=<placeholder-2/>" + +#. (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 "BESKRIVNING" + +#. (itstool) path: para/phrase +#: chgpasswd.8.xml.out:99 chpasswd.8.xml.out:126 +#, fuzzy +#| msgid "-h <placeholder-1/>" +msgid ", <_:replaceable-1/>" +msgstr "-h <placeholder-1/>" + +#. (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:94 chpasswd.8.xml.out:121 newusers.8.xml.out:271 +#: chgpasswd.8.xml.out:93 chpasswd.8.xml.out:120 msgid "" -"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc " -"support these methods." +"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:101 chpasswd.8.xml.out:139 +#: chgpasswd.8.xml.out:107 chpasswd.8.xml.out:145 #, fuzzy #| msgid "encrypted password" msgid "--encrypted" msgstr "krypterat lösenord" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:103 chpasswd.8.xml.out:141 +#: chgpasswd.8.xml.out:109 chpasswd.8.xml.out:147 msgid "Supplied passwords are in encrypted form." msgstr "Insända lösenord är i ett krypterat format." #. (itstool) path: term/option -#: chgpasswd.8.xml.out:113 chpasswd.8.xml.out:155 +#: chgpasswd.8.xml.out:119 chpasswd.8.xml.out:161 msgid "--md5" msgstr "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:115 chpasswd.8.xml.out:157 +#: chgpasswd.8.xml.out:121 chpasswd.8.xml.out:163 msgid "" "Use MD5 encryption instead of DES when the supplied passwords are not " "encrypted." @@ -1619,60 +1718,85 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chgpasswd.8.xml.out:135 chpasswd.8.xml.out:178 chsh.1.xml.out:97 +#: 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:320 pwck.8.xml.out:155 pwck.8.xml.out:209 -#: su.1.xml.out:163 useradd.8.xml.out:517 useradd.8.xml.out:655 -#: usermod.8.xml.out:357 vipw.8.xml.out:70 vipw.8.xml.out:127 +#: 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 msgid "-s" msgstr "-s" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:135 chpasswd.8.xml.out:178 newusers.8.xml.out:320 +#: 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:137 chpasswd.8.xml.out:181 newusers.8.xml.out:322 +#: 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 "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:140 chpasswd.8.xml.out:184 newusers.8.xml.out:325 +#: chgpasswd.8.xml.out:146 chpasswd.8.xml.out:205 newusers.8.xml.out:327 msgid "" -"The value 0 means that the system will choose the default number of rounds " -"for the crypt method (5000)." +"You can only use this option with crypt method: <_:phrase-1/> <_:phrase-2/> " +"<_:phrase-3/>" msgstr "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:144 chpasswd.8.xml.out:188 newusers.8.xml.out:329 +#: chgpasswd.8.xml.out:156 chpasswd.8.xml.out:215 newusers.8.xml.out:337 msgid "" -"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced." +"By default, the number of rounds for BCRYPT is defined by the " +"BCRYPT_MIN_ROUNDS and BCRYPT_MAX_ROUNDS variables in <_:filename-1/>." msgstr "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:148 chpasswd.8.xml.out:192 newusers.8.xml.out:333 -msgid "You can only use this option with the SHA256 or SHA512 crypt method." +#: chgpasswd.8.xml.out:161 chpasswd.8.xml.out:220 +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 "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:152 newusers.8.xml.out:337 +#: chgpasswd.8.xml.out:165 chpasswd.8.xml.out:224 newusers.8.xml.out:346 msgid "" -"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and " -"SHA_CRYPT_MAX_ROUNDS variables in <_:filename-1/>." +"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 "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:170 chpasswd.8.xml.out:229 +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 "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:175 chpasswd.8.xml.out:234 newusers.8.xml.out:355 +msgid "" +"By default, the number of rounds for YESCRYPT is defined by the " +"YESCRYPT_COST_FACTOR in <_:filename-1/>." +msgstr "" + +#. (itstool) path: listitem/para +#: chgpasswd.8.xml.out:179 chpasswd.8.xml.out:238 +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 "" #. (itstool) path: refsect1/title -#: chgpasswd.8.xml.out:163 chpasswd.8.xml.out:208 faillog.8.xml.out:209 -#: gpasswd.1.xml.out:229 groupadd.8.xml.out:285 groupdel.8.xml.out:121 -#: lastlog.8.xml.out:206 login.1.xml.out:236 newusers.8.xml.out:348 -#: passwd.1.xml.out:354 shadow.3.xml.out:194 su.1.xml.out:306 -#: useradd.8.xml.out:682 userdel.8.xml.out:281 usermod.8.xml.out:517 +#: 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 "TÄNK PÅ" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:164 chpasswd.8.xml.out:209 +#: 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." @@ -1681,7 +1805,7 @@ msgstr "" "okrypterade filer för andra användare." #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:168 newusers.8.xml.out:353 +#: 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." @@ -1691,8 +1815,8 @@ msgstr "" #. (itstool) path: phrase/filename #. (itstool) path: para/filename #. (itstool) path: citerefentry/refentrytitle -#: chgpasswd.8.xml.out:193 gpasswd.1.xml.out:48 gpasswd.1.xml.out:51 -#: gpasswd.1.xml.out:73 gpasswd.1.xml.out:231 gpasswd.1.xml.out:259 +#: 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 @@ -1700,19 +1824,19 @@ msgstr "" #: 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:411 pwck.8.xml.out:261 pwconv.8.xml.out:128 -#: sg.1.xml.out:101 suauth.5.xml.out:90 useradd.8.xml.out:755 -#: userdel.8.xml.out:185 usermod.8.xml.out:557 vipw.8.xml.out:69 +#: 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:195 gpasswd.1.xml.out:261 groupadd.8.xml.out:266 +#: 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:413 pwck.8.xml.out:263 -#: sg.1.xml.out:103 useradd.8.xml.out:757 userdel.8.xml.out:187 +#: 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 "Gruppkontoinformation." @@ -1720,8 +1844,8 @@ msgstr "Gruppkontoinformation." #. (itstool) path: term/filename #. (itstool) path: phrase/filename #. (itstool) path: para/filename -#: chgpasswd.8.xml.out:199 gpasswd.1.xml.out:52 gpasswd.1.xml.out:74 -#: gpasswd.1.xml.out:232 gpasswd.1.xml.out:265 groupadd.8.xml.out:170 +#: 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 @@ -1729,17 +1853,17 @@ msgstr "Gruppkontoinformation." #: 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:417 pwconv.8.xml.out:129 sg.1.xml.out:107 -#: useradd.8.xml.out:761 usermod.8.xml.out:563 vipw.8.xml.out:72 +#: 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:201 gpasswd.1.xml.out:267 groupadd.8.xml.out:272 +#: 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:419 -#: sg.1.xml.out:109 useradd.8.xml.out:763 vipw.8.xml.out:183 +#: 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 "Säker gruppkontoinformation." @@ -1749,12 +1873,12 @@ msgstr "Säker gruppkontoinformation." #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:217 gpasswd.1.xml.out:38 gpasswd.1.xml.out:45 -#: gpasswd.1.xml.out:59 gpasswd.1.xml.out:72 gpasswd.1.xml.out:85 -#: gpasswd.1.xml.out:119 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:280 +#: 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:617 +#: usermod.8.xml.out:634 msgid "gpasswd" msgstr "gpasswd" @@ -1764,19 +1888,19 @@ msgstr "gpasswd" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:220 gpasswd.1.xml.out:280 groupadd.8.xml.out:36 +#: 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:290 useradd.8.xml.out:890 userdel.8.xml.out:325 -#: usermod.8.xml.out:620 +#: 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:21 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:86 -#: logoutd.8.xml.out:17 newgrp.1.xml.out:18 newusers.8.xml.out:33 +#: 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" @@ -1788,20 +1912,20 @@ msgstr "" #. (itstool) path: para/command #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: chpasswd.8.xml.out:37 chpasswd.8.xml.out:44 chpasswd.8.xml.out:50 -#: chpasswd.8.xml.out:60 chpasswd.8.xml.out:70 chpasswd.8.xml.out:89 -#: chpasswd.8.xml.out:96 chpasswd.8.xml.out:108 chpasswd.8.xml.out:255 -#: login.defs.5.xml.out:259 passwd.1.xml.out:474 +#: 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" #. (itstool) path: refnamediv/refpurpose -#: chpasswd.8.xml.out:45 +#: chpasswd.8.xml.out:47 msgid "update passwords in batch mode" msgstr "uppdatera lösenord i satsläge" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:59 +#: chpasswd.8.xml.out:61 #, fuzzy msgid "" "The <_:command-1/> command reads a list of user name and password pairs from " @@ -1815,13 +1939,13 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:65 groupmems.8.xml.out:52 groupmems.8.xml.out:53 +#: 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 "användarnamn" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:68 +#: chpasswd.8.xml.out:70 #, fuzzy msgid "" "By default the passwords must be supplied in clear-text, and are encrypted " @@ -1831,12 +1955,12 @@ msgstr "" "Standardkrypteringsalgoritmen är DES." #. (itstool) path: para/option -#: chpasswd.8.xml.out:76 chpasswd.8.xml.out:133 +#: chpasswd.8.xml.out:78 chpasswd.8.xml.out:139 msgid "MD5_CRYPT_ENAB" msgstr "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:73 +#: chpasswd.8.xml.out:75 msgid "" "The default encryption algorithm can be defined for the system with the <_:" "option-1/> or <_:option-2/> variables of <_:filename-3/>, and can be " @@ -1844,7 +1968,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:81 +#: chpasswd.8.xml.out:83 msgid "" "By default, passwords are encrypted by PAM, but (even if not recommended) " "you can select a different encryption method with the <_:option-1/>, <_:" @@ -1852,19 +1976,19 @@ msgid "" msgstr "" #. (itstool) path: para/phrase -#: chpasswd.8.xml.out:88 +#: chpasswd.8.xml.out:90 msgid "Except when PAM is used to encrypt the passwords," msgstr "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:87 +#: chpasswd.8.xml.out:89 msgid "" "<_: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 "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:93 +#: chpasswd.8.xml.out:95 msgid "" "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/> " @@ -1873,17 +1997,17 @@ msgid "" msgstr "" #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:114 +#: chpasswd.8.xml.out:116 msgid "METHOD" msgstr "" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:125 +#: chpasswd.8.xml.out:131 msgid "By default, PAM is used to encrypt the passwords." msgstr "" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:128 +#: chpasswd.8.xml.out:134 msgid "" "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/" @@ -1891,36 +2015,19 @@ msgid "" msgstr "" #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:178 +#: chpasswd.8.xml.out:199 msgid "ROUNDS" msgstr "" -#. (itstool) path: para/option -#: chpasswd.8.xml.out:198 -msgid "SHA_CRYPT_MIN_ROUNDS" -msgstr "" - -#. (itstool) path: para/option -#: chpasswd.8.xml.out:199 -msgid "SHA_CRYPT_MAX_ROUNDS" -msgstr "" - -#. (itstool) path: listitem/para -#: chpasswd.8.xml.out:196 -msgid "" -"By default, the number of rounds is defined by the <_:option-1/> and <_:" -"option-2/> variables in <_:filename-3/>." -msgstr "" - #. (itstool) path: term/filename -#: chpasswd.8.xml.out:253 +#: chpasswd.8.xml.out:295 #, fuzzy #| msgid "/etc/passwd" msgid "/etc/pam.d/chpasswd" msgstr "/etc/passwd" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:255 newusers.8.xml.out:431 passwd.1.xml.out:413 +#: chpasswd.8.xml.out:297 newusers.8.xml.out:452 passwd.1.xml.out:435 msgid "PAM configuration for <_:command-1/>." msgstr "" @@ -1930,17 +2037,17 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:268 login.defs.5.xml.out:380 newusers.8.xml.out:49 -#: newusers.8.xml.out:56 newusers.8.xml.out:62 newusers.8.xml.out:75 -#: newusers.8.xml.out:96 newusers.8.xml.out:123 newusers.8.xml.out:132 -#: newusers.8.xml.out:151 newusers.8.xml.out:164 newusers.8.xml.out:170 -#: newusers.8.xml.out:172 newusers.8.xml.out:210 newusers.8.xml.out:230 -#: newusers.8.xml.out:252 newusers.8.xml.out:431 useradd.8.xml.out:902 +#: 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:270 grpck.8.xml.out:285 passwd.1.xml.out:482 +#: chpasswd.8.xml.out:312 grpck.8.xml.out:285 passwd.1.xml.out:507 msgid "<_:citerefentry-1/>," msgstr "" @@ -1950,21 +2057,21 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:276 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:462 -#: newusers.8.xml.out:467 useradd.8.xml.out:52 useradd.8.xml.out:59 +#: 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:284 useradd.8.xml.out:341 -#: useradd.8.xml.out:472 useradd.8.xml.out:584 useradd.8.xml.out:586 -#: useradd.8.xml.out:690 useradd.8.xml.out:808 userdel.8.xml.out:342 -#: usermod.8.xml.out:640 +#: 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:263 newusers.8.xml.out:451 +#: chpasswd.8.xml.out:305 newusers.8.xml.out:472 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:phrase-3/> <_:citerefentry-4/>." msgstr "" @@ -1985,15 +2092,15 @@ msgstr "" #. (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:517 -#: useradd.8.xml.out:655 usermod.8.xml.out:357 +#: 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 msgid "--shell" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/option -#: chsh.1.xml.out:97 su.1.xml.out:163 useradd.8.xml.out:517 -#: useradd.8.xml.out:522 useradd.8.xml.out:655 useradd.8.xml.out:662 +#: 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 "" @@ -2017,12 +2124,13 @@ msgstr "" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: chsh.1.xml.out:120 chsh.1.xml.out:124 chsh.1.xml.out:153 su.1.xml.out:198 +#: 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:123 chsh.1.xml.out:142 msgid "/bin/rsh" msgstr "" @@ -2038,11 +2146,97 @@ msgid "" "original value." msgstr "" +#. (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 "" +"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 "" + +#. (itstool) path: refsect1/para +#: chsh.1.xml.out:141 +msgid "" +"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 "" + #. (itstool) path: listitem/para -#: chsh.1.xml.out:155 +#: chsh.1.xml.out:174 msgid "List of valid login shells." msgstr "Lista på giltiga inloggningsskal." +#. (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 på giltiga inloggningsskal." + +#. (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 "Katalog som innehåller standardfiler." + #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command @@ -2058,7 +2252,7 @@ msgid "check and enforce password expiration policy" msgstr "kontrollera och upprätthåll policy för lösenordsutgång" #. (itstool) path: arg/replaceable -#: expiry.1.xml.out:52 gpasswd.1.xml.out:61 +#: expiry.1.xml.out:52 gpasswd.1.xml.out:63 #, fuzzy msgid "option" msgstr "flaggor" @@ -2096,7 +2290,7 @@ msgstr "" #. (itstool) path: author/contrib #: faillog.5.xml.out:17 faillog.8.xml.out:17 login.1.xml.out:50 -#: passwd.1.xml.out:24 passwd.5.xml.out:17 porttime.5.xml.out:17 +#: 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 "" @@ -2117,7 +2311,7 @@ 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:104 passwd.5.xml.out:35 +#: 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" @@ -2206,14 +2400,14 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: faillog.8.xml.out:72 faillog.8.xml.out:215 gpasswd.1.xml.out:124 -#: groupmems.8.xml.out:83 groupmod.8.xml.out:73 passwd.1.xml.out:157 +#: 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 msgid "-a" msgstr "-a" #. (itstool) path: term/option -#: faillog.8.xml.out:72 passwd.1.xml.out:157 +#: faillog.8.xml.out:72 passwd.1.xml.out:153 msgid "--all" msgstr "" @@ -2442,8 +2636,8 @@ msgstr "" #: login.1.xml.out:108 login.1.xml.out:112 login.1.xml.out:119 #: login.1.xml.out:171 login.1.xml.out:177 login.1.xml.out:230 #: login.1.xml.out:238 login.1.xml.out:247 login.1.xml.out:253 -#: login.1.xml.out:259 login.access.5.xml.out:112 login.defs.5.xml.out:343 -#: login.defs.5.xml.out:518 login.defs.5.xml.out:530 newgrp.1.xml.out:133 +#: login.1.xml.out:259 login.access.5.xml.out:112 login.defs.5.xml.out:356 +#: login.defs.5.xml.out:537 login.defs.5.xml.out:549 newgrp.1.xml.out:133 #: nologin.8.xml.out:60 passwd.5.xml.out:125 passwd.5.xml.out:132 #: passwd.5.xml.out:179 porttime.5.xml.out:121 shadow.5.xml.out:265 #: sg.1.xml.out:122 su.1.xml.out:415 @@ -2451,30 +2645,30 @@ msgid "login" msgstr "login" #. (itstool) path: author/firstname -#: gpasswd.1.xml.out:20 +#: gpasswd.1.xml.out:22 msgid "Rafal" msgstr "" #. (itstool) path: author/surname -#: gpasswd.1.xml.out:21 +#: gpasswd.1.xml.out:23 msgid "Maszkowski" msgstr "" #. (itstool) path: author/contrib -#: gpasswd.1.xml.out:22 login.access.5.xml.out:18 pwconv.8.xml.out:23 +#: gpasswd.1.xml.out:24 login.access.5.xml.out:18 pwconv.8.xml.out:23 #: suauth.5.xml.out:17 msgid "Creation, 1996" msgstr "" #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:47 +#: gpasswd.1.xml.out:49 #, fuzzy #| msgid "-r <placeholder-1/>" msgid "administer <_:filename-1/>" msgstr "-r <placeholder-1/>" #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:50 +#: gpasswd.1.xml.out:52 #, fuzzy msgid "administer <_:filename-1/> and <_:filename-2/>" msgstr "-K <placeholder-1/>=<placeholder-2/>" @@ -2483,9 +2677,9 @@ msgstr "-K <placeholder-1/>=<placeholder-2/>" #. (itstool) path: para/replaceable #. (itstool) path: citerefentry/refentrytitle #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:64 gpasswd.1.xml.out:89 gpasswd.1.xml.out:129 -#: gpasswd.1.xml.out:142 gpasswd.1.xml.out:177 gpasswd.1.xml.out:181 -#: gpasswd.1.xml.out:193 gpasswd.1.xml.out:197 gpasswd.1.xml.out:292 +#: gpasswd.1.xml.out:66 gpasswd.1.xml.out:91 gpasswd.1.xml.out:131 +#: gpasswd.1.xml.out:144 gpasswd.1.xml.out:179 gpasswd.1.xml.out:183 +#: gpasswd.1.xml.out:195 gpasswd.1.xml.out:199 gpasswd.1.xml.out:294 #: grpck.8.xml.out:49 grpck.8.xml.out:188 grpck.8.xml.out:280 #: gshadow.5.xml.out:156 limits.5.xml.out:138 newgrp.1.xml.out:48 #: newgrp.1.xml.out:145 pwck.8.xml.out:336 pwconv.8.xml.out:114 @@ -2494,17 +2688,17 @@ msgid "group" msgstr "grupp" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:73 +#: gpasswd.1.xml.out:75 msgid ", and <_:filename-1/>" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:76 +#: gpasswd.1.xml.out:78 msgid "administrators," msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:71 +#: gpasswd.1.xml.out:73 msgid "" "The <_:command-1/> command is used to administer <_:filename-2/><_:phrase-3/" ">. Every group can have <_:phrase-4/> members and a password." @@ -2512,14 +2706,14 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: gpasswd.1.xml.out:80 gpasswd.1.xml.out:112 gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:82 gpasswd.1.xml.out:114 gpasswd.1.xml.out:207 #, fuzzy #| msgid "-" msgid "-A" msgstr "-" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:79 +#: gpasswd.1.xml.out:81 msgid "" "System administrators can use the <_:option-1/> option to define group " "administrator(s) and the <_:option-2/> option to define members. They have " @@ -2527,19 +2721,19 @@ msgid "" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:86 +#: gpasswd.1.xml.out:88 #, fuzzy #| msgid "comma-separated list of group administrators" msgid "a group administrator" msgstr "kommaseparerad lista med gruppadministratörer" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:87 +#: gpasswd.1.xml.out:89 msgid "a system administrator" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:84 +#: gpasswd.1.xml.out:86 msgid "" "<_:command-1/> called by <_:phrase-2/> <_:phrase-3/> with a group name only " "prompts for the new password of the <_:replaceable-4/>." @@ -2550,8 +2744,8 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: gpasswd.1.xml.out:93 gpasswd.1.xml.out:180 gpasswd.1.xml.out:196 -#: gpasswd.1.xml.out:277 groups.1.xml.out:71 groups.1.xml.out:92 +#: gpasswd.1.xml.out:95 gpasswd.1.xml.out:182 gpasswd.1.xml.out:198 +#: gpasswd.1.xml.out:279 groups.1.xml.out:71 groups.1.xml.out:92 #: gshadow.5.xml.out:76 gshadow.5.xml.out:165 newgrp.1.xml.out:34 #: newgrp.1.xml.out:41 newgrp.1.xml.out:47 newgrp.1.xml.out:55 #: newgrp.1.xml.out:63 newgrp.1.xml.out:66 sg.1.xml.out:60 sg.1.xml.out:64 @@ -2560,7 +2754,7 @@ msgid "newgrp" msgstr "newgrp" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:91 +#: gpasswd.1.xml.out:93 #, fuzzy msgid "" "If a password is set the members can still use <_:citerefentry-1/> without a " @@ -2571,12 +2765,12 @@ msgstr "" "denna sträng tolkas." #. (itstool) path: refsect2/title -#: gpasswd.1.xml.out:99 +#: gpasswd.1.xml.out:101 msgid "Notes about group passwords" msgstr "Noteringar angående grupplösenord" #. (itstool) path: refsect2/para -#: gpasswd.1.xml.out:100 +#: gpasswd.1.xml.out:102 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 " @@ -2584,7 +2778,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:111 +#: gpasswd.1.xml.out:113 #, fuzzy msgid "" "Except for the <_:option-1/> and <_:option-2/> options, the options cannot " @@ -2594,53 +2788,53 @@ msgstr "" "används endast när <command>login</command> har startats av root." #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:115 +#: gpasswd.1.xml.out:117 msgid "The options cannot be combined." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:124 groupmems.8.xml.out:83 +#: gpasswd.1.xml.out:126 groupmems.8.xml.out:83 msgid "--add" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable #. (itstool) path: arg/replaceable -#: gpasswd.1.xml.out:124 gpasswd.1.xml.out:128 gpasswd.1.xml.out:137 -#: gpasswd.1.xml.out:141 gpasswd.1.xml.out:205 gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:126 gpasswd.1.xml.out:130 gpasswd.1.xml.out:139 +#: gpasswd.1.xml.out:143 gpasswd.1.xml.out:207 gpasswd.1.xml.out:219 #: groups.1.xml.out:48 groups.1.xml.out:59 msgid "user" msgstr "användare" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:127 +#: gpasswd.1.xml.out:129 msgid "Add the <_:replaceable-1/> to the named <_:replaceable-2/>." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:137 groupmems.8.xml.out:94 passwd.1.xml.out:168 +#: gpasswd.1.xml.out:139 groupmems.8.xml.out:94 passwd.1.xml.out:164 msgid "--delete" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:140 +#: gpasswd.1.xml.out:142 msgid "Remove the <_:replaceable-1/> from the named <_:replaceable-2/>." msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:158 +#: gpasswd.1.xml.out:160 #, fuzzy #| msgid "-" msgid "-Q" msgstr "-" #. (itstool) path: term/option -#: gpasswd.1.xml.out:173 +#: gpasswd.1.xml.out:175 msgid "--remove-password" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:176 +#: gpasswd.1.xml.out:178 msgid "" "Remove the password from the named <_:replaceable-1/>. The group password " "will be empty. Only group members will be allowed to use <_:command-2/> to " @@ -2648,12 +2842,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:189 +#: gpasswd.1.xml.out:191 msgid "--restrict" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:192 +#: gpasswd.1.xml.out:194 msgid "" "Restrict the access to the named <_:replaceable-1/>. The group password is " "set to \"!\". Only group members with a password will be allowed to use <_:" @@ -2661,12 +2855,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:207 msgid "--administrators" msgstr "" #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:204 gpasswd.1.xml.out:216 +#: gpasswd.1.xml.out:206 gpasswd.1.xml.out:218 #, fuzzy msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>,..." msgstr "" @@ -2674,35 +2868,35 @@ msgstr "" "replaceable>" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:208 +#: gpasswd.1.xml.out:210 #, fuzzy msgid "Set the list of administrative users." msgstr "kommaseparerad lista med gruppadministratörer" #. (itstool) path: term/option -#: gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:219 msgid "--members" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:220 +#: gpasswd.1.xml.out:222 #, fuzzy msgid "Set the list of group members." msgstr "kommaseparerad lista med gruppmedlemmar" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:232 +#: gpasswd.1.xml.out:234 #, fuzzy msgid "and <_:filename-1/> files." msgstr "-a <placeholder-1/>" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:234 +#: gpasswd.1.xml.out:236 msgid "file." msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:230 +#: gpasswd.1.xml.out:232 #, fuzzy msgid "" "This tool only operates on the <_:filename-1/> <_:phrase-2/> <_:phrase-3/> " @@ -2718,11 +2912,11 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:283 groupadd.8.xml.out:357 groupdel.8.xml.out:34 +#: gpasswd.1.xml.out:285 groupadd.8.xml.out:357 groupdel.8.xml.out:34 #: groupdel.8.xml.out:41 groupdel.8.xml.out:47 groupdel.8.xml.out:57 #: groupdel.8.xml.out:66 groupdel.8.xml.out:165 groupmems.8.xml.out:221 -#: groupmod.8.xml.out:341 login.defs.5.xml.out:299 useradd.8.xml.out:893 -#: userdel.8.xml.out:328 usermod.8.xml.out:623 +#: groupmod.8.xml.out:341 login.defs.5.xml.out:312 useradd.8.xml.out:913 +#: userdel.8.xml.out:328 usermod.8.xml.out:640 msgid "groupdel" msgstr "groupdel" @@ -2732,11 +2926,11 @@ msgstr "groupdel" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:286 groupadd.8.xml.out:360 groupdel.8.xml.out:220 +#: gpasswd.1.xml.out:288 groupadd.8.xml.out:360 groupdel.8.xml.out:220 #: groupmod.8.xml.out:34 groupmod.8.xml.out:41 groupmod.8.xml.out:47 #: groupmod.8.xml.out:58 groupmod.8.xml.out:67 groupmod.8.xml.out:256 -#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:311 -#: useradd.8.xml.out:896 userdel.8.xml.out:331 usermod.8.xml.out:626 +#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:324 +#: useradd.8.xml.out:916 userdel.8.xml.out:331 usermod.8.xml.out:643 msgid "groupmod" msgstr "groupmod" @@ -2746,10 +2940,10 @@ msgstr "groupmod" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:289 grpck.8.xml.out:33 grpck.8.xml.out:40 +#: gpasswd.1.xml.out:291 grpck.8.xml.out:33 grpck.8.xml.out:40 #: grpck.8.xml.out:46 grpck.8.xml.out:60 grpck.8.xml.out:116 #: grpck.8.xml.out:128 grpck.8.xml.out:141 grpck.8.xml.out:184 -#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:318 +#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:331 #: pwck.8.xml.out:339 pwconv.8.xml.out:198 pwconv.8.xml.out:242 msgid "grpck" msgstr "grpck" @@ -2759,7 +2953,7 @@ msgstr "grpck" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:295 grpck.8.xml.out:95 grpck.8.xml.out:287 +#: gpasswd.1.xml.out:297 grpck.8.xml.out:95 grpck.8.xml.out:287 #: gshadow.5.xml.out:22 gshadow.5.xml.out:29 newgrp.1.xml.out:148 #: pwconv.8.xml.out:114 pwconv.8.xml.out:115 pwconv.8.xml.out:121 #: pwconv.8.xml.out:122 sg.1.xml.out:137 vipw.8.xml.out:211 @@ -2767,12 +2961,12 @@ msgid "gshadow" msgstr "gshadow" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:293 newgrp.1.xml.out:146 sg.1.xml.out:135 +#: gpasswd.1.xml.out:295 newgrp.1.xml.out:146 sg.1.xml.out:135 msgid ", <_:citerefentry-1/>" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:275 newgrp.1.xml.out:128 sg.1.xml.out:117 +#: gpasswd.1.xml.out:277 newgrp.1.xml.out:128 sg.1.xml.out:117 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/><_:phrase-7/>." @@ -2818,8 +3012,8 @@ msgstr "" #: groupadd.8.xml.out:94 groupadd.8.xml.out:95 groupadd.8.xml.out:102 #: groupadd.8.xml.out:236 groupmems.8.xml.out:110 groupmod.8.xml.out:82 #: groupmod.8.xml.out:136 groupmod.8.xml.out:201 useradd.8.xml.out:96 -#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:391 -#: useradd.8.xml.out:396 useradd.8.xml.out:557 useradd.8.xml.out:639 +#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:393 +#: useradd.8.xml.out:398 useradd.8.xml.out:559 useradd.8.xml.out:659 #: usermod.8.xml.out:174 vipw.8.xml.out:90 msgid "-g" msgstr "-g" @@ -2835,7 +3029,7 @@ msgstr "" #. (itstool) path: term/option #: groupadd.8.xml.out:102 groupmod.8.xml.out:82 useradd.8.xml.out:230 -#: useradd.8.xml.out:639 usermod.8.xml.out:174 +#: useradd.8.xml.out:659 usermod.8.xml.out:174 msgid "--gid" msgstr "" @@ -2844,8 +3038,8 @@ msgstr "" #. (itstool) path: para/option #: groupadd.8.xml.out:102 groupadd.8.xml.out:105 groupadd.8.xml.out:151 #: groupmod.8.xml.out:73 groupmod.8.xml.out:82 groupmod.8.xml.out:87 -#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:300 -#: useradd.8.xml.out:469 +#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:302 +#: useradd.8.xml.out:471 msgid "GID" msgstr "GID" @@ -2877,7 +3071,7 @@ msgid "GID_MAX" msgstr "GID_MAX GID_MIN" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:111 useradd.8.xml.out:541 +#: groupadd.8.xml.out:111 useradd.8.xml.out:543 #, fuzzy msgid "See also the <_:option-1/> option and the <_:option-2/> description." msgstr "" @@ -2887,31 +3081,31 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option #: groupadd.8.xml.out:125 groupadd.8.xml.out:131 groupadd.8.xml.out:134 -#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:303 -#: useradd.8.xml.out:314 useradd.8.xml.out:317 useradd.8.xml.out:319 -#: useradd.8.xml.out:320 +#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:305 +#: useradd.8.xml.out:316 useradd.8.xml.out:319 useradd.8.xml.out:321 +#: useradd.8.xml.out:322 #, fuzzy #| msgid "-" msgid "-K" msgstr "-" #. (itstool) path: term/option -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "--key" msgstr "" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "KEY" msgstr "NYCKEL" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "VALUE" msgstr "VÄRDE" #. (itstool) path: varlistentry/term -#: groupadd.8.xml.out:124 useradd.8.xml.out:302 +#: groupadd.8.xml.out:124 useradd.8.xml.out:304 #, fuzzy msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>=<_:replaceable-4/>" msgstr "" @@ -2932,14 +3126,14 @@ msgstr "" "GID_MAX och andra). Flera flaggor av <option>-K</option> kan anges." #. (itstool) path: para/replaceable -#: groupadd.8.xml.out:134 useradd.8.xml.out:320 +#: groupadd.8.xml.out:134 useradd.8.xml.out:322 #, fuzzy #| msgid "10" msgid "100" msgstr "10" #. (itstool) path: para/replaceable -#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:321 +#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:323 msgid "499" msgstr "" @@ -2953,7 +3147,7 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: term/replaceable #: groupadd.8.xml.out:138 groupadd.8.xml.out:333 groupdel.8.xml.out:192 -#: groupmod.8.xml.out:295 useradd.8.xml.out:853 userdel.8.xml.out:265 +#: groupmod.8.xml.out:295 useradd.8.xml.out:873 userdel.8.xml.out:265 msgid "10" msgstr "10" @@ -2973,7 +3167,7 @@ msgstr "" "replaceable>=<replaceable>499</replaceable> fungerar ännu inte." #. (itstool) path: term/option -#: groupadd.8.xml.out:145 groupmod.8.xml.out:132 useradd.8.xml.out:405 +#: groupadd.8.xml.out:145 groupmod.8.xml.out:132 useradd.8.xml.out:407 #: usermod.8.xml.out:271 msgid "--non-unique" msgstr "" @@ -2993,13 +3187,13 @@ msgstr "" #: groupadd.8.xml.out:158 groupmems.8.xml.out:55 groupmems.8.xml.out:130 #: groupmod.8.xml.out:143 login.1.xml.out:80 login.1.xml.out:88 #: login.1.xml.out:95 login.1.xml.out:212 su.1.xml.out:207 -#: useradd.8.xml.out:425 usermod.8.xml.out:237 usermod.8.xml.out:290 +#: useradd.8.xml.out:427 usermod.8.xml.out:237 usermod.8.xml.out:290 #: usermod.8.xml.out:411 vipw.8.xml.out:102 msgid "-p" msgstr "-p" #. (itstool) path: term/option -#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:425 +#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:427 #: usermod.8.xml.out:290 #, fuzzy #| msgid "passwd" @@ -3007,7 +3201,7 @@ msgid "--password" msgstr "passwd" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:425 +#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:427 #: usermod.8.xml.out:290 msgid "PASSWORD" msgstr "" @@ -3016,8 +3210,8 @@ msgstr "" #: groupadd.8.xml.out:163 groupmod.8.xml.out:148 gshadow.5.xml.out:62 #: gshadow.5.xml.out:68 passwd.5.xml.out:103 passwd.5.xml.out:109 #: passwd.5.xml.out:170 shadow.5.xml.out:88 shadow.5.xml.out:94 -#: useradd.8.xml.out:430 useradd.8.xml.out:887 usermod.8.xml.out:295 -#: usermod.8.xml.out:614 +#: useradd.8.xml.out:432 useradd.8.xml.out:907 usermod.8.xml.out:295 +#: usermod.8.xml.out:631 msgid "crypt" msgstr "" @@ -3027,11 +3221,11 @@ msgstr "" #: groupadd.8.xml.out:164 groupadd.8.xml.out:315 groupmod.8.xml.out:148 #: groupmod.8.xml.out:271 groups.1.xml.out:68 groups.1.xml.out:104 #: grpck.8.xml.out:255 gshadow.5.xml.out:63 gshadow.5.xml.out:69 -#: passwd.1.xml.out:443 passwd.5.xml.out:104 passwd.5.xml.out:110 +#: passwd.1.xml.out:465 passwd.5.xml.out:104 passwd.5.xml.out:110 #: passwd.5.xml.out:170 passwd.5.xml.out:176 pwck.8.xml.out:305 #: shadow.3.xml.out:34 shadow.3.xml.out:217 shadow.5.xml.out:89 -#: shadow.5.xml.out:95 useradd.8.xml.out:431 useradd.8.xml.out:829 -#: useradd.8.xml.out:887 usermod.8.xml.out:296 usermod.8.xml.out:614 +#: shadow.5.xml.out:95 useradd.8.xml.out:433 useradd.8.xml.out:849 +#: useradd.8.xml.out:907 usermod.8.xml.out:296 usermod.8.xml.out:631 msgid "3" msgstr "3" @@ -3051,7 +3245,7 @@ msgid "" msgstr "" #. (itstool) path: para/emphasis -#: groupadd.8.xml.out:173 groupmod.8.xml.out:152 useradd.8.xml.out:444 +#: groupadd.8.xml.out:173 groupmod.8.xml.out:152 useradd.8.xml.out:446 #: userdel.8.xml.out:93 usermod.8.xml.out:299 msgid "Note:" msgstr "" @@ -3064,14 +3258,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:177 groupmod.8.xml.out:156 useradd.8.xml.out:448 +#: groupadd.8.xml.out:177 groupmod.8.xml.out:156 useradd.8.xml.out:450 #: usermod.8.xml.out:309 msgid "" "You should make sure the password respects the system's password policy." msgstr "" #. (itstool) path: term/option -#: groupadd.8.xml.out:185 newusers.8.xml.out:287 useradd.8.xml.out:456 +#: groupadd.8.xml.out:185 newusers.8.xml.out:289 useradd.8.xml.out:458 msgid "--system" msgstr "" @@ -3102,45 +3296,11 @@ msgid "" "option-5/>." msgstr "" -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -#, fuzzy -#| msgid "-" -msgid "-P" -msgstr "-" - -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -msgid "--prefix" -msgstr "" - -#. (itstool) path: term/replaceable -#. (itstool) path: para/replaceable -#: groupadd.8.xml.out:214 groupadd.8.xml.out:219 groupdel.8.xml.out:102 -#: groupdel.8.xml.out:106 groupdel.8.xml.out:108 groupmod.8.xml.out:177 -#: groupmod.8.xml.out:181 groupmod.8.xml.out:183 useradd.8.xml.out:502 -#: useradd.8.xml.out:507 userdel.8.xml.out:136 userdel.8.xml.out:140 -#: userdel.8.xml.out:142 usermod.8.xml.out:341 usermod.8.xml.out:346 -msgid "PREFIX_DIR" -msgstr "" - -#. (itstool) path: listitem/para -#: groupadd.8.xml.out:217 useradd.8.xml.out:505 -msgid "" -"Apply changes to configuration files under the root filesystem found under " -"the directory <_:replaceable-1/>. 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 "" - #. (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:397 -#: useradd.8.xml.out:549 useradd.8.xml.out:558 usermod.8.xml.out:238 +#: 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 "-" @@ -3162,7 +3322,7 @@ msgstr "" #. (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:386 useradd.8.xml.out:397 useradd.8.xml.out:558 +#: useradd.8.xml.out:388 useradd.8.xml.out:399 useradd.8.xml.out:560 #, fuzzy #| msgid "-" msgid "-N" @@ -3170,15 +3330,15 @@ msgstr "-" #. (itstool) path: para/option #. (itstool) path: para/phrase -#: groupadd.8.xml.out:238 groupmod.8.xml.out:203 login.defs.5.xml.out:448 -#: useradd.8.xml.out:97 useradd.8.xml.out:240 useradd.8.xml.out:398 -#: useradd.8.xml.out:559 userdel.8.xml.out:86 userdel.8.xml.out:296 +#: 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:395 -#: useradd.8.xml.out:556 +#: groupadd.8.xml.out:235 groupmod.8.xml.out:200 useradd.8.xml.out:397 +#: useradd.8.xml.out:558 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 <_:" @@ -3203,13 +3363,13 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:317 passwd.1.xml.out:463 useradd.8.xml.out:831 +#: groupadd.8.xml.out:317 passwd.1.xml.out:485 useradd.8.xml.out:851 msgid "invalid argument to option" msgstr "ogiltigt argument till flagga" #. (itstool) path: term/replaceable #: groupadd.8.xml.out:321 groupmod.8.xml.out:277 grpck.8.xml.out:261 -#: passwd.1.xml.out:449 pwck.8.xml.out:311 useradd.8.xml.out:835 +#: passwd.1.xml.out:471 pwck.8.xml.out:311 useradd.8.xml.out:855 msgid "4" msgstr "4" @@ -3221,7 +3381,7 @@ msgid "GID is already used (when called without <_:option-1/>)" msgstr "UID används redan (och inget <option>-o</option>)" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:847 +#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:867 msgid "9" msgstr "9" @@ -3233,7 +3393,7 @@ msgid "group name is already used" msgstr "gruppnamnet används redan" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:335 groupdel.8.xml.out:194 useradd.8.xml.out:855 +#: 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 "kan inte uppdatera gruppfilen" @@ -3245,11 +3405,11 @@ msgstr "kan inte uppdatera gruppfilen" #. (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:480 useradd.8.xml.out:913 +#: 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:643 +#: userdel.8.xml.out:298 userdel.8.xml.out:300 usermod.8.xml.out:660 msgid "userdel" msgstr "userdel" @@ -3260,11 +3420,11 @@ msgstr "userdel" #. (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:490 passwd.1.xml.out:488 -#: pwck.8.xml.out:140 pwck.8.xml.out:348 useradd.8.xml.out:916 +#: 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:522 +#: usermod.8.xml.out:263 usermod.8.xml.out:539 msgid "usermod" msgstr "usermod" @@ -3290,8 +3450,8 @@ msgstr "ta bort en grupp" #: 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:392 -#: useradd.8.xml.out:639 useradd.8.xml.out:648 usermod.8.xml.out:174 +#: 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 "GRUPP" @@ -3340,13 +3500,13 @@ msgid "" msgstr "" #. (itstool) path: term/replaceable -#: groupdel.8.xml.out:180 groupmod.8.xml.out:283 passwd.1.xml.out:461 -#: pwck.8.xml.out:323 useradd.8.xml.out:841 userdel.8.xml.out:253 +#: 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:843 +#: groupdel.8.xml.out:182 useradd.8.xml.out:863 msgid "specified group doesn't exist" msgstr "angiven grupp finns inte" @@ -3391,7 +3551,7 @@ msgstr "" #: 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:305 +#: login.defs.5.xml.out:318 msgid "groupmems" msgstr "groupmems" @@ -3534,7 +3694,7 @@ msgstr "" #| "\t$ groupmems -g groups -a gk4\n" #| " " msgid "" -"$ groupadd -r groups $ chmod 2710 groupmems $ chown root.groups groupmems $ " +"$ groupadd -r groups $ chmod 2710 groupmems $ chown root:groups groupmems $ " "groupmems -g groups -a gk4" msgstr "" "\n" @@ -3617,7 +3777,7 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: groupmod.8.xml.out:121 passwd.1.xml.out:246 +#: groupmod.8.xml.out:121 passwd.1.xml.out:242 #, fuzzy #| msgid "-" msgid "-n" @@ -3718,7 +3878,7 @@ msgid "E_CLEANUP_SERVICE: can't setup cleanup service" msgstr "" #. (itstool) path: term/replaceable -#: groupmod.8.xml.out:307 useradd.8.xml.out:859 userdel.8.xml.out:271 +#: groupmod.8.xml.out:307 useradd.8.xml.out:879 userdel.8.xml.out:271 msgid "12" msgstr "12" @@ -3889,7 +4049,7 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: arg/replaceable #. (itstool) path: para/replaceable -#: grpck.8.xml.out:113 newusers.8.xml.out:67 newusers.8.xml.out:75 +#: grpck.8.xml.out:113 newusers.8.xml.out:69 newusers.8.xml.out:77 msgid "file" msgstr "" @@ -3922,7 +4082,7 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: grpck.8.xml.out:143 login.defs.5.xml.out:134 login.defs.5.xml.out:136 +#: 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 "" @@ -3947,8 +4107,8 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:161 -#: passwd.1.xml.out:291 +#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:157 +#: passwd.1.xml.out:302 #, fuzzy #| msgid "-" msgid "-S" @@ -4179,7 +4339,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: gshadow.5.xml.out:162 login.defs.5.xml.out:324 pwconv.8.xml.out:48 +#: 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" @@ -4193,7 +4353,7 @@ msgstr "grpconv" #. (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:337 +#: login.defs.5.xml.out:350 msgid "lastlog" msgstr "lastlog" @@ -4239,7 +4399,7 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:592 +#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:612 #: usermod.8.xml.out:89 #, fuzzy #| msgid "-" @@ -4579,7 +4739,7 @@ msgstr "" #. (itstool) path: para/command #: limits.5.xml.out:122 login.1.xml.out:83 login.1.xml.out:91 #: login.1.xml.out:197 su.1.xml.out:70 su.1.xml.out:82 su.1.xml.out:95 -#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:775 +#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:795 msgid "username" msgstr "användarnamn" @@ -5033,8 +5193,8 @@ msgstr "chsh" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.1.xml.out:386 login.defs.5.xml.out:436 login.defs.5.xml.out:520 -#: login.defs.5.xml.out:536 newgrp.1.xml.out:136 passwd.5.xml.out:197 +#: login.1.xml.out:386 login.defs.5.xml.out:455 login.defs.5.xml.out:539 +#: login.defs.5.xml.out:555 newgrp.1.xml.out:136 passwd.5.xml.out:197 #: shadow.5.xml.out:283 sg.1.xml.out:128 su.1.xml.out:50 su.1.xml.out:57 #: su.1.xml.out:62 su.1.xml.out:81 su.1.xml.out:83 su.1.xml.out:121 #: su.1.xml.out:201 su.1.xml.out:239 su.1.xml.out:308 su.1.xml.out:368 @@ -5191,12 +5351,12 @@ msgid "<_:citerefentry-1/>." msgstr "" #. (itstool) path: refnamediv/refpurpose -#: login.defs.5.xml.out:110 +#: login.defs.5.xml.out:112 msgid "shadow password suite configuration" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:115 +#: login.defs.5.xml.out:117 msgid "" "The <_:filename-1/> file defines the site-specific configuration for the " "shadow password suite. This file is required. Absence of this file will not " @@ -5204,7 +5364,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:122 +#: login.defs.5.xml.out:124 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 " @@ -5215,20 +5375,20 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:133 useradd.8.xml.out:242 useradd.8.xml.out:380 +#: login.defs.5.xml.out:135 useradd.8.xml.out:242 useradd.8.xml.out:382 #: userdel.8.xml.out:87 userdel.8.xml.out:297 msgid "yes" msgstr "" #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:140 +#: login.defs.5.xml.out:142 #, fuzzy #| msgid "0" msgid "0x" msgstr "0" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:130 +#: login.defs.5.xml.out:132 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 " @@ -5241,32 +5401,32 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:145 +#: login.defs.5.xml.out:147 msgid "The following configuration items are provided:" msgstr "Följande konfigurationsposter tillhandahålls:" #. (itstool) path: para/option #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:193 pwconv.8.xml.out:146 useradd.8.xml.out:309 -#: useradd.8.xml.out:314 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:146 useradd.8.xml.out:311 +#: useradd.8.xml.out:316 msgid "PASS_MAX_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:193 pwconv.8.xml.out:145 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:145 msgid "PASS_MIN_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:194 pwconv.8.xml.out:147 +#: login.defs.5.xml.out:197 pwconv.8.xml.out:147 msgid "PASS_WARN_AGE" msgstr "" #. (itstool) path: variablelist/para -#: login.defs.5.xml.out:192 +#: login.defs.5.xml.out:195 #, fuzzy msgid "" "<_:option-1/>, <_:option-2/> and <_:option-3/> are only used at the time of " @@ -5278,12 +5438,12 @@ msgstr "" "konton." #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:225 +#: login.defs.5.xml.out:229 msgid "CROSS REFERENCES" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:226 +#: login.defs.5.xml.out:230 msgid "" "The following cross references show which programs in the shadow password " "suite use which parameters." @@ -5293,53 +5453,67 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: phrase/option #. (itstool) path: para/option -#: login.defs.5.xml.out:235 login.defs.5.xml.out:423 login.defs.5.xml.out:431 -#: login.defs.5.xml.out:503 pwck.8.xml.out:75 pwck.8.xml.out:216 +#: login.defs.5.xml.out:239 login.defs.5.xml.out:442 login.defs.5.xml.out:450 +#: login.defs.5.xml.out:522 pwck.8.xml.out:75 pwck.8.xml.out:216 #: pwck.8.xml.out:232 pwconv.8.xml.out:89 pwconv.8.xml.out:91 #: pwconv.8.xml.out:94 pwconv.8.xml.out:105 pwconv.8.xml.out:107 msgid "USE_TCB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:242 +#: login.defs.5.xml.out:246 msgid "CHFN_AUTH" msgstr "CHFN_AUTH" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:244 login.defs.5.xml.out:359 +#: login.defs.5.xml.out:248 login.defs.5.xml.out:372 #, fuzzy msgid "LOGIN_STRING" msgstr "CHFN_AUTH CHFN_RESTRICT" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:241 +#: login.defs.5.xml.out:245 msgid "<_:phrase-1/> CHFN_RESTRICT <_:phrase-2/>" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:253 login.defs.5.xml.out:264 login.defs.5.xml.out:284 -#: login.defs.5.xml.out:388 login.defs.5.xml.out:404 -msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" -msgstr "" - -#. (itstool) path: listitem/para -#: login.defs.5.xml.out:251 login.defs.5.xml.out:282 -msgid "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:phrase-1/>" +#: login.defs.5.xml.out:256 login.defs.5.xml.out:269 login.defs.5.xml.out:293 +#: login.defs.5.xml.out:396 login.defs.5.xml.out:418 +msgid "BCRYPT_MAX_ROUNDS BCRYPT_MIN_ROUNDS" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:262 +#: login.defs.5.xml.out:259 login.defs.5.xml.out:273 login.defs.5.xml.out:296 +#: login.defs.5.xml.out:403 login.defs.5.xml.out:422 +msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +msgstr "" + +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:261 login.defs.5.xml.out:275 login.defs.5.xml.out:298 +#: login.defs.5.xml.out:409 login.defs.5.xml.out:424 +msgid "YESCRYPT_COST_FACTOR" +msgstr "" + +#. (itstool) path: listitem/para +#: login.defs.5.xml.out:255 login.defs.5.xml.out:292 +msgid "" +"<_:phrase-1/> ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:" +"phrase-2/> <_:phrase-3/>" +msgstr "" + +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:271 msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:272 +#: login.defs.5.xml.out:282 #, fuzzy msgid "CHSH_AUTH LOGIN_STRING" msgstr "CHFN_AUTH CHFN_RESTRICT" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:292 +#: login.defs.5.xml.out:305 #, fuzzy msgid "GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP SYS_GID_MAX SYS_GID_MIN" msgstr "" @@ -5347,8 +5521,8 @@ msgstr "" "UMASK" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:301 login.defs.5.xml.out:307 login.defs.5.xml.out:313 -#: login.defs.5.xml.out:320 login.defs.5.xml.out:326 login.defs.5.xml.out:332 +#: login.defs.5.xml.out:314 login.defs.5.xml.out:320 login.defs.5.xml.out:326 +#: login.defs.5.xml.out:333 login.defs.5.xml.out:339 login.defs.5.xml.out:345 msgid "MAX_MEMBERS_PER_GROUP" msgstr "" @@ -5356,63 +5530,63 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:330 pwconv.8.xml.out:49 pwconv.8.xml.out:73 +#: login.defs.5.xml.out:343 pwconv.8.xml.out:49 pwconv.8.xml.out:73 #: pwconv.8.xml.out:119 pwconv.8.xml.out:153 pwconv.8.xml.out:167 #: pwconv.8.xml.out:208 msgid "grpunconv" msgstr "grpunconv" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:339 +#: login.defs.5.xml.out:352 msgid "LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:346 login.defs.5.xml.out:439 +#: login.defs.5.xml.out:359 login.defs.5.xml.out:458 msgid "CONSOLE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:348 +#: login.defs.5.xml.out:361 msgid "ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:351 +#: login.defs.5.xml.out:364 msgid "FAILLOG_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:353 +#: login.defs.5.xml.out:366 #, fuzzy #| msgid "FILE" msgid "FTMP_FILE" msgstr "FIL" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:355 +#: login.defs.5.xml.out:368 msgid "ISSUE_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:357 +#: login.defs.5.xml.out:370 msgid "LASTLOG_ENAB LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:361 +#: login.defs.5.xml.out:374 msgid "" "MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE " "PORTTIME_CHECKS_ENAB QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:365 +#: login.defs.5.xml.out:378 msgid "ULIMIT UMASK" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:345 +#: login.defs.5.xml.out:358 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ERASECHAR FAIL_DELAY " "<_:phrase-3/> FAKE_SHELL <_:phrase-4/> HUSHLOGIN_FILE <_:phrase-5/> KILLCHAR " @@ -5422,43 +5596,45 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: login.defs.5.xml.out:372 +#: login.defs.5.xml.out:385 #, fuzzy #| msgid "newgrp" msgid "newgrp / sg" msgstr "newgrp" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:374 +#: login.defs.5.xml.out:387 msgid "SYSLOG_SG_ENAB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:382 +#: login.defs.5.xml.out:395 #, fuzzy 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 <_:phrase-1/> " -"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-1/> ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP " +"MD5_CRYPT_ENAB HOME_MODE PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:" +"phrase-2/> 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-3/>" msgstr "" "GID_MAX GID_MIN PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UID_MAX UID_MIN " "UMASK" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:401 +#: login.defs.5.xml.out:417 msgid "" -"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " -"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-1/>" +"<_:phrase-1/> ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB " +"PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-2/> " +"<_:phrase-3/>" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:414 +#: login.defs.5.xml.out:433 msgid "TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:412 login.defs.5.xml.out:421 +#: login.defs.5.xml.out:431 login.defs.5.xml.out:440 #, fuzzy #| msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE" msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:phrase-1/>" @@ -5470,7 +5646,7 @@ msgstr "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:419 passwd.5.xml.out:188 pwconv.8.xml.out:39 +#: login.defs.5.xml.out:438 passwd.5.xml.out:188 pwconv.8.xml.out:39 #: pwconv.8.xml.out:46 pwconv.8.xml.out:55 pwconv.8.xml.out:83 #: pwconv.8.xml.out:88 pwconv.8.xml.out:90 pwconv.8.xml.out:134 #: pwconv.8.xml.out:144 pwconv.8.xml.out:165 pwconv.8.xml.out:216 @@ -5483,7 +5659,7 @@ msgstr "pwconv" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:428 passwd.5.xml.out:191 pwconv.8.xml.out:47 +#: login.defs.5.xml.out:447 passwd.5.xml.out:191 pwconv.8.xml.out:47 #: pwconv.8.xml.out:61 pwconv.8.xml.out:98 pwconv.8.xml.out:104 #: pwconv.8.xml.out:109 pwconv.8.xml.out:153 pwconv.8.xml.out:157 #: pwconv.8.xml.out:166 shadow.5.xml.out:280 @@ -5491,22 +5667,22 @@ msgid "pwunconv" msgstr "pwunconv" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:441 +#: login.defs.5.xml.out:460 msgid "ENV_HZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:443 +#: login.defs.5.xml.out:462 msgid "ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:446 +#: login.defs.5.xml.out:465 msgid "SU_WHEEL_ONLY" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:438 +#: login.defs.5.xml.out:457 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ENV_PATH ENV_SUPATH " "<_:phrase-3/> SULOG_FILE SU_NAME <_:phrase-4/> SYSLOG_SU_ENAB <_:phrase-5/>" @@ -5514,29 +5690,23 @@ msgstr "" #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:453 passwd.5.xml.out:200 shadow.5.xml.out:286 +#: login.defs.5.xml.out:472 passwd.5.xml.out:200 shadow.5.xml.out:286 #, fuzzy msgid "sulogin" msgstr "login" -#. (itstool) path: para/phrase -#. (itstool) path: para/option -#: login.defs.5.xml.out:457 su.1.xml.out:278 -msgid "ENV_TZ" -msgstr "" - #. (itstool) path: listitem/para -#: login.defs.5.xml.out:455 -msgid "ENV_HZ <_:phrase-1/>" +#: login.defs.5.xml.out:474 +msgid "ENV_HZ ENV_TZ" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:475 +#: login.defs.5.xml.out:494 msgid "TCB_AUTH_GROUP TCB_SYMLINK USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:464 +#: login.defs.5.xml.out:483 #, fuzzy msgid "" "CREATE_HOME GID_MAX GID_MIN HOME_MODE LASTLOG_UID_MAX MAIL_DIR " @@ -5549,19 +5719,19 @@ msgstr "" "UMASK" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:485 login.defs.5.xml.out:495 +#: login.defs.5.xml.out:504 login.defs.5.xml.out:514 msgid "TCB_SYMLINKS USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:482 +#: login.defs.5.xml.out:501 msgid "" "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <_:" "phrase-1/>" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:492 +#: login.defs.5.xml.out:511 msgid "LASTLOG_UID_MAX MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <_:phrase-1/>" msgstr "" @@ -5575,18 +5745,18 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:500 vipw.8.xml.out:35 vipw.8.xml.out:42 +#: login.defs.5.xml.out:519 vipw.8.xml.out:35 vipw.8.xml.out:42 #: vipw.8.xml.out:51 vipw.8.xml.out:67 vipw.8.xml.out:85 msgid "vipw" msgstr "vipw" #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:511 pwconv.8.xml.out:193 suauth.5.xml.out:179 +#: login.defs.5.xml.out:530 pwconv.8.xml.out:193 suauth.5.xml.out:179 msgid "BUGS" msgstr "FEL" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:512 +#: login.defs.5.xml.out:531 #, fuzzy #| msgid "" #| "<citerefentry><refentrytitle>group</refentrytitle><manvolnum>5</" @@ -5609,14 +5779,14 @@ msgstr "" "refentrytitle><manvolnum>8</manvolnum></citerefentry>." #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:545 +#: login.defs.5.xml.out:564 #, fuzzy #| msgid "group_name" msgid "pam" msgstr "gruppnamn" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:528 +#: login.defs.5.xml.out:547 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>." @@ -5710,12 +5880,12 @@ msgid "id" msgstr "" #. (itstool) path: refnamediv/refpurpose -#: newusers.8.xml.out:57 +#: newusers.8.xml.out:59 msgid "update and create new users in batch" msgstr "uppdatera och skapa nya användare satsvis" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:74 +#: newusers.8.xml.out:76 msgid "" "The <_:command-1/> command reads a <_:replaceable-2/> (or the standard input " "by default) and uses this information to update a set of existing users or " @@ -5724,24 +5894,24 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:82 +#: newusers.8.xml.out:84 msgid "pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell" msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:87 +#: newusers.8.xml.out:89 #, fuzzy #| msgid "group_name" msgid "pw_name" msgstr "gruppnamn" #. (itstool) path: listitem/para -#: newusers.8.xml.out:90 +#: newusers.8.xml.out:92 msgid "This is the name of the user." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:93 +#: newusers.8.xml.out:95 msgid "" "It can be the name of a new user or the name of an existing user (or a user " "created before by <_:command-1/>). In case of an existing user, the user's " @@ -5749,12 +5919,12 @@ msgid "" msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:104 +#: newusers.8.xml.out:106 msgid "pw_passwd" msgstr "pw_passwd" #. (itstool) path: listitem/para -#: newusers.8.xml.out:107 +#: newusers.8.xml.out:109 msgid "" "This field will be encrypted and used as the new value of the encrypted " "password." @@ -5763,31 +5933,31 @@ msgstr "" "krypterade lösenordet." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:115 +#: newusers.8.xml.out:117 #, fuzzy #| msgid "pw_gid" msgid "pw_uid" msgstr "pw_gid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:118 +#: newusers.8.xml.out:120 msgid "This field is used to define the UID of the user." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:121 +#: newusers.8.xml.out:123 msgid "" "If the field is empty, a new (unused) UID will be defined automatically by " "<_:command-1/>." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:125 +#: newusers.8.xml.out:127 msgid "If this field contains a number, this number will be used as the UID." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:129 +#: newusers.8.xml.out:131 msgid "" "If this field contains the name of an existing user (or the name of a user " "created before by <_:command-1/>), the UID of the specified user will be " @@ -5795,24 +5965,24 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:135 +#: newusers.8.xml.out:137 msgid "" "If the UID of an existing user is changed, the files ownership of the user's " "file should be fixed manually." msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:143 +#: newusers.8.xml.out:145 msgid "pw_gid" msgstr "pw_gid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:146 +#: newusers.8.xml.out:148 msgid "This field is used to define the primary group ID for the user." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:149 +#: newusers.8.xml.out:151 msgid "" "If this field contains the name of an existing group (or a group created " "before by <_:command-1/>), the GID of this group will be used as the primary " @@ -5820,7 +5990,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:155 +#: newusers.8.xml.out:157 msgid "" "If this field is a number, this number will be used as the primary group ID " "of the user. If no groups exist with this GID, a new group will be created " @@ -5828,7 +5998,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:161 +#: newusers.8.xml.out:163 msgid "" "If this field is empty, a new group will be created with the name of the " "user and a GID will be automatically defined by <_:command-1/> to be used as " @@ -5836,7 +6006,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:167 +#: newusers.8.xml.out:169 msgid "" "If this field contains the name of a group which does not exist (and was not " "created before by <_:command-1/>), a new group will be created with the " @@ -5845,32 +6015,32 @@ msgid "" msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:179 +#: newusers.8.xml.out:181 msgid "pw_gecos" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:182 +#: newusers.8.xml.out:184 msgid "This field is copied in the GECOS field of the user." msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:189 +#: newusers.8.xml.out:191 msgid "pw_dir" msgstr "pw_dir" #. (itstool) path: listitem/para -#: newusers.8.xml.out:192 +#: newusers.8.xml.out:194 msgid "This field is used to define the home directory of the user." msgstr "" #. (itstool) path: para/emphasis -#: newusers.8.xml.out:199 +#: newusers.8.xml.out:201 msgid "newusers does not create parent directories" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:195 +#: newusers.8.xml.out:197 msgid "" "If this field does not specify an existing directory, the specified " "directory is created, with ownership set to the user being created or " @@ -5883,7 +6053,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:208 +#: newusers.8.xml.out:210 msgid "" "If the home directory of an existing user is changed, <_:command-1/> does " "not move or copy the content of the old directory to the new location. This " @@ -5891,19 +6061,19 @@ msgid "" msgstr "" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:218 +#: newusers.8.xml.out:220 msgid "pw_shell" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:221 +#: newusers.8.xml.out:223 msgid "" "This field defines the shell of the user. No checks are performed on this " "field." msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:229 +#: newusers.8.xml.out:231 msgid "" "<_:command-1/> first tries to create or change all the specified users, and " "then write these changes to the user or group databases. If an error occurs " @@ -5912,7 +6082,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:235 +#: newusers.8.xml.out:237 msgid "" "During this first pass, users are created with a locked password (and " "passwords are not changed for the users which are not created). A second " @@ -5921,7 +6091,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:243 +#: newusers.8.xml.out:245 msgid "" "This command is intended to be used in a large system environment where many " "accounts are updated at a single time." @@ -5930,48 +6100,55 @@ msgstr "" "uppdateras på samma gång." #. (itstool) path: term/option -#: newusers.8.xml.out:257 pwck.8.xml.out:164 useradd.8.xml.out:108 +#: newusers.8.xml.out:259 pwck.8.xml.out:164 useradd.8.xml.out:108 #: usermod.8.xml.out:89 msgid "--badname" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:260 pwck.8.xml.out:167 useradd.8.xml.out:111 +#: newusers.8.xml.out:262 pwck.8.xml.out:167 useradd.8.xml.out:111 #: usermod.8.xml.out:92 msgid "Allow names that do not conform to standards." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:290 useradd.8.xml.out:459 +#: newusers.8.xml.out:273 +msgid "" +"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc " +"support these methods." +msgstr "" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:292 useradd.8.xml.out:461 msgid "Create a system account." msgstr "" #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MIN" msgstr "" #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MAX" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:319 -#: useradd.8.xml.out:468 useradd.8.xml.out:538 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:321 +#: useradd.8.xml.out:470 useradd.8.xml.out:540 usermod.8.xml.out:397 msgid "UID_MIN" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:321 -#: useradd.8.xml.out:468 useradd.8.xml.out:543 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:323 +#: useradd.8.xml.out:470 useradd.8.xml.out:545 usermod.8.xml.out:397 msgid "UID_MAX" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:293 useradd.8.xml.out:462 +#: newusers.8.xml.out:295 useradd.8.xml.out:464 msgid "" "System users will be created with no aging information in <_:filename-1/>, " "and their numeric identifiers are chosen in the <_:option-2/>-<_:option-3/> " @@ -5979,15 +6156,36 @@ msgid "" "(and their <_:option-7/> counterparts for the creation of groups)." msgstr "" +#. (itstool) path: listitem/para +#: newusers.8.xml.out:342 +msgid "" +"A minimal value of 4 and a maximal value of 31 will be enforced for BCRYPT. " +"The default is 13." +msgstr "" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:351 +msgid "" +"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced " +"for SHA256 and SHA512. The default is 5000." +msgstr "" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:359 +msgid "" +"A minimal value of 1 and a maximal value of 11 will be enforced for " +"YESCRYPT. The default is 5." +msgstr "" + #. (itstool) path: refsect1/para -#: newusers.8.xml.out:349 +#: newusers.8.xml.out:370 msgid "" "The input file must be protected since it contains unencrypted passwords." msgstr "" "Inmatningsfilen måste skyddas eftersom den innehåller okrypterade lösenord." #. (itstool) path: term/filename -#: newusers.8.xml.out:429 +#: newusers.8.xml.out:450 #, fuzzy #| msgid "/etc/passwd" msgid "/etc/pam.d/newusers" @@ -5995,51 +6193,51 @@ msgstr "/etc/passwd" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:435 useradd.8.xml.out:222 useradd.8.xml.out:481 -#: useradd.8.xml.out:785 userdel.8.xml.out:215 usermod.8.xml.out:587 +#: newusers.8.xml.out:456 useradd.8.xml.out:222 useradd.8.xml.out:483 +#: useradd.8.xml.out:805 userdel.8.xml.out:215 usermod.8.xml.out:604 #, fuzzy #| msgid "/etc/suauth" msgid "/etc/subgid" msgstr "/etc/suauth" #. (itstool) path: listitem/para -#: newusers.8.xml.out:437 useradd.8.xml.out:787 userdel.8.xml.out:217 +#: newusers.8.xml.out:458 useradd.8.xml.out:807 userdel.8.xml.out:217 msgid "Per user subordinate group IDs." msgstr "" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:441 useradd.8.xml.out:222 useradd.8.xml.out:480 -#: useradd.8.xml.out:791 userdel.8.xml.out:221 usermod.8.xml.out:593 +#: newusers.8.xml.out:462 useradd.8.xml.out:222 useradd.8.xml.out:482 +#: useradd.8.xml.out:811 userdel.8.xml.out:221 usermod.8.xml.out:610 #, fuzzy #| msgid "/etc/suauth" msgid "/etc/subuid" msgstr "/etc/suauth" #. (itstool) path: listitem/para -#: newusers.8.xml.out:443 useradd.8.xml.out:793 userdel.8.xml.out:223 +#: newusers.8.xml.out:464 useradd.8.xml.out:813 userdel.8.xml.out:223 msgid "Per user subordinate user IDs." msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:460 useradd.8.xml.out:906 userdel.8.xml.out:335 -#: usermod.8.xml.out:633 +#: newusers.8.xml.out:481 useradd.8.xml.out:926 userdel.8.xml.out:335 +#: usermod.8.xml.out:650 #, fuzzy #| msgid "/etc/suauth" msgid "subgid" msgstr "/etc/suauth" #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:463 useradd.8.xml.out:909 userdel.8.xml.out:338 -#: usermod.8.xml.out:636 +#: newusers.8.xml.out:484 useradd.8.xml.out:929 userdel.8.xml.out:338 +#: usermod.8.xml.out:653 #, fuzzy #| msgid "/etc/suauth" msgid "subuid" msgstr "/etc/suauth" #. (itstool) path: para/phrase -#: newusers.8.xml.out:458 useradd.8.xml.out:904 userdel.8.xml.out:333 -#: usermod.8.xml.out:631 +#: newusers.8.xml.out:479 useradd.8.xml.out:924 userdel.8.xml.out:333 +#: usermod.8.xml.out:648 msgid "<_:citerefentry-1/>, <_:citerefentry-2/>," msgstr "" @@ -6090,12 +6288,12 @@ msgid "The <_:command-1/> command appeared in BSD 4.4." msgstr "Kommandot <command>nologin</command> dök upp i BSD 4.4." #. (itstool) path: refnamediv/refpurpose -#: passwd.1.xml.out:48 +#: passwd.1.xml.out:50 msgid "change user password" msgstr "ändra användarlösenord" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:65 +#: passwd.1.xml.out:67 #, fuzzy msgid "" "The <_:command-1/> command changes passwords for user accounts. A normal " @@ -6111,12 +6309,12 @@ msgstr "" "lösenordet och intervall." #. (itstool) path: refsect2/title -#: passwd.1.xml.out:74 +#: passwd.1.xml.out:76 msgid "Password Changes" msgstr "Lösenordsändringar" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:75 +#: passwd.1.xml.out:77 #, fuzzy msgid "" "The user is first prompted for their old password, if one is present. This " @@ -6131,7 +6329,7 @@ msgstr "" "ändras." #. (itstool) path: refsect2/para -#: passwd.1.xml.out:83 +#: passwd.1.xml.out:85 #, fuzzy #| msgid "" #| "After the password has been entered, password aging information is " @@ -6149,7 +6347,7 @@ msgstr "" "och avslutas." #. (itstool) path: refsect2/para -#: passwd.1.xml.out:90 +#: passwd.1.xml.out:92 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 " @@ -6160,59 +6358,25 @@ msgstr "" "lösenordet ska ändras." #. (itstool) path: refsect2/para -#: passwd.1.xml.out:96 +#: passwd.1.xml.out:98 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:" +"Then, the password is tested for complexity. <_:command-1/> will reject any " +"password which is not suitably complex. Care must be taken not to include " +"the system default erase or kill characters." msgstr "" -"Sedan testas lösenordet för sin komplexitet. Som en allmän riktlinje bör " -"lösenord innehålla 6 till 8 tecken och inkluderas ett eller flera tecken " -"från var och en av följande punkter:" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:104 -msgid "lower case alphabetics" -msgstr "gemena bokstäver ur alfabetet" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:107 -msgid "digits 0 thru 9" -msgstr "siffrorna 0 till 9" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:110 -msgid "punctuation marks" -msgstr "skiljetecken" - -#. (itstool) path: refsect2/para -#: passwd.1.xml.out:114 -#, fuzzy -#| msgid "" -#| "Care must be taken not to include the system default erase or kill " -#| "characters. <command>passwd</command> will reject any password which is " -#| "not suitably complex." -msgid "" -"Care must be taken not to include the system default erase or kill " -"characters. <_:command-1/> will reject any password which is not suitably " -"complex." -msgstr "" -"Tänk på att inte inkludera systemets standardtecken för radering eller döda. " -"<command>passwd</command> kommer att neka alla lösenord som inte har lämplig " -"komplexitet." #. (itstool) path: refsect2/title -#: passwd.1.xml.out:123 +#: passwd.1.xml.out:108 msgid "Hints for user passwords" msgstr "Tips för användarlösenord" #. (itstool) path: para/emphasis -#: passwd.1.xml.out:127 +#: passwd.1.xml.out:112 msgid "UNIX" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:124 +#: passwd.1.xml.out:109 #, fuzzy #| msgid "" #| "The security of a password depends upon the strength of the encryption " @@ -6233,7 +6397,7 @@ msgstr "" "beroende på slumpmässigheten för det valda lösenordet." #. (itstool) path: refsect2/para -#: passwd.1.xml.out:133 +#: passwd.1.xml.out:118 msgid "" "Compromises in password security normally result from careless password " "selection or handling. For this reason, you should not select a password " @@ -6248,14 +6412,26 @@ msgstr "" "gatuadress. Dessa kan användas som gissningar för att ta sig in i systemet." #. (itstool) path: refsect2/para -#: passwd.1.xml.out:142 +#: passwd.1.xml.out:127 +msgid "" +"As a general guideline, passwords should be long and random. It's 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's apparent that the exponent " +"(the length) is more important than the base (the size of the character set)." +msgstr "" + +#. (itstool) path: refsect2/para +#: passwd.1.xml.out:138 msgid "" "You can find advice on how to choose a strong password on http://en." "wikipedia.org/wiki/Password_strength" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:160 +#: passwd.1.xml.out:156 #, fuzzy #| msgid "" #| "This option can be used only with <option>-S</option> and causes show " @@ -6268,7 +6444,7 @@ msgstr "" "visas för alla användare." #. (itstool) path: listitem/para -#: passwd.1.xml.out:171 +#: passwd.1.xml.out:167 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." @@ -6278,14 +6454,14 @@ msgstr "" "angivna kontots lösenord." #. (itstool) path: term/option -#: passwd.1.xml.out:180 +#: passwd.1.xml.out:176 #, fuzzy #| msgid "expiry" msgid "--expire" msgstr "expiry" #. (itstool) path: listitem/para -#: passwd.1.xml.out:183 +#: passwd.1.xml.out:179 msgid "" "Immediately expire an account's password. This in effect can force a user to " "change their password at the user's next login." @@ -6294,7 +6470,7 @@ msgstr "" "användare att ändra sitt lösenord vid nästa inloggningsförsök." #. (itstool) path: listitem/para -#: passwd.1.xml.out:200 +#: passwd.1.xml.out:196 #, fuzzy #| msgid "" #| "This option is used to disable an account after the password has been " @@ -6314,19 +6490,19 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: passwd.1.xml.out:210 useradd.8.xml.out:278 useradd.8.xml.out:356 +#: passwd.1.xml.out:206 useradd.8.xml.out:280 useradd.8.xml.out:358 #, fuzzy #| msgid "-" msgid "-k" msgstr "-" #. (itstool) path: term/option -#: passwd.1.xml.out:210 +#: passwd.1.xml.out:206 msgid "--keep-tokens" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:213 +#: passwd.1.xml.out:209 #, fuzzy msgid "" "Indicate password change should be performed only for expired authentication " @@ -6338,12 +6514,12 @@ msgstr "" "lösenord som tidigare." #. (itstool) path: term/option -#: passwd.1.xml.out:222 usermod.8.xml.out:231 +#: passwd.1.xml.out:218 usermod.8.xml.out:231 msgid "--lock" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:225 +#: passwd.1.xml.out:221 #, fuzzy msgid "" "Lock the password of the named account. This option disables a password by " @@ -6354,12 +6530,12 @@ msgstr "" "lösenordet till ett värde som inte matchar något möjligt krypterat värde." #. (itstool) path: para/command -#: passwd.1.xml.out:235 +#: passwd.1.xml.out:231 msgid "usermod --expiredate 1" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:231 +#: passwd.1.xml.out:227 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 " @@ -6368,51 +6544,51 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:238 +#: passwd.1.xml.out:234 msgid "Users with a locked password are not allowed to change their password." msgstr "" #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "-q" msgstr "-q" #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "--quiet" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:261 vipw.8.xml.out:110 +#: passwd.1.xml.out:257 vipw.8.xml.out:110 msgid "Quiet mode." msgstr "Tyst läge." #. (itstool) path: term/option -#: passwd.1.xml.out:268 +#: passwd.1.xml.out:264 msgid "--repository" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: passwd.1.xml.out:268 passwd.1.xml.out:272 +#: passwd.1.xml.out:264 passwd.1.xml.out:268 #, fuzzy #| msgid "HYSTORY" msgid "REPOSITORY" msgstr "HISTORIK" #. (itstool) path: listitem/para -#: passwd.1.xml.out:271 +#: passwd.1.xml.out:267 #, fuzzy msgid "change password in <_:replaceable-1/> repository" msgstr "ändra lösenord i förrådet <replaceable>FÖRRÅD</replaceable>" #. (itstool) path: term/option -#: passwd.1.xml.out:291 +#: passwd.1.xml.out:302 msgid "--status" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:294 +#: passwd.1.xml.out:305 #, fuzzy #| msgid "" #| "Display account status information. The status information consists of 7 " @@ -6440,12 +6616,12 @@ msgstr "" "dagar." #. (itstool) path: term/option -#: passwd.1.xml.out:309 usermod.8.xml.out:405 +#: passwd.1.xml.out:320 usermod.8.xml.out:405 msgid "--unlock" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:312 +#: passwd.1.xml.out:323 #, fuzzy msgid "" "Unlock the password of the named account. This option re-enables a password " @@ -6457,7 +6633,7 @@ msgstr "" "flaggan <option>-l</option>)." #. (itstool) path: listitem/para -#: passwd.1.xml.out:325 +#: passwd.1.xml.out:336 #, fuzzy #| msgid "" #| "Set the number of days of warning before a password change is required. " @@ -6474,14 +6650,14 @@ msgstr "" "varnas om att lösenordet är på väg att bli utgånget." #. (itstool) path: term/option -#: passwd.1.xml.out:335 +#: passwd.1.xml.out:346 #, fuzzy #| msgid "-" msgid "-x" msgstr "-" #. (itstool) path: listitem/para -#: passwd.1.xml.out:338 +#: passwd.1.xml.out:349 #, fuzzy #| msgid "" #| "Set the maximum number of days a password remains valid. After " @@ -6494,8 +6670,20 @@ msgstr "" "Sätter maximalt antal dagar som ett lösenord ska vara giltigt. Efter " "<replaceable>MAX_DAGAR</replaceable> krävs det att lösenordet ändras." +#. (itstool) path: term/option +#: passwd.1.xml.out:363 +msgid "--stdin" +msgstr "" + +#. (itstool) path: listitem/para +#: passwd.1.xml.out:366 +msgid "" +"This option is used to indicate that passwd should read the new password " +"from standard input, which can be a pipe." +msgstr "" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:355 +#: passwd.1.xml.out:377 #, fuzzy #| msgid "" #| "Not all options may be supported. Password complexity checking may vary " @@ -6514,54 +6702,68 @@ msgstr "" "inte är inloggade mot NIS-servern." #. (itstool) path: refsect1/para -#: passwd.1.xml.out:360 +#: passwd.1.xml.out:382 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 "" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:365 +#: passwd.1.xml.out:387 msgid "" "<_:command-1/> uses PAM to authenticate users and to change their passwords." msgstr "" #. (itstool) path: term/filename -#: passwd.1.xml.out:411 +#: passwd.1.xml.out:433 #, fuzzy #| msgid "/etc/passwd" msgid "/etc/pam.d/passwd" msgstr "/etc/passwd" #. (itstool) path: listitem/para -#: passwd.1.xml.out:439 +#: passwd.1.xml.out:461 msgid "invalid combination of options" msgstr "ogiltig kombination av flaggor" #. (itstool) path: listitem/para -#: passwd.1.xml.out:445 +#: passwd.1.xml.out:467 msgid "unexpected failure, nothing done" msgstr "oväntat fel, ingenting har genomförts" #. (itstool) path: listitem/para -#: passwd.1.xml.out:451 +#: passwd.1.xml.out:473 #, fuzzy #| msgid "unexpected failure, <filename>passwd</filename> file missing" msgid "unexpected failure, <_:filename-1/> file missing" msgstr "oväntat fel, filen <filename>passwd</filename> saknas" #. (itstool) path: listitem/para -#: passwd.1.xml.out:457 +#: passwd.1.xml.out:479 #, fuzzy #| msgid "<filename>passwd</filename> file busy, try again" msgid "<_:filename-1/> file busy, try again" msgstr "Filen <filename>passwd</filename> är upptagen, försök igen" +#. (itstool) path: citerefentry/refentrytitle +#: passwd.1.xml.out:499 +#, fuzzy +#| msgid "passwd" +msgid "makepasswd" +msgstr "passwd" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:472 +#: passwd.1.xml.out:494 msgid "" -"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:phrase-4/> " -"<_:citerefentry-5/>." +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>, <_:phrase-5/> <_:citerefentry-6/>." +msgstr "" + +#. (itstool) path: refsect1/para +#: passwd.1.xml.out:517 +msgid "" +"The following web page comically (yet correctly) compares the strength of " +"two different methods for choosing a password: \"https://xkcd.com/936/\"" msgstr "" #. (itstool) path: refnamediv/refpurpose @@ -8177,6 +8379,11 @@ msgstr "" 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" @@ -8556,7 +8763,7 @@ msgstr "" #. (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:583 useradd.8.xml.out:585 +#: useradd.8.xml.out:169 useradd.8.xml.out:603 useradd.8.xml.out:605 msgid "-D" msgstr "-D" @@ -8578,14 +8785,14 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:118 useradd.8.xml.out:592 +#: 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:592 useradd.8.xml.out:598 +#: useradd.8.xml.out:612 useradd.8.xml.out:618 #, fuzzy #| msgid "MAIL_DIR" msgid "BASE_DIR" @@ -8609,18 +8816,18 @@ msgid "" msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:131 useradd.8.xml.out:603 +#: 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:293 useradd.8.xml.out:343 -#: useradd.8.xml.out:393 useradd.8.xml.out:523 useradd.8.xml.out:604 -#: useradd.8.xml.out:616 useradd.8.xml.out:633 useradd.8.xml.out:649 -#: useradd.8.xml.out:663 useradd.8.xml.out:677 useradd.8.xml.out:767 -#: usermod.8.xml.out:419 +#: 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" @@ -8697,7 +8904,7 @@ msgid "" msgstr "Datumet när användarkontot blir inaktiverat." #. (itstool) path: para/option -#: useradd.8.xml.out:188 useradd.8.xml.out:615 usermod.8.xml.out:418 +#: useradd.8.xml.out:188 useradd.8.xml.out:635 usermod.8.xml.out:418 msgid "EXPIRE" msgstr "" @@ -8728,7 +8935,7 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: useradd.8.xml.out:218 useradd.8.xml.out:482 +#: useradd.8.xml.out:218 useradd.8.xml.out:484 #, fuzzy #| msgid "-" msgid "-F" @@ -8820,6 +9027,13 @@ msgid "" "emphasis-5/>]]]" msgstr "" +#. (itstool) path: para/option +#: useradd.8.xml.out:267 +#, fuzzy +#| msgid "GROUP" +msgid "GROUPS" +msgstr "GRUPP" + #. (itstool) path: listitem/para #: useradd.8.xml.out:260 msgid "" @@ -8827,23 +9041,25 @@ msgid "" "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." +"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 "" #. (itstool) path: term/option -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 msgid "--skel" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 #, fuzzy #| msgid "MAIL_DIR" msgid "SKEL_DIR" msgstr "MAIL_DIR" #. (itstool) path: listitem/para -#: useradd.8.xml.out:281 +#: useradd.8.xml.out:283 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 <_:" @@ -8852,12 +9068,12 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: useradd.8.xml.out:288 useradd.8.xml.out:350 +#: useradd.8.xml.out:290 useradd.8.xml.out:352 msgid "--create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:286 +#: useradd.8.xml.out:288 useradd.8.xml.out:592 usermod.8.xml.out:524 #, fuzzy #| msgid "<option>-m</option>, <option>--create-home</option>" msgid "" @@ -8866,43 +9082,43 @@ msgid "" msgstr "<option>-m</option>, <option>--create-home</option>" #. (itstool) path: para/option -#: useradd.8.xml.out:292 +#: useradd.8.xml.out:294 msgid "SKEL" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:294 +#: useradd.8.xml.out:296 #, fuzzy #| msgid "/etc/skel/" msgid "/etc/skel" msgstr "/etc/skel/" #. (itstool) path: listitem/para -#: useradd.8.xml.out:290 +#: useradd.8.xml.out:292 msgid "" "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 "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:296 +#: useradd.8.xml.out:298 msgid "If possible, the ACLs and extended attributes are copied." msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:309 +#: useradd.8.xml.out:311 msgid "UMASK" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:306 +#: useradd.8.xml.out:308 msgid "" "Overrides <_:filename-1/> defaults (<_:option-2/>, <_:option-3/>, <_:" "option-4/>, <_:option-5/> and others)." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:312 +#: useradd.8.xml.out:314 msgid "" "Example: <_:option-1/> <_:replaceable-2/>=<_:replaceable-3/> can be used " "when creating an account to turn off password aging. Multiple <_:option-4/> " @@ -8911,29 +9127,29 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:330 +#: useradd.8.xml.out:332 msgid "--no-log-init" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:332 +#: useradd.8.xml.out:334 msgid "Do not add the user to the lastlog and faillog databases." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:335 +#: useradd.8.xml.out:337 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 "" #. (itstool) path: para/option -#: useradd.8.xml.out:342 +#: useradd.8.xml.out:344 msgid "LOG_INIT" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:340 +#: useradd.8.xml.out:342 msgid "" "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 " @@ -8941,7 +9157,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:353 +#: useradd.8.xml.out:355 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 " @@ -8949,19 +9165,19 @@ msgid "" msgstr "" #. (itstool) path: para/option -#: useradd.8.xml.out:361 useradd.8.xml.out:379 useradd.8.xml.out:475 +#: useradd.8.xml.out:363 useradd.8.xml.out:381 useradd.8.xml.out:477 msgid "CREATE_HOME" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:359 +#: useradd.8.xml.out:361 msgid "" "By default, if this option is not specified and <_:option-1/> is not " "enabled, no home directories are created." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:364 +#: useradd.8.xml.out:366 msgid "" "The directory where the user's home directory is created must exist and have " "proper SELinux context and permissions. Otherwise the user's home directory " @@ -8969,24 +9185,24 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:373 +#: useradd.8.xml.out:375 msgid "--no-create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:376 +#: useradd.8.xml.out:378 msgid "" "Do not create the user's home directory, even if the system wide setting " "from <_:filename-1/> (<_:option-2/>) is set to <_:replaceable-3/>." msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:386 +#: useradd.8.xml.out:388 msgid "--no-user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:389 +#: useradd.8.xml.out:391 msgid "" "Do not create a group with the same name as the user, but add the user to " "the group specified by the <_:option-1/> option or by the <_:option-2/> " @@ -8994,12 +9210,12 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:408 +#: useradd.8.xml.out:410 msgid "allows the creation of an account with an already existing UID." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:412 usermod.8.xml.out:277 +#: useradd.8.xml.out:414 usermod.8.xml.out:277 msgid "" "This option is only valid in combination with the <_:option-1/> option. As a " "user identity serves as key to map between users on one hand and " @@ -9009,7 +9225,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:428 +#: useradd.8.xml.out:430 msgid "" "defines an initial password for the account. PASSWORD is expected to be " "encrypted, as returned by <_:citerefentry-1/>. Within a shell script, this " @@ -9017,7 +9233,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:435 +#: useradd.8.xml.out:437 msgid "" "Without this option, the new account will be locked and with no password " "defined, i.e. a single exclamation mark in the respective field of <_:" @@ -9026,14 +9242,14 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:443 +#: useradd.8.xml.out:445 msgid "" "<_:emphasis-1/>Avoid this option on the command line because the password " "(or encrypted password) will be visible by users listing the processes." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:471 +#: useradd.8.xml.out:473 msgid "" "Note that <_:command-1/> will not create a home directory for such a user, " "regardless of the default setting in <_:filename-2/> (<_:option-3/>). You " @@ -9042,7 +9258,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:479 +#: useradd.8.xml.out:481 msgid "" "Note that this option will not update <_:filename-1/> and <_:filename-2/>. " "You have to specify the <_:option-3/> options if you want to update the " @@ -9050,7 +9266,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:520 +#: useradd.8.xml.out:522 msgid "" "sets the path to the user's login shell. Without this option, the system " "will use the <_:option-1/> variable specified in <_:filename-2/>, or, if " @@ -9059,19 +9275,19 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 msgid "--uid" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 #, fuzzy #| msgid "GID" msgid "UID" msgstr "GID" #. (itstool) path: listitem/para -#: useradd.8.xml.out:534 +#: useradd.8.xml.out:536 msgid "" "The numerical value of the user's ID. This value must be unique, unless the " "<_:option-1/> option is used. The value must be non-negative. The default is " @@ -9080,54 +9296,76 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:549 +#: useradd.8.xml.out:551 msgid "--user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:552 +#: useradd.8.xml.out:554 msgid "" "Create a group with the same name as the user, and add the user to this " "group." msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:593 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:525 #, fuzzy #| msgid "-" msgid "-Z" msgstr "-" #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:594 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:526 msgid "--selinux-user" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:566 usermod.8.xml.out:501 +#: useradd.8.xml.out:568 usermod.8.xml.out:501 msgid "SEUSER" msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: useradd.8.xml.out:573 +#: useradd.8.xml.out:575 useradd.8.xml.out:589 usermod.8.xml.out:521 msgid "semanage" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:569 +#: useradd.8.xml.out:571 msgid "" -"defines the SELinux user for the new account. Without this option, a SELinux " +"defines the SELinux user for the new account. Without this option, SELinux " "uses the default user. Note that the shadow system doesn't store the selinux-" "user, it uses <_:citerefentry-1/> for that." msgstr "" +#. (itstool) path: term/option +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +msgid "--selinux-range" +msgstr "" + +#. (itstool) path: term/replaceable +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +msgid "SERANGE" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:585 +msgid "" +"defines the SELinux MLS range for the new account. Without this option, " +"SELinux uses the default range. Note that the shadow system doesn't store " +"the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + #. (itstool) path: refsect2/title -#: useradd.8.xml.out:581 +#: useradd.8.xml.out:601 msgid "Changing the default values" msgstr "Ändrar standardvärden" #. (itstool) path: refsect2/para -#: useradd.8.xml.out:582 +#: useradd.8.xml.out:602 msgid "" "When invoked with only the <_:option-1/> option, <_:command-2/> will display " "the current default values. When invoked with <_:option-3/> plus other " @@ -9136,7 +9374,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:595 +#: useradd.8.xml.out:615 msgid "" "sets the path prefix for a new user's home directory. The user's name will " "be affixed to the end of <_:replaceable-1/> to form the new user's home " @@ -9145,20 +9383,20 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:602 useradd.8.xml.out:614 useradd.8.xml.out:631 -#: useradd.8.xml.out:647 useradd.8.xml.out:661 +#: useradd.8.xml.out:622 useradd.8.xml.out:634 useradd.8.xml.out:651 +#: useradd.8.xml.out:667 useradd.8.xml.out:681 msgid "This option sets the <_:option-1/> variable in <_:filename-2/>." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:613 +#: useradd.8.xml.out:633 #, fuzzy #| msgid "The date on which the user account is disabled." msgid "sets the date on which newly created user accounts are disabled." msgstr "Datumet när användarkontot blir inaktiverat." #. (itstool) path: listitem/para -#: useradd.8.xml.out:625 +#: useradd.8.xml.out:645 msgid "" "defines the number of days after the password exceeded its maximum age where " "the user is expected to replace this password. See <_:citerefentry-1/>for " @@ -9166,7 +9404,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:642 +#: useradd.8.xml.out:662 msgid "" "sets the default primary group for newly created users, accepting group " "names or a numerical group ID. The named group must exist, and the GID must " @@ -9174,23 +9412,23 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:658 +#: useradd.8.xml.out:678 msgid "defines the default login shell for new users." msgstr "" #. (itstool) path: refsect1/title -#: useradd.8.xml.out:673 +#: useradd.8.xml.out:693 msgid "NOTES" msgstr "NOTERINGAR" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: useradd.8.xml.out:675 useradd.8.xml.out:779 +#: useradd.8.xml.out:695 useradd.8.xml.out:799 msgid "/etc/skel/" msgstr "/etc/skel/" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:674 +#: useradd.8.xml.out:694 #, fuzzy #| msgid "" #| "The system administrator is responsible for placing the default user " @@ -9204,7 +9442,7 @@ msgstr "" "katalogen <filename>/etc/skel/</filename>." #. (itstool) path: refsect1/para -#: useradd.8.xml.out:683 +#: useradd.8.xml.out:703 #, fuzzy msgid "" "You may not add a user to a NIS or LDAP group. This must be performed on the " @@ -9214,19 +9452,19 @@ msgstr "" "genomföras på NIS-servern." #. (itstool) path: refsect1/para -#: useradd.8.xml.out:688 +#: useradd.8.xml.out:708 msgid "" "Similarly, if the username already exists in an external user database such " "as NIS or LDAP, <_:command-1/> will deny the user account creation request." msgstr "" #. (itstool) path: para/command -#: useradd.8.xml.out:702 +#: useradd.8.xml.out:722 msgid "ls" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:694 +#: useradd.8.xml.out:714 msgid "" "Usernames may contain only lower and upper case letters, digits, " "underscores, or dashes. They can end with a dollar sign. Dashes are not " @@ -9237,60 +9475,60 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:704 +#: useradd.8.xml.out:724 msgid "Usernames may only be up to 32 characters long." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:769 +#: useradd.8.xml.out:789 msgid "Default values for account creation." msgstr "Standardvärden för skapande av konto." #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 #, fuzzy #| msgid "/etc/default/useradd" msgid "/etc/shadow-maint/useradd-pre.d/*" msgstr "/etc/default/useradd" #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 msgid "/etc/shadow-maint/useradd-post.d/*" msgstr "" #. (itstool) path: varlistentry/term -#: useradd.8.xml.out:773 userdel.8.xml.out:209 +#: useradd.8.xml.out:793 userdel.8.xml.out:209 msgid "<_:filename-1/>, <_:filename-2/>" msgstr "" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 #, fuzzy #| msgid "OPTIONS" msgid "ACTION" msgstr "FLAGGOR" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 msgid "SUBJECT" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #, fuzzy #| msgid "useradd" msgid "useradd-pre.d" msgstr "useradd" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #, fuzzy #| msgid "useradd" msgid "useradd-post.d" msgstr "useradd" #. (itstool) path: listitem/para -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "" "Run-part files to execute during user addition. The environment variable <_:" "command-1/> will be populated with useradd and <_:command-2/> with the <_:" @@ -9300,48 +9538,48 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:781 +#: useradd.8.xml.out:801 msgid "Directory containing default files." msgstr "Katalog som innehåller standardfiler." #. (itstool) path: listitem/para -#: useradd.8.xml.out:819 userdel.8.xml.out:243 +#: useradd.8.xml.out:839 userdel.8.xml.out:243 msgid "can't update password file" msgstr "kan inte uppdatera lösenordsfilen" #. (itstool) path: listitem/para -#: useradd.8.xml.out:837 +#: useradd.8.xml.out:857 #, fuzzy #| msgid "UID already in use (and no <option>-o</option>)" msgid "UID already in use (and no <_:option-1/>)" msgstr "UID används redan (och inget <option>-o</option>)" #. (itstool) path: listitem/para -#: useradd.8.xml.out:849 +#: useradd.8.xml.out:869 #, fuzzy #| msgid "group name already in use" msgid "username or group name already in use" msgstr "gruppnamnet används redan" #. (itstool) path: listitem/para -#: useradd.8.xml.out:861 +#: useradd.8.xml.out:881 msgid "can't create home directory" msgstr "kan inte skapa hemkatalog" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:865 +#: useradd.8.xml.out:885 #, fuzzy #| msgid "1" msgid "14" msgstr "1" #. (itstool) path: listitem/para -#: useradd.8.xml.out:867 +#: useradd.8.xml.out:887 msgid "can't update SELinux user mapping" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:876 usermod.8.xml.out:603 +#: useradd.8.xml.out:896 usermod.8.xml.out:620 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:" @@ -10008,9 +10246,16 @@ msgid "" "shadow system doesn't store the selinux-user, it uses semanage(8) for that." msgstr "" -#. (itstool) path: refsect1/para +#. (itstool) path: listitem/para #: usermod.8.xml.out:518 msgid "" +"defines the SELinux MLS range for the new account. Note that the shadow " +"system doesn't store the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + +#. (itstool) path: refsect1/para +#: usermod.8.xml.out:535 +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. <_:command-1/> " @@ -10019,67 +10264,67 @@ msgid "" msgstr "" #. (itstool) path: para/command -#: usermod.8.xml.out:527 +#: usermod.8.xml.out:544 msgid "crontab" msgstr "" #. (itstool) path: para/command -#: usermod.8.xml.out:528 +#: usermod.8.xml.out:545 msgid "at" msgstr "" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:526 +#: usermod.8.xml.out:543 msgid "" "You must change the owner of any <_:command-1/> files or <_:command-2/> jobs " "manually." msgstr "" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:530 +#: usermod.8.xml.out:547 msgid "You must make any changes involving NIS on the NIS server." msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:559 +#: usermod.8.xml.out:576 #, fuzzy #| msgid "Group account information." msgid "Group account information" msgstr "Gruppkontoinformation." #. (itstool) path: listitem/para -#: usermod.8.xml.out:565 +#: usermod.8.xml.out:582 #, fuzzy #| msgid "Secure group account information." -msgid "Secure group account informatio." +msgid "Secure group account information" msgstr "Säker gruppkontoinformation." #. (itstool) path: listitem/para -#: usermod.8.xml.out:571 +#: usermod.8.xml.out:588 msgid "Shadow password suite configuration" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:577 +#: usermod.8.xml.out:594 #, fuzzy #| msgid "User account information." msgid "User account information" msgstr "Användarkontoinformation." #. (itstool) path: listitem/para -#: usermod.8.xml.out:583 +#: usermod.8.xml.out:600 #, fuzzy #| msgid "Secure user account information." msgid "Secure user account information" msgstr "Säker användarkontoinformation." #. (itstool) path: listitem/para -#: usermod.8.xml.out:589 +#: usermod.8.xml.out:606 msgid "Per user subordinate group IDs" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:595 +#: usermod.8.xml.out:612 msgid "Per user subordinate user IDs" msgstr "" @@ -10123,7 +10368,7 @@ msgstr "vipw" #: vipw.8.xml.out:66 #, fuzzy msgid "" -"The <_:command-1/> and <_:command-2/> commands edits the files <_:filename-3/" +"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 " @@ -11318,6 +11563,33 @@ msgstr "" #~ "<citerefentry><refentrytitle>userdel</refentrytitle><manvolnum>8</" #~ "manvolnum></citerefentry>." +#~ 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 "" +#~ "Sedan testas lösenordet för sin komplexitet. Som en allmän riktlinje bör " +#~ "lösenord innehålla 6 till 8 tecken och inkluderas ett eller flera tecken " +#~ "från var och en av följande punkter:" + +#~ msgid "lower case alphabetics" +#~ msgstr "gemena bokstäver ur alfabetet" + +#~ msgid "digits 0 thru 9" +#~ msgstr "siffrorna 0 till 9" + +#~ msgid "punctuation marks" +#~ msgstr "skiljetecken" + +#~ msgid "" +#~ "Care must be taken not to include the system default erase or kill " +#~ "characters. <command>passwd</command> will reject any password which is " +#~ "not suitably complex." +#~ msgstr "" +#~ "Tänk på att inte inkludera systemets standardtecken för radering eller " +#~ "döda. <command>passwd</command> kommer att neka alla lösenord som inte " +#~ "har lämplig komplexitet." + #~ msgid "<option>-d</option>, <option>--delete</option>" #~ msgstr "<option>-d</option>, <option>--delete</option>" @@ -12835,9 +13107,6 @@ msgstr "" #~ "<citerefentry><refentrytitle>newgrp</refentrytitle><manvolnum>5</" #~ "manvolnum></citerefentry>." -#~ msgid "-K <placeholder-1/>=<placeholder-2/>" -#~ msgstr "-K <placeholder-1/>=<placeholder-2/>" - #, fuzzy #~ msgid "<option>-M</option> <replaceable>user</replaceable>,..." #~ msgstr "" diff --git a/man/po/uk.po b/man/po/uk.po index d0fe0d8b..08ab387e 100644 --- a/man/po/uk.po +++ b/man/po/uk.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-14 18:23-0500\n" "PO-Revision-Date: 2022-05-21 20:43+0300\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n" @@ -18,12 +18,12 @@ msgstr "" "X-Generator: Lokalize 20.12.0\n" #. (itstool) path: author/firstname -#: chage.1.xml.out:16 chfn.1.xml.out:18 chpasswd.8.xml.out:19 chsh.1.xml.out:18 +#: 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:84 logoutd.8.xml.out:15 -#: newgrp.1.xml.out:16 newusers.8.xml.out:31 passwd.1.xml.out:22 +#: 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 @@ -31,12 +31,12 @@ msgid "Julianne Frances" msgstr "Julianne Frances" #. (itstool) path: author/surname -#: chage.1.xml.out:17 chfn.1.xml.out:19 chpasswd.8.xml.out:20 chsh.1.xml.out:19 +#: 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:85 logoutd.8.xml.out:16 -#: newgrp.1.xml.out:17 newusers.8.xml.out:32 passwd.1.xml.out:23 +#: 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 @@ -49,14 +49,14 @@ msgid "Creation, 1990" msgstr "Створення, 1990" #. (itstool) path: author/firstname -#: chage.1.xml.out:21 chfn.1.xml.out:23 chgpasswd.8.xml.out:20 -#: chpasswd.8.xml.out:24 chsh.1.xml.out:23 expiry.1.xml.out:24 -#: faillog.5.xml.out:20 faillog.8.xml.out:20 gpasswd.1.xml.out:25 +#: 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:89 logoutd.8.xml.out:20 -#: newgrp.1.xml.out:21 newusers.8.xml.out:36 passwd.1.xml.out:27 +#: 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 @@ -65,14 +65,14 @@ msgid "Thomas" msgstr "Thomas" #. (itstool) path: author/surname -#: chage.1.xml.out:22 chfn.1.xml.out:24 chgpasswd.8.xml.out:21 -#: chpasswd.8.xml.out:25 chsh.1.xml.out:24 expiry.1.xml.out:25 -#: faillog.5.xml.out:21 faillog.8.xml.out:21 gpasswd.1.xml.out:26 +#: 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:90 logoutd.8.xml.out:21 -#: newgrp.1.xml.out:22 newusers.8.xml.out:37 passwd.1.xml.out:28 +#: 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 @@ -81,14 +81,14 @@ msgid "Kłoczko" msgstr "Kłoczko" #. (itstool) path: author/email -#: chage.1.xml.out:23 chfn.1.xml.out:25 chgpasswd.8.xml.out:22 -#: chpasswd.8.xml.out:26 chsh.1.xml.out:25 expiry.1.xml.out:26 -#: faillog.5.xml.out:22 faillog.8.xml.out:22 gpasswd.1.xml.out:27 +#: 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:91 logoutd.8.xml.out:22 -#: newgrp.1.xml.out:23 newusers.8.xml.out:38 passwd.1.xml.out:29 +#: 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 @@ -97,14 +97,14 @@ msgid "kloczek@pld.org.pl" msgstr "kloczek@pld.org.pl" #. (itstool) path: author/contrib -#: chage.1.xml.out:24 chfn.1.xml.out:26 chpasswd.8.xml.out:27 chsh.1.xml.out:26 +#: 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:28 groupadd.8.xml.out:26 groupdel.8.xml.out:24 +#: 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:92 -#: logoutd.8.xml.out:23 newgrp.1.xml.out:24 newusers.8.xml.out:39 -#: passwd.1.xml.out:30 passwd.5.xml.out:23 porttime.5.xml.out:23 +#: 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 @@ -113,15 +113,15 @@ msgid "shadow-utils maintainer, 2000 - 2007" msgstr "Супровідник shadow-utils, 2000 - 2007" #. (itstool) path: author/firstname -#: chage.1.xml.out:27 chfn.1.xml.out:29 chgpasswd.8.xml.out:26 -#: chpasswd.8.xml.out:30 chsh.1.xml.out:29 expiry.1.xml.out:30 -#: faillog.5.xml.out:26 faillog.8.xml.out:26 gpasswd.1.xml.out:31 +#: 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:95 -#: logoutd.8.xml.out:26 newgrp.1.xml.out:27 newusers.8.xml.out:42 -#: nologin.8.xml.out:15 passwd.1.xml.out:33 passwd.5.xml.out:26 +#: 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 @@ -130,15 +130,15 @@ msgid "Nicolas" msgstr "Nicolas" #. (itstool) path: author/surname -#: chage.1.xml.out:28 chfn.1.xml.out:30 chgpasswd.8.xml.out:27 -#: chpasswd.8.xml.out:31 chsh.1.xml.out:30 expiry.1.xml.out:31 -#: faillog.5.xml.out:27 faillog.8.xml.out:27 gpasswd.1.xml.out:32 +#: 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:96 -#: logoutd.8.xml.out:27 newgrp.1.xml.out:28 newusers.8.xml.out:43 -#: nologin.8.xml.out:16 passwd.1.xml.out:34 passwd.5.xml.out:27 +#: 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 @@ -147,15 +147,15 @@ msgid "François" msgstr "François" #. (itstool) path: author/email -#: chage.1.xml.out:29 chfn.1.xml.out:31 chgpasswd.8.xml.out:28 -#: chpasswd.8.xml.out:32 chsh.1.xml.out:31 expiry.1.xml.out:32 -#: faillog.5.xml.out:28 faillog.8.xml.out:28 gpasswd.1.xml.out:33 +#: 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:97 -#: logoutd.8.xml.out:28 newgrp.1.xml.out:29 newusers.8.xml.out:44 -#: nologin.8.xml.out:17 passwd.1.xml.out:35 passwd.5.xml.out:28 +#: 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 @@ -164,15 +164,15 @@ msgid "nicolas.francois@centraliens.net" msgstr "nicolas.francois@centraliens.net" #. (itstool) path: author/contrib -#: chage.1.xml.out:30 chfn.1.xml.out:32 chgpasswd.8.xml.out:29 -#: chpasswd.8.xml.out:33 chsh.1.xml.out:32 expiry.1.xml.out:33 -#: faillog.5.xml.out:29 faillog.8.xml.out:29 gpasswd.1.xml.out:34 +#: 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:98 -#: logoutd.8.xml.out:29 newgrp.1.xml.out:30 newusers.8.xml.out:45 -#: nologin.8.xml.out:18 passwd.1.xml.out:36 passwd.5.xml.out:29 +#: 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 @@ -187,9 +187,9 @@ msgstr "Супровідник shadow-utils, 2007 - до сьогодні" #. (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:216 chage.1.xml.out:226 -#: chage.1.xml.out:236 chage.1.xml.out:241 chage.1.xml.out:285 -#: login.defs.5.xml.out:233 shadow.5.xml.out:262 +#: 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" @@ -197,11 +197,11 @@ msgstr "chage" #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum #. (itstool) path: para/replaceable -#: chage.1.xml.out:35 chage.1.xml.out:294 chfn.1.xml.out:37 chfn.1.xml.out:65 -#: chfn.1.xml.out:205 chgpasswd.8.xml.out:217 chpasswd.8.xml.out:265 -#: chsh.1.xml.out:37 chsh.1.xml.out:171 expiry.1.xml.out:38 -#: faillog.8.xml.out:235 gpasswd.1.xml.out:39 gpasswd.1.xml.out:93 -#: gpasswd.1.xml.out:277 groupadd.8.xml.out:345 groupadd.8.xml.out:348 +#: 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 @@ -209,44 +209,44 @@ msgstr "chage" #: 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:516 -#: login.defs.5.xml.out:518 login.defs.5.xml.out:520 login.defs.5.xml.out:530 -#: login.defs.5.xml.out:533 login.defs.5.xml.out:536 newgrp.1.xml.out:35 +#: 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:456 -#: nologin.8.xml.out:60 passwd.1.xml.out:41 passwd.1.xml.out:431 -#: 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:817 -#: useradd.8.xml.out:878 useradd.8.xml.out:881 useradd.8.xml.out:884 -#: 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:605 usermod.8.xml.out:608 usermod.8.xml.out:611 -#: vipw.8.xml.out:78 vipw.8.xml.out:205 +#: 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" #. (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:40 groups.1.xml.out:35 login.1.xml.out:68 -#: newgrp.1.xml.out:36 passwd.1.xml.out:42 sg.1.xml.out:36 su.1.xml.out:52 +#: 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 "Команди користувача" #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:37 chfn.1.xml.out:39 chgpasswd.8.xml.out:36 -#: chpasswd.8.xml.out:40 chsh.1.xml.out:39 expiry.1.xml.out:40 -#: faillog.5.xml.out:36 faillog.8.xml.out:36 gpasswd.1.xml.out:41 +#: 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:105 -#: logoutd.8.xml.out:36 newgrp.1.xml.out:37 newusers.8.xml.out:52 -#: nologin.8.xml.out:25 passwd.1.xml.out:43 passwd.5.xml.out:36 +#: 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 @@ -255,20 +255,20 @@ msgid "shadow-utils" msgstr "shadow-utils" #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:38 chfn.1.xml.out:40 chgpasswd.8.xml.out:37 -#: chpasswd.8.xml.out:41 chsh.1.xml.out:40 expiry.1.xml.out:41 -#: faillog.5.xml.out:37 faillog.8.xml.out:37 gpasswd.1.xml.out:42 +#: 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:106 -#: logoutd.8.xml.out:37 newgrp.1.xml.out:38 newusers.8.xml.out:53 -#: nologin.8.xml.out:26 passwd.1.xml.out:44 passwd.5.xml.out:37 +#: 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.13" +msgid "4.15.0" msgstr "" #. (itstool) path: refnamediv/refpurpose @@ -278,10 +278,10 @@ msgstr "зміна даних щодо завершення строку дії #. (itstool) path: arg/replaceable #. (itstool) path: cmdsynopsis/arg -#: chage.1.xml.out:48 chfn.1.xml.out:51 chgpasswd.8.xml.out:48 -#: chpasswd.8.xml.out:52 chsh.1.xml.out:51 faillog.8.xml.out:48 +#: 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:64 passwd.1.xml.out:55 +#: 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 @@ -294,22 +294,22 @@ msgstr "параметри" #. (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:58 useradd.8.xml.out:68 +#: 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 "ЗАПИС" #. (itstool) path: refsect1/title -#: chage.1.xml.out:57 chfn.1.xml.out:60 chgpasswd.8.xml.out:54 -#: chpasswd.8.xml.out:58 chsh.1.xml.out:60 expiry.1.xml.out:58 -#: faillog.5.xml.out:45 faillog.8.xml.out:54 gpasswd.1.xml.out:70 +#: 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:114 -#: logoutd.8.xml.out:51 newgrp.1.xml.out:53 newusers.8.xml.out:73 -#: nologin.8.xml.out:40 passwd.1.xml.out:64 passwd.5.xml.out:45 +#: 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 @@ -330,12 +330,12 @@ msgstr "" #. (itstool) path: refsect1/title #. (itstool) path: arg/replaceable -#: chage.1.xml.out:67 chfn.1.xml.out:87 chgpasswd.8.xml.out:81 -#: chpasswd.8.xml.out:106 chsh.1.xml.out:71 expiry.1.xml.out:67 -#: faillog.8.xml.out:65 gpasswd.1.xml.out:110 groupadd.8.xml.out:51 +#: 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:250 passwd.1.xml.out:150 +#: 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 @@ -343,21 +343,21 @@ msgid "OPTIONS" msgstr "ПАРАМЕТРИ" #. (itstool) path: refsect1/para -#: chage.1.xml.out:68 chfn.1.xml.out:88 chgpasswd.8.xml.out:82 -#: chpasswd.8.xml.out:107 chsh.1.xml.out:72 expiry.1.xml.out:68 -#: faillog.8.xml.out:66 gpasswd.1.xml.out:118 groupadd.8.xml.out:81 +#: 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:251 -#: passwd.1.xml.out:151 pwck.8.xml.out:158 su.1.xml.out:121 +#: 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 msgid "The options which apply to the <_:command-1/> command are:" msgstr "Параметри, які застосовують до команди <_:command-1/>, є такими:" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:74 gpasswd.1.xml.out:137 groupmems.8.xml.out:94 -#: passwd.1.xml.out:168 useradd.8.xml.out:123 useradd.8.xml.out:151 -#: useradd.8.xml.out:599 usermod.8.xml.out:112 usermod.8.xml.out:260 +#: 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 msgid "-d" msgstr "-d" @@ -375,44 +375,44 @@ msgstr "ОСТАННІЙ_ДЕНЬ" #. (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 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:122 chpasswd.8.xml.out:113 chpasswd.8.xml.out:164 -#: chpasswd.8.xml.out:177 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:123 gpasswd.1.xml.out:136 -#: gpasswd.1.xml.out:157 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:305 passwd.1.xml.out:196 passwd.1.xml.out:245 -#: passwd.1.xml.out:267 passwd.1.xml.out:277 passwd.1.xml.out:321 -#: passwd.1.xml.out:334 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:277 -#: useradd.8.xml.out:424 useradd.8.xml.out:488 useradd.8.xml.out:501 -#: useradd.8.xml.out:516 useradd.8.xml.out:530 useradd.8.xml.out:565 -#: useradd.8.xml.out:591 useradd.8.xml.out:609 useradd.8.xml.out:621 -#: useradd.8.xml.out:638 useradd.8.xml.out:654 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 +#: 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 "<_:option-1/>, <_:option-2/> <_:replaceable-3/>" #. (itstool) path: para/emphasis #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:82 chage.1.xml.out:288 groupadd.8.xml.out:303 +#: 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:138 passwd.1.xml.out:425 pwck.8.xml.out:287 -#: su.1.xml.out:385 useradd.8.xml.out:811 userdel.8.xml.out:235 +#: 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" @@ -436,7 +436,7 @@ msgid "-E" msgstr "-E" #. (itstool) path: term/option -#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:610 +#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:630 #: usermod.8.xml.out:129 msgid "--expiredate" msgstr "--expiredate" @@ -444,7 +444,7 @@ msgstr "--expiredate" #. (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:610 usermod.8.xml.out:129 usermod.8.xml.out:243 +#: useradd.8.xml.out:630 usermod.8.xml.out:129 usermod.8.xml.out:243 #: usermod.8.xml.out:416 msgid "EXPIRE_DATE" msgstr "ДАТА_ЗАВЕРШЕННЯ_СТРОКУ_ДІЇ" @@ -481,7 +481,7 @@ msgstr "chage -E $(date -d +180days +%Y-%m-%d)" #. (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:344 useradd.8.xml.out:315 +#: passwd.1.xml.out:355 useradd.8.xml.out:317 msgid "-1" msgstr "-1" @@ -496,76 +496,76 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:115 chfn.1.xml.out:102 chgpasswd.8.xml.out:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 passwd.1.xml.out:190 -#: pwck.8.xml.out:173 pwconv.8.xml.out:171 useradd.8.xml.out:271 +#: 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:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 -#: passwd.1.xml.out:190 pwck.8.xml.out:173 pwconv.8.xml.out:171 -#: su.1.xml.out:387 useradd.8.xml.out:271 userdel.8.xml.out:99 +#: 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 "--help" #. (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:88 chgpasswd.8.xml.out:101 -#: chgpasswd.8.xml.out:107 chgpasswd.8.xml.out:113 chgpasswd.8.xml.out:135 -#: chpasswd.8.xml.out:139 chpasswd.8.xml.out:147 chpasswd.8.xml.out:155 +#: 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:149 gpasswd.1.xml.out:172 -#: gpasswd.1.xml.out:188 groupadd.8.xml.out:87 groupadd.8.xml.out:118 +#: 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:268 newusers.8.xml.out:280 newusers.8.xml.out:286 -#: newusers.8.xml.out:320 passwd.1.xml.out:156 passwd.1.xml.out:167 -#: passwd.1.xml.out:179 passwd.1.xml.out:190 passwd.1.xml.out:209 -#: passwd.1.xml.out:221 passwd.1.xml.out:257 passwd.1.xml.out:290 -#: passwd.1.xml.out:308 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:271 -#: useradd.8.xml.out:330 useradd.8.xml.out:349 useradd.8.xml.out:372 -#: useradd.8.xml.out:385 useradd.8.xml.out:404 useradd.8.xml.out:455 -#: useradd.8.xml.out:548 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 +#: 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 msgid "<_:option-1/>, <_:option-2/>" msgstr "<_:option-1/>, <_:option-2/>" #. (itstool) path: listitem/para -#: chage.1.xml.out:117 chfn.1.xml.out:146 chgpasswd.8.xml.out:109 -#: chpasswd.8.xml.out:149 chsh.1.xml.out:79 expiry.1.xml.out:90 -#: faillog.8.xml.out:100 gpasswd.1.xml.out:151 groupadd.8.xml.out:120 +#: 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:282 -#: passwd.1.xml.out:192 pwck.8.xml.out:175 pwconv.8.xml.out:173 -#: useradd.8.xml.out:273 userdel.8.xml.out:101 vipw.8.xml.out:98 +#: 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 "Показати довідкове повідомлення і завершити роботу." #. (itstool) path: term/option -#: chage.1.xml.out:121 passwd.1.xml.out:197 +#: chage.1.xml.out:121 passwd.1.xml.out:193 msgid "-i" msgstr "-i" @@ -585,8 +585,8 @@ msgid "-I" msgstr "-I" #. (itstool) path: term/option -#: chage.1.xml.out:128 passwd.1.xml.out:197 useradd.8.xml.out:196 -#: useradd.8.xml.out:622 usermod.8.xml.out:152 +#: 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 "--inactive" @@ -594,8 +594,8 @@ msgstr "--inactive" #. (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:197 passwd.1.xml.out:203 useradd.8.xml.out:196 -#: useradd.8.xml.out:211 useradd.8.xml.out:622 useradd.8.xml.out:632 +#: 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 "НЕАКТИВНИЙ" @@ -626,10 +626,10 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option #. (itstool) path: group/arg -#: chage.1.xml.out:147 chage.1.xml.out:242 faillog.8.xml.out:88 +#: 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:222 -#: passwd.1.xml.out:316 su.1.xml.out:144 su.1.xml.out:156 useradd.8.xml.out:330 +#: 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" @@ -646,29 +646,29 @@ msgstr "Показати відомості щодо застарівання о #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:157 chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:113 -#: chpasswd.8.xml.out:78 chpasswd.8.xml.out:84 chpasswd.8.xml.out:130 -#: chpasswd.8.xml.out:155 faillog.8.xml.out:88 faillog.8.xml.out:120 +#: 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:287 useradd.8.xml.out:350 useradd.8.xml.out:476 +#: 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 msgid "-m" msgstr "-m" #. (itstool) path: term/option -#: chage.1.xml.out:157 passwd.1.xml.out:246 +#: chage.1.xml.out:157 passwd.1.xml.out:242 msgid "--mindays" msgstr "--mindays" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:157 chage.1.xml.out:162 passwd.1.xml.out:246 -#: passwd.1.xml.out:251 +#: 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:249 +#: chage.1.xml.out:160 passwd.1.xml.out:245 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 " @@ -680,26 +680,26 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:169 gpasswd.1.xml.out:81 gpasswd.1.xml.out:112 -#: gpasswd.1.xml.out:217 useradd.8.xml.out:162 useradd.8.xml.out:373 +#: 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 msgid "-M" msgstr "-M" #. (itstool) path: term/option -#: chage.1.xml.out:169 passwd.1.xml.out:335 +#: chage.1.xml.out:169 passwd.1.xml.out:346 msgid "--maxdays" msgstr "--maxdays" #. (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:335 passwd.1.xml.out:340 passwd.1.xml.out:345 +#: 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:203 usermod.8.xml.out:481 +#: chage.1.xml.out:178 chage.1.xml.out:218 usermod.8.xml.out:481 msgid "-W" msgstr "-W" @@ -720,7 +720,7 @@ msgstr "" "система заздалегідь попереджуватиме користувача про потребу змінити пароль." #. (itstool) path: listitem/para -#: chage.1.xml.out:181 passwd.1.xml.out:343 +#: chage.1.xml.out:181 passwd.1.xml.out:354 msgid "" "Passing the number <_:emphasis-1/> as <_:replaceable-2/> will remove " "checking a password's validity." @@ -729,23 +729,23 @@ msgstr "" "вилучення перевірки чинності паролів." #. (itstool) path: term/option -#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 chsh.1.xml.out:84 faillog.8.xml.out:157 -#: gpasswd.1.xml.out:189 groupadd.8.xml.out:201 groupdel.8.xml.out:89 +#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 chsh.1.xml.out:84 faillog.8.xml.out:157 +#: gpasswd.1.xml.out:191 groupadd.8.xml.out:201 groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 groupmod.8.xml.out:164 grpck.8.xml.out:149 -#: lastlog.8.xml.out:104 newusers.8.xml.out:306 passwd.1.xml.out:278 -#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:489 +#: lastlog.8.xml.out:104 newusers.8.xml.out:308 passwd.1.xml.out:274 +#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:491 #: userdel.8.xml.out:123 usermod.8.xml.out:328 vipw.8.xml.out:115 msgid "-R" msgstr "-R" #. (itstool) path: term/option -#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 chsh.1.xml.out:84 faillog.8.xml.out:157 -#: gpasswd.1.xml.out:158 groupadd.8.xml.out:201 groupdel.8.xml.out:89 +#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 chsh.1.xml.out:84 faillog.8.xml.out:157 +#: gpasswd.1.xml.out:160 groupadd.8.xml.out:201 groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 groupmod.8.xml.out:164 grpck.8.xml.out:149 -#: lastlog.8.xml.out:104 newusers.8.xml.out:306 passwd.1.xml.out:278 -#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:489 +#: lastlog.8.xml.out:104 newusers.8.xml.out:308 passwd.1.xml.out:274 +#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:491 #: userdel.8.xml.out:123 usermod.8.xml.out:328 vipw.8.xml.out:115 msgid "--root" msgstr "--root" @@ -754,22 +754,22 @@ msgstr "--root" #. (itstool) path: para/replaceable #: chage.1.xml.out:190 chage.1.xml.out:194 chage.1.xml.out:196 #: chfn.1.xml.out:130 chfn.1.xml.out:134 chfn.1.xml.out:136 -#: chgpasswd.8.xml.out:123 chgpasswd.8.xml.out:127 chgpasswd.8.xml.out:129 -#: chpasswd.8.xml.out:165 chpasswd.8.xml.out:169 chpasswd.8.xml.out:171 +#: chgpasswd.8.xml.out:129 chgpasswd.8.xml.out:133 chgpasswd.8.xml.out:135 +#: chpasswd.8.xml.out:171 chpasswd.8.xml.out:175 chpasswd.8.xml.out:177 #: chsh.1.xml.out:84 chsh.1.xml.out:88 chsh.1.xml.out:90 faillog.8.xml.out:157 -#: faillog.8.xml.out:161 faillog.8.xml.out:163 gpasswd.1.xml.out:158 -#: gpasswd.1.xml.out:162 gpasswd.1.xml.out:164 groupadd.8.xml.out:201 +#: faillog.8.xml.out:161 faillog.8.xml.out:163 gpasswd.1.xml.out:160 +#: gpasswd.1.xml.out:164 gpasswd.1.xml.out:166 groupadd.8.xml.out:201 #: groupadd.8.xml.out:205 groupadd.8.xml.out:207 groupdel.8.xml.out:89 #: groupdel.8.xml.out:93 groupdel.8.xml.out:95 groupmems.8.xml.out:142 #: groupmems.8.xml.out:146 groupmems.8.xml.out:148 groupmod.8.xml.out:164 #: groupmod.8.xml.out:168 groupmod.8.xml.out:170 grpck.8.xml.out:149 #: grpck.8.xml.out:153 grpck.8.xml.out:155 lastlog.8.xml.out:104 -#: lastlog.8.xml.out:108 lastlog.8.xml.out:110 newusers.8.xml.out:306 -#: newusers.8.xml.out:310 newusers.8.xml.out:312 passwd.1.xml.out:278 -#: passwd.1.xml.out:282 passwd.1.xml.out:284 pwck.8.xml.out:197 +#: lastlog.8.xml.out:108 lastlog.8.xml.out:110 newusers.8.xml.out:308 +#: newusers.8.xml.out:312 newusers.8.xml.out:314 passwd.1.xml.out:274 +#: passwd.1.xml.out:278 passwd.1.xml.out:280 pwck.8.xml.out:197 #: pwck.8.xml.out:201 pwck.8.xml.out:203 pwconv.8.xml.out:178 -#: pwconv.8.xml.out:182 pwconv.8.xml.out:184 useradd.8.xml.out:489 -#: useradd.8.xml.out:493 useradd.8.xml.out:495 userdel.8.xml.out:123 +#: pwconv.8.xml.out:182 pwconv.8.xml.out:184 useradd.8.xml.out:491 +#: useradd.8.xml.out:495 useradd.8.xml.out:497 userdel.8.xml.out:123 #: userdel.8.xml.out:127 userdel.8.xml.out:129 usermod.8.xml.out:328 #: usermod.8.xml.out:332 usermod.8.xml.out:334 vipw.8.xml.out:115 #: vipw.8.xml.out:119 vipw.8.xml.out:121 @@ -777,12 +777,12 @@ msgid "CHROOT_DIR" msgstr "КАТАЛОГ_CHROOT" #. (itstool) path: listitem/para -#: chage.1.xml.out:193 chfn.1.xml.out:133 chgpasswd.8.xml.out:126 -#: chpasswd.8.xml.out:168 chsh.1.xml.out:87 faillog.8.xml.out:160 -#: gpasswd.1.xml.out:161 groupadd.8.xml.out:204 groupdel.8.xml.out:92 +#: chage.1.xml.out:193 chfn.1.xml.out:133 chgpasswd.8.xml.out:132 +#: chpasswd.8.xml.out:174 chsh.1.xml.out:87 faillog.8.xml.out:160 +#: gpasswd.1.xml.out:163 groupadd.8.xml.out:204 groupdel.8.xml.out:92 #: groupmems.8.xml.out:145 groupmod.8.xml.out:167 grpck.8.xml.out:152 -#: lastlog.8.xml.out:107 newusers.8.xml.out:309 passwd.1.xml.out:281 -#: pwck.8.xml.out:200 pwconv.8.xml.out:181 useradd.8.xml.out:492 +#: lastlog.8.xml.out:107 newusers.8.xml.out:311 passwd.1.xml.out:277 +#: pwck.8.xml.out:200 pwconv.8.xml.out:181 useradd.8.xml.out:494 #: userdel.8.xml.out:126 usermod.8.xml.out:331 vipw.8.xml.out:118 #, fuzzy #| msgid "" @@ -797,19 +797,62 @@ msgstr "" "налаштувань з каталогу <_:replaceable-2/>." #. (itstool) path: term/option -#: chage.1.xml.out:203 passwd.1.xml.out:322 +#: chage.1.xml.out:203 chpasswd.8.xml.out:184 groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 groupmod.8.xml.out:177 passwd.1.xml.out:287 +#: useradd.8.xml.out:504 userdel.8.xml.out:136 usermod.8.xml.out:341 +msgid "-P" +msgstr "-P" + +#. (itstool) path: term/option +#: chage.1.xml.out:203 chpasswd.8.xml.out:184 groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 groupmod.8.xml.out:177 passwd.1.xml.out:287 +#: useradd.8.xml.out:504 userdel.8.xml.out:136 usermod.8.xml.out:341 +msgid "--prefix" +msgstr "--prefix" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: chage.1.xml.out:203 chage.1.xml.out:208 chpasswd.8.xml.out:184 +#: chpasswd.8.xml.out:189 groupadd.8.xml.out:214 groupadd.8.xml.out:219 +#: groupdel.8.xml.out:102 groupdel.8.xml.out:106 groupdel.8.xml.out:108 +#: groupmod.8.xml.out:177 groupmod.8.xml.out:181 groupmod.8.xml.out:183 +#: passwd.1.xml.out:287 passwd.1.xml.out:292 useradd.8.xml.out:504 +#: useradd.8.xml.out:509 userdel.8.xml.out:136 userdel.8.xml.out:140 +#: userdel.8.xml.out:142 usermod.8.xml.out:341 usermod.8.xml.out:346 +msgid "PREFIX_DIR" +msgstr "КАТАЛОГ_ПРЕФІКСА" + +#. (itstool) path: listitem/para +#: chage.1.xml.out:206 chpasswd.8.xml.out:187 groupadd.8.xml.out:217 +#: passwd.1.xml.out:290 useradd.8.xml.out:507 +msgid "" +"Apply changes to configuration files under the root filesystem found under " +"the directory <_:replaceable-1/>. 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 "" +"Застосувати зміни до файлів налаштувань у кореневій файловій системі з " +"каталогу <_:replaceable-1/>. Використання цього параметра не змінює " +"кореневої теки. Параметр призначено лише для приготування цілі для " +"компіляції коду для іншої операційної системи. Обмеження: не буде виконано " +"перевірку користувачів/груп NIS і LDAP. При розпізнаванні у PAM буде " +"використано файли основної системи. Підтримки SELINUX не передбачено." + +#. (itstool) path: term/option +#: chage.1.xml.out:218 passwd.1.xml.out:333 msgid "--warndays" msgstr "--warndays" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:203 chage.1.xml.out:208 passwd.1.xml.out:322 -#: passwd.1.xml.out:327 +#: chage.1.xml.out:218 chage.1.xml.out:223 passwd.1.xml.out:333 +#: passwd.1.xml.out:338 msgid "WARN_DAYS" msgstr "ДНІ" #. (itstool) path: listitem/para -#: chage.1.xml.out:206 +#: chage.1.xml.out:221 msgid "" "Set the number of days of warning before a password change is required. The " "<_:replaceable-1/> option is the number of days prior to the password " @@ -821,12 +864,12 @@ msgstr "" "користувача про те, що пароль невдовзі доведеться змінити." #. (itstool) path: para/emphasis -#: chage.1.xml.out:220 chfn.1.xml.out:163 chsh.1.xml.out:112 +#: chage.1.xml.out:235 chfn.1.xml.out:163 chsh.1.xml.out:112 msgid "[ ]" msgstr "[ ]" #. (itstool) path: refsect1/para -#: chage.1.xml.out:215 +#: chage.1.xml.out:230 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 " @@ -841,13 +884,13 @@ msgstr "" "(<_:emphasis-2/>)." #. (itstool) path: refsect1/title -#: chage.1.xml.out:224 chsh.1.xml.out:117 groups.1.xml.out:65 +#: chage.1.xml.out:239 chsh.1.xml.out:117 groups.1.xml.out:65 #: lastlog.8.xml.out:170 msgid "NOTE" msgstr "ЗАУВАЖЕННЯ" #. (itstool) path: refsect1/para -#: chage.1.xml.out:225 +#: chage.1.xml.out:240 msgid "" "The <_:command-1/> program requires a shadow password file to be available." msgstr "" @@ -855,7 +898,7 @@ msgstr "" "паролів." #. (itstool) path: refsect1/para -#: chage.1.xml.out:229 +#: chage.1.xml.out:244 msgid "" "The chage program will report only the information from the shadow password " "file. This implies that configuration from other sources (e.g. LDAP or empty " @@ -873,7 +916,7 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: chage.1.xml.out:238 grpck.8.xml.out:294 login.defs.5.xml.out:410 +#: chage.1.xml.out:253 grpck.8.xml.out:294 login.defs.5.xml.out:429 #: passwd.5.xml.out:185 pwck.8.xml.out:40 pwck.8.xml.out:47 pwck.8.xml.out:53 #: pwck.8.xml.out:71 pwck.8.xml.out:147 pwck.8.xml.out:159 pwck.8.xml.out:191 #: pwck.8.xml.out:223 pwck.8.xml.out:284 pwconv.8.xml.out:197 @@ -882,7 +925,7 @@ msgid "pwck" msgstr "pwck" #. (itstool) path: refsect1/para -#: chage.1.xml.out:235 +#: chage.1.xml.out:250 msgid "" "The <_:command-1/> program will also not report any inconsistency between " "the shadow and passwd files (e.g. missing x in the passwd file). The <_:" @@ -894,7 +937,7 @@ msgstr "" "command-2/>." #. (itstool) path: refsect1/para -#: chage.1.xml.out:241 +#: chage.1.xml.out:256 msgid "" "The <_:command-1/> command is restricted to the root user, except for the <_:" "option-2/> option, which may be used by an unprivileged user to determine " @@ -906,52 +949,54 @@ msgstr "" "облікового запису." #. (itstool) path: refsect1/title -#: chage.1.xml.out:249 chfn.1.xml.out:170 chgpasswd.8.xml.out:175 -#: chpasswd.8.xml.out:216 chsh.1.xml.out:131 gpasswd.1.xml.out:241 +#: chage.1.xml.out:264 chfn.1.xml.out:170 chgpasswd.8.xml.out:201 +#: chpasswd.8.xml.out:256 chsh.1.xml.out:150 gpasswd.1.xml.out:243 #: groupadd.8.xml.out:247 groupdel.8.xml.out:133 groupmems.8.xml.out:176 #: groupmod.8.xml.out:212 grpck.8.xml.out:196 lastlog.8.xml.out:182 -#: login.1.xml.out:270 newgrp.1.xml.out:85 newusers.8.xml.out:360 -#: passwd.1.xml.out:372 pwck.8.xml.out:240 pwconv.8.xml.out:204 sg.1.xml.out:74 -#: su.1.xml.out:314 useradd.8.xml.out:710 userdel.8.xml.out:165 -#: usermod.8.xml.out:536 vipw.8.xml.out:142 +#: login.1.xml.out:270 newgrp.1.xml.out:85 newusers.8.xml.out:381 +#: passwd.1.xml.out:394 pwck.8.xml.out:240 pwconv.8.xml.out:204 sg.1.xml.out:74 +#: su.1.xml.out:314 useradd.8.xml.out:730 userdel.8.xml.out:165 +#: usermod.8.xml.out:553 vipw.8.xml.out:142 msgid "CONFIGURATION" msgstr "НАЛАШТУВАННЯ" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: chage.1.xml.out:252 chfn.1.xml.out:68 chfn.1.xml.out:173 chfn.1.xml.out:187 -#: chgpasswd.8.xml.out:70 chgpasswd.8.xml.out:155 chgpasswd.8.xml.out:178 -#: chgpasswd.8.xml.out:205 chpasswd.8.xml.out:77 chpasswd.8.xml.out:134 -#: chpasswd.8.xml.out:200 chpasswd.8.xml.out:219 chpasswd.8.xml.out:247 -#: chsh.1.xml.out:134 chsh.1.xml.out:159 gpasswd.1.xml.out:244 -#: groupadd.8.xml.out:129 groupadd.8.xml.out:239 groupadd.8.xml.out:250 -#: groupadd.8.xml.out:276 groupdel.8.xml.out:136 groupmems.8.xml.out:179 -#: groupmod.8.xml.out:109 groupmod.8.xml.out:204 groupmod.8.xml.out:215 -#: groupmod.8.xml.out:239 grpck.8.xml.out:199 lastlog.8.xml.out:185 -#: login.1.xml.out:273 login.1.xml.out:365 login.access.5.xml.out:100 -#: login.defs.5.xml.out:116 login.defs.5.xml.out:515 newgrp.1.xml.out:88 -#: newusers.8.xml.out:340 newusers.8.xml.out:363 newusers.8.xml.out:423 -#: passwd.1.xml.out:375 passwd.1.xml.out:405 pwck.8.xml.out:243 +#: chage.1.xml.out:267 chfn.1.xml.out:68 chfn.1.xml.out:173 chfn.1.xml.out:187 +#: chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:159 chgpasswd.8.xml.out:168 +#: chgpasswd.8.xml.out:177 chgpasswd.8.xml.out:204 chgpasswd.8.xml.out:233 +#: chpasswd.8.xml.out:79 chpasswd.8.xml.out:140 chpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:227 chpasswd.8.xml.out:236 chpasswd.8.xml.out:259 +#: chpasswd.8.xml.out:289 chsh.1.xml.out:153 chsh.1.xml.out:200 +#: gpasswd.1.xml.out:246 groupadd.8.xml.out:129 groupadd.8.xml.out:239 +#: groupadd.8.xml.out:250 groupadd.8.xml.out:276 groupdel.8.xml.out:136 +#: groupmems.8.xml.out:179 groupmod.8.xml.out:109 groupmod.8.xml.out:204 +#: groupmod.8.xml.out:215 groupmod.8.xml.out:239 grpck.8.xml.out:199 +#: lastlog.8.xml.out:185 login.1.xml.out:273 login.1.xml.out:365 +#: login.access.5.xml.out:100 login.defs.5.xml.out:118 login.defs.5.xml.out:534 +#: newgrp.1.xml.out:88 newusers.8.xml.out:340 newusers.8.xml.out:349 +#: newusers.8.xml.out:357 newusers.8.xml.out:384 newusers.8.xml.out:444 +#: passwd.1.xml.out:397 passwd.1.xml.out:427 pwck.8.xml.out:243 #: pwconv.8.xml.out:148 pwconv.8.xml.out:207 pwconv.8.xml.out:215 #: pwconv.8.xml.out:230 sg.1.xml.out:77 su.1.xml.out:109 su.1.xml.out:219 #: su.1.xml.out:277 su.1.xml.out:317 su.1.xml.out:357 useradd.8.xml.out:241 -#: useradd.8.xml.out:307 useradd.8.xml.out:378 useradd.8.xml.out:399 -#: useradd.8.xml.out:467 useradd.8.xml.out:474 useradd.8.xml.out:560 -#: useradd.8.xml.out:713 useradd.8.xml.out:797 userdel.8.xml.out:87 +#: useradd.8.xml.out:309 useradd.8.xml.out:380 useradd.8.xml.out:401 +#: useradd.8.xml.out:469 useradd.8.xml.out:476 useradd.8.xml.out:562 +#: useradd.8.xml.out:733 useradd.8.xml.out:817 userdel.8.xml.out:87 #: userdel.8.xml.out:168 userdel.8.xml.out:191 userdel.8.xml.out:297 -#: usermod.8.xml.out:399 usermod.8.xml.out:539 usermod.8.xml.out:569 +#: usermod.8.xml.out:399 usermod.8.xml.out:556 usermod.8.xml.out:586 #: vipw.8.xml.out:145 msgid "/etc/login.defs" msgstr "/etc/login.defs" #. (itstool) path: refsect1/para -#: chage.1.xml.out:250 chfn.1.xml.out:171 chgpasswd.8.xml.out:176 -#: chpasswd.8.xml.out:217 chsh.1.xml.out:132 gpasswd.1.xml.out:242 +#: chage.1.xml.out:265 chfn.1.xml.out:171 chgpasswd.8.xml.out:202 +#: chpasswd.8.xml.out:257 chsh.1.xml.out:151 gpasswd.1.xml.out:244 #: groupadd.8.xml.out:248 groupdel.8.xml.out:134 groupmems.8.xml.out:177 #: groupmod.8.xml.out:213 grpck.8.xml.out:197 lastlog.8.xml.out:183 -#: login.1.xml.out:271 newgrp.1.xml.out:86 newusers.8.xml.out:361 -#: passwd.1.xml.out:373 pwck.8.xml.out:241 sg.1.xml.out:75 su.1.xml.out:315 -#: useradd.8.xml.out:711 userdel.8.xml.out:166 usermod.8.xml.out:537 +#: login.1.xml.out:271 newgrp.1.xml.out:86 newusers.8.xml.out:382 +#: passwd.1.xml.out:395 pwck.8.xml.out:241 sg.1.xml.out:75 su.1.xml.out:315 +#: useradd.8.xml.out:731 userdel.8.xml.out:166 usermod.8.xml.out:554 #: vipw.8.xml.out:143 msgid "" "The following configuration variables in <_:filename-1/> change the behavior " @@ -961,126 +1006,126 @@ msgstr "" "інструмента:" #. (itstool) path: refsect1/title -#: chage.1.xml.out:261 chfn.1.xml.out:184 chgpasswd.8.xml.out:190 -#: chpasswd.8.xml.out:232 chsh.1.xml.out:144 expiry.1.xml.out:97 -#: faillog.5.xml.out:72 faillog.8.xml.out:220 gpasswd.1.xml.out:256 +#: chage.1.xml.out:276 chfn.1.xml.out:184 chgpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:274 chsh.1.xml.out:163 expiry.1.xml.out:97 +#: faillog.5.xml.out:72 faillog.8.xml.out:220 gpasswd.1.xml.out:258 #: groupadd.8.xml.out:261 groupdel.8.xml.out:145 groupmems.8.xml.out:188 #: groupmod.8.xml.out:224 groups.1.xml.out:77 grpck.8.xml.out:208 #: gshadow.5.xml.out:132 lastlog.8.xml.out:194 limits.5.xml.out:172 #: login.1.xml.out:314 login.access.5.xml.out:97 logoutd.8.xml.out:65 -#: newgrp.1.xml.out:97 newusers.8.xml.out:396 passwd.1.xml.out:390 +#: newgrp.1.xml.out:97 newusers.8.xml.out:417 passwd.1.xml.out:412 #: passwd.5.xml.out:139 porttime.5.xml.out:106 pwck.8.xml.out:258 #: pwconv.8.xml.out:227 shadow.3.xml.out:202 shadow.5.xml.out:231 -#: sg.1.xml.out:86 su.1.xml.out:342 suauth.5.xml.out:169 useradd.8.xml.out:740 -#: userdel.8.xml.out:182 usermod.8.xml.out:554 vipw.8.xml.out:172 +#: sg.1.xml.out:86 su.1.xml.out:342 suauth.5.xml.out:169 useradd.8.xml.out:760 +#: userdel.8.xml.out:182 usermod.8.xml.out:571 vipw.8.xml.out:172 msgid "FILES" msgstr "ФАЙЛИ" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:265 chfn.1.xml.out:193 chpasswd.8.xml.out:235 -#: chsh.1.xml.out:147 expiry.1.xml.out:100 groupmod.8.xml.out:245 +#: chage.1.xml.out:280 chfn.1.xml.out:193 chpasswd.8.xml.out:277 +#: chsh.1.xml.out:166 expiry.1.xml.out:100 groupmod.8.xml.out:245 #: grpck.8.xml.out:223 lastlog.8.xml.out:63 login.1.xml.out:145 #: login.1.xml.out:329 newgrp.1.xml.out:65 newgrp.1.xml.out:70 -#: newgrp.1.xml.out:100 newusers.8.xml.out:399 passwd.1.xml.out:393 +#: newgrp.1.xml.out:100 newusers.8.xml.out:420 passwd.1.xml.out:415 #: passwd.5.xml.out:47 passwd.5.xml.out:89 passwd.5.xml.out:142 #: pwck.8.xml.out:73 pwck.8.xml.out:145 pwck.8.xml.out:212 pwck.8.xml.out:224 #: pwck.8.xml.out:267 pwconv.8.xml.out:127 shadow.5.xml.out:234 sg.1.xml.out:89 -#: su.1.xml.out:185 su.1.xml.out:197 su.1.xml.out:345 useradd.8.xml.out:524 -#: useradd.8.xml.out:743 userdel.8.xml.out:197 usermod.8.xml.out:103 -#: usermod.8.xml.out:305 usermod.8.xml.out:362 usermod.8.xml.out:575 +#: su.1.xml.out:185 su.1.xml.out:197 su.1.xml.out:345 useradd.8.xml.out:526 +#: useradd.8.xml.out:763 userdel.8.xml.out:197 usermod.8.xml.out:103 +#: usermod.8.xml.out:305 usermod.8.xml.out:362 usermod.8.xml.out:592 #: vipw.8.xml.out:68 vipw.8.xml.out:187 msgid "/etc/passwd" msgstr "/etc/passwd" #. (itstool) path: listitem/para -#: chage.1.xml.out:268 chfn.1.xml.out:195 chpasswd.8.xml.out:237 -#: chsh.1.xml.out:149 expiry.1.xml.out:102 groupmod.8.xml.out:247 +#: chage.1.xml.out:283 chfn.1.xml.out:195 chpasswd.8.xml.out:279 +#: chsh.1.xml.out:168 expiry.1.xml.out:102 groupmod.8.xml.out:247 #: grpck.8.xml.out:225 login.1.xml.out:331 newgrp.1.xml.out:102 -#: newusers.8.xml.out:401 passwd.1.xml.out:395 passwd.5.xml.out:144 +#: newusers.8.xml.out:422 passwd.1.xml.out:417 passwd.5.xml.out:144 #: pwck.8.xml.out:269 shadow.5.xml.out:236 sg.1.xml.out:91 su.1.xml.out:347 -#: useradd.8.xml.out:745 userdel.8.xml.out:199 vipw.8.xml.out:189 +#: useradd.8.xml.out:765 userdel.8.xml.out:199 vipw.8.xml.out:189 msgid "User account information." msgstr "Відомості щодо облікових записів користувача." #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:273 chpasswd.8.xml.out:241 expiry.1.xml.out:106 +#: chage.1.xml.out:288 chpasswd.8.xml.out:283 expiry.1.xml.out:106 #: login.1.xml.out:335 newgrp.1.xml.out:68 newgrp.1.xml.out:106 -#: newusers.8.xml.out:295 newusers.8.xml.out:405 passwd.1.xml.out:399 +#: newusers.8.xml.out:297 newusers.8.xml.out:426 passwd.1.xml.out:421 #: passwd.5.xml.out:82 passwd.5.xml.out:148 pwck.8.xml.out:73 #: pwck.8.xml.out:107 pwck.8.xml.out:213 pwck.8.xml.out:225 pwck.8.xml.out:273 #: pwconv.8.xml.out:128 pwconv.8.xml.out:149 shadow.3.xml.out:97 #: shadow.3.xml.out:173 shadow.3.xml.out:205 shadow.5.xml.out:78 -#: shadow.5.xml.out:240 sg.1.xml.out:95 su.1.xml.out:351 useradd.8.xml.out:439 -#: useradd.8.xml.out:464 useradd.8.xml.out:749 userdel.8.xml.out:203 +#: shadow.5.xml.out:240 sg.1.xml.out:95 su.1.xml.out:351 useradd.8.xml.out:441 +#: useradd.8.xml.out:466 useradd.8.xml.out:769 userdel.8.xml.out:203 #: usermod.8.xml.out:144 usermod.8.xml.out:145 usermod.8.xml.out:166 -#: usermod.8.xml.out:167 usermod.8.xml.out:306 usermod.8.xml.out:581 +#: usermod.8.xml.out:167 usermod.8.xml.out:306 usermod.8.xml.out:598 #: vipw.8.xml.out:71 vipw.8.xml.out:193 msgid "/etc/shadow" msgstr "/etc/shadow" #. (itstool) path: listitem/para -#: chage.1.xml.out:276 chpasswd.8.xml.out:243 expiry.1.xml.out:108 -#: login.1.xml.out:337 newgrp.1.xml.out:108 newusers.8.xml.out:407 -#: passwd.1.xml.out:401 pwck.8.xml.out:275 shadow.3.xml.out:207 -#: shadow.5.xml.out:242 sg.1.xml.out:97 su.1.xml.out:353 useradd.8.xml.out:751 +#: chage.1.xml.out:291 chpasswd.8.xml.out:285 expiry.1.xml.out:108 +#: login.1.xml.out:337 newgrp.1.xml.out:108 newusers.8.xml.out:428 +#: passwd.1.xml.out:423 pwck.8.xml.out:275 shadow.3.xml.out:207 +#: shadow.5.xml.out:242 sg.1.xml.out:97 su.1.xml.out:353 useradd.8.xml.out:771 #: userdel.8.xml.out:205 vipw.8.xml.out:195 msgid "Secure user account information." msgstr "Відомості щодо захищених облікових записів користувачів." #. (itstool) path: refsect1/title -#: chage.1.xml.out:283 groupadd.8.xml.out:298 groupdel.8.xml.out:163 -#: groupmod.8.xml.out:254 grpck.8.xml.out:232 passwd.1.xml.out:420 -#: pwck.8.xml.out:282 su.1.xml.out:366 useradd.8.xml.out:806 +#: chage.1.xml.out:298 groupadd.8.xml.out:298 groupdel.8.xml.out:163 +#: groupmod.8.xml.out:254 grpck.8.xml.out:232 passwd.1.xml.out:442 +#: pwck.8.xml.out:282 su.1.xml.out:366 useradd.8.xml.out:826 #: userdel.8.xml.out:230 msgid "EXIT VALUES" msgstr "ЗНАЧЕННЯ ВИХОДУ" #. (itstool) path: listitem/para -#: chage.1.xml.out:290 groupadd.8.xml.out:305 groupdel.8.xml.out:170 -#: grpck.8.xml.out:239 passwd.1.xml.out:427 pwck.8.xml.out:289 -#: useradd.8.xml.out:813 userdel.8.xml.out:237 +#: chage.1.xml.out:305 groupadd.8.xml.out:305 groupdel.8.xml.out:170 +#: grpck.8.xml.out:239 passwd.1.xml.out:449 pwck.8.xml.out:289 +#: useradd.8.xml.out:833 userdel.8.xml.out:237 msgid "success" msgstr "успіх" #. (itstool) path: listitem/para -#: chage.1.xml.out:296 passwd.1.xml.out:433 +#: chage.1.xml.out:311 passwd.1.xml.out:455 msgid "permission denied" msgstr "відмовлено у доступі" #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum -#: chage.1.xml.out:300 groupadd.8.xml.out:309 groupdel.8.xml.out:174 +#: chage.1.xml.out:315 groupadd.8.xml.out:309 groupdel.8.xml.out:174 #: groupmod.8.xml.out:265 groups.1.xml.out:95 groups.1.xml.out:98 #: groups.1.xml.out:101 grpck.8.xml.out:249 limits.5.xml.out:90 #: limits.5.xml.out:101 limits.5.xml.out:188 limits.5.xml.out:191 -#: passwd.1.xml.out:437 pwck.8.xml.out:299 useradd.8.xml.out:823 +#: passwd.1.xml.out:459 pwck.8.xml.out:299 useradd.8.xml.out:843 #: userdel.8.xml.out:247 msgid "2" msgstr "2" #. (itstool) path: listitem/para -#: chage.1.xml.out:302 groupadd.8.xml.out:311 groupdel.8.xml.out:176 -#: grpck.8.xml.out:245 pwck.8.xml.out:295 useradd.8.xml.out:825 +#: chage.1.xml.out:317 groupadd.8.xml.out:311 groupdel.8.xml.out:176 +#: grpck.8.xml.out:245 pwck.8.xml.out:295 useradd.8.xml.out:845 #: userdel.8.xml.out:249 msgid "invalid command syntax" msgstr "некоректний синтаксис команди" #. (itstool) path: term/replaceable -#: chage.1.xml.out:306 +#: chage.1.xml.out:321 msgid "15" msgstr "15" #. (itstool) path: listitem/para -#: chage.1.xml.out:308 +#: chage.1.xml.out:323 msgid "can't find the shadow password file" msgstr "не вдалося знайти файл прихованих паролів" #. (itstool) path: refsect1/para -#: chage.1.xml.out:284 groupadd.8.xml.out:299 groupdel.8.xml.out:164 -#: groupmod.8.xml.out:255 grpck.8.xml.out:233 passwd.1.xml.out:421 -#: pwck.8.xml.out:283 useradd.8.xml.out:807 userdel.8.xml.out:231 +#: chage.1.xml.out:299 groupadd.8.xml.out:299 groupdel.8.xml.out:164 +#: groupmod.8.xml.out:255 grpck.8.xml.out:233 passwd.1.xml.out:443 +#: pwck.8.xml.out:283 useradd.8.xml.out:827 userdel.8.xml.out:231 msgid "" "The <_:command-1/> command exits with the following values: <_:" "variablelist-2/>" @@ -1089,18 +1134,18 @@ msgstr "" "variablelist-2/>" #. (itstool) path: refsect1/title -#: chage.1.xml.out:316 chfn.1.xml.out:202 chgpasswd.8.xml.out:214 -#: chpasswd.8.xml.out:262 chsh.1.xml.out:168 expiry.1.xml.out:115 -#: faillog.5.xml.out:84 faillog.8.xml.out:232 gpasswd.1.xml.out:274 +#: chage.1.xml.out:331 chfn.1.xml.out:202 chgpasswd.8.xml.out:242 +#: chpasswd.8.xml.out:304 chsh.1.xml.out:209 expiry.1.xml.out:115 +#: faillog.5.xml.out:84 faillog.8.xml.out:232 gpasswd.1.xml.out:276 #: groupadd.8.xml.out:343 groupdel.8.xml.out:202 groupmems.8.xml.out:206 #: groupmod.8.xml.out:323 groups.1.xml.out:89 grpck.8.xml.out:277 #: gshadow.5.xml.out:150 limits.5.xml.out:182 login.1.xml.out:374 -#: login.access.5.xml.out:109 login.defs.5.xml.out:527 newgrp.1.xml.out:127 -#: newusers.8.xml.out:450 nologin.8.xml.out:57 passwd.1.xml.out:471 +#: login.access.5.xml.out:109 login.defs.5.xml.out:546 newgrp.1.xml.out:127 +#: newusers.8.xml.out:471 nologin.8.xml.out:57 passwd.1.xml.out:493 #: passwd.5.xml.out:167 porttime.5.xml.out:118 pwck.8.xml.out:333 #: pwconv.8.xml.out:239 shadow.3.xml.out:214 shadow.5.xml.out:259 -#: sg.1.xml.out:116 su.1.xml.out:413 suauth.5.xml.out:198 useradd.8.xml.out:875 -#: userdel.8.xml.out:308 usermod.8.xml.out:602 vipw.8.xml.out:202 +#: sg.1.xml.out:116 su.1.xml.out:413 suauth.5.xml.out:198 useradd.8.xml.out:895 +#: userdel.8.xml.out:308 usermod.8.xml.out:619 vipw.8.xml.out:202 msgid "SEE ALSO" msgstr "ДИВ. ТАКОЖ" @@ -1113,53 +1158,53 @@ msgstr "ДИВ. ТАКОЖ" #. (itstool) path: para/command #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: chage.1.xml.out:319 chfn.1.xml.out:211 chpasswd.8.xml.out:265 -#: chsh.1.xml.out:177 expiry.1.xml.out:118 groupadd.8.xml.out:351 +#: 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:399 -#: login.defs.5.xml.out:516 login.defs.5.xml.out:533 login.defs.5.xml.out:539 -#: newusers.8.xml.out:79 newusers.8.xml.out:456 passwd.1.xml.out:40 -#: passwd.1.xml.out:47 passwd.1.xml.out:53 passwd.1.xml.out:66 -#: passwd.1.xml.out:69 passwd.1.xml.out:86 passwd.1.xml.out:116 -#: passwd.1.xml.out:152 passwd.1.xml.out:366 passwd.1.xml.out:413 -#: passwd.1.xml.out:422 passwd.1.xml.out:451 passwd.1.xml.out:457 -#: passwd.1.xml.out:477 passwd.5.xml.out:33 passwd.5.xml.out:40 +#: 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:884 userdel.8.xml.out:316 -#: usermod.8.xml.out:611 vipw.8.xml.out:217 +#: 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:319 chage.1.xml.out:322 chfn.1.xml.out:208 -#: chfn.1.xml.out:211 chgpasswd.8.xml.out:223 chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 chsh.1.xml.out:177 expiry.1.xml.out:118 +#: 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:292 gpasswd.1.xml.out:295 groupadd.8.xml.out:363 +#: 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:103 login.defs.5.xml.out:539 login.defs.5.xml.out:542 -#: newgrp.1.xml.out:145 newgrp.1.xml.out:148 newusers.8.xml.out:79 -#: newusers.8.xml.out:453 newusers.8.xml.out:460 newusers.8.xml.out:463 -#: nologin.8.xml.out:48 nologin.8.xml.out:63 passwd.1.xml.out:455 -#: passwd.1.xml.out:477 passwd.1.xml.out:480 passwd.1.xml.out:484 +#: 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:628 -#: useradd.8.xml.out:899 useradd.8.xml.out:906 useradd.8.xml.out:909 +#: 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:629 usermod.8.xml.out:633 -#: usermod.8.xml.out:636 vipw.8.xml.out:208 vipw.8.xml.out:211 +#: 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" @@ -1172,20 +1217,20 @@ msgstr "5" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/filename -#: chage.1.xml.out:322 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:542 -#: passwd.1.xml.out:480 passwd.5.xml.out:79 passwd.5.xml.out:194 +#: 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:628 +#: 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:317 expiry.1.xml.out:116 faillog.8.xml.out:233 +#: 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 "<_:citerefentry-1/>, <_:citerefentry-2/>." @@ -1197,10 +1242,10 @@ msgstr "<_:citerefentry-1/>, <_:citerefentry-2/>." #. (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:171 +#: 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:239 useradd.8.xml.out:878 -#: userdel.8.xml.out:310 usermod.8.xml.out:105 usermod.8.xml.out:605 +#: 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" @@ -1218,8 +1263,8 @@ msgstr "finger" #. (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:405 useradd.8.xml.out:536 -#: useradd.8.xml.out:837 usermod.8.xml.out:271 usermod.8.xml.out:377 +#: 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 msgid "-o" msgstr "-o" @@ -1271,7 +1316,7 @@ msgstr "" #: 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:622 userdel.8.xml.out:76 userdel.8.xml.out:287 +#: 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" @@ -1330,12 +1375,12 @@ msgstr "" #. (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:173 +#: 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:287 passwd.1.xml.out:268 pwck.8.xml.out:155 -#: pwck.8.xml.out:188 useradd.8.xml.out:224 useradd.8.xml.out:456 -#: useradd.8.xml.out:542 userdel.8.xml.out:106 usermod.8.xml.out:317 +#: 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" @@ -1358,14 +1403,14 @@ msgstr "Змінити номер кімнати користувача." #. (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:309 useradd.8.xml.out:414 -#: useradd.8.xml.out:531 usermod.8.xml.out:279 usermod.8.xml.out:369 +#: 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 msgid "-u" msgstr "-u" #. (itstool) path: term/option -#: chfn.1.xml.out:151 passwd.1.xml.out:322 usermod.8.xml.out:463 +#: chfn.1.xml.out:151 passwd.1.xml.out:333 usermod.8.xml.out:463 msgid "-w" msgstr "-w" @@ -1402,11 +1447,11 @@ msgstr "" "обліковий запис користувача.." #. (itstool) path: listitem/para -#: chfn.1.xml.out:189 chgpasswd.8.xml.out:207 chpasswd.8.xml.out:249 -#: chsh.1.xml.out:161 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:425 -#: passwd.1.xml.out:407 pwconv.8.xml.out:232 su.1.xml.out:359 -#: useradd.8.xml.out:799 userdel.8.xml.out:193 +#: 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 "Налаштування комплексу для роботи з прихованими паролями." @@ -1419,8 +1464,8 @@ msgstr "Налаштування комплексу для роботи з пр #: 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:270 useradd.8.xml.out:881 -#: userdel.8.xml.out:313 usermod.8.xml.out:608 +#: 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" @@ -1428,25 +1473,25 @@ msgstr "chsh" #. (itstool) path: para/filename #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname -#: chfn.1.xml.out:208 chgpasswd.8.xml.out:223 chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 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:102 -#: login.defs.5.xml.out:109 newusers.8.xml.out:298 newusers.8.xml.out:453 -#: passwd.1.xml.out:484 pwconv.8.xml.out:92 pwconv.8.xml.out:94 +#: 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:899 userdel.8.xml.out:117 userdel.8.xml.out:319 -#: usermod.8.xml.out:629 vipw.8.xml.out:214 +#: 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:215 chsh.1.xml.out:169 +#: 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 "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>." #. (itstool) path: author/contrib -#: chgpasswd.8.xml.out:23 +#: chgpasswd.8.xml.out:25 msgid "Creation, 2006" msgstr "Створення, 2006" @@ -1455,19 +1500,19 @@ msgstr "Створення, 2006" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:33 chgpasswd.8.xml.out:40 chgpasswd.8.xml.out:46 -#: chgpasswd.8.xml.out:56 chgpasswd.8.xml.out:66 chgpasswd.8.xml.out:83 -#: login.defs.5.xml.out:249 +#: 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:34 chgpasswd.8.xml.out:220 chpasswd.8.xml.out:38 -#: chpasswd.8.xml.out:268 chpasswd.8.xml.out:276 faillog.5.xml.out:87 -#: faillog.8.xml.out:34 gpasswd.1.xml.out:280 gpasswd.1.xml.out:283 -#: gpasswd.1.xml.out:286 gpasswd.1.xml.out:289 groupadd.8.xml.out:37 +#: 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 @@ -1480,43 +1525,43 @@ msgstr "chgpasswd" #: 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:545 -#: logoutd.8.xml.out:34 newusers.8.xml.out:50 newusers.8.xml.out:467 -#: nologin.8.xml.out:23 passwd.1.xml.out:474 passwd.1.xml.out:488 +#: 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:574 -#: useradd.8.xml.out:890 useradd.8.xml.out:893 useradd.8.xml.out:896 -#: useradd.8.xml.out:902 useradd.8.xml.out:913 useradd.8.xml.out:916 -#: 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:617 usermod.8.xml.out:620 usermod.8.xml.out:623 -#: usermod.8.xml.out:626 usermod.8.xml.out:640 usermod.8.xml.out:643 -#: vipw.8.xml.out:36 +#: 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:35 chpasswd.8.xml.out:39 faillog.8.xml.out:35 +#: 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:51 nologin.8.xml.out:24 +#: 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 "Команди керування системою" #. (itstool) path: refnamediv/refpurpose -#: chgpasswd.8.xml.out:41 +#: chgpasswd.8.xml.out:43 msgid "update group passwords in batch mode" msgstr "оновлення паролів груп у пакетному режимі" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:55 +#: chgpasswd.8.xml.out:57 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 " @@ -1529,24 +1574,24 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chgpasswd.8.xml.out:61 groupmems.8.xml.out:54 groupmems.8.xml.out:110 +#: chgpasswd.8.xml.out:63 groupmems.8.xml.out:54 groupmems.8.xml.out:110 msgid "group_name" msgstr "назва_групи" #. (itstool) path: para/emphasis -#: chgpasswd.8.xml.out:62 chpasswd.8.xml.out:66 passwd.5.xml.out:77 +#: 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 msgid "password" msgstr "пароль" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:60 chpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:62 chpasswd.8.xml.out:66 msgid "<_:emphasis-1/>:<_:emphasis-2/>" msgstr "<_:emphasis-1/>:<_:emphasis-2/>" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:66 msgid "" "By default the supplied password must be in clear-text, and is encrypted by " "<_:command-1/>." @@ -1555,16 +1600,16 @@ msgstr "" "допомогою <_:command-1/>." #. (itstool) path: para/option -#: chgpasswd.8.xml.out:70 chpasswd.8.xml.out:75 chpasswd.8.xml.out:132 -#: passwd.1.xml.out:129 +#: chgpasswd.8.xml.out:72 chpasswd.8.xml.out:77 chpasswd.8.xml.out:138 +#: passwd.1.xml.out:114 msgid "ENCRYPT_METHOD" msgstr "ENCRYPT_METHOD" #. (itstool) path: para/option #. (itstool) path: term/option -#: chgpasswd.8.xml.out:71 chgpasswd.8.xml.out:101 chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 chpasswd.8.xml.out:130 chpasswd.8.xml.out:139 -#: passwd.1.xml.out:180 useradd.8.xml.out:179 useradd.8.xml.out:610 +#: 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 msgid "-e" msgstr "-e" @@ -1572,16 +1617,16 @@ msgstr "-e" #. (itstool) path: para/option #. (itstool) path: term/option #. (itstool) path: arg/arg -#: chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:88 chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 chpasswd.8.xml.out:114 chpasswd.8.xml.out:129 -#: expiry.1.xml.out:60 expiry.1.xml.out:73 newusers.8.xml.out:268 +#: 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:68 +#: chgpasswd.8.xml.out:70 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 <_:" @@ -1592,7 +1637,7 @@ msgstr "" "допомогою параметрів <_:option-3/>, <_:option-4/> або <_:option-5/>." #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:74 chpasswd.8.xml.out:99 +#: 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." @@ -1601,46 +1646,106 @@ msgstr "" "одночасно створюють багато облікових записів." #. (itstool) path: term/option -#: chgpasswd.8.xml.out:88 chpasswd.8.xml.out:114 newusers.8.xml.out:268 +#: chgpasswd.8.xml.out:90 chpasswd.8.xml.out:116 newusers.8.xml.out:270 msgid "--crypt-method" msgstr "--crypt-method" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:90 chpasswd.8.xml.out:117 newusers.8.xml.out:270 +#: 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 "Скористатися для шифрування паролів вказаним методом." -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:91 chpasswd.8.xml.out:118 -msgid "The available methods are DES, MD5, and NONE." -msgstr "Доступними методами є DES, MD5 і NONE." +#. (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 "-a <_:replaceable-1/>" +msgid "<_:replaceable-1/>," +msgstr "-a <_:replaceable-1/>" + +#. (itstool) path: para/replaceable +#: chgpasswd.8.xml.out:96 chpasswd.8.xml.out:123 +msgid "DES" +msgstr "DES" + +#. (itstool) path: para/replaceable +#: chgpasswd.8.xml.out:97 chpasswd.8.xml.out:124 +msgid "MD5" +msgstr "MD5" + +#. (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 "SHA256" + +#. (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 "SHA512" + +#. (itstool) path: para/phrase +#: chgpasswd.8.xml.out:97 chpasswd.8.xml.out:124 +msgid ", <_:replaceable-1/>, <_:replaceable-2/>" +msgstr ", <_:replaceable-1/>, <_:replaceable-2/>" + +#. (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 "ОПИС" + +#. (itstool) path: para/phrase +#: chgpasswd.8.xml.out:99 chpasswd.8.xml.out:126 +#, fuzzy +#| msgid "-a <_:replaceable-1/>" +msgid ", <_:replaceable-1/>" +msgstr "-a <_:replaceable-1/>" + +#. (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:94 chpasswd.8.xml.out:121 newusers.8.xml.out:271 +#: chgpasswd.8.xml.out:93 chpasswd.8.xml.out:120 +#, fuzzy +#| msgid "" +#| "Example: <_:option-1/> <_:replaceable-2/>=<_:replaceable-3/> <_:option-4/" +#| "> <_:replaceable-5/>=<_:replaceable-6/>" msgid "" -"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc " -"support these methods." +"The available methods are <_:phrase-1/> <_:replaceable-2/>, <_:replaceable-3/" +"><_:phrase-4/><_:phrase-5/> and <_:replaceable-6/> if your libc supports " +"these methods." msgstr "" -"Доступними методами є DES, MD5, NONE і SHA256 або SHA512, якщо у вашій libc " -"передбачено підтримку цих методів." +"Приклад: <_:option-1/> <_:replaceable-2/>=<_:replaceable-3/> <_:option-4/> " +"<_:replaceable-5/>=<_:replaceable-6/>" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:101 chpasswd.8.xml.out:139 +#: chgpasswd.8.xml.out:107 chpasswd.8.xml.out:145 msgid "--encrypted" msgstr "--encrypted" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:103 chpasswd.8.xml.out:141 +#: chgpasswd.8.xml.out:109 chpasswd.8.xml.out:147 msgid "Supplied passwords are in encrypted form." msgstr "Надані паролі подано у зашифрованій формі." #. (itstool) path: term/option -#: chgpasswd.8.xml.out:113 chpasswd.8.xml.out:155 +#: chgpasswd.8.xml.out:119 chpasswd.8.xml.out:161 msgid "--md5" msgstr "--md5" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:115 chpasswd.8.xml.out:157 +#: chgpasswd.8.xml.out:121 chpasswd.8.xml.out:163 msgid "" "Use MD5 encryption instead of DES when the supplied passwords are not " "encrypted." @@ -1649,68 +1754,121 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chgpasswd.8.xml.out:135 chpasswd.8.xml.out:178 chsh.1.xml.out:97 +#: 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:320 pwck.8.xml.out:155 pwck.8.xml.out:209 -#: su.1.xml.out:163 useradd.8.xml.out:517 useradd.8.xml.out:655 -#: usermod.8.xml.out:357 vipw.8.xml.out:70 vipw.8.xml.out:127 +#: 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 msgid "-s" msgstr "-s" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:135 chpasswd.8.xml.out:178 newusers.8.xml.out:320 +#: chgpasswd.8.xml.out:141 chpasswd.8.xml.out:199 newusers.8.xml.out:322 msgid "--sha-rounds" msgstr "--sha-rounds" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:137 chpasswd.8.xml.out:181 newusers.8.xml.out:322 +#: 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 "Використати вказану кількість циклів шифрування паролів." #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:140 chpasswd.8.xml.out:184 newusers.8.xml.out:325 +#: chgpasswd.8.xml.out:146 chpasswd.8.xml.out:205 newusers.8.xml.out:327 msgid "" -"The value 0 means that the system will choose the default number of rounds " -"for the crypt method (5000)." +"You can only use this option with crypt method: <_:phrase-1/> <_:phrase-2/> " +"<_:phrase-3/>" msgstr "" -"Значення 0 означає, що система вибере типову кількість проходів для методу " -"шифрування (5000)." #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:144 chpasswd.8.xml.out:188 newusers.8.xml.out:329 +#: 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 <_:filename-1/>." msgid "" -"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced." +"By default, the number of rounds for BCRYPT is defined by the " +"BCRYPT_MIN_ROUNDS and BCRYPT_MAX_ROUNDS variables in <_:filename-1/>." +msgstr "" +"Типово, кількість проходів визначається за допомогою змінних " +"SHA_CRYPT_MIN_ROUNDS і SHA_CRYPT_MAX_ROUNDS у <_:filename-1/>." + +#. (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 "" "Буде примусово встановлено мінімальне значення 1000 і максимальне значення " "999999999." #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:148 chpasswd.8.xml.out:192 newusers.8.xml.out:333 -msgid "You can only use this option with the SHA256 or SHA512 crypt method." -msgstr "" -"Ви можете скористатися цим параметром у поєднанні із методами шифрування " -"SHA256 або SHA512." - -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:152 newusers.8.xml.out:337 +#: 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 <_:filename-1/>." msgid "" -"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and " -"SHA_CRYPT_MAX_ROUNDS variables in <_:filename-1/>." +"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 "" "Типово, кількість проходів визначається за допомогою змінних " "SHA_CRYPT_MIN_ROUNDS і SHA_CRYPT_MAX_ROUNDS у <_:filename-1/>." +#. (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 "" +"Буде примусово встановлено мінімальне значення 1000 і максимальне значення " +"999999999." + +#. (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 <_:filename-1/>." +msgid "" +"By default, the number of rounds for YESCRYPT is defined by the " +"YESCRYPT_COST_FACTOR in <_:filename-1/>." +msgstr "" +"Типово, кількість проходів визначається за допомогою змінних " +"SHA_CRYPT_MIN_ROUNDS і SHA_CRYPT_MAX_ROUNDS у <_:filename-1/>." + +#. (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 "" +"Буде примусово встановлено мінімальне значення 1000 і максимальне значення " +"999999999." + #. (itstool) path: refsect1/title -#: chgpasswd.8.xml.out:163 chpasswd.8.xml.out:208 faillog.8.xml.out:209 -#: gpasswd.1.xml.out:229 groupadd.8.xml.out:285 groupdel.8.xml.out:121 -#: lastlog.8.xml.out:206 login.1.xml.out:236 newusers.8.xml.out:348 -#: passwd.1.xml.out:354 shadow.3.xml.out:194 su.1.xml.out:306 -#: useradd.8.xml.out:682 userdel.8.xml.out:281 usermod.8.xml.out:517 +#: 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 "ЗАСТЕРЕЖЕННЯ" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:164 chpasswd.8.xml.out:209 +#: 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." @@ -1719,7 +1877,7 @@ msgstr "" "читання нешифрованих файлів сторонніми користувачами." #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:168 newusers.8.xml.out:353 +#: 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." @@ -1731,8 +1889,8 @@ msgstr "" #. (itstool) path: phrase/filename #. (itstool) path: para/filename #. (itstool) path: citerefentry/refentrytitle -#: chgpasswd.8.xml.out:193 gpasswd.1.xml.out:48 gpasswd.1.xml.out:51 -#: gpasswd.1.xml.out:73 gpasswd.1.xml.out:231 gpasswd.1.xml.out:259 +#: 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 @@ -1740,19 +1898,19 @@ msgstr "" #: 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:411 pwck.8.xml.out:261 pwconv.8.xml.out:128 -#: sg.1.xml.out:101 suauth.5.xml.out:90 useradd.8.xml.out:755 -#: userdel.8.xml.out:185 usermod.8.xml.out:557 vipw.8.xml.out:69 +#: 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:195 gpasswd.1.xml.out:261 groupadd.8.xml.out:266 +#: 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:413 pwck.8.xml.out:263 -#: sg.1.xml.out:103 useradd.8.xml.out:757 userdel.8.xml.out:187 +#: 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 "Відомості щодо груп облікових записів." @@ -1760,8 +1918,8 @@ msgstr "Відомості щодо груп облікових записів." #. (itstool) path: term/filename #. (itstool) path: phrase/filename #. (itstool) path: para/filename -#: chgpasswd.8.xml.out:199 gpasswd.1.xml.out:52 gpasswd.1.xml.out:74 -#: gpasswd.1.xml.out:232 gpasswd.1.xml.out:265 groupadd.8.xml.out:170 +#: 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 @@ -1769,17 +1927,17 @@ msgstr "Відомості щодо груп облікових записів." #: 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:417 pwconv.8.xml.out:129 sg.1.xml.out:107 -#: useradd.8.xml.out:761 usermod.8.xml.out:563 vipw.8.xml.out:72 +#: 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:201 gpasswd.1.xml.out:267 groupadd.8.xml.out:272 +#: 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:419 -#: sg.1.xml.out:109 useradd.8.xml.out:763 vipw.8.xml.out:183 +#: 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 "Відомості щодо захищених груп облікових записів." @@ -1789,12 +1947,12 @@ msgstr "Відомості щодо захищених груп облікови #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:217 gpasswd.1.xml.out:38 gpasswd.1.xml.out:45 -#: gpasswd.1.xml.out:59 gpasswd.1.xml.out:72 gpasswd.1.xml.out:85 -#: gpasswd.1.xml.out:119 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:280 +#: 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:617 +#: usermod.8.xml.out:634 msgid "gpasswd" msgstr "gpasswd" @@ -1804,19 +1962,19 @@ msgstr "gpasswd" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:220 gpasswd.1.xml.out:280 groupadd.8.xml.out:36 +#: 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:290 useradd.8.xml.out:890 userdel.8.xml.out:325 -#: usermod.8.xml.out:620 +#: 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:21 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:86 -#: logoutd.8.xml.out:17 newgrp.1.xml.out:18 newusers.8.xml.out:33 +#: 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" @@ -1828,20 +1986,20 @@ msgstr "Створення, 1991" #. (itstool) path: para/command #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: chpasswd.8.xml.out:37 chpasswd.8.xml.out:44 chpasswd.8.xml.out:50 -#: chpasswd.8.xml.out:60 chpasswd.8.xml.out:70 chpasswd.8.xml.out:89 -#: chpasswd.8.xml.out:96 chpasswd.8.xml.out:108 chpasswd.8.xml.out:255 -#: login.defs.5.xml.out:259 passwd.1.xml.out:474 +#: 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" #. (itstool) path: refnamediv/refpurpose -#: chpasswd.8.xml.out:45 +#: chpasswd.8.xml.out:47 msgid "update passwords in batch mode" msgstr "оновлення паролів у пакетному режимі" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:59 +#: chpasswd.8.xml.out:61 msgid "" "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 " @@ -1855,13 +2013,13 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:65 groupmems.8.xml.out:52 groupmems.8.xml.out:53 +#: 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 "ім'я_користувача" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:68 +#: chpasswd.8.xml.out:70 msgid "" "By default the passwords must be supplied in clear-text, and are encrypted " "by <_:command-1/>. Also the password age will be updated, if present." @@ -1871,12 +2029,12 @@ msgstr "" "такі збережено." #. (itstool) path: para/option -#: chpasswd.8.xml.out:76 chpasswd.8.xml.out:133 +#: chpasswd.8.xml.out:78 chpasswd.8.xml.out:139 msgid "MD5_CRYPT_ENAB" msgstr "MD5_CRYPT_ENAB" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:73 +#: chpasswd.8.xml.out:75 msgid "" "The default encryption algorithm can be defined for the system with the <_:" "option-1/> or <_:option-2/> variables of <_:filename-3/>, and can be " @@ -1888,7 +2046,7 @@ msgstr "" "option-6/>." #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:81 +#: chpasswd.8.xml.out:83 msgid "" "By default, passwords are encrypted by PAM, but (even if not recommended) " "you can select a different encryption method with the <_:option-1/>, <_:" @@ -1899,12 +2057,12 @@ msgstr "" "option-2/> або <_:option-3/>." #. (itstool) path: para/phrase -#: chpasswd.8.xml.out:88 +#: chpasswd.8.xml.out:90 msgid "Except when PAM is used to encrypt the passwords," msgstr "Окрім випадків, коли для шифрування паролів використано PAM," #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:87 +#: chpasswd.8.xml.out:89 msgid "" "<_: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." @@ -1914,7 +2072,7 @@ msgstr "" "користувачів." #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:93 +#: chpasswd.8.xml.out:95 msgid "" "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/> " @@ -1927,17 +2085,17 @@ msgstr "" "користувачів і поверне код помилки при виході з програми." #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:114 +#: chpasswd.8.xml.out:116 msgid "METHOD" msgstr "METHOD" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:125 +#: chpasswd.8.xml.out:131 msgid "By default, PAM is used to encrypt the passwords." msgstr "Типово, для шифрування паролів буде використано PAM." #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:128 +#: chpasswd.8.xml.out:134 msgid "" "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/" @@ -1948,36 +2106,17 @@ msgstr "" "або <_:option-5/> у <_:filename-6/>." #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:178 +#: chpasswd.8.xml.out:199 msgid "ROUNDS" msgstr "ROUNDS" -#. (itstool) path: para/option -#: chpasswd.8.xml.out:198 -msgid "SHA_CRYPT_MIN_ROUNDS" -msgstr "SHA_CRYPT_MIN_ROUNDS" - -#. (itstool) path: para/option -#: chpasswd.8.xml.out:199 -msgid "SHA_CRYPT_MAX_ROUNDS" -msgstr "SHA_CRYPT_MAX_ROUNDS" - -#. (itstool) path: listitem/para -#: chpasswd.8.xml.out:196 -msgid "" -"By default, the number of rounds is defined by the <_:option-1/> and <_:" -"option-2/> variables in <_:filename-3/>." -msgstr "" -"Типово, кількість проходів визначено змінними <_:option-1/> і <_:option-2/> " -"у <_:filename-3/>." - #. (itstool) path: term/filename -#: chpasswd.8.xml.out:253 +#: chpasswd.8.xml.out:295 msgid "/etc/pam.d/chpasswd" msgstr "/etc/pam.d/chpasswd" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:255 newusers.8.xml.out:431 passwd.1.xml.out:413 +#: chpasswd.8.xml.out:297 newusers.8.xml.out:452 passwd.1.xml.out:435 msgid "PAM configuration for <_:command-1/>." msgstr "Налаштування PAM для <_:command-1/>." @@ -1987,17 +2126,17 @@ msgstr "Налаштування PAM для <_:command-1/>." #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:268 login.defs.5.xml.out:380 newusers.8.xml.out:49 -#: newusers.8.xml.out:56 newusers.8.xml.out:62 newusers.8.xml.out:75 -#: newusers.8.xml.out:96 newusers.8.xml.out:123 newusers.8.xml.out:132 -#: newusers.8.xml.out:151 newusers.8.xml.out:164 newusers.8.xml.out:170 -#: newusers.8.xml.out:172 newusers.8.xml.out:210 newusers.8.xml.out:230 -#: newusers.8.xml.out:252 newusers.8.xml.out:431 useradd.8.xml.out:902 +#: 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:270 grpck.8.xml.out:285 passwd.1.xml.out:482 +#: chpasswd.8.xml.out:312 grpck.8.xml.out:285 passwd.1.xml.out:507 msgid "<_:citerefentry-1/>," msgstr "<_:citerefentry-1/>," @@ -2007,21 +2146,21 @@ msgstr "<_:citerefentry-1/>," #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:276 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:462 -#: newusers.8.xml.out:467 useradd.8.xml.out:52 useradd.8.xml.out:59 +#: 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:284 useradd.8.xml.out:341 -#: useradd.8.xml.out:472 useradd.8.xml.out:584 useradd.8.xml.out:586 -#: useradd.8.xml.out:690 useradd.8.xml.out:808 userdel.8.xml.out:342 -#: usermod.8.xml.out:640 +#: 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:263 newusers.8.xml.out:451 +#: chpasswd.8.xml.out:305 newusers.8.xml.out:472 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:phrase-3/> <_:citerefentry-4/>." msgstr "" @@ -2047,15 +2186,15 @@ msgstr "" #. (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:517 -#: useradd.8.xml.out:655 usermod.8.xml.out:357 +#: 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 msgid "--shell" msgstr "--shell" #. (itstool) path: term/replaceable #. (itstool) path: para/option -#: chsh.1.xml.out:97 su.1.xml.out:163 useradd.8.xml.out:517 -#: useradd.8.xml.out:522 useradd.8.xml.out:655 useradd.8.xml.out:662 +#: 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 "ОБОЛОНКА" @@ -2087,12 +2226,13 @@ msgstr "" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: chsh.1.xml.out:120 chsh.1.xml.out:124 chsh.1.xml.out:153 su.1.xml.out:198 +#: 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:123 chsh.1.xml.out:142 msgid "/bin/rsh" msgstr "/bin/rsh" @@ -2116,11 +2256,120 @@ msgstr "" "призведе до повної заборони для користувача змінювати оболонку входу та " "початкову." +#. (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 "" +"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 "" + +#. (itstool) path: refsect1/para +#: chsh.1.xml.out:141 +#, fuzzy +#| msgid "" +#| "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." +msgid "" +"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 "" +"Єдиним обмеженням, яке накладають на оболонку входу є те, що назва команди " +"має бути частиною списку у <_:filename-1/>, якщо команду не викликано від " +"імені надкористувача. Надкористувач може додавати будь-яке значення. " +"Власники облікових записів із обмеженою оболонкою для входу не може " +"змінювати власну оболонку. З цієї причини не варто додавати <_:filename-2/> " +"у <_:filename-3/>, оскільки випадкова зміна обмеженої командної оболонки " +"призведе до повної заборони для користувача змінювати оболонку входу та " +"початкову." + #. (itstool) path: listitem/para -#: chsh.1.xml.out:155 +#: chsh.1.xml.out:174 msgid "List of valid login shells." msgstr "Список чинних оболонок входу." +#. (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 "Список чинних оболонок входу." + +#. (itstool) path: listitem/para +#: chsh.1.xml.out:183 +#, fuzzy +#| msgid "" +#| "The following configuration variables in <_:filename-1/> change the " +#| "behavior of this tool:" +msgid "Default configuration file if <_:filename-1/> does not exist." +msgstr "" +"Вказані нижче змінні налаштувань у <_:filename-1/> змінюють поведінку цього " +"інструмента:" + +#. (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 "File Formats and Configuration Files" +msgid "Directory for additional user defined configuration files." +msgstr "Формати файлів і файли налаштувань" + #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command @@ -2136,7 +2385,7 @@ msgid "check and enforce password expiration policy" msgstr "перевірка і встановлення правил застарівання паролів" #. (itstool) path: arg/replaceable -#: expiry.1.xml.out:52 gpasswd.1.xml.out:61 +#: expiry.1.xml.out:52 gpasswd.1.xml.out:63 msgid "option" msgstr "параметр" @@ -2176,7 +2425,7 @@ msgstr "" #. (itstool) path: author/contrib #: faillog.5.xml.out:17 faillog.8.xml.out:17 login.1.xml.out:50 -#: passwd.1.xml.out:24 passwd.5.xml.out:17 porttime.5.xml.out:17 +#: 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 "Створення, 1989" @@ -2197,7 +2446,7 @@ 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:104 passwd.5.xml.out:35 +#: 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 msgid "File Formats and Configuration Files" msgstr "Формати файлів і файли налаштувань" @@ -2283,14 +2532,14 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: faillog.8.xml.out:72 faillog.8.xml.out:215 gpasswd.1.xml.out:124 -#: groupmems.8.xml.out:83 groupmod.8.xml.out:73 passwd.1.xml.out:157 +#: 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 msgid "-a" msgstr "-a" #. (itstool) path: term/option -#: faillog.8.xml.out:72 passwd.1.xml.out:157 +#: faillog.8.xml.out:72 passwd.1.xml.out:153 msgid "--all" msgstr "--all" @@ -2528,8 +2777,8 @@ msgstr "" #: login.1.xml.out:108 login.1.xml.out:112 login.1.xml.out:119 #: login.1.xml.out:171 login.1.xml.out:177 login.1.xml.out:230 #: login.1.xml.out:238 login.1.xml.out:247 login.1.xml.out:253 -#: login.1.xml.out:259 login.access.5.xml.out:112 login.defs.5.xml.out:343 -#: login.defs.5.xml.out:518 login.defs.5.xml.out:530 newgrp.1.xml.out:133 +#: login.1.xml.out:259 login.access.5.xml.out:112 login.defs.5.xml.out:356 +#: login.defs.5.xml.out:537 login.defs.5.xml.out:549 newgrp.1.xml.out:133 #: nologin.8.xml.out:60 passwd.5.xml.out:125 passwd.5.xml.out:132 #: passwd.5.xml.out:179 porttime.5.xml.out:121 shadow.5.xml.out:265 #: sg.1.xml.out:122 su.1.xml.out:415 @@ -2537,28 +2786,28 @@ msgid "login" msgstr "login" #. (itstool) path: author/firstname -#: gpasswd.1.xml.out:20 +#: gpasswd.1.xml.out:22 msgid "Rafal" msgstr "Rafal" #. (itstool) path: author/surname -#: gpasswd.1.xml.out:21 +#: gpasswd.1.xml.out:23 msgid "Maszkowski" msgstr "Maszkowski" #. (itstool) path: author/contrib -#: gpasswd.1.xml.out:22 login.access.5.xml.out:18 pwconv.8.xml.out:23 +#: gpasswd.1.xml.out:24 login.access.5.xml.out:18 pwconv.8.xml.out:23 #: suauth.5.xml.out:17 msgid "Creation, 1996" msgstr "Створення, 1996" #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:47 +#: gpasswd.1.xml.out:49 msgid "administer <_:filename-1/>" msgstr "адміністрування <_:filename-1/>" #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:50 +#: gpasswd.1.xml.out:52 msgid "administer <_:filename-1/> and <_:filename-2/>" msgstr "адміністрування <_:filename-1/> і <_:filename-2/>" @@ -2566,9 +2815,9 @@ msgstr "адміністрування <_:filename-1/> і <_:filename-2/>" #. (itstool) path: para/replaceable #. (itstool) path: citerefentry/refentrytitle #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:64 gpasswd.1.xml.out:89 gpasswd.1.xml.out:129 -#: gpasswd.1.xml.out:142 gpasswd.1.xml.out:177 gpasswd.1.xml.out:181 -#: gpasswd.1.xml.out:193 gpasswd.1.xml.out:197 gpasswd.1.xml.out:292 +#: gpasswd.1.xml.out:66 gpasswd.1.xml.out:91 gpasswd.1.xml.out:131 +#: gpasswd.1.xml.out:144 gpasswd.1.xml.out:179 gpasswd.1.xml.out:183 +#: gpasswd.1.xml.out:195 gpasswd.1.xml.out:199 gpasswd.1.xml.out:294 #: grpck.8.xml.out:49 grpck.8.xml.out:188 grpck.8.xml.out:280 #: gshadow.5.xml.out:156 limits.5.xml.out:138 newgrp.1.xml.out:48 #: newgrp.1.xml.out:145 pwck.8.xml.out:336 pwconv.8.xml.out:114 @@ -2577,17 +2826,17 @@ msgid "group" msgstr "група" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:73 +#: gpasswd.1.xml.out:75 msgid ", and <_:filename-1/>" msgstr " і <_:filename-1/>" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:76 +#: gpasswd.1.xml.out:78 msgid "administrators," msgstr "адміністраторів," #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:71 +#: gpasswd.1.xml.out:73 msgid "" "The <_:command-1/> command is used to administer <_:filename-2/><_:phrase-3/" ">. Every group can have <_:phrase-4/> members and a password." @@ -2598,12 +2847,12 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: gpasswd.1.xml.out:80 gpasswd.1.xml.out:112 gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:82 gpasswd.1.xml.out:114 gpasswd.1.xml.out:207 msgid "-A" msgstr "-A" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:79 +#: gpasswd.1.xml.out:81 msgid "" "System administrators can use the <_:option-1/> option to define group " "administrator(s) and the <_:option-2/> option to define members. They have " @@ -2614,17 +2863,17 @@ msgstr "" "учасників. Вони мають усі права адміністраторів і учасників груп." #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:86 +#: gpasswd.1.xml.out:88 msgid "a group administrator" msgstr "адміністратор групи" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:87 +#: gpasswd.1.xml.out:89 msgid "a system administrator" msgstr "адміністратор системи" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:84 +#: gpasswd.1.xml.out:86 msgid "" "<_:command-1/> called by <_:phrase-2/> <_:phrase-3/> with a group name only " "prompts for the new password of the <_:replaceable-4/>." @@ -2638,8 +2887,8 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: gpasswd.1.xml.out:93 gpasswd.1.xml.out:180 gpasswd.1.xml.out:196 -#: gpasswd.1.xml.out:277 groups.1.xml.out:71 groups.1.xml.out:92 +#: gpasswd.1.xml.out:95 gpasswd.1.xml.out:182 gpasswd.1.xml.out:198 +#: gpasswd.1.xml.out:279 groups.1.xml.out:71 groups.1.xml.out:92 #: gshadow.5.xml.out:76 gshadow.5.xml.out:165 newgrp.1.xml.out:34 #: newgrp.1.xml.out:41 newgrp.1.xml.out:47 newgrp.1.xml.out:55 #: newgrp.1.xml.out:63 newgrp.1.xml.out:66 sg.1.xml.out:60 sg.1.xml.out:64 @@ -2648,7 +2897,7 @@ msgid "newgrp" msgstr "newgrp" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:91 +#: gpasswd.1.xml.out:93 msgid "" "If a password is set the members can still use <_:citerefentry-1/> without a " "password, and non-members must supply the password." @@ -2658,12 +2907,12 @@ msgstr "" "пароль." #. (itstool) path: refsect2/title -#: gpasswd.1.xml.out:99 +#: gpasswd.1.xml.out:101 msgid "Notes about group passwords" msgstr "Нотатки щодо паролів груп" #. (itstool) path: refsect2/para -#: gpasswd.1.xml.out:100 +#: gpasswd.1.xml.out:102 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 " @@ -2674,7 +2923,7 @@ msgstr "" "взаємодії між різними користувачами." #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:111 +#: gpasswd.1.xml.out:113 msgid "" "Except for the <_:option-1/> and <_:option-2/> options, the options cannot " "be combined." @@ -2683,51 +2932,51 @@ msgstr "" "поєднувати." #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:115 +#: gpasswd.1.xml.out:117 msgid "The options cannot be combined." msgstr "Параметри не можна поєднувати." #. (itstool) path: term/option -#: gpasswd.1.xml.out:124 groupmems.8.xml.out:83 +#: gpasswd.1.xml.out:126 groupmems.8.xml.out:83 msgid "--add" msgstr "--add" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable #. (itstool) path: arg/replaceable -#: gpasswd.1.xml.out:124 gpasswd.1.xml.out:128 gpasswd.1.xml.out:137 -#: gpasswd.1.xml.out:141 gpasswd.1.xml.out:205 gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:126 gpasswd.1.xml.out:130 gpasswd.1.xml.out:139 +#: gpasswd.1.xml.out:143 gpasswd.1.xml.out:207 gpasswd.1.xml.out:219 #: groups.1.xml.out:48 groups.1.xml.out:59 msgid "user" msgstr "користувач" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:127 +#: gpasswd.1.xml.out:129 msgid "Add the <_:replaceable-1/> to the named <_:replaceable-2/>." msgstr "Додати <_:replaceable-1/> до іменованого <_:replaceable-2/>." #. (itstool) path: term/option -#: gpasswd.1.xml.out:137 groupmems.8.xml.out:94 passwd.1.xml.out:168 +#: gpasswd.1.xml.out:139 groupmems.8.xml.out:94 passwd.1.xml.out:164 msgid "--delete" msgstr "--delete" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:140 +#: gpasswd.1.xml.out:142 msgid "Remove the <_:replaceable-1/> from the named <_:replaceable-2/>." msgstr "Вилучити <_:replaceable-1/> з іменованого <_:replaceable-2/>." #. (itstool) path: term/option -#: gpasswd.1.xml.out:158 +#: gpasswd.1.xml.out:160 msgid "-Q" msgstr "-Q" #. (itstool) path: term/option -#: gpasswd.1.xml.out:173 +#: gpasswd.1.xml.out:175 msgid "--remove-password" msgstr "--remove-password" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:176 +#: gpasswd.1.xml.out:178 msgid "" "Remove the password from the named <_:replaceable-1/>. The group password " "will be empty. Only group members will be allowed to use <_:command-2/> to " @@ -2738,12 +2987,12 @@ msgstr "" "групи <_:replaceable-3/> зможуть лише учасники групи." #. (itstool) path: term/option -#: gpasswd.1.xml.out:189 +#: gpasswd.1.xml.out:191 msgid "--restrict" msgstr "--restrict" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:192 +#: gpasswd.1.xml.out:194 msgid "" "Restrict the access to the named <_:replaceable-1/>. The group password is " "set to \"!\". Only group members with a password will be allowed to use <_:" @@ -2755,42 +3004,42 @@ msgstr "" "з паролем." #. (itstool) path: term/option -#: gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:207 msgid "--administrators" msgstr "--administrators" #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:204 gpasswd.1.xml.out:216 +#: gpasswd.1.xml.out:206 gpasswd.1.xml.out:218 msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>,..." msgstr "<_:option-1/>, <_:option-2/> <_:replaceable-3/>,..." #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:208 +#: gpasswd.1.xml.out:210 msgid "Set the list of administrative users." msgstr "Встановити список адміністративних користувачів." #. (itstool) path: term/option -#: gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:219 msgid "--members" msgstr "--members" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:220 +#: gpasswd.1.xml.out:222 msgid "Set the list of group members." msgstr "Встановити список учасників групи." #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:232 +#: gpasswd.1.xml.out:234 msgid "and <_:filename-1/> files." msgstr "і <_:filename-1/>." #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:234 +#: gpasswd.1.xml.out:236 msgid "file." msgstr "." #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:230 +#: gpasswd.1.xml.out:232 msgid "" "This tool only operates on the <_:filename-1/> <_:phrase-2/> <_:phrase-3/> " "Thus you cannot change any NIS or LDAP group. This must be performed on the " @@ -2806,11 +3055,11 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:283 groupadd.8.xml.out:357 groupdel.8.xml.out:34 +#: gpasswd.1.xml.out:285 groupadd.8.xml.out:357 groupdel.8.xml.out:34 #: groupdel.8.xml.out:41 groupdel.8.xml.out:47 groupdel.8.xml.out:57 #: groupdel.8.xml.out:66 groupdel.8.xml.out:165 groupmems.8.xml.out:221 -#: groupmod.8.xml.out:341 login.defs.5.xml.out:299 useradd.8.xml.out:893 -#: userdel.8.xml.out:328 usermod.8.xml.out:623 +#: groupmod.8.xml.out:341 login.defs.5.xml.out:312 useradd.8.xml.out:913 +#: userdel.8.xml.out:328 usermod.8.xml.out:640 msgid "groupdel" msgstr "groupdel" @@ -2820,11 +3069,11 @@ msgstr "groupdel" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:286 groupadd.8.xml.out:360 groupdel.8.xml.out:220 +#: gpasswd.1.xml.out:288 groupadd.8.xml.out:360 groupdel.8.xml.out:220 #: groupmod.8.xml.out:34 groupmod.8.xml.out:41 groupmod.8.xml.out:47 #: groupmod.8.xml.out:58 groupmod.8.xml.out:67 groupmod.8.xml.out:256 -#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:311 -#: useradd.8.xml.out:896 userdel.8.xml.out:331 usermod.8.xml.out:626 +#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:324 +#: useradd.8.xml.out:916 userdel.8.xml.out:331 usermod.8.xml.out:643 msgid "groupmod" msgstr "groupmod" @@ -2834,10 +3083,10 @@ msgstr "groupmod" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:289 grpck.8.xml.out:33 grpck.8.xml.out:40 +#: gpasswd.1.xml.out:291 grpck.8.xml.out:33 grpck.8.xml.out:40 #: grpck.8.xml.out:46 grpck.8.xml.out:60 grpck.8.xml.out:116 #: grpck.8.xml.out:128 grpck.8.xml.out:141 grpck.8.xml.out:184 -#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:318 +#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:331 #: pwck.8.xml.out:339 pwconv.8.xml.out:198 pwconv.8.xml.out:242 msgid "grpck" msgstr "grpck" @@ -2847,7 +3096,7 @@ msgstr "grpck" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:295 grpck.8.xml.out:95 grpck.8.xml.out:287 +#: gpasswd.1.xml.out:297 grpck.8.xml.out:95 grpck.8.xml.out:287 #: gshadow.5.xml.out:22 gshadow.5.xml.out:29 newgrp.1.xml.out:148 #: pwconv.8.xml.out:114 pwconv.8.xml.out:115 pwconv.8.xml.out:121 #: pwconv.8.xml.out:122 sg.1.xml.out:137 vipw.8.xml.out:211 @@ -2855,12 +3104,12 @@ msgid "gshadow" msgstr "gshadow" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:293 newgrp.1.xml.out:146 sg.1.xml.out:135 +#: gpasswd.1.xml.out:295 newgrp.1.xml.out:146 sg.1.xml.out:135 msgid ", <_:citerefentry-1/>" msgstr ", <_:citerefentry-1/>" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:275 newgrp.1.xml.out:128 sg.1.xml.out:117 +#: gpasswd.1.xml.out:277 newgrp.1.xml.out:128 sg.1.xml.out:117 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/><_:phrase-7/>." @@ -2909,8 +3158,8 @@ msgstr "Довжина назв груп не може перевищувати #: groupadd.8.xml.out:94 groupadd.8.xml.out:95 groupadd.8.xml.out:102 #: groupadd.8.xml.out:236 groupmems.8.xml.out:110 groupmod.8.xml.out:82 #: groupmod.8.xml.out:136 groupmod.8.xml.out:201 useradd.8.xml.out:96 -#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:391 -#: useradd.8.xml.out:396 useradd.8.xml.out:557 useradd.8.xml.out:639 +#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:393 +#: useradd.8.xml.out:398 useradd.8.xml.out:559 useradd.8.xml.out:659 #: usermod.8.xml.out:174 vipw.8.xml.out:90 msgid "-g" msgstr "-g" @@ -2930,7 +3179,7 @@ msgstr "" #. (itstool) path: term/option #: groupadd.8.xml.out:102 groupmod.8.xml.out:82 useradd.8.xml.out:230 -#: useradd.8.xml.out:639 usermod.8.xml.out:174 +#: useradd.8.xml.out:659 usermod.8.xml.out:174 msgid "--gid" msgstr "--gid" @@ -2939,8 +3188,8 @@ msgstr "--gid" #. (itstool) path: para/option #: groupadd.8.xml.out:102 groupadd.8.xml.out:105 groupadd.8.xml.out:151 #: groupmod.8.xml.out:73 groupmod.8.xml.out:82 groupmod.8.xml.out:87 -#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:300 -#: useradd.8.xml.out:469 +#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:302 +#: useradd.8.xml.out:471 msgid "GID" msgstr "GID" @@ -2973,36 +3222,36 @@ msgid "GID_MAX" msgstr "МАКСИМАЛЬНИЙ_GID" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:111 useradd.8.xml.out:541 +#: groupadd.8.xml.out:111 useradd.8.xml.out:543 msgid "See also the <_:option-1/> option and the <_:option-2/> description." msgstr "Див. також описи параметрів <_:option-1/> і <_:option-2/>." #. (itstool) path: term/option #. (itstool) path: para/option #: groupadd.8.xml.out:125 groupadd.8.xml.out:131 groupadd.8.xml.out:134 -#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:303 -#: useradd.8.xml.out:314 useradd.8.xml.out:317 useradd.8.xml.out:319 -#: useradd.8.xml.out:320 +#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:305 +#: useradd.8.xml.out:316 useradd.8.xml.out:319 useradd.8.xml.out:321 +#: useradd.8.xml.out:322 msgid "-K" msgstr "-K" #. (itstool) path: term/option -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "--key" msgstr "--key" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "KEY" msgstr "КЛЮЧ" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "VALUE" msgstr "ЗНАЧЕННЯ" #. (itstool) path: varlistentry/term -#: groupadd.8.xml.out:124 useradd.8.xml.out:302 +#: groupadd.8.xml.out:124 useradd.8.xml.out:304 msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>=<_:replaceable-4/>" msgstr "<_:option-1/>, <_:option-2/> <_:replaceable-3/>=<_:replaceable-4/>" @@ -3016,12 +3265,12 @@ msgstr "" "іншими). Може бути вказано декілька параметрів <_:option-2/>." #. (itstool) path: para/replaceable -#: groupadd.8.xml.out:134 useradd.8.xml.out:320 +#: groupadd.8.xml.out:134 useradd.8.xml.out:322 msgid "100" msgstr "100" #. (itstool) path: para/replaceable -#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:321 +#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:323 msgid "499" msgstr "499" @@ -3037,7 +3286,7 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: term/replaceable #: groupadd.8.xml.out:138 groupadd.8.xml.out:333 groupdel.8.xml.out:192 -#: groupmod.8.xml.out:295 useradd.8.xml.out:853 userdel.8.xml.out:265 +#: groupmod.8.xml.out:295 useradd.8.xml.out:873 userdel.8.xml.out:265 msgid "10" msgstr "10" @@ -3051,7 +3300,7 @@ msgstr "" "replaceable-4/>=<_:replaceable-5/> ще не працює." #. (itstool) path: term/option -#: groupadd.8.xml.out:145 groupmod.8.xml.out:132 useradd.8.xml.out:405 +#: groupadd.8.xml.out:145 groupmod.8.xml.out:132 useradd.8.xml.out:407 #: usermod.8.xml.out:271 msgid "--non-unique" msgstr "--non-unique" @@ -3074,19 +3323,19 @@ msgstr "" #: groupadd.8.xml.out:158 groupmems.8.xml.out:55 groupmems.8.xml.out:130 #: groupmod.8.xml.out:143 login.1.xml.out:80 login.1.xml.out:88 #: login.1.xml.out:95 login.1.xml.out:212 su.1.xml.out:207 -#: useradd.8.xml.out:425 usermod.8.xml.out:237 usermod.8.xml.out:290 +#: useradd.8.xml.out:427 usermod.8.xml.out:237 usermod.8.xml.out:290 #: usermod.8.xml.out:411 vipw.8.xml.out:102 msgid "-p" msgstr "-p" #. (itstool) path: term/option -#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:425 +#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:427 #: usermod.8.xml.out:290 msgid "--password" msgstr "--password" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:425 +#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:427 #: usermod.8.xml.out:290 msgid "PASSWORD" msgstr "ПАРОЛЬ" @@ -3095,8 +3344,8 @@ msgstr "ПАРОЛЬ" #: groupadd.8.xml.out:163 groupmod.8.xml.out:148 gshadow.5.xml.out:62 #: gshadow.5.xml.out:68 passwd.5.xml.out:103 passwd.5.xml.out:109 #: passwd.5.xml.out:170 shadow.5.xml.out:88 shadow.5.xml.out:94 -#: useradd.8.xml.out:430 useradd.8.xml.out:887 usermod.8.xml.out:295 -#: usermod.8.xml.out:614 +#: useradd.8.xml.out:432 useradd.8.xml.out:907 usermod.8.xml.out:295 +#: usermod.8.xml.out:631 msgid "crypt" msgstr "crypt" @@ -3106,11 +3355,11 @@ msgstr "crypt" #: groupadd.8.xml.out:164 groupadd.8.xml.out:315 groupmod.8.xml.out:148 #: groupmod.8.xml.out:271 groups.1.xml.out:68 groups.1.xml.out:104 #: grpck.8.xml.out:255 gshadow.5.xml.out:63 gshadow.5.xml.out:69 -#: passwd.1.xml.out:443 passwd.5.xml.out:104 passwd.5.xml.out:110 +#: passwd.1.xml.out:465 passwd.5.xml.out:104 passwd.5.xml.out:110 #: passwd.5.xml.out:170 passwd.5.xml.out:176 pwck.8.xml.out:305 #: shadow.3.xml.out:34 shadow.3.xml.out:217 shadow.5.xml.out:89 -#: shadow.5.xml.out:95 useradd.8.xml.out:431 useradd.8.xml.out:829 -#: useradd.8.xml.out:887 usermod.8.xml.out:296 usermod.8.xml.out:614 +#: shadow.5.xml.out:95 useradd.8.xml.out:433 useradd.8.xml.out:849 +#: useradd.8.xml.out:907 usermod.8.xml.out:296 usermod.8.xml.out:631 msgid "3" msgstr "3" @@ -3136,7 +3385,7 @@ msgstr "" "оклику." #. (itstool) path: para/emphasis -#: groupadd.8.xml.out:173 groupmod.8.xml.out:152 useradd.8.xml.out:444 +#: groupadd.8.xml.out:173 groupmod.8.xml.out:152 useradd.8.xml.out:446 #: userdel.8.xml.out:93 usermod.8.xml.out:299 msgid "Note:" msgstr "Зауваження:" @@ -3152,7 +3401,7 @@ msgstr "" "доступ до списку процесів." #. (itstool) path: listitem/para -#: groupadd.8.xml.out:177 groupmod.8.xml.out:156 useradd.8.xml.out:448 +#: groupadd.8.xml.out:177 groupmod.8.xml.out:156 useradd.8.xml.out:450 #: usermod.8.xml.out:309 msgid "" "You should make sure the password respects the system's password policy." @@ -3161,7 +3410,7 @@ msgstr "" "системи." #. (itstool) path: term/option -#: groupadd.8.xml.out:185 newusers.8.xml.out:287 useradd.8.xml.out:456 +#: groupadd.8.xml.out:185 newusers.8.xml.out:289 useradd.8.xml.out:458 msgid "--system" msgstr "--system" @@ -3191,49 +3440,11 @@ msgstr "" "option-1/>-<_:option-2/> range, defined in <_:filename-3/>, замість " "діапазону <_:option-4/>-<_:option-5/>." -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -msgid "-P" -msgstr "-P" - -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -msgid "--prefix" -msgstr "--prefix" - -#. (itstool) path: term/replaceable -#. (itstool) path: para/replaceable -#: groupadd.8.xml.out:214 groupadd.8.xml.out:219 groupdel.8.xml.out:102 -#: groupdel.8.xml.out:106 groupdel.8.xml.out:108 groupmod.8.xml.out:177 -#: groupmod.8.xml.out:181 groupmod.8.xml.out:183 useradd.8.xml.out:502 -#: useradd.8.xml.out:507 userdel.8.xml.out:136 userdel.8.xml.out:140 -#: userdel.8.xml.out:142 usermod.8.xml.out:341 usermod.8.xml.out:346 -msgid "PREFIX_DIR" -msgstr "КАТАЛОГ_ПРЕФІКСА" - -#. (itstool) path: listitem/para -#: groupadd.8.xml.out:217 useradd.8.xml.out:505 -msgid "" -"Apply changes to configuration files under the root filesystem found under " -"the directory <_:replaceable-1/>. 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 "" -"Застосувати зміни до файлів налаштувань у кореневій файловій системі з " -"каталогу <_:replaceable-1/>. Використання цього параметра не змінює " -"кореневої теки. Параметр призначено лише для приготування цілі для " -"компіляції коду для іншої операційної системи. Обмеження: не буде виконано " -"перевірку користувачів/груп NIS і LDAP. При розпізнаванні у PAM буде " -"використано файли основної системи. Підтримки SELINUX не передбачено." - #. (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:397 -#: useradd.8.xml.out:549 useradd.8.xml.out:558 usermod.8.xml.out:238 +#: 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 msgid "-U" msgstr "-U" @@ -3251,21 +3462,21 @@ msgstr "Список імен користувачів, яких слід дод #. (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:386 useradd.8.xml.out:397 useradd.8.xml.out:558 +#: useradd.8.xml.out:388 useradd.8.xml.out:399 useradd.8.xml.out:560 msgid "-N" msgstr "-N" #. (itstool) path: para/option #. (itstool) path: para/phrase -#: groupadd.8.xml.out:238 groupmod.8.xml.out:203 login.defs.5.xml.out:448 -#: useradd.8.xml.out:97 useradd.8.xml.out:240 useradd.8.xml.out:398 -#: useradd.8.xml.out:559 userdel.8.xml.out:86 userdel.8.xml.out:296 +#: 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 "USERGROUPS_ENAB" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:235 groupmod.8.xml.out:200 useradd.8.xml.out:395 -#: useradd.8.xml.out:556 +#: groupadd.8.xml.out:235 groupmod.8.xml.out:200 useradd.8.xml.out:397 +#: useradd.8.xml.out:558 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 <_:" @@ -3293,13 +3504,13 @@ msgstr "" "LDAP, <_:command-1/> відмовить у запиті щодо створення групи." #. (itstool) path: listitem/para -#: groupadd.8.xml.out:317 passwd.1.xml.out:463 useradd.8.xml.out:831 +#: groupadd.8.xml.out:317 passwd.1.xml.out:485 useradd.8.xml.out:851 msgid "invalid argument to option" msgstr "некоректний аргумент параметра" #. (itstool) path: term/replaceable #: groupadd.8.xml.out:321 groupmod.8.xml.out:277 grpck.8.xml.out:261 -#: passwd.1.xml.out:449 pwck.8.xml.out:311 useradd.8.xml.out:835 +#: passwd.1.xml.out:471 pwck.8.xml.out:311 useradd.8.xml.out:855 msgid "4" msgstr "4" @@ -3309,7 +3520,7 @@ msgid "GID is already used (when called without <_:option-1/>)" msgstr "GID вже використано (якщо викликано без <_:option-1/>)" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:847 +#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:867 msgid "9" msgstr "9" @@ -3319,7 +3530,7 @@ msgid "group name is already used" msgstr "назву групи вже використано" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:335 groupdel.8.xml.out:194 useradd.8.xml.out:855 +#: 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 "не вдалося оновити файл груп" @@ -3331,11 +3542,11 @@ msgstr "не вдалося оновити файл груп" #. (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:480 useradd.8.xml.out:913 +#: 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:643 +#: userdel.8.xml.out:298 userdel.8.xml.out:300 usermod.8.xml.out:660 msgid "userdel" msgstr "userdel" @@ -3346,11 +3557,11 @@ msgstr "userdel" #. (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:490 passwd.1.xml.out:488 -#: pwck.8.xml.out:140 pwck.8.xml.out:348 useradd.8.xml.out:916 +#: 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:522 +#: usermod.8.xml.out:263 usermod.8.xml.out:539 msgid "usermod" msgstr "usermod" @@ -3380,8 +3591,8 @@ msgstr "вилучення групи" #: 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:392 -#: useradd.8.xml.out:639 useradd.8.xml.out:648 usermod.8.xml.out:174 +#: 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 "GROUP" @@ -3439,13 +3650,13 @@ msgstr "" "щоб не лишилося жодних файлів, які належать цій групі." #. (itstool) path: term/replaceable -#: groupdel.8.xml.out:180 groupmod.8.xml.out:283 passwd.1.xml.out:461 -#: pwck.8.xml.out:323 useradd.8.xml.out:841 userdel.8.xml.out:253 +#: 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:843 +#: groupdel.8.xml.out:182 useradd.8.xml.out:863 msgid "specified group doesn't exist" msgstr "вказаної групи не існує" @@ -3493,7 +3704,7 @@ msgstr "Створення, 2000" #: 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:305 +#: login.defs.5.xml.out:318 msgid "groupmems" msgstr "groupmems" @@ -3632,8 +3843,12 @@ msgstr "" #. (itstool) path: refsect1/programlisting #: groupmems.8.xml.out:167 +#, fuzzy +#| msgid "" +#| "$ groupadd -r groups $ chmod 2710 groupmems $ chown root.groups groupmems " +#| "$ groupmems -g groups -a gk4" msgid "" -"$ groupadd -r groups $ chmod 2710 groupmems $ chown root.groups groupmems $ " +"$ groupadd -r groups $ chmod 2710 groupmems $ chown root:groups groupmems $ " "groupmems -g groups -a gk4" msgstr "" "$ groupadd -r groups $ chmod 2710 groupmems $ chown root.groups groupmems $ " @@ -3730,7 +3945,7 @@ msgstr "" "з <_:filename-5/> виконано не буде." #. (itstool) path: term/option -#: groupmod.8.xml.out:121 passwd.1.xml.out:246 +#: groupmod.8.xml.out:121 passwd.1.xml.out:242 msgid "-n" msgstr "-n" @@ -3812,7 +4027,7 @@ msgid "E_CLEANUP_SERVICE: can't setup cleanup service" msgstr "E_CLEANUP_SERVICE: не вдалося налаштувати службу чищення" #. (itstool) path: term/replaceable -#: groupmod.8.xml.out:307 useradd.8.xml.out:859 userdel.8.xml.out:271 +#: groupmod.8.xml.out:307 useradd.8.xml.out:879 userdel.8.xml.out:271 msgid "12" msgstr "12" @@ -4004,7 +4219,7 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: arg/replaceable #. (itstool) path: para/replaceable -#: grpck.8.xml.out:113 newusers.8.xml.out:67 newusers.8.xml.out:75 +#: grpck.8.xml.out:113 newusers.8.xml.out:69 newusers.8.xml.out:77 msgid "file" msgstr "файл" @@ -4036,7 +4251,7 @@ msgstr "--read-only" #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: grpck.8.xml.out:143 login.defs.5.xml.out:134 login.defs.5.xml.out:136 +#: 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 "no" @@ -4064,8 +4279,8 @@ msgstr "Упорядкувати записи у <_:filename-1/> <_:phrase-2/> #. (itstool) path: term/option #. (itstool) path: para/option -#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:161 -#: passwd.1.xml.out:291 +#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:157 +#: passwd.1.xml.out:302 msgid "-S" msgstr "-S" @@ -4292,7 +4507,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: gshadow.5.xml.out:162 login.defs.5.xml.out:324 pwconv.8.xml.out:48 +#: 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" @@ -4306,7 +4521,7 @@ msgstr "grpconv" #. (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:337 +#: login.defs.5.xml.out:350 msgid "lastlog" msgstr "lastlog" @@ -4353,7 +4568,7 @@ msgstr "" ">." #. (itstool) path: term/option -#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:592 +#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:612 #: usermod.8.xml.out:89 msgid "-b" msgstr "-b" @@ -4707,7 +4922,7 @@ msgstr "username L2D2048N5 username L2 D2048 N5" #. (itstool) path: para/command #: limits.5.xml.out:122 login.1.xml.out:83 login.1.xml.out:91 #: login.1.xml.out:197 su.1.xml.out:70 su.1.xml.out:82 su.1.xml.out:95 -#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:775 +#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:795 msgid "username" msgstr "користувач" @@ -5207,8 +5422,8 @@ msgstr "sh" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.1.xml.out:386 login.defs.5.xml.out:436 login.defs.5.xml.out:520 -#: login.defs.5.xml.out:536 newgrp.1.xml.out:136 passwd.5.xml.out:197 +#: login.1.xml.out:386 login.defs.5.xml.out:455 login.defs.5.xml.out:539 +#: login.defs.5.xml.out:555 newgrp.1.xml.out:136 passwd.5.xml.out:197 #: shadow.5.xml.out:283 sg.1.xml.out:128 su.1.xml.out:50 su.1.xml.out:57 #: su.1.xml.out:62 su.1.xml.out:81 su.1.xml.out:83 su.1.xml.out:121 #: su.1.xml.out:201 su.1.xml.out:239 su.1.xml.out:308 su.1.xml.out:368 @@ -5385,12 +5600,12 @@ msgid "<_:citerefentry-1/>." msgstr "<_:citerefentry-1/>." #. (itstool) path: refnamediv/refpurpose -#: login.defs.5.xml.out:110 +#: login.defs.5.xml.out:112 msgid "shadow password suite configuration" msgstr "Налаштування комплексу для роботи з прихованими паролями" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:115 +#: login.defs.5.xml.out:117 msgid "" "The <_:filename-1/> file defines the site-specific configuration for the " "shadow password suite. This file is required. Absence of this file will not " @@ -5402,7 +5617,7 @@ msgstr "" "наслідків." #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:122 +#: login.defs.5.xml.out:124 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 " @@ -5418,18 +5633,18 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:133 useradd.8.xml.out:242 useradd.8.xml.out:380 +#: login.defs.5.xml.out:135 useradd.8.xml.out:242 useradd.8.xml.out:382 #: userdel.8.xml.out:87 userdel.8.xml.out:297 msgid "yes" msgstr "так" #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:140 +#: login.defs.5.xml.out:142 msgid "0x" msgstr "0x" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:130 +#: login.defs.5.xml.out:132 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 " @@ -5452,32 +5667,32 @@ msgstr "" "з подвійною точністю визначається характеристиками системи." #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:145 +#: login.defs.5.xml.out:147 msgid "The following configuration items are provided:" msgstr "У ваше розпорядження надано такі пункти налаштувань:" #. (itstool) path: para/option #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:193 pwconv.8.xml.out:146 useradd.8.xml.out:309 -#: useradd.8.xml.out:314 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:146 useradd.8.xml.out:311 +#: useradd.8.xml.out:316 msgid "PASS_MAX_DAYS" msgstr "PASS_MAX_DAYS" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:193 pwconv.8.xml.out:145 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:145 msgid "PASS_MIN_DAYS" msgstr "PASS_MIN_DAYS" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:194 pwconv.8.xml.out:147 +#: login.defs.5.xml.out:197 pwconv.8.xml.out:147 msgid "PASS_WARN_AGE" msgstr "PASS_WARN_AGE" #. (itstool) path: variablelist/para -#: login.defs.5.xml.out:192 +#: login.defs.5.xml.out:195 msgid "" "<_:option-1/>, <_:option-2/> and <_:option-3/> are only used at the time of " "account creation. Any changes to these settings won't affect existing " @@ -5488,12 +5703,12 @@ msgstr "" "наявні облікові записи." #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:225 +#: login.defs.5.xml.out:229 msgid "CROSS REFERENCES" msgstr "ПЕРЕХРЕСНІ ПОСИЛАННЯ" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:226 +#: login.defs.5.xml.out:230 msgid "" "The following cross references show which programs in the shadow password " "suite use which parameters." @@ -5505,57 +5720,75 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: phrase/option #. (itstool) path: para/option -#: login.defs.5.xml.out:235 login.defs.5.xml.out:423 login.defs.5.xml.out:431 -#: login.defs.5.xml.out:503 pwck.8.xml.out:75 pwck.8.xml.out:216 +#: login.defs.5.xml.out:239 login.defs.5.xml.out:442 login.defs.5.xml.out:450 +#: login.defs.5.xml.out:522 pwck.8.xml.out:75 pwck.8.xml.out:216 #: pwck.8.xml.out:232 pwconv.8.xml.out:89 pwconv.8.xml.out:91 #: pwconv.8.xml.out:94 pwconv.8.xml.out:105 pwconv.8.xml.out:107 msgid "USE_TCB" msgstr "USE_TCB" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:242 +#: login.defs.5.xml.out:246 msgid "CHFN_AUTH" msgstr "CHFN_AUTH" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:244 login.defs.5.xml.out:359 +#: login.defs.5.xml.out:248 login.defs.5.xml.out:372 msgid "LOGIN_STRING" msgstr "LOGIN_STRING" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:241 +#: login.defs.5.xml.out:245 msgid "<_:phrase-1/> CHFN_RESTRICT <_:phrase-2/>" msgstr "<_:phrase-1/> CHFN_RESTRICT <_:phrase-2/>" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:253 login.defs.5.xml.out:264 login.defs.5.xml.out:284 -#: login.defs.5.xml.out:388 login.defs.5.xml.out:404 +#: login.defs.5.xml.out:256 login.defs.5.xml.out:269 login.defs.5.xml.out:293 +#: login.defs.5.xml.out:396 login.defs.5.xml.out:418 +#, fuzzy +#| msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +msgid "BCRYPT_MAX_ROUNDS BCRYPT_MIN_ROUNDS" +msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" + +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:259 login.defs.5.xml.out:273 login.defs.5.xml.out:296 +#: login.defs.5.xml.out:403 login.defs.5.xml.out:422 msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:261 login.defs.5.xml.out:275 login.defs.5.xml.out:298 +#: login.defs.5.xml.out:409 login.defs.5.xml.out:424 +msgid "YESCRYPT_COST_FACTOR" +msgstr "" + #. (itstool) path: listitem/para -#: login.defs.5.xml.out:251 login.defs.5.xml.out:282 -msgid "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:phrase-1/>" +#: login.defs.5.xml.out:255 login.defs.5.xml.out:292 +#, fuzzy +#| msgid "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:phrase-1/>" +msgid "" +"<_:phrase-1/> ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:" +"phrase-2/> <_:phrase-3/>" msgstr "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:phrase-1/>" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:262 +#: login.defs.5.xml.out:271 msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB" msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:272 +#: login.defs.5.xml.out:282 msgid "CHSH_AUTH LOGIN_STRING" msgstr "CHSH_AUTH LOGIN_STRING" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:292 +#: login.defs.5.xml.out:305 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" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:301 login.defs.5.xml.out:307 login.defs.5.xml.out:313 -#: login.defs.5.xml.out:320 login.defs.5.xml.out:326 login.defs.5.xml.out:332 +#: login.defs.5.xml.out:314 login.defs.5.xml.out:320 login.defs.5.xml.out:326 +#: login.defs.5.xml.out:333 login.defs.5.xml.out:339 login.defs.5.xml.out:345 msgid "MAX_MEMBERS_PER_GROUP" msgstr "MAX_MEMBERS_PER_GROUP" @@ -5563,49 +5796,49 @@ msgstr "MAX_MEMBERS_PER_GROUP" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:330 pwconv.8.xml.out:49 pwconv.8.xml.out:73 +#: login.defs.5.xml.out:343 pwconv.8.xml.out:49 pwconv.8.xml.out:73 #: pwconv.8.xml.out:119 pwconv.8.xml.out:153 pwconv.8.xml.out:167 #: pwconv.8.xml.out:208 msgid "grpunconv" msgstr "grpunconv" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:339 +#: login.defs.5.xml.out:352 msgid "LASTLOG_UID_MAX" msgstr "LASTLOG_UID_MAX" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:346 login.defs.5.xml.out:439 +#: login.defs.5.xml.out:359 login.defs.5.xml.out:458 msgid "CONSOLE" msgstr "CONSOLE" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:348 +#: login.defs.5.xml.out:361 msgid "ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE" msgstr "ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:351 +#: login.defs.5.xml.out:364 msgid "FAILLOG_ENAB" msgstr "FAILLOG_ENAB" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:353 +#: login.defs.5.xml.out:366 msgid "FTMP_FILE" msgstr "FTMP_FILE" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:355 +#: login.defs.5.xml.out:368 msgid "ISSUE_FILE" msgstr "ISSUE_FILE" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:357 +#: login.defs.5.xml.out:370 msgid "LASTLOG_ENAB LASTLOG_UID_MAX" msgstr "LASTLOG_ENAB LASTLOG_UID_MAX" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:361 +#: login.defs.5.xml.out:374 msgid "" "MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE " "PORTTIME_CHECKS_ENAB QUOTAS_ENAB" @@ -5614,12 +5847,12 @@ msgstr "" "PORTTIME_CHECKS_ENAB QUOTAS_ENAB" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:365 +#: login.defs.5.xml.out:378 msgid "ULIMIT UMASK" msgstr "ULIMIT UMASK" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:345 +#: login.defs.5.xml.out:358 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ERASECHAR FAIL_DELAY " "<_:phrase-3/> FAKE_SHELL <_:phrase-4/> HUSHLOGIN_FILE <_:phrase-5/> KILLCHAR " @@ -5634,22 +5867,30 @@ msgstr "" "USERGROUPS_ENAB" #. (itstool) path: varlistentry/term -#: login.defs.5.xml.out:372 +#: login.defs.5.xml.out:385 msgid "newgrp / sg" msgstr "newgrp / sg" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:374 +#: login.defs.5.xml.out:387 msgid "SYSLOG_SG_ENAB" msgstr "SYSLOG_SG_ENAB" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:382 +#: login.defs.5.xml.out:395 +#, fuzzy +#| 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 <_:phrase-1/> " +#| "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" 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 <_:phrase-1/> " -"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-1/> ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP " +"MD5_CRYPT_ENAB HOME_MODE PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:" +"phrase-2/> 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-3/>" 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 <_:phrase-1/> " @@ -5657,21 +5898,26 @@ msgstr "" "SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:401 +#: login.defs.5.xml.out:417 +#, fuzzy +#| msgid "" +#| "ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " +#| "PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-1/>" msgid "" -"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " -"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-1/>" +"<_:phrase-1/> ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB " +"PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-2/> " +"<_:phrase-3/>" msgstr "" "ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " "PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-1/>" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:414 +#: login.defs.5.xml.out:433 msgid "TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" msgstr "TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:412 login.defs.5.xml.out:421 +#: login.defs.5.xml.out:431 login.defs.5.xml.out:440 msgid "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:phrase-1/>" msgstr "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:phrase-1/>" @@ -5681,7 +5927,7 @@ msgstr "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:phrase-1/>" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:419 passwd.5.xml.out:188 pwconv.8.xml.out:39 +#: login.defs.5.xml.out:438 passwd.5.xml.out:188 pwconv.8.xml.out:39 #: pwconv.8.xml.out:46 pwconv.8.xml.out:55 pwconv.8.xml.out:83 #: pwconv.8.xml.out:88 pwconv.8.xml.out:90 pwconv.8.xml.out:134 #: pwconv.8.xml.out:144 pwconv.8.xml.out:165 pwconv.8.xml.out:216 @@ -5694,7 +5940,7 @@ msgstr "pwconv" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:428 passwd.5.xml.out:191 pwconv.8.xml.out:47 +#: login.defs.5.xml.out:447 passwd.5.xml.out:191 pwconv.8.xml.out:47 #: pwconv.8.xml.out:61 pwconv.8.xml.out:98 pwconv.8.xml.out:104 #: pwconv.8.xml.out:109 pwconv.8.xml.out:153 pwconv.8.xml.out:157 #: pwconv.8.xml.out:166 shadow.5.xml.out:280 @@ -5702,22 +5948,22 @@ msgid "pwunconv" msgstr "pwunconv" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:441 +#: login.defs.5.xml.out:460 msgid "ENV_HZ ENVIRON_FILE" msgstr "ENV_HZ ENVIRON_FILE" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:443 +#: login.defs.5.xml.out:462 msgid "ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB" msgstr "ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:446 +#: login.defs.5.xml.out:465 msgid "SU_WHEEL_ONLY" msgstr "SU_WHEEL_ONLY" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:438 +#: login.defs.5.xml.out:457 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ENV_PATH ENV_SUPATH " "<_:phrase-3/> SULOG_FILE SU_NAME <_:phrase-4/> SYSLOG_SU_ENAB <_:phrase-5/>" @@ -5727,28 +5973,24 @@ msgstr "" #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:453 passwd.5.xml.out:200 shadow.5.xml.out:286 +#: login.defs.5.xml.out:472 passwd.5.xml.out:200 shadow.5.xml.out:286 msgid "sulogin" msgstr "sulogin" -#. (itstool) path: para/phrase -#. (itstool) path: para/option -#: login.defs.5.xml.out:457 su.1.xml.out:278 -msgid "ENV_TZ" -msgstr "ENV_TZ" - #. (itstool) path: listitem/para -#: login.defs.5.xml.out:455 -msgid "ENV_HZ <_:phrase-1/>" -msgstr "ENV_HZ <_:phrase-1/>" +#: login.defs.5.xml.out:474 +#, fuzzy +#| msgid "ENV_HZ ENVIRON_FILE" +msgid "ENV_HZ ENV_TZ" +msgstr "ENV_HZ ENVIRON_FILE" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:475 +#: login.defs.5.xml.out:494 msgid "TCB_AUTH_GROUP TCB_SYMLINK USE_TCB" msgstr "TCB_AUTH_GROUP TCB_SYMLINK USE_TCB" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:464 +#: login.defs.5.xml.out:483 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 " @@ -5763,12 +6005,12 @@ msgstr "" "phrase-1/>" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:485 login.defs.5.xml.out:495 +#: login.defs.5.xml.out:504 login.defs.5.xml.out:514 msgid "TCB_SYMLINKS USE_TCB" msgstr "TCB_SYMLINKS USE_TCB" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:482 +#: login.defs.5.xml.out:501 msgid "" "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB <_:" "phrase-1/>" @@ -5777,7 +6019,7 @@ msgstr "" "phrase-1/>" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:492 +#: login.defs.5.xml.out:511 msgid "LASTLOG_UID_MAX MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <_:phrase-1/>" msgstr "LASTLOG_UID_MAX MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <_:phrase-1/>" @@ -5786,18 +6028,18 @@ msgstr "LASTLOG_UID_MAX MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <_:phrase-1/>" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:500 vipw.8.xml.out:35 vipw.8.xml.out:42 +#: login.defs.5.xml.out:519 vipw.8.xml.out:35 vipw.8.xml.out:42 #: vipw.8.xml.out:51 vipw.8.xml.out:67 vipw.8.xml.out:85 msgid "vipw" msgstr "vipw" #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:511 pwconv.8.xml.out:193 suauth.5.xml.out:179 +#: login.defs.5.xml.out:530 pwconv.8.xml.out:193 suauth.5.xml.out:179 msgid "BUGS" msgstr "ВАДИ" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:512 +#: login.defs.5.xml.out:531 msgid "" "Much of the functionality that used to be provided by the shadow password " "suite is now handled by PAM. Thus, <_:filename-1/> is no longer used by <_:" @@ -5812,12 +6054,12 @@ msgstr "" "налаштувань PAM." #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:545 +#: login.defs.5.xml.out:564 msgid "pam" msgstr "pam" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:528 +#: login.defs.5.xml.out:547 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>." @@ -5933,12 +6175,12 @@ msgid "id" msgstr "id" #. (itstool) path: refnamediv/refpurpose -#: newusers.8.xml.out:57 +#: newusers.8.xml.out:59 msgid "update and create new users in batch" msgstr "пакетне оновлення і створення облікових записів користувачів" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:74 +#: newusers.8.xml.out:76 msgid "" "The <_:command-1/> command reads a <_:replaceable-2/> (or the standard input " "by default) and uses this information to update a set of existing users or " @@ -5952,22 +6194,22 @@ msgstr "" "citerefentry-3/>). Винятки з цього правила описано нижче:" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:82 +#: newusers.8.xml.out:84 msgid "pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell" msgstr "pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:87 +#: newusers.8.xml.out:89 msgid "pw_name" msgstr "pw_name" #. (itstool) path: listitem/para -#: newusers.8.xml.out:90 +#: newusers.8.xml.out:92 msgid "This is the name of the user." msgstr "Це ім'я користувача." #. (itstool) path: listitem/para -#: newusers.8.xml.out:93 +#: newusers.8.xml.out:95 msgid "" "It can be the name of a new user or the name of an existing user (or a user " "created before by <_:command-1/>). In case of an existing user, the user's " @@ -5979,12 +6221,12 @@ msgstr "" "користувача не існуватиме, його буде створено." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:104 +#: newusers.8.xml.out:106 msgid "pw_passwd" msgstr "pw_passwd" #. (itstool) path: listitem/para -#: newusers.8.xml.out:107 +#: newusers.8.xml.out:109 msgid "" "This field will be encrypted and used as the new value of the encrypted " "password." @@ -5992,17 +6234,17 @@ msgstr "" "Це поле буде зашифровано і використано як нове значення зашифрованого пароля." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:115 +#: newusers.8.xml.out:117 msgid "pw_uid" msgstr "pw_uid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:118 +#: newusers.8.xml.out:120 msgid "This field is used to define the UID of the user." msgstr "Це поле буде використано для визначення UID користувача." #. (itstool) path: listitem/para -#: newusers.8.xml.out:121 +#: newusers.8.xml.out:123 msgid "" "If the field is empty, a new (unused) UID will be defined automatically by " "<_:command-1/>." @@ -6011,12 +6253,12 @@ msgstr "" "> автоматично." #. (itstool) path: listitem/para -#: newusers.8.xml.out:125 +#: newusers.8.xml.out:127 msgid "If this field contains a number, this number will be used as the UID." msgstr "Якщо у цьому полі міститься число, це число буде використано як UID." #. (itstool) path: listitem/para -#: newusers.8.xml.out:129 +#: newusers.8.xml.out:131 msgid "" "If this field contains the name of an existing user (or the name of a user " "created before by <_:command-1/>), the UID of the specified user will be " @@ -6027,7 +6269,7 @@ msgstr "" "використано UID вказаного користувача." #. (itstool) path: listitem/para -#: newusers.8.xml.out:135 +#: newusers.8.xml.out:137 msgid "" "If the UID of an existing user is changed, the files ownership of the user's " "file should be fixed manually." @@ -6036,19 +6278,19 @@ msgstr "" "користувача має бути виправлено вручну." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:143 +#: newusers.8.xml.out:145 msgid "pw_gid" msgstr "pw_gid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:146 +#: newusers.8.xml.out:148 msgid "This field is used to define the primary group ID for the user." msgstr "" "Це поле використовують для визначення ідентифікатора основної групи " "користувача." #. (itstool) path: listitem/para -#: newusers.8.xml.out:149 +#: newusers.8.xml.out:151 msgid "" "If this field contains the name of an existing group (or a group created " "before by <_:command-1/>), the GID of this group will be used as the primary " @@ -6059,7 +6301,7 @@ msgstr "" "ідентифікатор основної групи користувача." #. (itstool) path: listitem/para -#: newusers.8.xml.out:155 +#: newusers.8.xml.out:157 msgid "" "If this field is a number, this number will be used as the primary group ID " "of the user. If no groups exist with this GID, a new group will be created " @@ -6070,7 +6312,7 @@ msgstr "" "нову групу з цим GID і назвою, яка збігається із іменем користувача." #. (itstool) path: listitem/para -#: newusers.8.xml.out:161 +#: newusers.8.xml.out:163 msgid "" "If this field is empty, a new group will be created with the name of the " "user and a GID will be automatically defined by <_:command-1/> to be used as " @@ -6082,7 +6324,7 @@ msgstr "" "користувача і як GID для нової групи." #. (itstool) path: listitem/para -#: newusers.8.xml.out:167 +#: newusers.8.xml.out:169 msgid "" "If this field contains the name of a group which does not exist (and was not " "created before by <_:command-1/>), a new group will be created with the " @@ -6096,32 +6338,32 @@ msgstr "" "для нової групи." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:179 +#: newusers.8.xml.out:181 msgid "pw_gecos" msgstr "pw_gecos" #. (itstool) path: listitem/para -#: newusers.8.xml.out:182 +#: newusers.8.xml.out:184 msgid "This field is copied in the GECOS field of the user." msgstr "Це поле буде скопійовано до поля GECOS користувача." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:189 +#: newusers.8.xml.out:191 msgid "pw_dir" msgstr "pw_dir" #. (itstool) path: listitem/para -#: newusers.8.xml.out:192 +#: newusers.8.xml.out:194 msgid "This field is used to define the home directory of the user." msgstr "Це поле призначено для визначення домашнього каталогу користувача." #. (itstool) path: para/emphasis -#: newusers.8.xml.out:199 +#: newusers.8.xml.out:201 msgid "newusers does not create parent directories" msgstr "newusers не створює батьківських каталогів" #. (itstool) path: listitem/para -#: newusers.8.xml.out:195 +#: newusers.8.xml.out:197 msgid "" "If this field does not specify an existing directory, the specified " "directory is created, with ownership set to the user being created or " @@ -6143,7 +6385,7 @@ msgstr "" "нових користувачів." #. (itstool) path: listitem/para -#: newusers.8.xml.out:208 +#: newusers.8.xml.out:210 msgid "" "If the home directory of an existing user is changed, <_:command-1/> does " "not move or copy the content of the old directory to the new location. This " @@ -6154,12 +6396,12 @@ msgstr "" "доведеться зробити вручну." #. (itstool) path: term/emphasis -#: newusers.8.xml.out:218 +#: newusers.8.xml.out:220 msgid "pw_shell" msgstr "pw_shell" #. (itstool) path: listitem/para -#: newusers.8.xml.out:221 +#: newusers.8.xml.out:223 msgid "" "This field defines the shell of the user. No checks are performed on this " "field." @@ -6168,7 +6410,7 @@ msgstr "" "поля не виконуються." #. (itstool) path: refsect1/para -#: newusers.8.xml.out:229 +#: newusers.8.xml.out:231 msgid "" "<_:command-1/> first tries to create or change all the specified users, and " "then write these changes to the user or group databases. If an error occurs " @@ -6181,7 +6423,7 @@ msgstr "" "даних не вноситимуться." #. (itstool) path: refsect1/para -#: newusers.8.xml.out:235 +#: newusers.8.xml.out:237 msgid "" "During this first pass, users are created with a locked password (and " "passwords are not changed for the users which are not created). A second " @@ -6195,7 +6437,7 @@ msgstr "" "буде зупинено." #. (itstool) path: refsect1/para -#: newusers.8.xml.out:243 +#: newusers.8.xml.out:245 msgid "" "This command is intended to be used in a large system environment where many " "accounts are updated at a single time." @@ -6204,48 +6446,57 @@ msgstr "" "одночасно оновлюють багато облікових записів." #. (itstool) path: term/option -#: newusers.8.xml.out:257 pwck.8.xml.out:164 useradd.8.xml.out:108 +#: newusers.8.xml.out:259 pwck.8.xml.out:164 useradd.8.xml.out:108 #: usermod.8.xml.out:89 msgid "--badname" msgstr "--badname" #. (itstool) path: listitem/para -#: newusers.8.xml.out:260 pwck.8.xml.out:167 useradd.8.xml.out:111 +#: newusers.8.xml.out:262 pwck.8.xml.out:167 useradd.8.xml.out:111 #: usermod.8.xml.out:92 msgid "Allow names that do not conform to standards." msgstr "Дозволити назви, які не відповідають стандартам." #. (itstool) path: listitem/para -#: newusers.8.xml.out:290 useradd.8.xml.out:459 +#: newusers.8.xml.out:273 +msgid "" +"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc " +"support these methods." +msgstr "" +"Доступними методами є DES, MD5, NONE і SHA256 або SHA512, якщо у вашій libc " +"передбачено підтримку цих методів." + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:292 useradd.8.xml.out:461 msgid "Create a system account." msgstr "Створити загальносистемний обліковий запис." #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MIN" msgstr "SYS_UID_MIN" #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MAX" msgstr "SYS_UID_MAX" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:319 -#: useradd.8.xml.out:468 useradd.8.xml.out:538 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:321 +#: useradd.8.xml.out:470 useradd.8.xml.out:540 usermod.8.xml.out:397 msgid "UID_MIN" msgstr "UID_MIN" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:321 -#: useradd.8.xml.out:468 useradd.8.xml.out:543 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:323 +#: useradd.8.xml.out:470 useradd.8.xml.out:545 usermod.8.xml.out:397 msgid "UID_MAX" msgstr "UID_MAX" #. (itstool) path: listitem/para -#: newusers.8.xml.out:293 useradd.8.xml.out:462 +#: newusers.8.xml.out:295 useradd.8.xml.out:464 msgid "" "System users will be created with no aging information in <_:filename-1/>, " "and their numeric identifiers are chosen in the <_:option-2/>-<_:option-3/> " @@ -6258,8 +6509,47 @@ msgstr "" "не у <_:option-5/>-<_:option-6/> (та їхніх відповідників <_:option-7/> для " "створення груп)." +#. (itstool) path: listitem/para +#: newusers.8.xml.out:342 +#, 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 is 13." +msgstr "" +"Буде примусово встановлено мінімальне значення 1000 і максимальне значення " +"999999999." + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:351 +#, 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 is 5000." +msgstr "" +"Буде примусово встановлено мінімальне значення 1000 і максимальне значення " +"999999999." + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:359 +#, 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 is 5." +msgstr "" +"Буде примусово встановлено мінімальне значення 1000 і максимальне значення " +"999999999." + #. (itstool) path: refsect1/para -#: newusers.8.xml.out:349 +#: newusers.8.xml.out:370 msgid "" "The input file must be protected since it contains unencrypted passwords." msgstr "" @@ -6267,49 +6557,49 @@ msgstr "" "незашифровані паролі." #. (itstool) path: term/filename -#: newusers.8.xml.out:429 +#: newusers.8.xml.out:450 msgid "/etc/pam.d/newusers" msgstr "/etc/pam.d/newusers" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:435 useradd.8.xml.out:222 useradd.8.xml.out:481 -#: useradd.8.xml.out:785 userdel.8.xml.out:215 usermod.8.xml.out:587 +#: newusers.8.xml.out:456 useradd.8.xml.out:222 useradd.8.xml.out:483 +#: useradd.8.xml.out:805 userdel.8.xml.out:215 usermod.8.xml.out:604 msgid "/etc/subgid" msgstr "/etc/subgid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:437 useradd.8.xml.out:787 userdel.8.xml.out:217 +#: newusers.8.xml.out:458 useradd.8.xml.out:807 userdel.8.xml.out:217 msgid "Per user subordinate group IDs." msgstr "Окремі для користувачів ідентифікатори підлеглих груп." #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:441 useradd.8.xml.out:222 useradd.8.xml.out:480 -#: useradd.8.xml.out:791 userdel.8.xml.out:221 usermod.8.xml.out:593 +#: newusers.8.xml.out:462 useradd.8.xml.out:222 useradd.8.xml.out:482 +#: useradd.8.xml.out:811 userdel.8.xml.out:221 usermod.8.xml.out:610 msgid "/etc/subuid" msgstr "/etc/subuid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:443 useradd.8.xml.out:793 userdel.8.xml.out:223 +#: newusers.8.xml.out:464 useradd.8.xml.out:813 userdel.8.xml.out:223 msgid "Per user subordinate user IDs." msgstr "Окремі для користувачів ідентифікатори підлеглих користувачів." #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:460 useradd.8.xml.out:906 userdel.8.xml.out:335 -#: usermod.8.xml.out:633 +#: newusers.8.xml.out:481 useradd.8.xml.out:926 userdel.8.xml.out:335 +#: usermod.8.xml.out:650 msgid "subgid" msgstr "subgid" #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:463 useradd.8.xml.out:909 userdel.8.xml.out:338 -#: usermod.8.xml.out:636 +#: newusers.8.xml.out:484 useradd.8.xml.out:929 userdel.8.xml.out:338 +#: usermod.8.xml.out:653 msgid "subuid" msgstr "subuid" #. (itstool) path: para/phrase -#: newusers.8.xml.out:458 useradd.8.xml.out:904 userdel.8.xml.out:333 -#: usermod.8.xml.out:631 +#: newusers.8.xml.out:479 useradd.8.xml.out:924 userdel.8.xml.out:333 +#: usermod.8.xml.out:648 msgid "<_:citerefentry-1/>, <_:citerefentry-2/>," msgstr "<_:citerefentry-1/>, <_:citerefentry-2/>," @@ -6358,12 +6648,12 @@ msgid "The <_:command-1/> command appeared in BSD 4.4." msgstr "Команда <_:command-1/> з'явилася у BSD 4.4." #. (itstool) path: refnamediv/refpurpose -#: passwd.1.xml.out:48 +#: passwd.1.xml.out:50 msgid "change user password" msgstr "зміна пароля користувача" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:65 +#: passwd.1.xml.out:67 msgid "" "The <_:command-1/> command changes passwords for user accounts. A normal " "user may only change the password for their own account, while the superuser " @@ -6377,12 +6667,12 @@ msgstr "" "пов'язаного з ним пароля." #. (itstool) path: refsect2/title -#: passwd.1.xml.out:74 +#: passwd.1.xml.out:76 msgid "Password Changes" msgstr "Зміни паролів" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:75 +#: passwd.1.xml.out:77 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 " @@ -6395,7 +6685,7 @@ msgstr "" "Надкористувач може обійти цей крок, тому може змінювати забуті паролі." #. (itstool) path: refsect2/para -#: passwd.1.xml.out:83 +#: passwd.1.xml.out:85 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, " @@ -6407,7 +6697,7 @@ msgstr "" "роботу." #. (itstool) path: refsect2/para -#: passwd.1.xml.out:90 +#: passwd.1.xml.out:92 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 " @@ -6418,53 +6708,25 @@ msgstr "" "пароль було змінено." #. (itstool) path: refsect2/para -#: passwd.1.xml.out:96 +#: passwd.1.xml.out:98 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:" +"Then, the password is tested for complexity. <_:command-1/> will reject any " +"password which is not suitably complex. Care must be taken not to include " +"the system default erase or kill characters." msgstr "" -"Далі, пароль буде перевірено на складність. Загальним правилом є те, що " -"пароль має складатися з від 6 до 8 символів, включаючи один або декілька " -"символів з кожного з таких наборів:" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:104 -msgid "lower case alphabetics" -msgstr "малі літери латинської абетки" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:107 -msgid "digits 0 thru 9" -msgstr "цифри від 0 до 9" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:110 -msgid "punctuation marks" -msgstr "символи пунктуації" - -#. (itstool) path: refsect2/para -#: passwd.1.xml.out:114 -msgid "" -"Care must be taken not to include the system default erase or kill " -"characters. <_:command-1/> will reject any password which is not suitably " -"complex." -msgstr "" -"До пароля не можна включати типові символи вилучення або витирання системи. " -"<_:command-1/> не прийме пароля, який не є достатньо складним." #. (itstool) path: refsect2/title -#: passwd.1.xml.out:123 +#: passwd.1.xml.out:108 msgid "Hints for user passwords" msgstr "Підказки для паролів користувача" #. (itstool) path: para/emphasis -#: passwd.1.xml.out:127 +#: passwd.1.xml.out:112 msgid "UNIX" msgstr "UNIX" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:124 +#: passwd.1.xml.out:109 msgid "" "The security of a password depends upon the strength of the encryption " "algorithm and the size of the key space. The legacy <_:emphasis-1/> System " @@ -6479,7 +6741,7 @@ msgstr "" "пароля, яку було вибрано." #. (itstool) path: refsect2/para -#: passwd.1.xml.out:133 +#: passwd.1.xml.out:118 msgid "" "Compromises in password security normally result from careless password " "selection or handling. For this reason, you should not select a password " @@ -6495,7 +6757,19 @@ msgstr "" "вгадування пароля і компрометації захисту системи." #. (itstool) path: refsect2/para -#: passwd.1.xml.out:142 +#: passwd.1.xml.out:127 +msgid "" +"As a general guideline, passwords should be long and random. It's 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's apparent that the exponent " +"(the length) is more important than the base (the size of the character set)." +msgstr "" + +#. (itstool) path: refsect2/para +#: passwd.1.xml.out:138 msgid "" "You can find advice on how to choose a strong password on http://en." "wikipedia.org/wiki/Password_strength" @@ -6504,7 +6778,7 @@ msgstr "" "wikipedia.org/wiki/Надійність_пароля" #. (itstool) path: listitem/para -#: passwd.1.xml.out:160 +#: passwd.1.xml.out:156 msgid "" "This option can be used only with <_:option-1/> and causes show status for " "all users." @@ -6513,7 +6787,7 @@ msgstr "" "використання призведе до показу стану для усіх користувачів." #. (itstool) path: listitem/para -#: passwd.1.xml.out:171 +#: passwd.1.xml.out:167 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." @@ -6523,12 +6797,12 @@ msgstr "" "запис безпарольним." #. (itstool) path: term/option -#: passwd.1.xml.out:180 +#: passwd.1.xml.out:176 msgid "--expire" msgstr "--expire" #. (itstool) path: listitem/para -#: passwd.1.xml.out:183 +#: passwd.1.xml.out:179 msgid "" "Immediately expire an account's password. This in effect can force a user to " "change their password at the user's next login." @@ -6538,7 +6812,7 @@ msgstr "" "до системи." #. (itstool) path: listitem/para -#: passwd.1.xml.out:200 +#: passwd.1.xml.out:196 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 " @@ -6552,17 +6826,17 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: passwd.1.xml.out:210 useradd.8.xml.out:278 useradd.8.xml.out:356 +#: passwd.1.xml.out:206 useradd.8.xml.out:280 useradd.8.xml.out:358 msgid "-k" msgstr "-k" #. (itstool) path: term/option -#: passwd.1.xml.out:210 +#: passwd.1.xml.out:206 msgid "--keep-tokens" msgstr "--keep-tokens" #. (itstool) path: listitem/para -#: passwd.1.xml.out:213 +#: passwd.1.xml.out:209 msgid "" "Indicate password change should be performed only for expired authentication " "tokens (passwords). The user wishes to keep their non-expired tokens as " @@ -6573,12 +6847,12 @@ msgstr "" "дію жетонів, строк дії яких не вичерпано." #. (itstool) path: term/option -#: passwd.1.xml.out:222 usermod.8.xml.out:231 +#: passwd.1.xml.out:218 usermod.8.xml.out:231 msgid "--lock" msgstr "--lock" #. (itstool) path: listitem/para -#: passwd.1.xml.out:225 +#: passwd.1.xml.out:221 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 " @@ -6589,12 +6863,12 @@ msgstr "" "відповідає зашифрованому значенню (буде додано ´!´ на початку пароля)." #. (itstool) path: para/command -#: passwd.1.xml.out:235 +#: passwd.1.xml.out:231 msgid "usermod --expiredate 1" msgstr "usermod --expiredate 1" #. (itstool) path: listitem/para -#: passwd.1.xml.out:231 +#: passwd.1.xml.out:227 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 " @@ -6608,49 +6882,49 @@ msgstr "" "запису значення 2 січня 1970 року)." #. (itstool) path: listitem/para -#: passwd.1.xml.out:238 +#: passwd.1.xml.out:234 msgid "Users with a locked password are not allowed to change their password." msgstr "" "Користувачі із заблокованим паролем не зможуть змінювати власний пароль." #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "-q" msgstr "-q" #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "--quiet" msgstr "--quiet" #. (itstool) path: listitem/para -#: passwd.1.xml.out:261 vipw.8.xml.out:110 +#: passwd.1.xml.out:257 vipw.8.xml.out:110 msgid "Quiet mode." msgstr "Режим без повідомлень." #. (itstool) path: term/option -#: passwd.1.xml.out:268 +#: passwd.1.xml.out:264 msgid "--repository" msgstr "--repository" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: passwd.1.xml.out:268 passwd.1.xml.out:272 +#: passwd.1.xml.out:264 passwd.1.xml.out:268 msgid "REPOSITORY" msgstr "СХОВИЩЕ" #. (itstool) path: listitem/para -#: passwd.1.xml.out:271 +#: passwd.1.xml.out:267 msgid "change password in <_:replaceable-1/> repository" msgstr "змінити пароль у сховищі <_:replaceable-1/>" #. (itstool) path: term/option -#: passwd.1.xml.out:291 +#: passwd.1.xml.out:302 msgid "--status" msgstr "--status" #. (itstool) path: listitem/para -#: passwd.1.xml.out:294 +#: passwd.1.xml.out:305 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 " @@ -6669,12 +6943,12 @@ msgstr "" "значення віку виражаються у днях." #. (itstool) path: term/option -#: passwd.1.xml.out:309 usermod.8.xml.out:405 +#: passwd.1.xml.out:320 usermod.8.xml.out:405 msgid "--unlock" msgstr "--unlock" #. (itstool) path: listitem/para -#: passwd.1.xml.out:312 +#: passwd.1.xml.out:323 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 " @@ -6685,7 +6959,7 @@ msgstr "" "використання параметра <_:option-1/>)." #. (itstool) path: listitem/para -#: passwd.1.xml.out:325 +#: passwd.1.xml.out:336 msgid "" "Set the number of days of warning before a password change is required. The " "<_:replaceable-1/> option is the number of days prior to the password " @@ -6697,12 +6971,12 @@ msgstr "" "користувача про те, що пароль невдовзі доведеться змінити." #. (itstool) path: term/option -#: passwd.1.xml.out:335 +#: passwd.1.xml.out:346 msgid "-x" msgstr "-x" #. (itstool) path: listitem/para -#: passwd.1.xml.out:338 +#: passwd.1.xml.out:349 msgid "" "Set the maximum number of days a password remains valid. After <_:" "replaceable-1/>, the password is required to be changed." @@ -6711,8 +6985,20 @@ msgstr "" "чинним. Щойно мине <_:replaceable-1/>, система вимагатиме від користувача " "змінити пароль." +#. (itstool) path: term/option +#: passwd.1.xml.out:363 +msgid "--stdin" +msgstr "" + +#. (itstool) path: listitem/para +#: passwd.1.xml.out:366 +msgid "" +"This option is used to indicate that passwd should read the new password " +"from standard input, which can be a pipe." +msgstr "" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:355 +#: passwd.1.xml.out:377 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." @@ -6722,7 +7008,7 @@ msgstr "" "розробників." #. (itstool) path: refsect1/para -#: passwd.1.xml.out:360 +#: passwd.1.xml.out:382 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." @@ -6731,7 +7017,7 @@ msgstr "" "увімкнено NIS, і користувачі не увійшли до сервера NIS." #. (itstool) path: refsect1/para -#: passwd.1.xml.out:365 +#: passwd.1.xml.out:387 msgid "" "<_:command-1/> uses PAM to authenticate users and to change their passwords." msgstr "" @@ -6739,38 +7025,56 @@ msgstr "" "паролів PAM." #. (itstool) path: term/filename -#: passwd.1.xml.out:411 +#: passwd.1.xml.out:433 msgid "/etc/pam.d/passwd" msgstr "/etc/pam.d/passwd" #. (itstool) path: listitem/para -#: passwd.1.xml.out:439 +#: passwd.1.xml.out:461 msgid "invalid combination of options" msgstr "некоректне поєднання параметрів" #. (itstool) path: listitem/para -#: passwd.1.xml.out:445 +#: passwd.1.xml.out:467 msgid "unexpected failure, nothing done" msgstr "неочікувана помилка, нічого не виконано" #. (itstool) path: listitem/para -#: passwd.1.xml.out:451 +#: passwd.1.xml.out:473 msgid "unexpected failure, <_:filename-1/> file missing" msgstr "неочікувана помилка, не вистачає файла <_:filename-1/>" #. (itstool) path: listitem/para -#: passwd.1.xml.out:457 +#: passwd.1.xml.out:479 msgid "<_:filename-1/> file busy, try again" msgstr "файл <_:filename-1/> зайнято, повторіть спробу" +#. (itstool) path: citerefentry/refentrytitle +#: passwd.1.xml.out:499 +#, fuzzy +#| msgid "passwd" +msgid "makepasswd" +msgstr "passwd" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:472 +#: passwd.1.xml.out:494 +#, fuzzy +#| msgid "" +#| "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +#| "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>." msgid "" -"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:phrase-4/> " -"<_:citerefentry-5/>." +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>, <_:phrase-5/> <_:citerefentry-6/>." +msgstr "" +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>." + +#. (itstool) path: refsect1/para +#: passwd.1.xml.out:517 +msgid "" +"The following web page comically (yet correctly) compares the strength of " +"two different methods for choosing a password: \"https://xkcd.com/936/\"" msgstr "" -"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:phrase-4/> " -"<_:citerefentry-5/>." #. (itstool) path: refnamediv/refpurpose #: passwd.5.xml.out:41 @@ -8487,6 +8791,11 @@ msgstr "$TZ" msgid "$HZ" msgstr "$HZ" +#. (itstool) path: para/option +#: su.1.xml.out:278 +msgid "ENV_TZ" +msgstr "ENV_TZ" + #. (itstool) path: para/option #: su.1.xml.out:279 msgid "ENV_HZ" @@ -8837,7 +9146,7 @@ msgstr "" #. (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:583 useradd.8.xml.out:585 +#: useradd.8.xml.out:169 useradd.8.xml.out:603 useradd.8.xml.out:605 msgid "-D" msgstr "-D" @@ -8867,14 +9176,14 @@ msgstr "" "<_:option-1/>, <_:option-2/>, <_:option-3/> і <_:option-4/>)." #. (itstool) path: term/option -#: useradd.8.xml.out:118 useradd.8.xml.out:592 +#: useradd.8.xml.out:118 useradd.8.xml.out:612 msgid "--base-dir" msgstr "--base-dir" #. (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:592 useradd.8.xml.out:598 +#: useradd.8.xml.out:612 useradd.8.xml.out:618 msgid "BASE_DIR" msgstr "БАЗОВИЙ_КАТАЛОГ" @@ -8897,18 +9206,18 @@ msgstr "" "поєднано із назвою облікового запису." #. (itstool) path: para/option -#: useradd.8.xml.out:131 useradd.8.xml.out:603 +#: useradd.8.xml.out:131 useradd.8.xml.out:623 msgid "HOME" msgstr "HOME" #. (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:293 useradd.8.xml.out:343 -#: useradd.8.xml.out:393 useradd.8.xml.out:523 useradd.8.xml.out:604 -#: useradd.8.xml.out:616 useradd.8.xml.out:633 useradd.8.xml.out:649 -#: useradd.8.xml.out:663 useradd.8.xml.out:677 useradd.8.xml.out:767 -#: usermod.8.xml.out:419 +#: 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" @@ -8993,7 +9302,7 @@ msgstr "" "форматі <_:emphasis-1/>." #. (itstool) path: para/option -#: useradd.8.xml.out:188 useradd.8.xml.out:615 usermod.8.xml.out:418 +#: useradd.8.xml.out:188 useradd.8.xml.out:635 usermod.8.xml.out:418 msgid "EXPIRE" msgstr "EXPIRE" @@ -9035,7 +9344,7 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: useradd.8.xml.out:218 useradd.8.xml.out:482 +#: useradd.8.xml.out:218 useradd.8.xml.out:484 #, fuzzy #| msgid "-" msgid "-F" @@ -9141,14 +9450,30 @@ msgstr "" "<_:option-1/>, <_:option-2/> <_:replaceable-3/>[<_:emphasis-4/>[<_:" "emphasis-5/>]]]" +#. (itstool) path: para/option +#: useradd.8.xml.out:267 +#, fuzzy +#| msgid "GROUP" +msgid "GROUPS" +msgstr "GROUP" + #. (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-1/> option. The default is for the user to " +#| "belong only to the initial group." 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-1/> option. The default is for the user to belong only to the " -"initial group." +"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 "" "Список додаткових груп, учасником яких також буде користувач. Групи у списку " "слід відокремлювати комою, без проміжного пробілу. Групи підлягатимуть тим " @@ -9156,17 +9481,17 @@ msgstr "" "поведінкою є належність користувача лише до початкової групи." #. (itstool) path: term/option -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 msgid "--skel" msgstr "--skel" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 msgid "SKEL_DIR" msgstr "SKEL_DIR" #. (itstool) path: listitem/para -#: useradd.8.xml.out:281 +#: useradd.8.xml.out:283 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 <_:" @@ -9178,12 +9503,12 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: useradd.8.xml.out:288 useradd.8.xml.out:350 +#: useradd.8.xml.out:290 useradd.8.xml.out:352 msgid "--create-home" msgstr "--create-home" #. (itstool) path: listitem/para -#: useradd.8.xml.out:286 +#: useradd.8.xml.out:288 useradd.8.xml.out:592 usermod.8.xml.out:524 msgid "" "This option is only valid if the <_:option-1/> (or <_:option-2/>) option is " "specified." @@ -9192,17 +9517,17 @@ msgstr "" "option-2/>)." #. (itstool) path: para/option -#: useradd.8.xml.out:292 +#: useradd.8.xml.out:294 msgid "SKEL" msgstr "SKEL" #. (itstool) path: para/filename -#: useradd.8.xml.out:294 +#: useradd.8.xml.out:296 msgid "/etc/skel" msgstr "/etc/skel" #. (itstool) path: listitem/para -#: useradd.8.xml.out:290 +#: useradd.8.xml.out:292 msgid "" "If this option is not set, the skeleton directory is defined by the <_:" "option-1/> variable in <_:filename-2/> or, by default, <_:filename-3/>." @@ -9211,17 +9536,17 @@ msgstr "" "<_:option-1/> у <_:filename-2/> або, типово, <_:filename-3/>." #. (itstool) path: listitem/para -#: useradd.8.xml.out:296 +#: useradd.8.xml.out:298 msgid "If possible, the ACLs and extended attributes are copied." msgstr "Якщо можна, буде скопійовано ACL і розширені атрибути." #. (itstool) path: para/option -#: useradd.8.xml.out:309 +#: useradd.8.xml.out:311 msgid "UMASK" msgstr "UMASK" #. (itstool) path: listitem/para -#: useradd.8.xml.out:306 +#: useradd.8.xml.out:308 msgid "" "Overrides <_:filename-1/> defaults (<_:option-2/>, <_:option-3/>, <_:" "option-4/>, <_:option-5/> and others)." @@ -9230,7 +9555,7 @@ msgstr "" "option-3/>, <_:option-4/>, <_:option-5/> та іншими)." #. (itstool) path: listitem/para -#: useradd.8.xml.out:312 +#: useradd.8.xml.out:314 msgid "" "Example: <_:option-1/> <_:replaceable-2/>=<_:replaceable-3/> can be used " "when creating an account to turn off password aging. Multiple <_:option-4/> " @@ -9244,17 +9569,17 @@ msgstr "" "replaceable-9/>=<_:replaceable-10/>" #. (itstool) path: term/option -#: useradd.8.xml.out:330 +#: useradd.8.xml.out:332 msgid "--no-log-init" msgstr "--no-log-init" #. (itstool) path: listitem/para -#: useradd.8.xml.out:332 +#: useradd.8.xml.out:334 msgid "Do not add the user to the lastlog and faillog databases." msgstr "Не додавати користувача до баз даних lastlog і faillog." #. (itstool) path: listitem/para -#: useradd.8.xml.out:335 +#: useradd.8.xml.out:337 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." @@ -9264,12 +9589,12 @@ msgstr "" "від раніше вилучених користувачів." #. (itstool) path: para/option -#: useradd.8.xml.out:342 +#: useradd.8.xml.out:344 msgid "LOG_INIT" msgstr "LOG_INIT" #. (itstool) path: listitem/para -#: useradd.8.xml.out:340 +#: useradd.8.xml.out:342 msgid "" "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 " @@ -9280,7 +9605,7 @@ msgstr "" "користувача не буде додано до баз даних lastlog і faillog." #. (itstool) path: listitem/para -#: useradd.8.xml.out:353 +#: useradd.8.xml.out:355 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 " @@ -9291,12 +9616,12 @@ msgstr "" "(який можна визначити за допомогою параметра <_:option-1/>)." #. (itstool) path: para/option -#: useradd.8.xml.out:361 useradd.8.xml.out:379 useradd.8.xml.out:475 +#: useradd.8.xml.out:363 useradd.8.xml.out:381 useradd.8.xml.out:477 msgid "CREATE_HOME" msgstr "CREATE_HOME" #. (itstool) path: listitem/para -#: useradd.8.xml.out:359 +#: useradd.8.xml.out:361 msgid "" "By default, if this option is not specified and <_:option-1/> is not " "enabled, no home directories are created." @@ -9305,7 +9630,7 @@ msgstr "" "не створюватиме домашніх каталогів." #. (itstool) path: listitem/para -#: useradd.8.xml.out:364 +#: useradd.8.xml.out:366 msgid "" "The directory where the user's home directory is created must exist and have " "proper SELinux context and permissions. Otherwise the user's home directory " @@ -9317,12 +9642,12 @@ msgstr "" "каталог буде недоступним." #. (itstool) path: term/option -#: useradd.8.xml.out:373 +#: useradd.8.xml.out:375 msgid "--no-create-home" msgstr "--no-create-home" #. (itstool) path: listitem/para -#: useradd.8.xml.out:376 +#: useradd.8.xml.out:378 #, fuzzy #| msgid "" #| "Do no create the user's home directory, even if the system wide setting " @@ -9336,12 +9661,12 @@ msgstr "" "значення <_:replaceable-3/>." #. (itstool) path: term/option -#: useradd.8.xml.out:386 +#: useradd.8.xml.out:388 msgid "--no-user-group" msgstr "--no-user-group" #. (itstool) path: listitem/para -#: useradd.8.xml.out:389 +#: useradd.8.xml.out:391 msgid "" "Do not create a group with the same name as the user, but add the user to " "the group specified by the <_:option-1/> option or by the <_:option-2/> " @@ -9352,12 +9677,12 @@ msgstr "" "option-1/> або змінною <_:option-2/> у <_:filename-3/>." #. (itstool) path: listitem/para -#: useradd.8.xml.out:408 +#: useradd.8.xml.out:410 msgid "allows the creation of an account with an already existing UID." msgstr "Дозволяє створення облікового запису із наявним UID." #. (itstool) path: listitem/para -#: useradd.8.xml.out:412 usermod.8.xml.out:277 +#: useradd.8.xml.out:414 usermod.8.xml.out:277 msgid "" "This option is only valid in combination with the <_:option-1/> option. As a " "user identity serves as key to map between users on one hand and " @@ -9372,7 +9697,7 @@ msgstr "" "матимуть декілька облікових записів для входу до системи." #. (itstool) path: listitem/para -#: useradd.8.xml.out:428 +#: useradd.8.xml.out:430 msgid "" "defines an initial password for the account. PASSWORD is expected to be " "encrypted, as returned by <_:citerefentry-1/>. Within a shell script, this " @@ -9384,7 +9709,7 @@ msgstr "" "режимі." #. (itstool) path: listitem/para -#: useradd.8.xml.out:435 +#: useradd.8.xml.out:437 msgid "" "Without this option, the new account will be locked and with no password " "defined, i.e. a single exclamation mark in the respective field of <_:" @@ -9397,7 +9722,7 @@ msgstr "" "або визначити пароль власноруч." #. (itstool) path: listitem/para -#: useradd.8.xml.out:443 +#: useradd.8.xml.out:445 msgid "" "<_:emphasis-1/>Avoid this option on the command line because the password " "(or encrypted password) will be visible by users listing the processes." @@ -9407,7 +9732,7 @@ msgstr "" "користувачів, які мають доступ до списку процесів." #. (itstool) path: listitem/para -#: useradd.8.xml.out:471 +#: useradd.8.xml.out:473 msgid "" "Note that <_:command-1/> will not create a home directory for such a user, " "regardless of the default setting in <_:filename-2/> (<_:option-3/>). You " @@ -9421,7 +9746,7 @@ msgstr "" "домашній каталог." #. (itstool) path: listitem/para -#: useradd.8.xml.out:479 +#: useradd.8.xml.out:481 #, fuzzy #| msgid "" #| "Note that <_:command-1/> will not create a home directory for such a " @@ -9440,7 +9765,7 @@ msgstr "" "домашній каталог." #. (itstool) path: listitem/para -#: useradd.8.xml.out:520 +#: useradd.8.xml.out:522 #, fuzzy #| msgid "" #| "sets the path to the user's login shell. Without this option, the system " @@ -9459,17 +9784,17 @@ msgstr "" "входу у <_:filename-3/> лишатиметься порожнім." #. (itstool) path: term/option -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 msgid "--uid" msgstr "--uid" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 msgid "UID" msgstr "UID" #. (itstool) path: listitem/para -#: useradd.8.xml.out:534 +#: useradd.8.xml.out:536 msgid "" "The numerical value of the user's ID. This value must be unique, unless the " "<_:option-1/> option is used. The value must be non-negative. The default is " @@ -9483,12 +9808,12 @@ msgstr "" "будь-якого іншого користувача." #. (itstool) path: term/option -#: useradd.8.xml.out:549 +#: useradd.8.xml.out:551 msgid "--user-group" msgstr "--user-group" #. (itstool) path: listitem/para -#: useradd.8.xml.out:552 +#: useradd.8.xml.out:554 msgid "" "Create a group with the same name as the user, and add the user to this " "group." @@ -9497,29 +9822,38 @@ msgstr "" "користувача, додати користувача до цієї групи." #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:593 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:525 msgid "-Z" msgstr "-Z" #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:594 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:526 msgid "--selinux-user" msgstr "--selinux-user" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:566 usermod.8.xml.out:501 +#: useradd.8.xml.out:568 usermod.8.xml.out:501 msgid "SEUSER" msgstr "SEКОРИСТУВАЧ" #. (itstool) path: citerefentry/refentrytitle -#: useradd.8.xml.out:573 +#: useradd.8.xml.out:575 useradd.8.xml.out:589 usermod.8.xml.out:521 msgid "semanage" msgstr "semanage" #. (itstool) path: listitem/para -#: useradd.8.xml.out:569 +#: useradd.8.xml.out:571 +#, fuzzy +#| msgid "" +#| "defines the SELinux user for the new account. Without this option, a " +#| "SELinux uses the default user. Note that the shadow system doesn't store " +#| "the selinux-user, it uses <_:citerefentry-1/> for that." msgid "" -"defines the SELinux user for the new account. Without this option, a SELinux " +"defines the SELinux user for the new account. Without this option, SELinux " "uses the default user. Note that the shadow system doesn't store the selinux-" "user, it uses <_:citerefentry-1/> for that." msgstr "" @@ -9528,13 +9862,44 @@ msgstr "" "shadow не зберігає користувача selinux — для цього вона використовує <_:" "citerefentry-1/>." +#. (itstool) path: term/option +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +#, fuzzy +#| msgid "--selinux-user" +msgid "--selinux-range" +msgstr "--selinux-user" + +#. (itstool) path: term/replaceable +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +#, fuzzy +#| msgid "RANGE" +msgid "SERANGE" +msgstr "ДІАПАЗОН" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:585 +#, fuzzy +#| msgid "" +#| "defines the SELinux user for the new account. Without this option, a " +#| "SELinux uses the default user. Note that the shadow system doesn't store " +#| "the selinux-user, it uses <_:citerefentry-1/> for that." +msgid "" +"defines the SELinux MLS range for the new account. Without this option, " +"SELinux uses the default range. Note that the shadow system doesn't store " +"the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" +"Визначає користувача SELinux для нового облікового запису. Без цього " +"параметра, SELinux використає типового користувача. Зауважте, що система " +"shadow не зберігає користувача selinux — для цього вона використовує <_:" +"citerefentry-1/>." + #. (itstool) path: refsect2/title -#: useradd.8.xml.out:581 +#: useradd.8.xml.out:601 msgid "Changing the default values" msgstr "Зміна типових значень" #. (itstool) path: refsect2/para -#: useradd.8.xml.out:582 +#: useradd.8.xml.out:602 msgid "" "When invoked with only the <_:option-1/> option, <_:command-2/> will display " "the current default values. When invoked with <_:option-3/> plus other " @@ -9547,7 +9912,7 @@ msgstr "" "вказаних параметрів. Коректними параметрами для зміни типових значень є такі:" #. (itstool) path: listitem/para -#: useradd.8.xml.out:595 +#: useradd.8.xml.out:615 msgid "" "sets the path prefix for a new user's home directory. The user's name will " "be affixed to the end of <_:replaceable-1/> to form the new user's home " @@ -9560,20 +9925,20 @@ msgstr "" "створення облікового запису не було використано параметр <_:option-2/>." #. (itstool) path: listitem/para -#: useradd.8.xml.out:602 useradd.8.xml.out:614 useradd.8.xml.out:631 -#: useradd.8.xml.out:647 useradd.8.xml.out:661 +#: useradd.8.xml.out:622 useradd.8.xml.out:634 useradd.8.xml.out:651 +#: useradd.8.xml.out:667 useradd.8.xml.out:681 msgid "This option sets the <_:option-1/> variable in <_:filename-2/>." msgstr "" "Цей параметр встановлює значення змінної <_:option-1/> у <_:filename-2/>." #. (itstool) path: listitem/para -#: useradd.8.xml.out:613 +#: useradd.8.xml.out:633 msgid "sets the date on which newly created user accounts are disabled." msgstr "" "Встановлює дату вимикання новостворених облікових записів користувачів." #. (itstool) path: listitem/para -#: useradd.8.xml.out:625 +#: useradd.8.xml.out:645 msgid "" "defines the number of days after the password exceeded its maximum age where " "the user is expected to replace this password. See <_:citerefentry-1/>for " @@ -9584,7 +9949,7 @@ msgstr "" "citerefentry-1/>, щоб дізнатися більше." #. (itstool) path: listitem/para -#: useradd.8.xml.out:642 +#: useradd.8.xml.out:662 msgid "" "sets the default primary group for newly created users, accepting group " "names or a numerical group ID. The named group must exist, and the GID must " @@ -9595,23 +9960,23 @@ msgstr "" "назвою група має існувати, а GID має бути наявним записом." #. (itstool) path: listitem/para -#: useradd.8.xml.out:658 +#: useradd.8.xml.out:678 msgid "defines the default login shell for new users." msgstr "Визначає типову оболонку входу для нових користувачів." #. (itstool) path: refsect1/title -#: useradd.8.xml.out:673 +#: useradd.8.xml.out:693 msgid "NOTES" msgstr "ПРИМІТКИ" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: useradd.8.xml.out:675 useradd.8.xml.out:779 +#: useradd.8.xml.out:695 useradd.8.xml.out:799 msgid "/etc/skel/" msgstr "/etc/skel/" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:674 +#: useradd.8.xml.out:694 msgid "" "The system administrator is responsible for placing the default user files " "in the <_:filename-1/> directory (or any other skeleton directory specified " @@ -9622,7 +9987,7 @@ msgstr "" "рядку команди) відповідає адміністратор системи." #. (itstool) path: refsect1/para -#: useradd.8.xml.out:683 +#: useradd.8.xml.out:703 msgid "" "You may not add a user to a NIS or LDAP group. This must be performed on the " "corresponding server." @@ -9631,7 +9996,7 @@ msgstr "" "має бути виконано на відповідному сервері." #. (itstool) path: refsect1/para -#: useradd.8.xml.out:688 +#: useradd.8.xml.out:708 msgid "" "Similarly, if the username already exists in an external user database such " "as NIS or LDAP, <_:command-1/> will deny the user account creation request." @@ -9641,12 +10006,12 @@ msgstr "" "створення облікового запису користувача." #. (itstool) path: para/command -#: useradd.8.xml.out:702 +#: useradd.8.xml.out:722 msgid "ls" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:694 +#: useradd.8.xml.out:714 msgid "" "Usernames may contain only lower and upper case letters, digits, " "underscores, or dashes. They can end with a dollar sign. Dashes are not " @@ -9657,52 +10022,52 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:704 +#: useradd.8.xml.out:724 msgid "Usernames may only be up to 32 characters long." msgstr "Довжина імен користувачів не може перевищувати 32 символи." #. (itstool) path: listitem/para -#: useradd.8.xml.out:769 +#: useradd.8.xml.out:789 msgid "Default values for account creation." msgstr "Типові значення для створення облікового запису." #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 msgid "/etc/shadow-maint/useradd-pre.d/*" msgstr "/etc/shadow-maint/useradd-pre.d/*" #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 msgid "/etc/shadow-maint/useradd-post.d/*" msgstr "/etc/shadow-maint/useradd-post.d/*" #. (itstool) path: varlistentry/term -#: useradd.8.xml.out:773 userdel.8.xml.out:209 +#: useradd.8.xml.out:793 userdel.8.xml.out:209 msgid "<_:filename-1/>, <_:filename-2/>" msgstr "<_:filename-1/>, <_:filename-2/>" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 msgid "ACTION" msgstr "ACTION" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 msgid "SUBJECT" msgstr "SUBJECT" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "useradd-pre.d" msgstr "useradd-pre.d" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "useradd-post.d" msgstr "useradd-post.d" #. (itstool) path: listitem/para -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "" "Run-part files to execute during user addition. The environment variable <_:" "command-1/> will be populated with useradd and <_:command-2/> with the <_:" @@ -9718,44 +10083,44 @@ msgstr "" "буде ненульове значення, виконання дій буде перервано." #. (itstool) path: listitem/para -#: useradd.8.xml.out:781 +#: useradd.8.xml.out:801 msgid "Directory containing default files." msgstr "Каталог, у якому містяться типові файли." #. (itstool) path: listitem/para -#: useradd.8.xml.out:819 userdel.8.xml.out:243 +#: useradd.8.xml.out:839 userdel.8.xml.out:243 msgid "can't update password file" msgstr "не вдалося оновити файл паролів" #. (itstool) path: listitem/para -#: useradd.8.xml.out:837 +#: useradd.8.xml.out:857 msgid "UID already in use (and no <_:option-1/>)" msgstr "UID вже використано (і не вказано <_:option-1/>)" #. (itstool) path: listitem/para -#: useradd.8.xml.out:849 +#: useradd.8.xml.out:869 #, fuzzy #| msgid "username already in use" msgid "username or group name already in use" msgstr "запис користувача вже використано" #. (itstool) path: listitem/para -#: useradd.8.xml.out:861 +#: useradd.8.xml.out:881 msgid "can't create home directory" msgstr "не вдалося створити домашній каталог" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:865 +#: useradd.8.xml.out:885 msgid "14" msgstr "14" #. (itstool) path: listitem/para -#: useradd.8.xml.out:867 +#: useradd.8.xml.out:887 msgid "can't update SELinux user mapping" msgstr "не вдалося оновити прив'язку користувача SELinux" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:876 usermod.8.xml.out:603 +#: useradd.8.xml.out:896 usermod.8.xml.out:620 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:" @@ -10513,8 +10878,24 @@ msgstr "" "вилучено. Зауважте, що система shadow не зберігає користувача selinux, а " "використовує для цього semanage(8)." -#. (itstool) path: refsect1/para +#. (itstool) path: listitem/para #: usermod.8.xml.out:518 +#, fuzzy +#| msgid "" +#| "defines the SELinux user for the new account. Without this option, a " +#| "SELinux uses the default user. Note that the shadow system doesn't store " +#| "the selinux-user, it uses <_:citerefentry-1/> for that." +msgid "" +"defines the SELinux MLS range for the new account. Note that the shadow " +"system doesn't store the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" +"Визначає користувача SELinux для нового облікового запису. Без цього " +"параметра, SELinux використає типового користувача. Зауважте, що система " +"shadow не зберігає користувача selinux — для цього вона використовує <_:" +"citerefentry-1/>." + +#. (itstool) path: refsect1/para +#: usermod.8.xml.out:535 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 " @@ -10530,17 +10911,17 @@ msgstr "" "того, чи увійшов користувач до системи." #. (itstool) path: para/command -#: usermod.8.xml.out:527 +#: usermod.8.xml.out:544 msgid "crontab" msgstr "crontab" #. (itstool) path: para/command -#: usermod.8.xml.out:528 +#: usermod.8.xml.out:545 msgid "at" msgstr "at" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:526 +#: usermod.8.xml.out:543 msgid "" "You must change the owner of any <_:command-1/> files or <_:command-2/> jobs " "manually." @@ -10549,42 +10930,44 @@ msgstr "" "command-2/> вручну." #. (itstool) path: refsect1/para -#: usermod.8.xml.out:530 +#: usermod.8.xml.out:547 msgid "You must make any changes involving NIS on the NIS server." msgstr "Вам слід внести усі зміни щодо NIS на сервері NIS." #. (itstool) path: listitem/para -#: usermod.8.xml.out:559 +#: usermod.8.xml.out:576 msgid "Group account information" msgstr "Відомості щодо груп облікових записів" #. (itstool) path: listitem/para -#: usermod.8.xml.out:565 -msgid "Secure group account informatio." +#: usermod.8.xml.out:582 +#, fuzzy +#| msgid "Secure group account information." +msgid "Secure group account information" msgstr "Відомості щодо захищених груп облікових записів." #. (itstool) path: listitem/para -#: usermod.8.xml.out:571 +#: usermod.8.xml.out:588 msgid "Shadow password suite configuration" msgstr "Налаштування комплексу для роботи з прихованими паролями" #. (itstool) path: listitem/para -#: usermod.8.xml.out:577 +#: usermod.8.xml.out:594 msgid "User account information" msgstr "Відомості щодо облікових записів користувача" #. (itstool) path: listitem/para -#: usermod.8.xml.out:583 +#: usermod.8.xml.out:600 msgid "Secure user account information" msgstr "Відомості щодо захищених облікових записів користувачів" #. (itstool) path: listitem/para -#: usermod.8.xml.out:589 +#: usermod.8.xml.out:606 msgid "Per user subordinate group IDs" msgstr "Окремі для користувачів ідентифікатори підлеглих груп" #. (itstool) path: listitem/para -#: usermod.8.xml.out:595 +#: usermod.8.xml.out:612 msgid "Per user subordinate user IDs" msgstr "Окремі для користувачів ідентифікатори підлеглих користувачів" @@ -10617,8 +11000,18 @@ msgstr "vi" #. (itstool) path: refsect1/para #: vipw.8.xml.out:66 +#, fuzzy +#| msgid "" +#| "The <_:command-1/> and <_:command-2/> commands edits 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/>." msgid "" -"The <_:command-1/> and <_:command-2/> commands edits the files <_:filename-3/" +"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 " @@ -10815,6 +11208,21 @@ msgstr "" #~ "Якщо у рядку міститься <_:replaceable-1/>, це значення буде замінено на " #~ "ім'я користувача." +#~ msgid "The available methods are DES, MD5, and NONE." +#~ msgstr "Доступними методами є DES, MD5 і NONE." + +#~ msgid "" +#~ "The value 0 means that the system will choose the default number of " +#~ "rounds for the crypt method (5000)." +#~ msgstr "" +#~ "Значення 0 означає, що система вибере типову кількість проходів для " +#~ "методу шифрування (5000)." + +#~ msgid "You can only use this option with the SHA256 or SHA512 crypt method." +#~ msgstr "" +#~ "Ви можете скористатися цим параметром у поєднанні із методами шифрування " +#~ "SHA256 або SHA512." + #~ msgid "" #~ "This defines the system default encryption algorithm for encrypting " #~ "passwords (if no algorithm are specified on the command line)." @@ -10822,21 +11230,6 @@ msgstr "" #~ "Визначає типовий алгоритм шифрування системи для шифрування паролів (якщо " #~ "алгоритм не було вказано у рядку команди)." -#~ msgid "DES" -#~ msgstr "DES" - -#~ msgid "MD5" -#~ msgstr "MD5" - -#~ msgid "SHA256" -#~ msgstr "SHA256" - -#~ msgid "SHA512" -#~ msgstr "SHA512" - -#~ msgid ", <_:replaceable-1/>, <_:replaceable-2/>" -#~ msgstr ", <_:replaceable-1/>, <_:replaceable-2/>" - #~ msgid "" #~ "It can take one of these values: <_:replaceable-1/> (default), <_:" #~ "replaceable-2/><_:phrase-3/>. MD5 and DES should not be used for new " @@ -10933,6 +11326,14 @@ msgstr "" #~ msgstr "" #~ "Ця змінна вважається застарілою. Вам слід користуватися <_:option-1/>." +#~| msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +#~ msgid "SHA_CRYPT_MIN_ROUNDS" +#~ msgstr "SHA_CRYPT_MIN_ROUNDS" + +#~| msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +#~ msgid "SHA_CRYPT_MAX_ROUNDS" +#~ msgstr "SHA_CRYPT_MAX_ROUNDS" + #~ msgid "" #~ "When <_:option-1/> is set to <_:replaceable-2/> or <_:replaceable-3/>, " #~ "this defines the number of SHA rounds used by the encryption algorithm by " @@ -10974,6 +11375,13 @@ msgstr "" #~ "Якщо <_:option-1/> > <_:option-2/>, буде використано найбільше " #~ "значення." +#~ msgid "" +#~ "By default, the number of rounds is defined by the <_:option-1/> and <_:" +#~ "option-2/> variables in <_:filename-3/>." +#~ msgstr "" +#~ "Типово, кількість проходів визначено змінними <_:option-1/> і <_:option-2/" +#~ "> у <_:filename-3/>." + #~ msgid "CHSH_AUTH" #~ msgstr "CHSH_AUTH" @@ -11861,6 +12269,42 @@ msgstr "" #~ "Ось приклад скрипту, який вилучає завдання cron, at і друку користувача: " #~ "<_:programlisting-1/>" +#~ msgid "ENV_HZ <_:phrase-1/>" +#~ msgstr "ENV_HZ <_:phrase-1/>" + +#~ 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 "" +#~ "Далі, пароль буде перевірено на складність. Загальним правилом є те, що " +#~ "пароль має складатися з від 6 до 8 символів, включаючи один або декілька " +#~ "символів з кожного з таких наборів:" + +#~ msgid "lower case alphabetics" +#~ msgstr "малі літери латинської абетки" + +#~ msgid "digits 0 thru 9" +#~ msgstr "цифри від 0 до 9" + +#~ msgid "punctuation marks" +#~ msgstr "символи пунктуації" + +#~ msgid "" +#~ "Care must be taken not to include the system default erase or kill " +#~ "characters. <_:command-1/> will reject any password which is not suitably " +#~ "complex." +#~ msgstr "" +#~ "До пароля не можна включати типові символи вилучення або витирання " +#~ "системи. <_:command-1/> не прийме пароля, який не є достатньо складним." + +#~ msgid "" +#~ "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +#~ "phrase-4/> <_:citerefentry-5/>." +#~ msgstr "" +#~ "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +#~ "phrase-4/> <_:citerefentry-5/>." + #~ 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 " @@ -11871,6 +12315,10 @@ msgstr "" #~ "символи підкреслення та дефіси. Назви можуть завершуватися символом " #~ "долара. У термінах формальних виразів: [a-z_][a-z0-9_-]*[$]?" +#~| msgid "Secure group account information." +#~ msgid "Secure group account informatio." +#~ msgstr "Відомості щодо захищених груп облікових записів." + #~ msgid "<option>-g</option>, <option>--group</option>" #~ msgstr "<option>-g</option>, <option>--group</option>" diff --git a/man/po/zh_CN.po b/man/po/zh_CN.po index cb0db6ad..9644c519 100644 --- a/man/po/zh_CN.po +++ b/man/po/zh_CN.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow-man-pages VERSION\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-14 18:23-0500\n" "PO-Revision-Date: 2013-08-23 01:42+0200\n" "Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" @@ -15,12 +15,12 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #. (itstool) path: author/firstname -#: chage.1.xml.out:16 chfn.1.xml.out:18 chpasswd.8.xml.out:19 chsh.1.xml.out:18 +#: 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:84 logoutd.8.xml.out:15 -#: newgrp.1.xml.out:16 newusers.8.xml.out:31 passwd.1.xml.out:22 +#: 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 @@ -28,12 +28,12 @@ msgid "Julianne Frances" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:17 chfn.1.xml.out:19 chpasswd.8.xml.out:20 chsh.1.xml.out:19 +#: 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:85 logoutd.8.xml.out:16 -#: newgrp.1.xml.out:17 newusers.8.xml.out:32 passwd.1.xml.out:23 +#: 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 @@ -46,14 +46,14 @@ msgid "Creation, 1990" msgstr "" #. (itstool) path: author/firstname -#: chage.1.xml.out:21 chfn.1.xml.out:23 chgpasswd.8.xml.out:20 -#: chpasswd.8.xml.out:24 chsh.1.xml.out:23 expiry.1.xml.out:24 -#: faillog.5.xml.out:20 faillog.8.xml.out:20 gpasswd.1.xml.out:25 +#: 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:89 logoutd.8.xml.out:20 -#: newgrp.1.xml.out:21 newusers.8.xml.out:36 passwd.1.xml.out:27 +#: 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 @@ -62,14 +62,14 @@ msgid "Thomas" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:22 chfn.1.xml.out:24 chgpasswd.8.xml.out:21 -#: chpasswd.8.xml.out:25 chsh.1.xml.out:24 expiry.1.xml.out:25 -#: faillog.5.xml.out:21 faillog.8.xml.out:21 gpasswd.1.xml.out:26 +#: 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:90 logoutd.8.xml.out:21 -#: newgrp.1.xml.out:22 newusers.8.xml.out:37 passwd.1.xml.out:28 +#: 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 @@ -78,14 +78,14 @@ msgid "Kłoczko" msgstr "" #. (itstool) path: author/email -#: chage.1.xml.out:23 chfn.1.xml.out:25 chgpasswd.8.xml.out:22 -#: chpasswd.8.xml.out:26 chsh.1.xml.out:25 expiry.1.xml.out:26 -#: faillog.5.xml.out:22 faillog.8.xml.out:22 gpasswd.1.xml.out:27 +#: 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:91 logoutd.8.xml.out:22 -#: newgrp.1.xml.out:23 newusers.8.xml.out:38 passwd.1.xml.out:29 +#: 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 @@ -94,14 +94,14 @@ msgid "kloczek@pld.org.pl" msgstr "" #. (itstool) path: author/contrib -#: chage.1.xml.out:24 chfn.1.xml.out:26 chpasswd.8.xml.out:27 chsh.1.xml.out:26 +#: 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:28 groupadd.8.xml.out:26 groupdel.8.xml.out:24 +#: 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:92 -#: logoutd.8.xml.out:23 newgrp.1.xml.out:24 newusers.8.xml.out:39 -#: passwd.1.xml.out:30 passwd.5.xml.out:23 porttime.5.xml.out:23 +#: 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 @@ -110,15 +110,15 @@ msgid "shadow-utils maintainer, 2000 - 2007" msgstr "" #. (itstool) path: author/firstname -#: chage.1.xml.out:27 chfn.1.xml.out:29 chgpasswd.8.xml.out:26 -#: chpasswd.8.xml.out:30 chsh.1.xml.out:29 expiry.1.xml.out:30 -#: faillog.5.xml.out:26 faillog.8.xml.out:26 gpasswd.1.xml.out:31 +#: 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:95 -#: logoutd.8.xml.out:26 newgrp.1.xml.out:27 newusers.8.xml.out:42 -#: nologin.8.xml.out:15 passwd.1.xml.out:33 passwd.5.xml.out:26 +#: 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 @@ -127,15 +127,15 @@ msgid "Nicolas" msgstr "" #. (itstool) path: author/surname -#: chage.1.xml.out:28 chfn.1.xml.out:30 chgpasswd.8.xml.out:27 -#: chpasswd.8.xml.out:31 chsh.1.xml.out:30 expiry.1.xml.out:31 -#: faillog.5.xml.out:27 faillog.8.xml.out:27 gpasswd.1.xml.out:32 +#: 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:96 -#: logoutd.8.xml.out:27 newgrp.1.xml.out:28 newusers.8.xml.out:43 -#: nologin.8.xml.out:16 passwd.1.xml.out:34 passwd.5.xml.out:27 +#: 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 @@ -144,15 +144,15 @@ msgid "François" msgstr "" #. (itstool) path: author/email -#: chage.1.xml.out:29 chfn.1.xml.out:31 chgpasswd.8.xml.out:28 -#: chpasswd.8.xml.out:32 chsh.1.xml.out:31 expiry.1.xml.out:32 -#: faillog.5.xml.out:28 faillog.8.xml.out:28 gpasswd.1.xml.out:33 +#: 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:97 -#: logoutd.8.xml.out:28 newgrp.1.xml.out:29 newusers.8.xml.out:44 -#: nologin.8.xml.out:17 passwd.1.xml.out:35 passwd.5.xml.out:28 +#: 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 @@ -161,15 +161,15 @@ msgid "nicolas.francois@centraliens.net" msgstr "" #. (itstool) path: author/contrib -#: chage.1.xml.out:30 chfn.1.xml.out:32 chgpasswd.8.xml.out:29 -#: chpasswd.8.xml.out:33 chsh.1.xml.out:32 expiry.1.xml.out:33 -#: faillog.5.xml.out:29 faillog.8.xml.out:29 gpasswd.1.xml.out:34 +#: 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:98 -#: logoutd.8.xml.out:29 newgrp.1.xml.out:30 newusers.8.xml.out:45 -#: nologin.8.xml.out:18 passwd.1.xml.out:36 passwd.5.xml.out:29 +#: 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 @@ -184,9 +184,9 @@ msgstr "" #. (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:216 chage.1.xml.out:226 -#: chage.1.xml.out:236 chage.1.xml.out:241 chage.1.xml.out:285 -#: login.defs.5.xml.out:233 shadow.5.xml.out:262 +#: 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" @@ -194,11 +194,11 @@ msgstr "chage" #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum #. (itstool) path: para/replaceable -#: chage.1.xml.out:35 chage.1.xml.out:294 chfn.1.xml.out:37 chfn.1.xml.out:65 -#: chfn.1.xml.out:205 chgpasswd.8.xml.out:217 chpasswd.8.xml.out:265 -#: chsh.1.xml.out:37 chsh.1.xml.out:171 expiry.1.xml.out:38 -#: faillog.8.xml.out:235 gpasswd.1.xml.out:39 gpasswd.1.xml.out:93 -#: gpasswd.1.xml.out:277 groupadd.8.xml.out:345 groupadd.8.xml.out:348 +#: 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 @@ -206,44 +206,44 @@ msgstr "chage" #: 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:516 -#: login.defs.5.xml.out:518 login.defs.5.xml.out:520 login.defs.5.xml.out:530 -#: login.defs.5.xml.out:533 login.defs.5.xml.out:536 newgrp.1.xml.out:35 +#: 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:456 -#: nologin.8.xml.out:60 passwd.1.xml.out:41 passwd.1.xml.out:431 -#: 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:817 -#: useradd.8.xml.out:878 useradd.8.xml.out:881 useradd.8.xml.out:884 -#: 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:605 usermod.8.xml.out:608 usermod.8.xml.out:611 -#: vipw.8.xml.out:78 vipw.8.xml.out:205 +#: 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" #. (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:40 groups.1.xml.out:35 login.1.xml.out:68 -#: newgrp.1.xml.out:36 passwd.1.xml.out:42 sg.1.xml.out:36 su.1.xml.out:52 +#: 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 "用户命令" #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:37 chfn.1.xml.out:39 chgpasswd.8.xml.out:36 -#: chpasswd.8.xml.out:40 chsh.1.xml.out:39 expiry.1.xml.out:40 -#: faillog.5.xml.out:36 faillog.8.xml.out:36 gpasswd.1.xml.out:41 +#: 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:105 -#: logoutd.8.xml.out:36 newgrp.1.xml.out:37 newusers.8.xml.out:52 -#: nologin.8.xml.out:25 passwd.1.xml.out:43 passwd.5.xml.out:36 +#: 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 @@ -252,20 +252,20 @@ msgid "shadow-utils" msgstr "shadow-utils" #. (itstool) path: refmeta/refmiscinfo -#: chage.1.xml.out:38 chfn.1.xml.out:40 chgpasswd.8.xml.out:37 -#: chpasswd.8.xml.out:41 chsh.1.xml.out:40 expiry.1.xml.out:41 -#: faillog.5.xml.out:37 faillog.8.xml.out:37 gpasswd.1.xml.out:42 +#: 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:106 -#: logoutd.8.xml.out:37 newgrp.1.xml.out:38 newusers.8.xml.out:53 -#: nologin.8.xml.out:26 passwd.1.xml.out:44 passwd.5.xml.out:37 +#: 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.13" +msgid "4.15.0" msgstr "" #. (itstool) path: refnamediv/refpurpose @@ -275,10 +275,10 @@ msgstr "更改用户密码过期信息" #. (itstool) path: arg/replaceable #. (itstool) path: cmdsynopsis/arg -#: chage.1.xml.out:48 chfn.1.xml.out:51 chgpasswd.8.xml.out:48 -#: chpasswd.8.xml.out:52 chsh.1.xml.out:51 faillog.8.xml.out:48 +#: 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:64 passwd.1.xml.out:55 +#: 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 @@ -291,22 +291,22 @@ msgstr "选项" #. (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:58 useradd.8.xml.out:68 +#: 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 "登录" #. (itstool) path: refsect1/title -#: chage.1.xml.out:57 chfn.1.xml.out:60 chgpasswd.8.xml.out:54 -#: chpasswd.8.xml.out:58 chsh.1.xml.out:60 expiry.1.xml.out:58 -#: faillog.5.xml.out:45 faillog.8.xml.out:54 gpasswd.1.xml.out:70 +#: 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:114 -#: logoutd.8.xml.out:51 newgrp.1.xml.out:53 newusers.8.xml.out:73 -#: nologin.8.xml.out:40 passwd.1.xml.out:64 passwd.5.xml.out:45 +#: 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 @@ -324,12 +324,12 @@ msgstr "" #. (itstool) path: refsect1/title #. (itstool) path: arg/replaceable -#: chage.1.xml.out:67 chfn.1.xml.out:87 chgpasswd.8.xml.out:81 -#: chpasswd.8.xml.out:106 chsh.1.xml.out:71 expiry.1.xml.out:67 -#: faillog.8.xml.out:65 gpasswd.1.xml.out:110 groupadd.8.xml.out:51 +#: 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:250 passwd.1.xml.out:150 +#: 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 @@ -337,12 +337,12 @@ msgid "OPTIONS" msgstr "选项" #. (itstool) path: refsect1/para -#: chage.1.xml.out:68 chfn.1.xml.out:88 chgpasswd.8.xml.out:82 -#: chpasswd.8.xml.out:107 chsh.1.xml.out:72 expiry.1.xml.out:68 -#: faillog.8.xml.out:66 gpasswd.1.xml.out:118 groupadd.8.xml.out:81 +#: 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:251 -#: passwd.1.xml.out:151 pwck.8.xml.out:158 su.1.xml.out:121 +#: 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 <command>su</command> command are:" @@ -351,9 +351,9 @@ msgstr "<command>su</command> 命令可以接受的选项有:" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:74 gpasswd.1.xml.out:137 groupmems.8.xml.out:94 -#: passwd.1.xml.out:168 useradd.8.xml.out:123 useradd.8.xml.out:151 -#: useradd.8.xml.out:599 usermod.8.xml.out:112 usermod.8.xml.out:260 +#: 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" @@ -373,44 +373,44 @@ msgstr "" #. (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 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:122 chpasswd.8.xml.out:113 chpasswd.8.xml.out:164 -#: chpasswd.8.xml.out:177 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:123 gpasswd.1.xml.out:136 -#: gpasswd.1.xml.out:157 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:305 passwd.1.xml.out:196 passwd.1.xml.out:245 -#: passwd.1.xml.out:267 passwd.1.xml.out:277 passwd.1.xml.out:321 -#: passwd.1.xml.out:334 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:277 -#: useradd.8.xml.out:424 useradd.8.xml.out:488 useradd.8.xml.out:501 -#: useradd.8.xml.out:516 useradd.8.xml.out:530 useradd.8.xml.out:565 -#: useradd.8.xml.out:591 useradd.8.xml.out:609 useradd.8.xml.out:621 -#: useradd.8.xml.out:638 useradd.8.xml.out:654 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 +#: 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 "" #. (itstool) path: para/emphasis #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:82 chage.1.xml.out:288 groupadd.8.xml.out:303 +#: 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:138 passwd.1.xml.out:425 pwck.8.xml.out:287 -#: su.1.xml.out:385 useradd.8.xml.out:811 userdel.8.xml.out:235 +#: 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" @@ -431,7 +431,7 @@ msgid "-E" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:610 +#: chage.1.xml.out:89 useradd.8.xml.out:179 useradd.8.xml.out:630 #: usermod.8.xml.out:129 msgid "--expiredate" msgstr "" @@ -439,7 +439,7 @@ 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:610 usermod.8.xml.out:129 usermod.8.xml.out:243 +#: useradd.8.xml.out:630 usermod.8.xml.out:129 usermod.8.xml.out:243 #: usermod.8.xml.out:416 msgid "EXPIRE_DATE" msgstr "" @@ -469,7 +469,7 @@ 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:344 useradd.8.xml.out:315 +#: passwd.1.xml.out:355 useradd.8.xml.out:317 #, fuzzy #| msgid "1" msgid "-1" @@ -491,78 +491,78 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:115 chfn.1.xml.out:102 chgpasswd.8.xml.out:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 passwd.1.xml.out:190 -#: pwck.8.xml.out:173 pwconv.8.xml.out:171 useradd.8.xml.out:271 +#: 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:107 -#: chpasswd.8.xml.out:147 chsh.1.xml.out:77 expiry.1.xml.out:88 -#: faillog.8.xml.out:98 gpasswd.1.xml.out:149 groupadd.8.xml.out:118 +#: 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:280 -#: passwd.1.xml.out:190 pwck.8.xml.out:173 pwconv.8.xml.out:171 -#: su.1.xml.out:387 useradd.8.xml.out:271 userdel.8.xml.out:99 +#: 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:88 chgpasswd.8.xml.out:101 -#: chgpasswd.8.xml.out:107 chgpasswd.8.xml.out:113 chgpasswd.8.xml.out:135 -#: chpasswd.8.xml.out:139 chpasswd.8.xml.out:147 chpasswd.8.xml.out:155 +#: 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:149 gpasswd.1.xml.out:172 -#: gpasswd.1.xml.out:188 groupadd.8.xml.out:87 groupadd.8.xml.out:118 +#: 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:268 newusers.8.xml.out:280 newusers.8.xml.out:286 -#: newusers.8.xml.out:320 passwd.1.xml.out:156 passwd.1.xml.out:167 -#: passwd.1.xml.out:179 passwd.1.xml.out:190 passwd.1.xml.out:209 -#: passwd.1.xml.out:221 passwd.1.xml.out:257 passwd.1.xml.out:290 -#: passwd.1.xml.out:308 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:271 -#: useradd.8.xml.out:330 useradd.8.xml.out:349 useradd.8.xml.out:372 -#: useradd.8.xml.out:385 useradd.8.xml.out:404 useradd.8.xml.out:455 -#: useradd.8.xml.out:548 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 +#: 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 "<option>-a</option>, <option>--all</option>" msgid "<_:option-1/>, <_:option-2/>" msgstr "<option>-a</option>, <option>--all</option>" #. (itstool) path: listitem/para -#: chage.1.xml.out:117 chfn.1.xml.out:146 chgpasswd.8.xml.out:109 -#: chpasswd.8.xml.out:149 chsh.1.xml.out:79 expiry.1.xml.out:90 -#: faillog.8.xml.out:100 gpasswd.1.xml.out:151 groupadd.8.xml.out:120 +#: 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:282 -#: passwd.1.xml.out:192 pwck.8.xml.out:175 pwconv.8.xml.out:173 -#: useradd.8.xml.out:273 userdel.8.xml.out:101 vipw.8.xml.out:98 +#: 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 "显示帮助信息并退出。" #. (itstool) path: term/option -#: chage.1.xml.out:121 passwd.1.xml.out:197 +#: chage.1.xml.out:121 passwd.1.xml.out:193 #, fuzzy #| msgid "-" msgid "-i" @@ -586,8 +586,8 @@ msgid "-I" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:128 passwd.1.xml.out:197 useradd.8.xml.out:196 -#: useradd.8.xml.out:622 usermod.8.xml.out:152 +#: 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 "" @@ -595,8 +595,8 @@ msgstr "" #. (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:197 passwd.1.xml.out:203 useradd.8.xml.out:196 -#: useradd.8.xml.out:211 useradd.8.xml.out:622 useradd.8.xml.out:632 +#: 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 "" @@ -626,10 +626,10 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option #. (itstool) path: group/arg -#: chage.1.xml.out:147 chage.1.xml.out:242 faillog.8.xml.out:88 +#: 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:222 -#: passwd.1.xml.out:316 su.1.xml.out:144 su.1.xml.out:156 useradd.8.xml.out:330 +#: 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" @@ -646,11 +646,11 @@ msgstr "显示账户年龄信息。" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:157 chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:113 -#: chpasswd.8.xml.out:78 chpasswd.8.xml.out:84 chpasswd.8.xml.out:130 -#: chpasswd.8.xml.out:155 faillog.8.xml.out:88 faillog.8.xml.out:120 +#: 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:287 useradd.8.xml.out:350 useradd.8.xml.out:476 +#: 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 "-" @@ -658,19 +658,19 @@ msgid "-m" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:157 passwd.1.xml.out:246 +#: 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:246 -#: passwd.1.xml.out:251 +#: 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:249 +#: chage.1.xml.out:160 passwd.1.xml.out:245 #, fuzzy #| msgid "" #| "Set the minimum number of days between password changes to " @@ -686,26 +686,26 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: chage.1.xml.out:169 gpasswd.1.xml.out:81 gpasswd.1.xml.out:112 -#: gpasswd.1.xml.out:217 useradd.8.xml.out:162 useradd.8.xml.out:373 +#: 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 msgid "-M" msgstr "-M" #. (itstool) path: term/option -#: chage.1.xml.out:169 passwd.1.xml.out:335 +#: 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:335 passwd.1.xml.out:340 passwd.1.xml.out:345 +#: 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:203 usermod.8.xml.out:481 +#: chage.1.xml.out:178 chage.1.xml.out:218 usermod.8.xml.out:481 #, fuzzy #| msgid "-" msgid "-W" @@ -726,7 +726,7 @@ msgstr "" "不能使用此账户。" #. (itstool) path: listitem/para -#: chage.1.xml.out:181 passwd.1.xml.out:343 +#: chage.1.xml.out:181 passwd.1.xml.out:354 #, fuzzy #| msgid "" #| "Passing the number <emphasis remap=\"I\">-1</emphasis> as " @@ -740,12 +740,12 @@ msgstr "" "emphasis> 会移除密码有效性检查。" #. (itstool) path: term/option -#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 chsh.1.xml.out:84 faillog.8.xml.out:157 -#: gpasswd.1.xml.out:189 groupadd.8.xml.out:201 groupdel.8.xml.out:89 +#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 chsh.1.xml.out:84 faillog.8.xml.out:157 +#: gpasswd.1.xml.out:191 groupadd.8.xml.out:201 groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 groupmod.8.xml.out:164 grpck.8.xml.out:149 -#: lastlog.8.xml.out:104 newusers.8.xml.out:306 passwd.1.xml.out:278 -#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:489 +#: lastlog.8.xml.out:104 newusers.8.xml.out:308 passwd.1.xml.out:274 +#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:491 #: userdel.8.xml.out:123 usermod.8.xml.out:328 vipw.8.xml.out:115 #, fuzzy #| msgid "-" @@ -753,12 +753,12 @@ msgid "-R" msgstr "-" #. (itstool) path: term/option -#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:123 -#: chpasswd.8.xml.out:165 chsh.1.xml.out:84 faillog.8.xml.out:157 -#: gpasswd.1.xml.out:158 groupadd.8.xml.out:201 groupdel.8.xml.out:89 +#: chage.1.xml.out:190 chfn.1.xml.out:130 chgpasswd.8.xml.out:129 +#: chpasswd.8.xml.out:171 chsh.1.xml.out:84 faillog.8.xml.out:157 +#: gpasswd.1.xml.out:160 groupadd.8.xml.out:201 groupdel.8.xml.out:89 #: groupmems.8.xml.out:142 groupmod.8.xml.out:164 grpck.8.xml.out:149 -#: lastlog.8.xml.out:104 newusers.8.xml.out:306 passwd.1.xml.out:278 -#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:489 +#: lastlog.8.xml.out:104 newusers.8.xml.out:308 passwd.1.xml.out:274 +#: pwck.8.xml.out:197 pwconv.8.xml.out:178 useradd.8.xml.out:491 #: userdel.8.xml.out:123 usermod.8.xml.out:328 vipw.8.xml.out:115 msgid "--root" msgstr "" @@ -767,22 +767,22 @@ msgstr "" #. (itstool) path: para/replaceable #: chage.1.xml.out:190 chage.1.xml.out:194 chage.1.xml.out:196 #: chfn.1.xml.out:130 chfn.1.xml.out:134 chfn.1.xml.out:136 -#: chgpasswd.8.xml.out:123 chgpasswd.8.xml.out:127 chgpasswd.8.xml.out:129 -#: chpasswd.8.xml.out:165 chpasswd.8.xml.out:169 chpasswd.8.xml.out:171 +#: chgpasswd.8.xml.out:129 chgpasswd.8.xml.out:133 chgpasswd.8.xml.out:135 +#: chpasswd.8.xml.out:171 chpasswd.8.xml.out:175 chpasswd.8.xml.out:177 #: chsh.1.xml.out:84 chsh.1.xml.out:88 chsh.1.xml.out:90 faillog.8.xml.out:157 -#: faillog.8.xml.out:161 faillog.8.xml.out:163 gpasswd.1.xml.out:158 -#: gpasswd.1.xml.out:162 gpasswd.1.xml.out:164 groupadd.8.xml.out:201 +#: faillog.8.xml.out:161 faillog.8.xml.out:163 gpasswd.1.xml.out:160 +#: gpasswd.1.xml.out:164 gpasswd.1.xml.out:166 groupadd.8.xml.out:201 #: groupadd.8.xml.out:205 groupadd.8.xml.out:207 groupdel.8.xml.out:89 #: groupdel.8.xml.out:93 groupdel.8.xml.out:95 groupmems.8.xml.out:142 #: groupmems.8.xml.out:146 groupmems.8.xml.out:148 groupmod.8.xml.out:164 #: groupmod.8.xml.out:168 groupmod.8.xml.out:170 grpck.8.xml.out:149 #: grpck.8.xml.out:153 grpck.8.xml.out:155 lastlog.8.xml.out:104 -#: lastlog.8.xml.out:108 lastlog.8.xml.out:110 newusers.8.xml.out:306 -#: newusers.8.xml.out:310 newusers.8.xml.out:312 passwd.1.xml.out:278 -#: passwd.1.xml.out:282 passwd.1.xml.out:284 pwck.8.xml.out:197 +#: lastlog.8.xml.out:108 lastlog.8.xml.out:110 newusers.8.xml.out:308 +#: newusers.8.xml.out:312 newusers.8.xml.out:314 passwd.1.xml.out:274 +#: passwd.1.xml.out:278 passwd.1.xml.out:280 pwck.8.xml.out:197 #: pwck.8.xml.out:201 pwck.8.xml.out:203 pwconv.8.xml.out:178 -#: pwconv.8.xml.out:182 pwconv.8.xml.out:184 useradd.8.xml.out:489 -#: useradd.8.xml.out:493 useradd.8.xml.out:495 userdel.8.xml.out:123 +#: pwconv.8.xml.out:182 pwconv.8.xml.out:184 useradd.8.xml.out:491 +#: useradd.8.xml.out:495 useradd.8.xml.out:497 userdel.8.xml.out:123 #: userdel.8.xml.out:127 userdel.8.xml.out:129 usermod.8.xml.out:328 #: usermod.8.xml.out:332 usermod.8.xml.out:334 vipw.8.xml.out:115 #: vipw.8.xml.out:119 vipw.8.xml.out:121 @@ -790,12 +790,12 @@ msgid "CHROOT_DIR" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:193 chfn.1.xml.out:133 chgpasswd.8.xml.out:126 -#: chpasswd.8.xml.out:168 chsh.1.xml.out:87 faillog.8.xml.out:160 -#: gpasswd.1.xml.out:161 groupadd.8.xml.out:204 groupdel.8.xml.out:92 +#: chage.1.xml.out:193 chfn.1.xml.out:133 chgpasswd.8.xml.out:132 +#: chpasswd.8.xml.out:174 chsh.1.xml.out:87 faillog.8.xml.out:160 +#: gpasswd.1.xml.out:163 groupadd.8.xml.out:204 groupdel.8.xml.out:92 #: groupmems.8.xml.out:145 groupmod.8.xml.out:167 grpck.8.xml.out:152 -#: lastlog.8.xml.out:107 newusers.8.xml.out:309 passwd.1.xml.out:281 -#: pwck.8.xml.out:200 pwconv.8.xml.out:181 useradd.8.xml.out:492 +#: lastlog.8.xml.out:107 newusers.8.xml.out:311 passwd.1.xml.out:277 +#: pwck.8.xml.out:200 pwconv.8.xml.out:181 useradd.8.xml.out:494 #: userdel.8.xml.out:126 usermod.8.xml.out:331 vipw.8.xml.out:118 #, fuzzy #| msgid "" @@ -810,19 +810,58 @@ msgstr "" "replaceable>。" #. (itstool) path: term/option -#: chage.1.xml.out:203 passwd.1.xml.out:322 +#: chage.1.xml.out:203 chpasswd.8.xml.out:184 groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 groupmod.8.xml.out:177 passwd.1.xml.out:287 +#: useradd.8.xml.out:504 userdel.8.xml.out:136 usermod.8.xml.out:341 +#, fuzzy +#| msgid "-" +msgid "-P" +msgstr "-" + +#. (itstool) path: term/option +#: chage.1.xml.out:203 chpasswd.8.xml.out:184 groupadd.8.xml.out:214 +#: groupdel.8.xml.out:102 groupmod.8.xml.out:177 passwd.1.xml.out:287 +#: useradd.8.xml.out:504 userdel.8.xml.out:136 usermod.8.xml.out:341 +msgid "--prefix" +msgstr "" + +#. (itstool) path: term/replaceable +#. (itstool) path: para/replaceable +#: chage.1.xml.out:203 chage.1.xml.out:208 chpasswd.8.xml.out:184 +#: chpasswd.8.xml.out:189 groupadd.8.xml.out:214 groupadd.8.xml.out:219 +#: groupdel.8.xml.out:102 groupdel.8.xml.out:106 groupdel.8.xml.out:108 +#: groupmod.8.xml.out:177 groupmod.8.xml.out:181 groupmod.8.xml.out:183 +#: passwd.1.xml.out:287 passwd.1.xml.out:292 useradd.8.xml.out:504 +#: useradd.8.xml.out:509 userdel.8.xml.out:136 userdel.8.xml.out:140 +#: userdel.8.xml.out:142 usermod.8.xml.out:341 usermod.8.xml.out:346 +msgid "PREFIX_DIR" +msgstr "" + +#. (itstool) path: listitem/para +#: chage.1.xml.out:206 chpasswd.8.xml.out:187 groupadd.8.xml.out:217 +#: passwd.1.xml.out:290 useradd.8.xml.out:507 +msgid "" +"Apply changes to configuration files under the root filesystem found under " +"the directory <_:replaceable-1/>. 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 "" + +#. (itstool) path: term/option +#: chage.1.xml.out:218 passwd.1.xml.out:333 msgid "--warndays" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: chage.1.xml.out:203 chage.1.xml.out:208 passwd.1.xml.out:322 -#: passwd.1.xml.out:327 +#: chage.1.xml.out:218 chage.1.xml.out:223 passwd.1.xml.out:333 +#: passwd.1.xml.out:338 msgid "WARN_DAYS" msgstr "" #. (itstool) path: listitem/para -#: chage.1.xml.out:206 +#: chage.1.xml.out:221 #, fuzzy msgid "" "Set the number of days of warning before a password change is required. The " @@ -832,12 +871,12 @@ msgstr "" "设置在要求更改密码之前几天开始警告。<replaceable>WARN_DAYS</replaceable> 选项" #. (itstool) path: para/emphasis -#: chage.1.xml.out:220 chfn.1.xml.out:163 chsh.1.xml.out:112 +#: chage.1.xml.out:235 chfn.1.xml.out:163 chsh.1.xml.out:112 msgid "[ ]" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:215 +#: chage.1.xml.out:230 #, fuzzy #| msgid "" #| "If none of the options are selected, <command>chage</command> operates in " @@ -857,13 +896,13 @@ msgstr "" "<emphasis>[ ]</emphasis> 标记对里。" #. (itstool) path: refsect1/title -#: chage.1.xml.out:224 chsh.1.xml.out:117 groups.1.xml.out:65 +#: chage.1.xml.out:239 chsh.1.xml.out:117 groups.1.xml.out:65 #: lastlog.8.xml.out:170 msgid "NOTE" msgstr "注意" #. (itstool) path: refsect1/para -#: chage.1.xml.out:225 +#: chage.1.xml.out:240 #, fuzzy #| msgid "" #| "The <command>chage</command> program requires a shadow password file to " @@ -873,7 +912,7 @@ msgid "" msgstr "<command>chage</command> 需要有一个影子密码文件才可用。" #. (itstool) path: refsect1/para -#: chage.1.xml.out:229 +#: chage.1.xml.out:244 msgid "" "The chage program will report only the information from the shadow password " "file. This implies that configuration from other sources (e.g. LDAP or empty " @@ -887,7 +926,7 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: chage.1.xml.out:238 grpck.8.xml.out:294 login.defs.5.xml.out:410 +#: chage.1.xml.out:253 grpck.8.xml.out:294 login.defs.5.xml.out:429 #: passwd.5.xml.out:185 pwck.8.xml.out:40 pwck.8.xml.out:47 pwck.8.xml.out:53 #: pwck.8.xml.out:71 pwck.8.xml.out:147 pwck.8.xml.out:159 pwck.8.xml.out:191 #: pwck.8.xml.out:223 pwck.8.xml.out:284 pwconv.8.xml.out:197 @@ -896,7 +935,7 @@ msgid "pwck" msgstr "pwck" #. (itstool) path: refsect1/para -#: chage.1.xml.out:235 +#: chage.1.xml.out:250 msgid "" "The <_:command-1/> program will also not report any inconsistency between " "the shadow and passwd files (e.g. missing x in the passwd file). The <_:" @@ -904,7 +943,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: chage.1.xml.out:241 +#: chage.1.xml.out:256 #, fuzzy #| msgid "" #| "The <command>chage</command> command is restricted to the root user, " @@ -920,52 +959,54 @@ msgstr "" "option> 选项,用来让非特权用户觉得自己的密码或账户何时过期。" #. (itstool) path: refsect1/title -#: chage.1.xml.out:249 chfn.1.xml.out:170 chgpasswd.8.xml.out:175 -#: chpasswd.8.xml.out:216 chsh.1.xml.out:131 gpasswd.1.xml.out:241 +#: chage.1.xml.out:264 chfn.1.xml.out:170 chgpasswd.8.xml.out:201 +#: chpasswd.8.xml.out:256 chsh.1.xml.out:150 gpasswd.1.xml.out:243 #: groupadd.8.xml.out:247 groupdel.8.xml.out:133 groupmems.8.xml.out:176 #: groupmod.8.xml.out:212 grpck.8.xml.out:196 lastlog.8.xml.out:182 -#: login.1.xml.out:270 newgrp.1.xml.out:85 newusers.8.xml.out:360 -#: passwd.1.xml.out:372 pwck.8.xml.out:240 pwconv.8.xml.out:204 sg.1.xml.out:74 -#: su.1.xml.out:314 useradd.8.xml.out:710 userdel.8.xml.out:165 -#: usermod.8.xml.out:536 vipw.8.xml.out:142 +#: login.1.xml.out:270 newgrp.1.xml.out:85 newusers.8.xml.out:381 +#: passwd.1.xml.out:394 pwck.8.xml.out:240 pwconv.8.xml.out:204 sg.1.xml.out:74 +#: su.1.xml.out:314 useradd.8.xml.out:730 userdel.8.xml.out:165 +#: usermod.8.xml.out:553 vipw.8.xml.out:142 msgid "CONFIGURATION" msgstr "配置文件" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: chage.1.xml.out:252 chfn.1.xml.out:68 chfn.1.xml.out:173 chfn.1.xml.out:187 -#: chgpasswd.8.xml.out:70 chgpasswd.8.xml.out:155 chgpasswd.8.xml.out:178 -#: chgpasswd.8.xml.out:205 chpasswd.8.xml.out:77 chpasswd.8.xml.out:134 -#: chpasswd.8.xml.out:200 chpasswd.8.xml.out:219 chpasswd.8.xml.out:247 -#: chsh.1.xml.out:134 chsh.1.xml.out:159 gpasswd.1.xml.out:244 -#: groupadd.8.xml.out:129 groupadd.8.xml.out:239 groupadd.8.xml.out:250 -#: groupadd.8.xml.out:276 groupdel.8.xml.out:136 groupmems.8.xml.out:179 -#: groupmod.8.xml.out:109 groupmod.8.xml.out:204 groupmod.8.xml.out:215 -#: groupmod.8.xml.out:239 grpck.8.xml.out:199 lastlog.8.xml.out:185 -#: login.1.xml.out:273 login.1.xml.out:365 login.access.5.xml.out:100 -#: login.defs.5.xml.out:116 login.defs.5.xml.out:515 newgrp.1.xml.out:88 -#: newusers.8.xml.out:340 newusers.8.xml.out:363 newusers.8.xml.out:423 -#: passwd.1.xml.out:375 passwd.1.xml.out:405 pwck.8.xml.out:243 +#: chage.1.xml.out:267 chfn.1.xml.out:68 chfn.1.xml.out:173 chfn.1.xml.out:187 +#: chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:159 chgpasswd.8.xml.out:168 +#: chgpasswd.8.xml.out:177 chgpasswd.8.xml.out:204 chgpasswd.8.xml.out:233 +#: chpasswd.8.xml.out:79 chpasswd.8.xml.out:140 chpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:227 chpasswd.8.xml.out:236 chpasswd.8.xml.out:259 +#: chpasswd.8.xml.out:289 chsh.1.xml.out:153 chsh.1.xml.out:200 +#: gpasswd.1.xml.out:246 groupadd.8.xml.out:129 groupadd.8.xml.out:239 +#: groupadd.8.xml.out:250 groupadd.8.xml.out:276 groupdel.8.xml.out:136 +#: groupmems.8.xml.out:179 groupmod.8.xml.out:109 groupmod.8.xml.out:204 +#: groupmod.8.xml.out:215 groupmod.8.xml.out:239 grpck.8.xml.out:199 +#: lastlog.8.xml.out:185 login.1.xml.out:273 login.1.xml.out:365 +#: login.access.5.xml.out:100 login.defs.5.xml.out:118 login.defs.5.xml.out:534 +#: newgrp.1.xml.out:88 newusers.8.xml.out:340 newusers.8.xml.out:349 +#: newusers.8.xml.out:357 newusers.8.xml.out:384 newusers.8.xml.out:444 +#: passwd.1.xml.out:397 passwd.1.xml.out:427 pwck.8.xml.out:243 #: pwconv.8.xml.out:148 pwconv.8.xml.out:207 pwconv.8.xml.out:215 #: pwconv.8.xml.out:230 sg.1.xml.out:77 su.1.xml.out:109 su.1.xml.out:219 #: su.1.xml.out:277 su.1.xml.out:317 su.1.xml.out:357 useradd.8.xml.out:241 -#: useradd.8.xml.out:307 useradd.8.xml.out:378 useradd.8.xml.out:399 -#: useradd.8.xml.out:467 useradd.8.xml.out:474 useradd.8.xml.out:560 -#: useradd.8.xml.out:713 useradd.8.xml.out:797 userdel.8.xml.out:87 +#: useradd.8.xml.out:309 useradd.8.xml.out:380 useradd.8.xml.out:401 +#: useradd.8.xml.out:469 useradd.8.xml.out:476 useradd.8.xml.out:562 +#: useradd.8.xml.out:733 useradd.8.xml.out:817 userdel.8.xml.out:87 #: userdel.8.xml.out:168 userdel.8.xml.out:191 userdel.8.xml.out:297 -#: usermod.8.xml.out:399 usermod.8.xml.out:539 usermod.8.xml.out:569 +#: usermod.8.xml.out:399 usermod.8.xml.out:556 usermod.8.xml.out:586 #: vipw.8.xml.out:145 msgid "/etc/login.defs" msgstr "/etc/login.defs" #. (itstool) path: refsect1/para -#: chage.1.xml.out:250 chfn.1.xml.out:171 chgpasswd.8.xml.out:176 -#: chpasswd.8.xml.out:217 chsh.1.xml.out:132 gpasswd.1.xml.out:242 +#: chage.1.xml.out:265 chfn.1.xml.out:171 chgpasswd.8.xml.out:202 +#: chpasswd.8.xml.out:257 chsh.1.xml.out:151 gpasswd.1.xml.out:244 #: groupadd.8.xml.out:248 groupdel.8.xml.out:134 groupmems.8.xml.out:177 #: groupmod.8.xml.out:213 grpck.8.xml.out:197 lastlog.8.xml.out:183 -#: login.1.xml.out:271 newgrp.1.xml.out:86 newusers.8.xml.out:361 -#: passwd.1.xml.out:373 pwck.8.xml.out:241 sg.1.xml.out:75 su.1.xml.out:315 -#: useradd.8.xml.out:711 userdel.8.xml.out:166 usermod.8.xml.out:537 +#: login.1.xml.out:271 newgrp.1.xml.out:86 newusers.8.xml.out:382 +#: passwd.1.xml.out:395 pwck.8.xml.out:241 sg.1.xml.out:75 su.1.xml.out:315 +#: useradd.8.xml.out:731 userdel.8.xml.out:166 usermod.8.xml.out:554 #: vipw.8.xml.out:143 #, fuzzy #| msgid "" @@ -979,126 +1020,126 @@ msgstr "" "的行为:" #. (itstool) path: refsect1/title -#: chage.1.xml.out:261 chfn.1.xml.out:184 chgpasswd.8.xml.out:190 -#: chpasswd.8.xml.out:232 chsh.1.xml.out:144 expiry.1.xml.out:97 -#: faillog.5.xml.out:72 faillog.8.xml.out:220 gpasswd.1.xml.out:256 +#: chage.1.xml.out:276 chfn.1.xml.out:184 chgpasswd.8.xml.out:218 +#: chpasswd.8.xml.out:274 chsh.1.xml.out:163 expiry.1.xml.out:97 +#: faillog.5.xml.out:72 faillog.8.xml.out:220 gpasswd.1.xml.out:258 #: groupadd.8.xml.out:261 groupdel.8.xml.out:145 groupmems.8.xml.out:188 #: groupmod.8.xml.out:224 groups.1.xml.out:77 grpck.8.xml.out:208 #: gshadow.5.xml.out:132 lastlog.8.xml.out:194 limits.5.xml.out:172 #: login.1.xml.out:314 login.access.5.xml.out:97 logoutd.8.xml.out:65 -#: newgrp.1.xml.out:97 newusers.8.xml.out:396 passwd.1.xml.out:390 +#: newgrp.1.xml.out:97 newusers.8.xml.out:417 passwd.1.xml.out:412 #: passwd.5.xml.out:139 porttime.5.xml.out:106 pwck.8.xml.out:258 #: pwconv.8.xml.out:227 shadow.3.xml.out:202 shadow.5.xml.out:231 -#: sg.1.xml.out:86 su.1.xml.out:342 suauth.5.xml.out:169 useradd.8.xml.out:740 -#: userdel.8.xml.out:182 usermod.8.xml.out:554 vipw.8.xml.out:172 +#: sg.1.xml.out:86 su.1.xml.out:342 suauth.5.xml.out:169 useradd.8.xml.out:760 +#: userdel.8.xml.out:182 usermod.8.xml.out:571 vipw.8.xml.out:172 msgid "FILES" msgstr "文件" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:265 chfn.1.xml.out:193 chpasswd.8.xml.out:235 -#: chsh.1.xml.out:147 expiry.1.xml.out:100 groupmod.8.xml.out:245 +#: chage.1.xml.out:280 chfn.1.xml.out:193 chpasswd.8.xml.out:277 +#: chsh.1.xml.out:166 expiry.1.xml.out:100 groupmod.8.xml.out:245 #: grpck.8.xml.out:223 lastlog.8.xml.out:63 login.1.xml.out:145 #: login.1.xml.out:329 newgrp.1.xml.out:65 newgrp.1.xml.out:70 -#: newgrp.1.xml.out:100 newusers.8.xml.out:399 passwd.1.xml.out:393 +#: newgrp.1.xml.out:100 newusers.8.xml.out:420 passwd.1.xml.out:415 #: passwd.5.xml.out:47 passwd.5.xml.out:89 passwd.5.xml.out:142 #: pwck.8.xml.out:73 pwck.8.xml.out:145 pwck.8.xml.out:212 pwck.8.xml.out:224 #: pwck.8.xml.out:267 pwconv.8.xml.out:127 shadow.5.xml.out:234 sg.1.xml.out:89 -#: su.1.xml.out:185 su.1.xml.out:197 su.1.xml.out:345 useradd.8.xml.out:524 -#: useradd.8.xml.out:743 userdel.8.xml.out:197 usermod.8.xml.out:103 -#: usermod.8.xml.out:305 usermod.8.xml.out:362 usermod.8.xml.out:575 +#: su.1.xml.out:185 su.1.xml.out:197 su.1.xml.out:345 useradd.8.xml.out:526 +#: useradd.8.xml.out:763 userdel.8.xml.out:197 usermod.8.xml.out:103 +#: usermod.8.xml.out:305 usermod.8.xml.out:362 usermod.8.xml.out:592 #: vipw.8.xml.out:68 vipw.8.xml.out:187 msgid "/etc/passwd" msgstr "/etc/passwd" #. (itstool) path: listitem/para -#: chage.1.xml.out:268 chfn.1.xml.out:195 chpasswd.8.xml.out:237 -#: chsh.1.xml.out:149 expiry.1.xml.out:102 groupmod.8.xml.out:247 +#: chage.1.xml.out:283 chfn.1.xml.out:195 chpasswd.8.xml.out:279 +#: chsh.1.xml.out:168 expiry.1.xml.out:102 groupmod.8.xml.out:247 #: grpck.8.xml.out:225 login.1.xml.out:331 newgrp.1.xml.out:102 -#: newusers.8.xml.out:401 passwd.1.xml.out:395 passwd.5.xml.out:144 +#: newusers.8.xml.out:422 passwd.1.xml.out:417 passwd.5.xml.out:144 #: pwck.8.xml.out:269 shadow.5.xml.out:236 sg.1.xml.out:91 su.1.xml.out:347 -#: useradd.8.xml.out:745 userdel.8.xml.out:199 vipw.8.xml.out:189 +#: useradd.8.xml.out:765 userdel.8.xml.out:199 vipw.8.xml.out:189 msgid "User account information." msgstr "用户账户信息。" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: chage.1.xml.out:273 chpasswd.8.xml.out:241 expiry.1.xml.out:106 +#: chage.1.xml.out:288 chpasswd.8.xml.out:283 expiry.1.xml.out:106 #: login.1.xml.out:335 newgrp.1.xml.out:68 newgrp.1.xml.out:106 -#: newusers.8.xml.out:295 newusers.8.xml.out:405 passwd.1.xml.out:399 +#: newusers.8.xml.out:297 newusers.8.xml.out:426 passwd.1.xml.out:421 #: passwd.5.xml.out:82 passwd.5.xml.out:148 pwck.8.xml.out:73 #: pwck.8.xml.out:107 pwck.8.xml.out:213 pwck.8.xml.out:225 pwck.8.xml.out:273 #: pwconv.8.xml.out:128 pwconv.8.xml.out:149 shadow.3.xml.out:97 #: shadow.3.xml.out:173 shadow.3.xml.out:205 shadow.5.xml.out:78 -#: shadow.5.xml.out:240 sg.1.xml.out:95 su.1.xml.out:351 useradd.8.xml.out:439 -#: useradd.8.xml.out:464 useradd.8.xml.out:749 userdel.8.xml.out:203 +#: shadow.5.xml.out:240 sg.1.xml.out:95 su.1.xml.out:351 useradd.8.xml.out:441 +#: useradd.8.xml.out:466 useradd.8.xml.out:769 userdel.8.xml.out:203 #: usermod.8.xml.out:144 usermod.8.xml.out:145 usermod.8.xml.out:166 -#: usermod.8.xml.out:167 usermod.8.xml.out:306 usermod.8.xml.out:581 +#: usermod.8.xml.out:167 usermod.8.xml.out:306 usermod.8.xml.out:598 #: vipw.8.xml.out:71 vipw.8.xml.out:193 msgid "/etc/shadow" msgstr "/etc/shadow" #. (itstool) path: listitem/para -#: chage.1.xml.out:276 chpasswd.8.xml.out:243 expiry.1.xml.out:108 -#: login.1.xml.out:337 newgrp.1.xml.out:108 newusers.8.xml.out:407 -#: passwd.1.xml.out:401 pwck.8.xml.out:275 shadow.3.xml.out:207 -#: shadow.5.xml.out:242 sg.1.xml.out:97 su.1.xml.out:353 useradd.8.xml.out:751 +#: chage.1.xml.out:291 chpasswd.8.xml.out:285 expiry.1.xml.out:108 +#: login.1.xml.out:337 newgrp.1.xml.out:108 newusers.8.xml.out:428 +#: passwd.1.xml.out:423 pwck.8.xml.out:275 shadow.3.xml.out:207 +#: shadow.5.xml.out:242 sg.1.xml.out:97 su.1.xml.out:353 useradd.8.xml.out:771 #: userdel.8.xml.out:205 vipw.8.xml.out:195 msgid "Secure user account information." msgstr "安全用户账户信息。" #. (itstool) path: refsect1/title -#: chage.1.xml.out:283 groupadd.8.xml.out:298 groupdel.8.xml.out:163 -#: groupmod.8.xml.out:254 grpck.8.xml.out:232 passwd.1.xml.out:420 -#: pwck.8.xml.out:282 su.1.xml.out:366 useradd.8.xml.out:806 +#: chage.1.xml.out:298 groupadd.8.xml.out:298 groupdel.8.xml.out:163 +#: groupmod.8.xml.out:254 grpck.8.xml.out:232 passwd.1.xml.out:442 +#: pwck.8.xml.out:282 su.1.xml.out:366 useradd.8.xml.out:826 #: userdel.8.xml.out:230 msgid "EXIT VALUES" msgstr "退出值" #. (itstool) path: listitem/para -#: chage.1.xml.out:290 groupadd.8.xml.out:305 groupdel.8.xml.out:170 -#: grpck.8.xml.out:239 passwd.1.xml.out:427 pwck.8.xml.out:289 -#: useradd.8.xml.out:813 userdel.8.xml.out:237 +#: chage.1.xml.out:305 groupadd.8.xml.out:305 groupdel.8.xml.out:170 +#: grpck.8.xml.out:239 passwd.1.xml.out:449 pwck.8.xml.out:289 +#: useradd.8.xml.out:833 userdel.8.xml.out:237 msgid "success" msgstr "成功" #. (itstool) path: listitem/para -#: chage.1.xml.out:296 passwd.1.xml.out:433 +#: chage.1.xml.out:311 passwd.1.xml.out:455 msgid "permission denied" msgstr "权限不够" #. (itstool) path: term/replaceable #. (itstool) path: citerefentry/manvolnum -#: chage.1.xml.out:300 groupadd.8.xml.out:309 groupdel.8.xml.out:174 +#: chage.1.xml.out:315 groupadd.8.xml.out:309 groupdel.8.xml.out:174 #: groupmod.8.xml.out:265 groups.1.xml.out:95 groups.1.xml.out:98 #: groups.1.xml.out:101 grpck.8.xml.out:249 limits.5.xml.out:90 #: limits.5.xml.out:101 limits.5.xml.out:188 limits.5.xml.out:191 -#: passwd.1.xml.out:437 pwck.8.xml.out:299 useradd.8.xml.out:823 +#: passwd.1.xml.out:459 pwck.8.xml.out:299 useradd.8.xml.out:843 #: userdel.8.xml.out:247 msgid "2" msgstr "2" #. (itstool) path: listitem/para -#: chage.1.xml.out:302 groupadd.8.xml.out:311 groupdel.8.xml.out:176 -#: grpck.8.xml.out:245 pwck.8.xml.out:295 useradd.8.xml.out:825 +#: chage.1.xml.out:317 groupadd.8.xml.out:311 groupdel.8.xml.out:176 +#: grpck.8.xml.out:245 pwck.8.xml.out:295 useradd.8.xml.out:845 #: userdel.8.xml.out:249 msgid "invalid command syntax" msgstr "无效的命令语法" #. (itstool) path: term/replaceable -#: chage.1.xml.out:306 +#: chage.1.xml.out:321 msgid "15" msgstr "15" #. (itstool) path: listitem/para -#: chage.1.xml.out:308 +#: chage.1.xml.out:323 msgid "can't find the shadow password file" msgstr "无法找到影子密码文件" #. (itstool) path: refsect1/para -#: chage.1.xml.out:284 groupadd.8.xml.out:299 groupdel.8.xml.out:164 -#: groupmod.8.xml.out:255 grpck.8.xml.out:233 passwd.1.xml.out:421 -#: pwck.8.xml.out:283 useradd.8.xml.out:807 userdel.8.xml.out:231 +#: chage.1.xml.out:299 groupadd.8.xml.out:299 groupdel.8.xml.out:164 +#: groupmod.8.xml.out:255 grpck.8.xml.out:233 passwd.1.xml.out:443 +#: pwck.8.xml.out:283 useradd.8.xml.out:827 userdel.8.xml.out:231 #, fuzzy #| msgid "" #| "The <command>pwck</command> command exits with the following values: " @@ -1109,18 +1150,18 @@ msgid "" msgstr "<command>pwck</command> 命令有如下返回值:<placeholder-1/>" #. (itstool) path: refsect1/title -#: chage.1.xml.out:316 chfn.1.xml.out:202 chgpasswd.8.xml.out:214 -#: chpasswd.8.xml.out:262 chsh.1.xml.out:168 expiry.1.xml.out:115 -#: faillog.5.xml.out:84 faillog.8.xml.out:232 gpasswd.1.xml.out:274 +#: chage.1.xml.out:331 chfn.1.xml.out:202 chgpasswd.8.xml.out:242 +#: chpasswd.8.xml.out:304 chsh.1.xml.out:209 expiry.1.xml.out:115 +#: faillog.5.xml.out:84 faillog.8.xml.out:232 gpasswd.1.xml.out:276 #: groupadd.8.xml.out:343 groupdel.8.xml.out:202 groupmems.8.xml.out:206 #: groupmod.8.xml.out:323 groups.1.xml.out:89 grpck.8.xml.out:277 #: gshadow.5.xml.out:150 limits.5.xml.out:182 login.1.xml.out:374 -#: login.access.5.xml.out:109 login.defs.5.xml.out:527 newgrp.1.xml.out:127 -#: newusers.8.xml.out:450 nologin.8.xml.out:57 passwd.1.xml.out:471 +#: login.access.5.xml.out:109 login.defs.5.xml.out:546 newgrp.1.xml.out:127 +#: newusers.8.xml.out:471 nologin.8.xml.out:57 passwd.1.xml.out:493 #: passwd.5.xml.out:167 porttime.5.xml.out:118 pwck.8.xml.out:333 #: pwconv.8.xml.out:239 shadow.3.xml.out:214 shadow.5.xml.out:259 -#: sg.1.xml.out:116 su.1.xml.out:413 suauth.5.xml.out:198 useradd.8.xml.out:875 -#: userdel.8.xml.out:308 usermod.8.xml.out:602 vipw.8.xml.out:202 +#: sg.1.xml.out:116 su.1.xml.out:413 suauth.5.xml.out:198 useradd.8.xml.out:895 +#: userdel.8.xml.out:308 usermod.8.xml.out:619 vipw.8.xml.out:202 msgid "SEE ALSO" msgstr "参见" @@ -1133,53 +1174,53 @@ msgstr "参见" #. (itstool) path: para/command #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: chage.1.xml.out:319 chfn.1.xml.out:211 chpasswd.8.xml.out:265 -#: chsh.1.xml.out:177 expiry.1.xml.out:118 groupadd.8.xml.out:351 +#: 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:399 -#: login.defs.5.xml.out:516 login.defs.5.xml.out:533 login.defs.5.xml.out:539 -#: newusers.8.xml.out:79 newusers.8.xml.out:456 passwd.1.xml.out:40 -#: passwd.1.xml.out:47 passwd.1.xml.out:53 passwd.1.xml.out:66 -#: passwd.1.xml.out:69 passwd.1.xml.out:86 passwd.1.xml.out:116 -#: passwd.1.xml.out:152 passwd.1.xml.out:366 passwd.1.xml.out:413 -#: passwd.1.xml.out:422 passwd.1.xml.out:451 passwd.1.xml.out:457 -#: passwd.1.xml.out:477 passwd.5.xml.out:33 passwd.5.xml.out:40 +#: 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:884 userdel.8.xml.out:316 -#: usermod.8.xml.out:611 vipw.8.xml.out:217 +#: 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:319 chage.1.xml.out:322 chfn.1.xml.out:208 -#: chfn.1.xml.out:211 chgpasswd.8.xml.out:223 chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 chsh.1.xml.out:177 expiry.1.xml.out:118 +#: 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:292 gpasswd.1.xml.out:295 groupadd.8.xml.out:363 +#: 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:103 login.defs.5.xml.out:539 login.defs.5.xml.out:542 -#: newgrp.1.xml.out:145 newgrp.1.xml.out:148 newusers.8.xml.out:79 -#: newusers.8.xml.out:453 newusers.8.xml.out:460 newusers.8.xml.out:463 -#: nologin.8.xml.out:48 nologin.8.xml.out:63 passwd.1.xml.out:455 -#: passwd.1.xml.out:477 passwd.1.xml.out:480 passwd.1.xml.out:484 +#: 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:628 -#: useradd.8.xml.out:899 useradd.8.xml.out:906 useradd.8.xml.out:909 +#: 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:629 usermod.8.xml.out:633 -#: usermod.8.xml.out:636 vipw.8.xml.out:208 vipw.8.xml.out:211 +#: 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" @@ -1192,20 +1233,20 @@ msgstr "5" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/filename -#: chage.1.xml.out:322 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:542 -#: passwd.1.xml.out:480 passwd.5.xml.out:79 passwd.5.xml.out:194 +#: 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:628 +#: 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:317 expiry.1.xml.out:116 faillog.8.xml.out:233 +#: 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 "" @@ -1217,10 +1258,10 @@ msgstr "" #. (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:171 +#: 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:239 useradd.8.xml.out:878 -#: userdel.8.xml.out:310 usermod.8.xml.out:105 usermod.8.xml.out:605 +#: 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" @@ -1238,8 +1279,8 @@ msgstr "" #. (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:405 useradd.8.xml.out:536 -#: useradd.8.xml.out:837 usermod.8.xml.out:271 usermod.8.xml.out:377 +#: 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" @@ -1279,7 +1320,7 @@ msgstr "" #: 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:622 userdel.8.xml.out:76 userdel.8.xml.out:287 +#: 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" @@ -1341,12 +1382,12 @@ msgstr "" #. (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:173 +#: 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:287 passwd.1.xml.out:268 pwck.8.xml.out:155 -#: pwck.8.xml.out:188 useradd.8.xml.out:224 useradd.8.xml.out:456 -#: useradd.8.xml.out:542 userdel.8.xml.out:106 usermod.8.xml.out:317 +#: 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" @@ -1371,8 +1412,8 @@ msgstr "" #. (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:309 useradd.8.xml.out:414 -#: useradd.8.xml.out:531 usermod.8.xml.out:279 usermod.8.xml.out:369 +#: 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 "-" @@ -1380,7 +1421,7 @@ msgid "-u" msgstr "-" #. (itstool) path: term/option -#: chfn.1.xml.out:151 passwd.1.xml.out:322 usermod.8.xml.out:463 +#: chfn.1.xml.out:151 passwd.1.xml.out:333 usermod.8.xml.out:463 #, fuzzy #| msgid "-" msgid "-w" @@ -1425,11 +1466,11 @@ msgstr "" "<emphasis>[ ]</emphasis> 标记对里。" #. (itstool) path: listitem/para -#: chfn.1.xml.out:189 chgpasswd.8.xml.out:207 chpasswd.8.xml.out:249 -#: chsh.1.xml.out:161 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:425 -#: passwd.1.xml.out:407 pwconv.8.xml.out:232 su.1.xml.out:359 -#: useradd.8.xml.out:799 userdel.8.xml.out:193 +#: 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 "Shadow 密码套件配置。" @@ -1442,8 +1483,8 @@ msgstr "Shadow 密码套件配置。" #: 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:270 useradd.8.xml.out:881 -#: userdel.8.xml.out:313 usermod.8.xml.out:608 +#: 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" @@ -1451,25 +1492,25 @@ msgstr "chsh" #. (itstool) path: para/filename #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname -#: chfn.1.xml.out:208 chgpasswd.8.xml.out:223 chpasswd.8.xml.out:272 -#: chsh.1.xml.out:174 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:102 -#: login.defs.5.xml.out:109 newusers.8.xml.out:298 newusers.8.xml.out:453 -#: passwd.1.xml.out:484 pwconv.8.xml.out:92 pwconv.8.xml.out:94 +#: 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:899 userdel.8.xml.out:117 userdel.8.xml.out:319 -#: usermod.8.xml.out:629 vipw.8.xml.out:214 +#: 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:215 chsh.1.xml.out:169 +#: 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:23 +#: chgpasswd.8.xml.out:25 msgid "Creation, 2006" msgstr "" @@ -1478,19 +1519,19 @@ msgstr "" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:33 chgpasswd.8.xml.out:40 chgpasswd.8.xml.out:46 -#: chgpasswd.8.xml.out:56 chgpasswd.8.xml.out:66 chgpasswd.8.xml.out:83 -#: login.defs.5.xml.out:249 +#: 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:34 chgpasswd.8.xml.out:220 chpasswd.8.xml.out:38 -#: chpasswd.8.xml.out:268 chpasswd.8.xml.out:276 faillog.5.xml.out:87 -#: faillog.8.xml.out:34 gpasswd.1.xml.out:280 gpasswd.1.xml.out:283 -#: gpasswd.1.xml.out:286 gpasswd.1.xml.out:289 groupadd.8.xml.out:37 +#: 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 @@ -1503,43 +1544,43 @@ msgstr "chgpasswd" #: 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:545 -#: logoutd.8.xml.out:34 newusers.8.xml.out:50 newusers.8.xml.out:467 -#: nologin.8.xml.out:23 passwd.1.xml.out:474 passwd.1.xml.out:488 +#: 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:574 -#: useradd.8.xml.out:890 useradd.8.xml.out:893 useradd.8.xml.out:896 -#: useradd.8.xml.out:902 useradd.8.xml.out:913 useradd.8.xml.out:916 -#: 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:617 usermod.8.xml.out:620 usermod.8.xml.out:623 -#: usermod.8.xml.out:626 usermod.8.xml.out:640 usermod.8.xml.out:643 -#: vipw.8.xml.out:36 +#: 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:35 chpasswd.8.xml.out:39 faillog.8.xml.out:35 +#: 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:51 nologin.8.xml.out:24 +#: 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 "系统管理命令" #. (itstool) path: refnamediv/refpurpose -#: chgpasswd.8.xml.out:41 +#: chgpasswd.8.xml.out:43 msgid "update group passwords in batch mode" msgstr "批量更新组密码" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:55 +#: chgpasswd.8.xml.out:57 #, fuzzy #| msgid "" #| "The <command>chgpasswd</command> command reads a list of group name and " @@ -1556,12 +1597,12 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chgpasswd.8.xml.out:61 groupmems.8.xml.out:54 groupmems.8.xml.out:110 +#: 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:62 chpasswd.8.xml.out:66 passwd.5.xml.out:77 +#: 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 @@ -1570,12 +1611,12 @@ msgid "password" msgstr "passwd" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:60 chpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:62 chpasswd.8.xml.out:66 msgid "<_:emphasis-1/>:<_:emphasis-2/>" msgstr "" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:64 +#: chgpasswd.8.xml.out:66 #, fuzzy #| msgid "" #| "By default the supplied password must be in clear-text, and is encrypted " @@ -1587,8 +1628,8 @@ msgstr "" "默认上,提供的密码必须是明码文本,然后由 <command>chgpasswd</command> 加密。" #. (itstool) path: para/option -#: chgpasswd.8.xml.out:70 chpasswd.8.xml.out:75 chpasswd.8.xml.out:132 -#: passwd.1.xml.out:129 +#: 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" @@ -1596,9 +1637,9 @@ msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB" #. (itstool) path: para/option #. (itstool) path: term/option -#: chgpasswd.8.xml.out:71 chgpasswd.8.xml.out:101 chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 chpasswd.8.xml.out:130 chpasswd.8.xml.out:139 -#: passwd.1.xml.out:180 useradd.8.xml.out:179 useradd.8.xml.out:610 +#: 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 "-" @@ -1608,16 +1649,16 @@ msgstr "-" #. (itstool) path: para/option #. (itstool) path: term/option #. (itstool) path: arg/arg -#: chgpasswd.8.xml.out:72 chgpasswd.8.xml.out:88 chpasswd.8.xml.out:78 -#: chpasswd.8.xml.out:84 chpasswd.8.xml.out:114 chpasswd.8.xml.out:129 -#: expiry.1.xml.out:60 expiry.1.xml.out:73 newusers.8.xml.out:268 +#: 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:68 +#: chgpasswd.8.xml.out:70 #, fuzzy #| msgid "" #| "The default encryption algorithm can be defined for the system with the " @@ -1634,55 +1675,109 @@ msgstr "" "c</option> 选项覆盖。" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:74 chpasswd.8.xml.out:99 +#: 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 "此命令一般用于需要一次创建很多用户的大型系统。" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:88 chpasswd.8.xml.out:114 newusers.8.xml.out:268 +#: 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:90 chpasswd.8.xml.out:117 newusers.8.xml.out:270 +#: 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 "使用指定的方法加密密码。" -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:91 chpasswd.8.xml.out:118 -msgid "The available methods are DES, MD5, and NONE." -msgstr "可用的方法有 DES,MD5 和 NONE。" +#. (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 <placeholder-1/>" +msgid "<_:replaceable-1/>," +msgstr "-h <placeholder-1/>" + +#. (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 "描述" + +#. (itstool) path: para/phrase +#: chgpasswd.8.xml.out:99 chpasswd.8.xml.out:126 +#, fuzzy +#| msgid "-h <placeholder-1/>" +msgid ", <_:replaceable-1/>" +msgstr "-h <placeholder-1/>" + +#. (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:94 chpasswd.8.xml.out:121 newusers.8.xml.out:271 +#: chgpasswd.8.xml.out:93 chpasswd.8.xml.out:120 msgid "" -"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc " -"support these methods." +"The available methods are <_:phrase-1/> <_:replaceable-2/>, <_:replaceable-3/" +"><_:phrase-4/><_:phrase-5/> and <_:replaceable-6/> if your libc supports " +"these methods." msgstr "" -"可用的方法有 DES, MD5, NONE, and SHA256 或 SHA512,前提是您的 libc 支持这写方" -"法。" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:101 chpasswd.8.xml.out:139 +#: chgpasswd.8.xml.out:107 chpasswd.8.xml.out:145 #, fuzzy #| msgid "encrypted password" msgid "--encrypted" msgstr "加密了的密码" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:103 chpasswd.8.xml.out:141 +#: chgpasswd.8.xml.out:109 chpasswd.8.xml.out:147 msgid "Supplied passwords are in encrypted form." msgstr "提供的密码是已经加密了的" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:113 chpasswd.8.xml.out:155 +#: chgpasswd.8.xml.out:119 chpasswd.8.xml.out:161 msgid "--md5" msgstr "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:115 chpasswd.8.xml.out:157 +#: chgpasswd.8.xml.out:121 chpasswd.8.xml.out:163 msgid "" "Use MD5 encryption instead of DES when the supplied passwords are not " "encrypted." @@ -1690,74 +1785,125 @@ msgstr "如果提供的密码没有加密,则使用 MD5 加密而不是 DES。 #. (itstool) path: term/option #. (itstool) path: para/option -#: chgpasswd.8.xml.out:135 chpasswd.8.xml.out:178 chsh.1.xml.out:97 +#: 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:320 pwck.8.xml.out:155 pwck.8.xml.out:209 -#: su.1.xml.out:163 useradd.8.xml.out:517 useradd.8.xml.out:655 -#: usermod.8.xml.out:357 vipw.8.xml.out:70 vipw.8.xml.out:127 +#: 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 msgid "-s" msgstr "-s" #. (itstool) path: term/option -#: chgpasswd.8.xml.out:135 chpasswd.8.xml.out:178 newusers.8.xml.out:320 +#: 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:137 chpasswd.8.xml.out:181 newusers.8.xml.out:322 +#: 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 "使用指定次数的轮转来加密密码。" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:140 chpasswd.8.xml.out:184 newusers.8.xml.out:325 +#: chgpasswd.8.xml.out:146 chpasswd.8.xml.out:205 newusers.8.xml.out:327 msgid "" -"The value 0 means that the system will choose the default number of rounds " -"for the crypt method (5000)." -msgstr "值 0 表示让系统为加密方法选择默认的轮转次数 (5000)。" +"You can only use this option with crypt method: <_:phrase-1/> <_:phrase-2/> " +"<_:phrase-3/>" +msgstr "" #. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:144 chpasswd.8.xml.out:188 newusers.8.xml.out:329 -msgid "" -"A minimal value of 1000 and a maximal value of 999,999,999 will be enforced." -msgstr "会强制最小 1,000,最大 9,9999,9999" - -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:148 chpasswd.8.xml.out:192 newusers.8.xml.out:333 -msgid "You can only use this option with the SHA256 or SHA512 crypt method." -msgstr "您只可以对 SHA256 或 SHA512 使用此选项。" - -#. (itstool) path: listitem/para -#: chgpasswd.8.xml.out:152 newusers.8.xml.out:337 +#: 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 <filename>/etc/login.defs</" #| "filename>." msgid "" -"By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and " -"SHA_CRYPT_MAX_ROUNDS variables in <_:filename-1/>." +"By default, the number of rounds for BCRYPT is defined by the " +"BCRYPT_MIN_ROUNDS and BCRYPT_MAX_ROUNDS variables in <_:filename-1/>." msgstr "" "默认,轮转数由 <filename>/etc/login.defs</filename> 文件中的 " "SHA_CRYPT_MIN_ROUNDS 和 SHA_CRYPT_MAX_ROUNDS 变量确定。" +#. (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 "会强制最小 1,000,最大 9,9999,9999" + +#. (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 <filename>/etc/login.defs</" +#| "filename>." +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 "" +"默认,轮转数由 <filename>/etc/login.defs</filename> 文件中的 " +"SHA_CRYPT_MIN_ROUNDS 和 SHA_CRYPT_MAX_ROUNDS 变量确定。" + +#. (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 "会强制最小 1,000,最大 9,9999,9999" + +#. (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 <filename>/etc/login.defs</" +#| "filename>." +msgid "" +"By default, the number of rounds for YESCRYPT is defined by the " +"YESCRYPT_COST_FACTOR in <_:filename-1/>." +msgstr "" +"默认,轮转数由 <filename>/etc/login.defs</filename> 文件中的 " +"SHA_CRYPT_MIN_ROUNDS 和 SHA_CRYPT_MAX_ROUNDS 变量确定。" + +#. (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 "会强制最小 1,000,最大 9,9999,9999" + #. (itstool) path: refsect1/title -#: chgpasswd.8.xml.out:163 chpasswd.8.xml.out:208 faillog.8.xml.out:209 -#: gpasswd.1.xml.out:229 groupadd.8.xml.out:285 groupdel.8.xml.out:121 -#: lastlog.8.xml.out:206 login.1.xml.out:236 newusers.8.xml.out:348 -#: passwd.1.xml.out:354 shadow.3.xml.out:194 su.1.xml.out:306 -#: useradd.8.xml.out:682 userdel.8.xml.out:281 usermod.8.xml.out:517 +#: 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 "CAVEATS" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:164 chpasswd.8.xml.out:209 +#: 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 "记住要设置权限或者掩码来阻止其它用户对未加密文件的读取。" #. (itstool) path: refsect1/para -#: chgpasswd.8.xml.out:168 newusers.8.xml.out:353 +#: 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." @@ -1767,8 +1913,8 @@ msgstr "您需要确保你吗和加密方法符合系统的密码策略。" #. (itstool) path: phrase/filename #. (itstool) path: para/filename #. (itstool) path: citerefentry/refentrytitle -#: chgpasswd.8.xml.out:193 gpasswd.1.xml.out:48 gpasswd.1.xml.out:51 -#: gpasswd.1.xml.out:73 gpasswd.1.xml.out:231 gpasswd.1.xml.out:259 +#: 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 @@ -1776,19 +1922,19 @@ msgstr "您需要确保你吗和加密方法符合系统的密码策略。" #: 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:411 pwck.8.xml.out:261 pwconv.8.xml.out:128 -#: sg.1.xml.out:101 suauth.5.xml.out:90 useradd.8.xml.out:755 -#: userdel.8.xml.out:185 usermod.8.xml.out:557 vipw.8.xml.out:69 +#: 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:195 gpasswd.1.xml.out:261 groupadd.8.xml.out:266 +#: 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:413 pwck.8.xml.out:263 -#: sg.1.xml.out:103 useradd.8.xml.out:757 userdel.8.xml.out:187 +#: 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 "组账户信息。" @@ -1796,8 +1942,8 @@ msgstr "组账户信息。" #. (itstool) path: term/filename #. (itstool) path: phrase/filename #. (itstool) path: para/filename -#: chgpasswd.8.xml.out:199 gpasswd.1.xml.out:52 gpasswd.1.xml.out:74 -#: gpasswd.1.xml.out:232 gpasswd.1.xml.out:265 groupadd.8.xml.out:170 +#: 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 @@ -1805,17 +1951,17 @@ msgstr "组账户信息。" #: 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:417 pwconv.8.xml.out:129 sg.1.xml.out:107 -#: useradd.8.xml.out:761 usermod.8.xml.out:563 vipw.8.xml.out:72 +#: 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:201 gpasswd.1.xml.out:267 groupadd.8.xml.out:272 +#: 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:419 -#: sg.1.xml.out:109 useradd.8.xml.out:763 vipw.8.xml.out:183 +#: 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 "安全组账户信息。" @@ -1825,12 +1971,12 @@ msgstr "安全组账户信息。" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:217 gpasswd.1.xml.out:38 gpasswd.1.xml.out:45 -#: gpasswd.1.xml.out:59 gpasswd.1.xml.out:72 gpasswd.1.xml.out:85 -#: gpasswd.1.xml.out:119 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:280 +#: 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:617 +#: usermod.8.xml.out:634 msgid "gpasswd" msgstr "gpasswd" @@ -1840,19 +1986,19 @@ msgstr "gpasswd" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: chgpasswd.8.xml.out:220 gpasswd.1.xml.out:280 groupadd.8.xml.out:36 +#: 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:290 useradd.8.xml.out:890 userdel.8.xml.out:325 -#: usermod.8.xml.out:620 +#: 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:21 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:86 -#: logoutd.8.xml.out:17 newgrp.1.xml.out:18 newusers.8.xml.out:33 +#: 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" @@ -1864,20 +2010,20 @@ msgstr "" #. (itstool) path: para/command #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: chpasswd.8.xml.out:37 chpasswd.8.xml.out:44 chpasswd.8.xml.out:50 -#: chpasswd.8.xml.out:60 chpasswd.8.xml.out:70 chpasswd.8.xml.out:89 -#: chpasswd.8.xml.out:96 chpasswd.8.xml.out:108 chpasswd.8.xml.out:255 -#: login.defs.5.xml.out:259 passwd.1.xml.out:474 +#: 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" #. (itstool) path: refnamediv/refpurpose -#: chpasswd.8.xml.out:45 +#: chpasswd.8.xml.out:47 msgid "update passwords in batch mode" msgstr "批量更新密码" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:59 +#: chpasswd.8.xml.out:61 #, fuzzy #| msgid "" #| "The <command>chgpasswd</command> command reads a list of group name and " @@ -1894,13 +2040,13 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: arg/replaceable #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:65 groupmems.8.xml.out:52 groupmems.8.xml.out:53 +#: 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" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:68 +#: chpasswd.8.xml.out:70 #, fuzzy #| msgid "" #| "By default the passwords must be supplied in clear-text, and are " @@ -1914,14 +2060,14 @@ msgstr "" "龄信息,也会更新之。" #. (itstool) path: para/option -#: chpasswd.8.xml.out:76 chpasswd.8.xml.out:133 +#: 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" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:73 +#: chpasswd.8.xml.out:75 #, fuzzy #| msgid "" #| "The default encryption algorithm can be defined for the system with the " @@ -1938,7 +2084,7 @@ msgstr "" "c</option> 选项覆盖。" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:81 +#: chpasswd.8.xml.out:83 msgid "" "By default, passwords are encrypted by PAM, but (even if not recommended) " "you can select a different encryption method with the <_:option-1/>, <_:" @@ -1946,21 +2092,21 @@ msgid "" msgstr "" #. (itstool) path: para/phrase -#: chpasswd.8.xml.out:88 +#: 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 "默认,使用 PAM 来加密密码。" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:87 +#: chpasswd.8.xml.out:89 msgid "" "<_: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 "" #. (itstool) path: refsect1/para -#: chpasswd.8.xml.out:93 +#: chpasswd.8.xml.out:95 msgid "" "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/> " @@ -1969,17 +2115,17 @@ msgid "" msgstr "" #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:114 +#: chpasswd.8.xml.out:116 msgid "METHOD" msgstr "" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:125 +#: chpasswd.8.xml.out:131 msgid "By default, PAM is used to encrypt the passwords." msgstr "默认,使用 PAM 来加密密码。" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:128 +#: chpasswd.8.xml.out:134 #, fuzzy #| msgid "" #| "The default behavior (if the <option>-g</option>, <option>-N</option>, " @@ -1996,45 +2142,17 @@ msgstr "" "<option>USERGROUPS_ENAB</option> 变量指定。" #. (itstool) path: term/replaceable -#: chpasswd.8.xml.out:178 +#: chpasswd.8.xml.out:199 msgid "ROUNDS" msgstr "" -#. (itstool) path: para/option -#: chpasswd.8.xml.out:198 -#, fuzzy -#| msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" -msgid "SHA_CRYPT_MIN_ROUNDS" -msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" - -#. (itstool) path: para/option -#: chpasswd.8.xml.out:199 -#, fuzzy -#| msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" -msgid "SHA_CRYPT_MAX_ROUNDS" -msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" - -#. (itstool) path: listitem/para -#: chpasswd.8.xml.out:196 -#, fuzzy -#| msgid "" -#| "By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS " -#| "and SHA_CRYPT_MAX_ROUNDS variables in <filename>/etc/login.defs</" -#| "filename>." -msgid "" -"By default, the number of rounds is defined by the <_:option-1/> and <_:" -"option-2/> variables in <_:filename-3/>." -msgstr "" -"默认,轮转数由 <filename>/etc/login.defs</filename> 文件中的 " -"SHA_CRYPT_MIN_ROUNDS 和 SHA_CRYPT_MAX_ROUNDS 变量确定。" - #. (itstool) path: term/filename -#: chpasswd.8.xml.out:253 +#: chpasswd.8.xml.out:295 msgid "/etc/pam.d/chpasswd" msgstr "/etc/pam.d/chpasswd" #. (itstool) path: listitem/para -#: chpasswd.8.xml.out:255 newusers.8.xml.out:431 passwd.1.xml.out:413 +#: chpasswd.8.xml.out:297 newusers.8.xml.out:452 passwd.1.xml.out:435 #, fuzzy #| msgid "PAM configuration for <command>passwd</command>." msgid "PAM configuration for <_:command-1/>." @@ -2046,17 +2164,17 @@ msgstr "<command>passwd</command> 的 PAM 配置。" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:268 login.defs.5.xml.out:380 newusers.8.xml.out:49 -#: newusers.8.xml.out:56 newusers.8.xml.out:62 newusers.8.xml.out:75 -#: newusers.8.xml.out:96 newusers.8.xml.out:123 newusers.8.xml.out:132 -#: newusers.8.xml.out:151 newusers.8.xml.out:164 newusers.8.xml.out:170 -#: newusers.8.xml.out:172 newusers.8.xml.out:210 newusers.8.xml.out:230 -#: newusers.8.xml.out:252 newusers.8.xml.out:431 useradd.8.xml.out:902 +#: 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:270 grpck.8.xml.out:285 passwd.1.xml.out:482 +#: chpasswd.8.xml.out:312 grpck.8.xml.out:285 passwd.1.xml.out:507 msgid "<_:citerefentry-1/>," msgstr "" @@ -2066,21 +2184,21 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: chpasswd.8.xml.out:276 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:462 -#: newusers.8.xml.out:467 useradd.8.xml.out:52 useradd.8.xml.out:59 +#: 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:284 useradd.8.xml.out:341 -#: useradd.8.xml.out:472 useradd.8.xml.out:584 useradd.8.xml.out:586 -#: useradd.8.xml.out:690 useradd.8.xml.out:808 userdel.8.xml.out:342 -#: usermod.8.xml.out:640 +#: 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:263 newusers.8.xml.out:451 +#: chpasswd.8.xml.out:305 newusers.8.xml.out:472 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:phrase-3/> <_:citerefentry-4/>." msgstr "" @@ -2101,8 +2219,8 @@ msgstr "" #. (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:517 -#: useradd.8.xml.out:655 usermod.8.xml.out:357 +#: 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" @@ -2110,8 +2228,8 @@ 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:517 -#: useradd.8.xml.out:522 useradd.8.xml.out:655 useradd.8.xml.out:662 +#: 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 "" @@ -2146,12 +2264,13 @@ msgstr "" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: chsh.1.xml.out:120 chsh.1.xml.out:124 chsh.1.xml.out:153 su.1.xml.out:198 +#: 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:123 chsh.1.xml.out:142 msgid "/bin/rsh" msgstr "" @@ -2167,11 +2286,97 @@ msgid "" "original value." msgstr "" +#. (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 "" +"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 "" + +#. (itstool) path: refsect1/para +#: chsh.1.xml.out:141 +msgid "" +"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 "" + #. (itstool) path: listitem/para -#: chsh.1.xml.out:155 +#: chsh.1.xml.out:174 msgid "List of valid login shells." msgstr "可用的登录 shell 的列表。" +#. (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 "可用的登录 shell 的列表。" + +#. (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 "包含默认文件的目录。" + #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command @@ -2187,7 +2392,7 @@ msgid "check and enforce password expiration policy" msgstr "" #. (itstool) path: arg/replaceable -#: expiry.1.xml.out:52 gpasswd.1.xml.out:61 +#: expiry.1.xml.out:52 gpasswd.1.xml.out:63 msgid "option" msgstr "选项" @@ -2222,7 +2427,7 @@ msgstr "如果用户密码过期,则强制用户修改密码。" #. (itstool) path: author/contrib #: faillog.5.xml.out:17 faillog.8.xml.out:17 login.1.xml.out:50 -#: passwd.1.xml.out:24 passwd.5.xml.out:17 porttime.5.xml.out:17 +#: 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 "" @@ -2243,7 +2448,7 @@ 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:104 passwd.5.xml.out:35 +#: 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" @@ -2332,8 +2537,8 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: faillog.8.xml.out:72 faillog.8.xml.out:215 gpasswd.1.xml.out:124 -#: groupmems.8.xml.out:83 groupmod.8.xml.out:73 passwd.1.xml.out:157 +#: 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 "-" @@ -2341,7 +2546,7 @@ msgid "-a" msgstr "-" #. (itstool) path: term/option -#: faillog.8.xml.out:72 passwd.1.xml.out:157 +#: faillog.8.xml.out:72 passwd.1.xml.out:153 msgid "--all" msgstr "" @@ -2569,8 +2774,8 @@ msgstr "" #: login.1.xml.out:108 login.1.xml.out:112 login.1.xml.out:119 #: login.1.xml.out:171 login.1.xml.out:177 login.1.xml.out:230 #: login.1.xml.out:238 login.1.xml.out:247 login.1.xml.out:253 -#: login.1.xml.out:259 login.access.5.xml.out:112 login.defs.5.xml.out:343 -#: login.defs.5.xml.out:518 login.defs.5.xml.out:530 newgrp.1.xml.out:133 +#: login.1.xml.out:259 login.access.5.xml.out:112 login.defs.5.xml.out:356 +#: login.defs.5.xml.out:537 login.defs.5.xml.out:549 newgrp.1.xml.out:133 #: nologin.8.xml.out:60 passwd.5.xml.out:125 passwd.5.xml.out:132 #: passwd.5.xml.out:179 porttime.5.xml.out:121 shadow.5.xml.out:265 #: sg.1.xml.out:122 su.1.xml.out:415 @@ -2578,30 +2783,30 @@ msgid "login" msgstr "login" #. (itstool) path: author/firstname -#: gpasswd.1.xml.out:20 +#: gpasswd.1.xml.out:22 msgid "Rafal" msgstr "" #. (itstool) path: author/surname -#: gpasswd.1.xml.out:21 +#: gpasswd.1.xml.out:23 msgid "Maszkowski" msgstr "" #. (itstool) path: author/contrib -#: gpasswd.1.xml.out:22 login.access.5.xml.out:18 pwconv.8.xml.out:23 +#: gpasswd.1.xml.out:24 login.access.5.xml.out:18 pwconv.8.xml.out:23 #: suauth.5.xml.out:17 msgid "Creation, 1996" msgstr "" #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:47 +#: gpasswd.1.xml.out:49 #, fuzzy #| msgid "administer <placeholder-1/>" msgid "administer <_:filename-1/>" msgstr "管理员 <placeholder-1/>" #. (itstool) path: refpurpose/phrase -#: gpasswd.1.xml.out:50 +#: gpasswd.1.xml.out:52 #, fuzzy #| msgid "administer <placeholder-1/> and <placeholder-2/>" msgid "administer <_:filename-1/> and <_:filename-2/>" @@ -2611,9 +2816,9 @@ msgstr "管理员 <placeholder-1/> 和 <placeholder-2/>" #. (itstool) path: para/replaceable #. (itstool) path: citerefentry/refentrytitle #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:64 gpasswd.1.xml.out:89 gpasswd.1.xml.out:129 -#: gpasswd.1.xml.out:142 gpasswd.1.xml.out:177 gpasswd.1.xml.out:181 -#: gpasswd.1.xml.out:193 gpasswd.1.xml.out:197 gpasswd.1.xml.out:292 +#: gpasswd.1.xml.out:66 gpasswd.1.xml.out:91 gpasswd.1.xml.out:131 +#: gpasswd.1.xml.out:144 gpasswd.1.xml.out:179 gpasswd.1.xml.out:183 +#: gpasswd.1.xml.out:195 gpasswd.1.xml.out:199 gpasswd.1.xml.out:294 #: grpck.8.xml.out:49 grpck.8.xml.out:188 grpck.8.xml.out:280 #: gshadow.5.xml.out:156 limits.5.xml.out:138 newgrp.1.xml.out:48 #: newgrp.1.xml.out:145 pwck.8.xml.out:336 pwconv.8.xml.out:114 @@ -2622,19 +2827,19 @@ msgid "group" msgstr "group" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:73 +#: gpasswd.1.xml.out:75 msgid ", and <_:filename-1/>" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:76 +#: gpasswd.1.xml.out:78 #, fuzzy #| msgid "administrators" msgid "administrators," msgstr "管理员" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:71 +#: gpasswd.1.xml.out:73 msgid "" "The <_:command-1/> command is used to administer <_:filename-2/><_:phrase-3/" ">. Every group can have <_:phrase-4/> members and a password." @@ -2642,14 +2847,14 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: gpasswd.1.xml.out:80 gpasswd.1.xml.out:112 gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:82 gpasswd.1.xml.out:114 gpasswd.1.xml.out:207 #, fuzzy #| msgid "-" msgid "-A" msgstr "-" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:79 +#: gpasswd.1.xml.out:81 msgid "" "System administrators can use the <_:option-1/> option to define group " "administrator(s) and the <_:option-2/> option to define members. They have " @@ -2657,21 +2862,21 @@ msgid "" msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:86 +#: gpasswd.1.xml.out:88 #, fuzzy #| msgid "administrators" msgid "a group administrator" msgstr "管理员" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:87 +#: gpasswd.1.xml.out:89 #, fuzzy #| msgid "administrators" msgid "a system administrator" msgstr "管理员" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:84 +#: gpasswd.1.xml.out:86 msgid "" "<_:command-1/> called by <_:phrase-2/> <_:phrase-3/> with a group name only " "prompts for the new password of the <_:replaceable-4/>." @@ -2682,8 +2887,8 @@ msgstr "" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command -#: gpasswd.1.xml.out:93 gpasswd.1.xml.out:180 gpasswd.1.xml.out:196 -#: gpasswd.1.xml.out:277 groups.1.xml.out:71 groups.1.xml.out:92 +#: gpasswd.1.xml.out:95 gpasswd.1.xml.out:182 gpasswd.1.xml.out:198 +#: gpasswd.1.xml.out:279 groups.1.xml.out:71 groups.1.xml.out:92 #: gshadow.5.xml.out:76 gshadow.5.xml.out:165 newgrp.1.xml.out:34 #: newgrp.1.xml.out:41 newgrp.1.xml.out:47 newgrp.1.xml.out:55 #: newgrp.1.xml.out:63 newgrp.1.xml.out:66 sg.1.xml.out:60 sg.1.xml.out:64 @@ -2692,19 +2897,19 @@ msgid "newgrp" msgstr "newgrp" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:91 +#: gpasswd.1.xml.out:93 msgid "" "If a password is set the members can still use <_:citerefentry-1/> without a " "password, and non-members must supply the password." msgstr "" #. (itstool) path: refsect2/title -#: gpasswd.1.xml.out:99 +#: gpasswd.1.xml.out:101 msgid "Notes about group passwords" msgstr "请注意组密码" #. (itstool) path: refsect2/para -#: gpasswd.1.xml.out:100 +#: gpasswd.1.xml.out:102 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 " @@ -2712,7 +2917,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:111 +#: gpasswd.1.xml.out:113 #, fuzzy #| msgid "" #| "Except for the <option>-A</option> and <option>-M</option> options, the " @@ -2724,26 +2929,26 @@ msgstr "" "除了 <option>-A</option> 和 <option>-M</option> 选项,其它选项不能联合使用。" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:115 +#: gpasswd.1.xml.out:117 msgid "The options cannot be combined." msgstr "这些选项不能组合使用。" #. (itstool) path: term/option -#: gpasswd.1.xml.out:124 groupmems.8.xml.out:83 +#: gpasswd.1.xml.out:126 groupmems.8.xml.out:83 msgid "--add" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable #. (itstool) path: arg/replaceable -#: gpasswd.1.xml.out:124 gpasswd.1.xml.out:128 gpasswd.1.xml.out:137 -#: gpasswd.1.xml.out:141 gpasswd.1.xml.out:205 gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:126 gpasswd.1.xml.out:130 gpasswd.1.xml.out:139 +#: gpasswd.1.xml.out:143 gpasswd.1.xml.out:207 gpasswd.1.xml.out:219 #: groups.1.xml.out:48 groups.1.xml.out:59 msgid "user" msgstr "用户" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:127 +#: gpasswd.1.xml.out:129 #, fuzzy #| msgid "" #| "Add the <replaceable>user</replaceable> to the named <replaceable>group</" @@ -2754,12 +2959,12 @@ msgstr "" "replaceable>。" #. (itstool) path: term/option -#: gpasswd.1.xml.out:137 groupmems.8.xml.out:94 passwd.1.xml.out:168 +#: gpasswd.1.xml.out:139 groupmems.8.xml.out:94 passwd.1.xml.out:164 msgid "--delete" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:140 +#: gpasswd.1.xml.out:142 #, fuzzy #| msgid "" #| "Remove the <replaceable>user</replaceable> from the named " @@ -2770,19 +2975,19 @@ msgstr "" "replaceable>。" #. (itstool) path: term/option -#: gpasswd.1.xml.out:158 +#: gpasswd.1.xml.out:160 #, fuzzy #| msgid "-" msgid "-Q" msgstr "-" #. (itstool) path: term/option -#: gpasswd.1.xml.out:173 +#: gpasswd.1.xml.out:175 msgid "--remove-password" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:176 +#: gpasswd.1.xml.out:178 msgid "" "Remove the password from the named <_:replaceable-1/>. The group password " "will be empty. Only group members will be allowed to use <_:command-2/> to " @@ -2790,12 +2995,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:189 +#: gpasswd.1.xml.out:191 msgid "--restrict" msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:192 +#: gpasswd.1.xml.out:194 msgid "" "Restrict the access to the named <_:replaceable-1/>. The group password is " "set to \"!\". Only group members with a password will be allowed to use <_:" @@ -2803,48 +3008,48 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: gpasswd.1.xml.out:205 +#: gpasswd.1.xml.out:207 #, fuzzy #| msgid "administrators" msgid "--administrators" msgstr "管理员" #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:204 gpasswd.1.xml.out:216 +#: gpasswd.1.xml.out:206 gpasswd.1.xml.out:218 msgid "<_:option-1/>, <_:option-2/> <_:replaceable-3/>,..." msgstr "" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:208 +#: gpasswd.1.xml.out:210 msgid "Set the list of administrative users." msgstr "设置有管理权限的用户列表。" #. (itstool) path: term/option -#: gpasswd.1.xml.out:217 +#: gpasswd.1.xml.out:219 #, fuzzy #| msgid "members" msgid "--members" msgstr "成员" #. (itstool) path: listitem/para -#: gpasswd.1.xml.out:220 +#: gpasswd.1.xml.out:222 msgid "Set the list of group members." msgstr "设置组成员列表。" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:232 +#: gpasswd.1.xml.out:234 msgid "and <_:filename-1/> files." msgstr "" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:234 +#: gpasswd.1.xml.out:236 #, fuzzy #| msgid "file" msgid "file." msgstr "文件" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:230 +#: gpasswd.1.xml.out:232 #, fuzzy #| msgid "" #| "You may not add a user to a NIS or LDAP group. This must be performed on " @@ -2861,11 +3066,11 @@ msgstr "您可能不能想 NIS 组或 LDAP 组添加用户。这只能在相应 #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:283 groupadd.8.xml.out:357 groupdel.8.xml.out:34 +#: gpasswd.1.xml.out:285 groupadd.8.xml.out:357 groupdel.8.xml.out:34 #: groupdel.8.xml.out:41 groupdel.8.xml.out:47 groupdel.8.xml.out:57 #: groupdel.8.xml.out:66 groupdel.8.xml.out:165 groupmems.8.xml.out:221 -#: groupmod.8.xml.out:341 login.defs.5.xml.out:299 useradd.8.xml.out:893 -#: userdel.8.xml.out:328 usermod.8.xml.out:623 +#: groupmod.8.xml.out:341 login.defs.5.xml.out:312 useradd.8.xml.out:913 +#: userdel.8.xml.out:328 usermod.8.xml.out:640 msgid "groupdel" msgstr "groupdel" @@ -2875,11 +3080,11 @@ msgstr "groupdel" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:286 groupadd.8.xml.out:360 groupdel.8.xml.out:220 +#: gpasswd.1.xml.out:288 groupadd.8.xml.out:360 groupdel.8.xml.out:220 #: groupmod.8.xml.out:34 groupmod.8.xml.out:41 groupmod.8.xml.out:47 #: groupmod.8.xml.out:58 groupmod.8.xml.out:67 groupmod.8.xml.out:256 -#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:311 -#: useradd.8.xml.out:896 userdel.8.xml.out:331 usermod.8.xml.out:626 +#: grpck.8.xml.out:107 grpck.8.xml.out:283 login.defs.5.xml.out:324 +#: useradd.8.xml.out:916 userdel.8.xml.out:331 usermod.8.xml.out:643 msgid "groupmod" msgstr "groupmod" @@ -2889,10 +3094,10 @@ msgstr "groupmod" #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command #. (itstool) path: varlistentry/term -#: gpasswd.1.xml.out:289 grpck.8.xml.out:33 grpck.8.xml.out:40 +#: gpasswd.1.xml.out:291 grpck.8.xml.out:33 grpck.8.xml.out:40 #: grpck.8.xml.out:46 grpck.8.xml.out:60 grpck.8.xml.out:116 #: grpck.8.xml.out:128 grpck.8.xml.out:141 grpck.8.xml.out:184 -#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:318 +#: grpck.8.xml.out:234 gshadow.5.xml.out:159 login.defs.5.xml.out:331 #: pwck.8.xml.out:339 pwconv.8.xml.out:198 pwconv.8.xml.out:242 msgid "grpck" msgstr "grpck" @@ -2902,7 +3107,7 @@ msgstr "grpck" #. (itstool) path: refmeta/refentrytitle #. (itstool) path: refnamediv/refname #. (itstool) path: para/emphasis -#: gpasswd.1.xml.out:295 grpck.8.xml.out:95 grpck.8.xml.out:287 +#: gpasswd.1.xml.out:297 grpck.8.xml.out:95 grpck.8.xml.out:287 #: gshadow.5.xml.out:22 gshadow.5.xml.out:29 newgrp.1.xml.out:148 #: pwconv.8.xml.out:114 pwconv.8.xml.out:115 pwconv.8.xml.out:121 #: pwconv.8.xml.out:122 sg.1.xml.out:137 vipw.8.xml.out:211 @@ -2910,12 +3115,12 @@ msgid "gshadow" msgstr "gshadow" #. (itstool) path: para/phrase -#: gpasswd.1.xml.out:293 newgrp.1.xml.out:146 sg.1.xml.out:135 +#: gpasswd.1.xml.out:295 newgrp.1.xml.out:146 sg.1.xml.out:135 msgid ", <_:citerefentry-1/>" msgstr "" #. (itstool) path: refsect1/para -#: gpasswd.1.xml.out:275 newgrp.1.xml.out:128 sg.1.xml.out:117 +#: gpasswd.1.xml.out:277 newgrp.1.xml.out:128 sg.1.xml.out:117 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/><_:phrase-7/>." @@ -2975,8 +3180,8 @@ msgstr "用户名不能超过 32 个字符长。" #: groupadd.8.xml.out:94 groupadd.8.xml.out:95 groupadd.8.xml.out:102 #: groupadd.8.xml.out:236 groupmems.8.xml.out:110 groupmod.8.xml.out:82 #: groupmod.8.xml.out:136 groupmod.8.xml.out:201 useradd.8.xml.out:96 -#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:391 -#: useradd.8.xml.out:396 useradd.8.xml.out:557 useradd.8.xml.out:639 +#: useradd.8.xml.out:230 useradd.8.xml.out:264 useradd.8.xml.out:393 +#: useradd.8.xml.out:398 useradd.8.xml.out:559 useradd.8.xml.out:659 #: usermod.8.xml.out:174 vipw.8.xml.out:90 #, fuzzy #| msgid "-" @@ -2994,7 +3199,7 @@ msgstr "" #. (itstool) path: term/option #: groupadd.8.xml.out:102 groupmod.8.xml.out:82 useradd.8.xml.out:230 -#: useradd.8.xml.out:639 usermod.8.xml.out:174 +#: useradd.8.xml.out:659 usermod.8.xml.out:174 msgid "--gid" msgstr "" @@ -3003,8 +3208,8 @@ msgstr "" #. (itstool) path: para/option #: groupadd.8.xml.out:102 groupadd.8.xml.out:105 groupadd.8.xml.out:151 #: groupmod.8.xml.out:73 groupmod.8.xml.out:82 groupmod.8.xml.out:87 -#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:300 -#: useradd.8.xml.out:469 +#: groupmod.8.xml.out:91 groupmod.8.xml.out:137 newusers.8.xml.out:302 +#: useradd.8.xml.out:471 msgid "GID" msgstr "" @@ -3042,7 +3247,7 @@ msgid "GID_MAX" msgstr "" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:111 useradd.8.xml.out:541 +#: groupadd.8.xml.out:111 useradd.8.xml.out:543 #, fuzzy #| msgid "" #| "See also the <option>-r</option> option and the <option>UID_MAX</option> " @@ -3053,33 +3258,33 @@ msgstr "请参考 <option>-r</option> 选项和 <option>UID_MAX</option> 的描 #. (itstool) path: term/option #. (itstool) path: para/option #: groupadd.8.xml.out:125 groupadd.8.xml.out:131 groupadd.8.xml.out:134 -#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:303 -#: useradd.8.xml.out:314 useradd.8.xml.out:317 useradd.8.xml.out:319 -#: useradd.8.xml.out:320 +#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:305 +#: useradd.8.xml.out:316 useradd.8.xml.out:319 useradd.8.xml.out:321 +#: useradd.8.xml.out:322 #, fuzzy #| msgid "-" msgid "-K" msgstr "-" #. (itstool) path: term/option -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "--key" msgstr "" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 msgid "KEY" msgstr "" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:125 useradd.8.xml.out:303 +#: groupadd.8.xml.out:125 useradd.8.xml.out:305 #, fuzzy #| msgid "EXIT VALUES" msgid "VALUE" msgstr "退出值" #. (itstool) path: varlistentry/term -#: groupadd.8.xml.out:124 useradd.8.xml.out:302 +#: groupadd.8.xml.out:124 useradd.8.xml.out:304 #, fuzzy #| msgid "" #| "<option>-u</option>, <option>--uid</option> <replaceable>UID</" @@ -3097,14 +3302,14 @@ msgid "" msgstr "" #. (itstool) path: para/replaceable -#: groupadd.8.xml.out:134 useradd.8.xml.out:320 +#: groupadd.8.xml.out:134 useradd.8.xml.out:322 #, fuzzy #| msgid "10" msgid "100" msgstr "10" #. (itstool) path: para/replaceable -#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:321 +#: groupadd.8.xml.out:135 groupadd.8.xml.out:138 useradd.8.xml.out:323 msgid "499" msgstr "" @@ -3124,7 +3329,7 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: term/replaceable #: groupadd.8.xml.out:138 groupadd.8.xml.out:333 groupdel.8.xml.out:192 -#: groupmod.8.xml.out:295 useradd.8.xml.out:853 userdel.8.xml.out:265 +#: groupmod.8.xml.out:295 useradd.8.xml.out:873 userdel.8.xml.out:265 msgid "10" msgstr "10" @@ -3144,7 +3349,7 @@ msgstr "" "replaceable>=<replaceable>499</replaceable> 尚不能工作。" #. (itstool) path: term/option -#: groupadd.8.xml.out:145 groupmod.8.xml.out:132 useradd.8.xml.out:405 +#: groupadd.8.xml.out:145 groupmod.8.xml.out:132 useradd.8.xml.out:407 #: usermod.8.xml.out:271 msgid "--non-unique" msgstr "" @@ -3164,13 +3369,13 @@ msgstr "" #: groupadd.8.xml.out:158 groupmems.8.xml.out:55 groupmems.8.xml.out:130 #: groupmod.8.xml.out:143 login.1.xml.out:80 login.1.xml.out:88 #: login.1.xml.out:95 login.1.xml.out:212 su.1.xml.out:207 -#: useradd.8.xml.out:425 usermod.8.xml.out:237 usermod.8.xml.out:290 +#: useradd.8.xml.out:427 usermod.8.xml.out:237 usermod.8.xml.out:290 #: usermod.8.xml.out:411 vipw.8.xml.out:102 msgid "-p" msgstr "-p" #. (itstool) path: term/option -#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:425 +#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:427 #: usermod.8.xml.out:290 #, fuzzy #| msgid "passwd" @@ -3178,7 +3383,7 @@ msgid "--password" msgstr "passwd" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:425 +#: groupadd.8.xml.out:158 groupmod.8.xml.out:143 useradd.8.xml.out:427 #: usermod.8.xml.out:290 msgid "PASSWORD" msgstr "" @@ -3187,8 +3392,8 @@ msgstr "" #: groupadd.8.xml.out:163 groupmod.8.xml.out:148 gshadow.5.xml.out:62 #: gshadow.5.xml.out:68 passwd.5.xml.out:103 passwd.5.xml.out:109 #: passwd.5.xml.out:170 shadow.5.xml.out:88 shadow.5.xml.out:94 -#: useradd.8.xml.out:430 useradd.8.xml.out:887 usermod.8.xml.out:295 -#: usermod.8.xml.out:614 +#: useradd.8.xml.out:432 useradd.8.xml.out:907 usermod.8.xml.out:295 +#: usermod.8.xml.out:631 msgid "crypt" msgstr "" @@ -3198,11 +3403,11 @@ msgstr "" #: groupadd.8.xml.out:164 groupadd.8.xml.out:315 groupmod.8.xml.out:148 #: groupmod.8.xml.out:271 groups.1.xml.out:68 groups.1.xml.out:104 #: grpck.8.xml.out:255 gshadow.5.xml.out:63 gshadow.5.xml.out:69 -#: passwd.1.xml.out:443 passwd.5.xml.out:104 passwd.5.xml.out:110 +#: passwd.1.xml.out:465 passwd.5.xml.out:104 passwd.5.xml.out:110 #: passwd.5.xml.out:170 passwd.5.xml.out:176 pwck.8.xml.out:305 #: shadow.3.xml.out:34 shadow.3.xml.out:217 shadow.5.xml.out:89 -#: shadow.5.xml.out:95 useradd.8.xml.out:431 useradd.8.xml.out:829 -#: useradd.8.xml.out:887 usermod.8.xml.out:296 usermod.8.xml.out:614 +#: shadow.5.xml.out:95 useradd.8.xml.out:433 useradd.8.xml.out:849 +#: useradd.8.xml.out:907 usermod.8.xml.out:296 usermod.8.xml.out:631 msgid "3" msgstr "3" @@ -3222,7 +3427,7 @@ msgid "" msgstr "" #. (itstool) path: para/emphasis -#: groupadd.8.xml.out:173 groupmod.8.xml.out:152 useradd.8.xml.out:444 +#: groupadd.8.xml.out:173 groupmod.8.xml.out:152 useradd.8.xml.out:446 #: userdel.8.xml.out:93 usermod.8.xml.out:299 msgid "Note:" msgstr "" @@ -3242,14 +3447,14 @@ msgstr "" "过的密码)会被用户通过列出这个过程而看到。" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:177 groupmod.8.xml.out:156 useradd.8.xml.out:448 +#: groupadd.8.xml.out:177 groupmod.8.xml.out:156 useradd.8.xml.out:450 #: usermod.8.xml.out:309 msgid "" "You should make sure the password respects the system's password policy." msgstr "您应该确保密码符合系统的密码政策。" #. (itstool) path: term/option -#: groupadd.8.xml.out:185 newusers.8.xml.out:287 useradd.8.xml.out:456 +#: groupadd.8.xml.out:185 newusers.8.xml.out:289 useradd.8.xml.out:458 msgid "--system" msgstr "" @@ -3276,45 +3481,11 @@ msgid "" "option-5/>." msgstr "" -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -#, fuzzy -#| msgid "-" -msgid "-P" -msgstr "-" - -#. (itstool) path: term/option -#: groupadd.8.xml.out:214 groupdel.8.xml.out:102 groupmod.8.xml.out:177 -#: useradd.8.xml.out:502 userdel.8.xml.out:136 usermod.8.xml.out:341 -msgid "--prefix" -msgstr "" - -#. (itstool) path: term/replaceable -#. (itstool) path: para/replaceable -#: groupadd.8.xml.out:214 groupadd.8.xml.out:219 groupdel.8.xml.out:102 -#: groupdel.8.xml.out:106 groupdel.8.xml.out:108 groupmod.8.xml.out:177 -#: groupmod.8.xml.out:181 groupmod.8.xml.out:183 useradd.8.xml.out:502 -#: useradd.8.xml.out:507 userdel.8.xml.out:136 userdel.8.xml.out:140 -#: userdel.8.xml.out:142 usermod.8.xml.out:341 usermod.8.xml.out:346 -msgid "PREFIX_DIR" -msgstr "" - -#. (itstool) path: listitem/para -#: groupadd.8.xml.out:217 useradd.8.xml.out:505 -msgid "" -"Apply changes to configuration files under the root filesystem found under " -"the directory <_:replaceable-1/>. 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 "" - #. (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:397 -#: useradd.8.xml.out:549 useradd.8.xml.out:558 usermod.8.xml.out:238 +#: 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 "-" @@ -3338,7 +3509,7 @@ msgstr "管理员可以更改组密码和成员。" #. (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:386 useradd.8.xml.out:397 useradd.8.xml.out:558 +#: useradd.8.xml.out:388 useradd.8.xml.out:399 useradd.8.xml.out:560 #, fuzzy #| msgid "-" msgid "-N" @@ -3346,15 +3517,15 @@ msgstr "-" #. (itstool) path: para/option #. (itstool) path: para/phrase -#: groupadd.8.xml.out:238 groupmod.8.xml.out:203 login.defs.5.xml.out:448 -#: useradd.8.xml.out:97 useradd.8.xml.out:240 useradd.8.xml.out:398 -#: useradd.8.xml.out:559 userdel.8.xml.out:86 userdel.8.xml.out:296 +#: 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:395 -#: useradd.8.xml.out:556 +#: 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 <option>-g</option>, <option>-N</option>, " @@ -3392,13 +3563,13 @@ msgstr "" "<command>useradd</command> 将拒绝创建用户账户的请求。" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:317 passwd.1.xml.out:463 useradd.8.xml.out:831 +#: groupadd.8.xml.out:317 passwd.1.xml.out:485 useradd.8.xml.out:851 msgid "invalid argument to option" msgstr "给了选项一个无效的参数" #. (itstool) path: term/replaceable #: groupadd.8.xml.out:321 groupmod.8.xml.out:277 grpck.8.xml.out:261 -#: passwd.1.xml.out:449 pwck.8.xml.out:311 useradd.8.xml.out:835 +#: passwd.1.xml.out:471 pwck.8.xml.out:311 useradd.8.xml.out:855 msgid "4" msgstr "4" @@ -3410,7 +3581,7 @@ msgid "GID is already used (when called without <_:option-1/>)" msgstr "UID 已经使用 (且没有 <option>-o</option>)" #. (itstool) path: term/replaceable -#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:847 +#: groupadd.8.xml.out:327 groupmod.8.xml.out:289 useradd.8.xml.out:867 msgid "9" msgstr "9" @@ -3422,7 +3593,7 @@ msgid "group name is already used" msgstr "组名已经在使用" #. (itstool) path: listitem/para -#: groupadd.8.xml.out:335 groupdel.8.xml.out:194 useradd.8.xml.out:855 +#: 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 "无法更新组文件" @@ -3434,11 +3605,11 @@ msgstr "无法更新组文件" #. (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:480 useradd.8.xml.out:913 +#: 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:643 +#: userdel.8.xml.out:298 userdel.8.xml.out:300 usermod.8.xml.out:660 msgid "userdel" msgstr "userdel" @@ -3449,11 +3620,11 @@ msgstr "userdel" #. (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:490 passwd.1.xml.out:488 -#: pwck.8.xml.out:140 pwck.8.xml.out:348 useradd.8.xml.out:916 +#: 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:522 +#: usermod.8.xml.out:263 usermod.8.xml.out:539 msgid "usermod" msgstr "usermod" @@ -3479,8 +3650,8 @@ msgstr "删除一个组" #: 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:392 -#: useradd.8.xml.out:639 useradd.8.xml.out:648 usermod.8.xml.out:174 +#: 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 "GROUP" @@ -3530,13 +3701,13 @@ msgid "" msgstr "您需要手动检查所有文件系统,以确保没有遗留的属于此组的文件。" #. (itstool) path: term/replaceable -#: groupdel.8.xml.out:180 groupmod.8.xml.out:283 passwd.1.xml.out:461 -#: pwck.8.xml.out:323 useradd.8.xml.out:841 userdel.8.xml.out:253 +#: 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:843 +#: groupdel.8.xml.out:182 useradd.8.xml.out:863 msgid "specified group doesn't exist" msgstr "指定的组不存在" @@ -3581,7 +3752,7 @@ msgstr "" #: 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:305 +#: login.defs.5.xml.out:318 msgid "groupmems" msgstr "groupmems" @@ -3728,7 +3899,7 @@ msgstr "" #| "\t$ groupmems -g groups -a gk4\n" #| " " msgid "" -"$ groupadd -r groups $ chmod 2710 groupmems $ chown root.groups groupmems $ " +"$ groupadd -r groups $ chmod 2710 groupmems $ chown root:groups groupmems $ " "groupmems -g groups -a gk4" msgstr "" "\n" @@ -3819,7 +3990,7 @@ msgstr "" "<option>SYS_UID_MAX</option> 进行检查。" #. (itstool) path: term/option -#: groupmod.8.xml.out:121 passwd.1.xml.out:246 +#: groupmod.8.xml.out:121 passwd.1.xml.out:242 #, fuzzy #| msgid "-" msgid "-n" @@ -3921,7 +4092,7 @@ msgid "E_CLEANUP_SERVICE: can't setup cleanup service" msgstr "" #. (itstool) path: term/replaceable -#: groupmod.8.xml.out:307 useradd.8.xml.out:859 userdel.8.xml.out:271 +#: groupmod.8.xml.out:307 useradd.8.xml.out:879 userdel.8.xml.out:271 msgid "12" msgstr "12" @@ -4106,7 +4277,7 @@ msgstr "" #. (itstool) path: para/phrase #. (itstool) path: arg/replaceable #. (itstool) path: para/replaceable -#: grpck.8.xml.out:113 newusers.8.xml.out:67 newusers.8.xml.out:75 +#: grpck.8.xml.out:113 newusers.8.xml.out:69 newusers.8.xml.out:77 msgid "file" msgstr "文件" @@ -4147,7 +4318,7 @@ msgstr "" #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: grpck.8.xml.out:143 login.defs.5.xml.out:134 login.defs.5.xml.out:136 +#: 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 "" @@ -4172,8 +4343,8 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:161 -#: passwd.1.xml.out:291 +#: grpck.8.xml.out:172 lastlog.8.xml.out:117 passwd.1.xml.out:157 +#: passwd.1.xml.out:302 #, fuzzy #| msgid "-" msgid "-S" @@ -4413,7 +4584,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: gshadow.5.xml.out:162 login.defs.5.xml.out:324 pwconv.8.xml.out:48 +#: 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" @@ -4427,7 +4598,7 @@ msgstr "grpconv" #. (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:337 +#: login.defs.5.xml.out:350 msgid "lastlog" msgstr "lastlog" @@ -4473,7 +4644,7 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:592 +#: lastlog.8.xml.out:75 useradd.8.xml.out:118 useradd.8.xml.out:612 #: usermod.8.xml.out:89 #, fuzzy #| msgid "-" @@ -4847,7 +5018,7 @@ msgstr "" #. (itstool) path: para/command #: limits.5.xml.out:122 login.1.xml.out:83 login.1.xml.out:91 #: login.1.xml.out:197 su.1.xml.out:70 su.1.xml.out:82 su.1.xml.out:95 -#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:775 +#: su.1.xml.out:153 su.1.xml.out:155 useradd.8.xml.out:795 msgid "username" msgstr "用户名" @@ -5310,8 +5481,8 @@ msgstr "chsh" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.1.xml.out:386 login.defs.5.xml.out:436 login.defs.5.xml.out:520 -#: login.defs.5.xml.out:536 newgrp.1.xml.out:136 passwd.5.xml.out:197 +#: login.1.xml.out:386 login.defs.5.xml.out:455 login.defs.5.xml.out:539 +#: login.defs.5.xml.out:555 newgrp.1.xml.out:136 passwd.5.xml.out:197 #: shadow.5.xml.out:283 sg.1.xml.out:128 su.1.xml.out:50 su.1.xml.out:57 #: su.1.xml.out:62 su.1.xml.out:81 su.1.xml.out:83 su.1.xml.out:121 #: su.1.xml.out:201 su.1.xml.out:239 su.1.xml.out:308 su.1.xml.out:368 @@ -5472,12 +5643,12 @@ msgid "<_:citerefentry-1/>." msgstr "" #. (itstool) path: refnamediv/refpurpose -#: login.defs.5.xml.out:110 +#: login.defs.5.xml.out:112 msgid "shadow password suite configuration" msgstr "影子密码套件配置" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:115 +#: login.defs.5.xml.out:117 msgid "" "The <_:filename-1/> file defines the site-specific configuration for the " "shadow password suite. This file is required. Absence of this file will not " @@ -5485,7 +5656,7 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:122 +#: login.defs.5.xml.out:124 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 " @@ -5496,20 +5667,20 @@ msgstr "" #. (itstool) path: para/replaceable #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:133 useradd.8.xml.out:242 useradd.8.xml.out:380 +#: login.defs.5.xml.out:135 useradd.8.xml.out:242 useradd.8.xml.out:382 #: userdel.8.xml.out:87 userdel.8.xml.out:297 msgid "yes" msgstr "" #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:140 +#: login.defs.5.xml.out:142 #, fuzzy #| msgid "0" msgid "0x" msgstr "0" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:130 +#: login.defs.5.xml.out:132 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 " @@ -5522,32 +5693,32 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:145 +#: login.defs.5.xml.out:147 msgid "The following configuration items are provided:" msgstr "提供如下配置项:" #. (itstool) path: para/option #. (itstool) path: para/emphasis #. (itstool) path: para/replaceable -#: login.defs.5.xml.out:193 pwconv.8.xml.out:146 useradd.8.xml.out:309 -#: useradd.8.xml.out:314 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:146 useradd.8.xml.out:311 +#: useradd.8.xml.out:316 msgid "PASS_MAX_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:193 pwconv.8.xml.out:145 +#: login.defs.5.xml.out:196 pwconv.8.xml.out:145 msgid "PASS_MIN_DAYS" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/emphasis -#: login.defs.5.xml.out:194 pwconv.8.xml.out:147 +#: login.defs.5.xml.out:197 pwconv.8.xml.out:147 msgid "PASS_WARN_AGE" msgstr "" #. (itstool) path: variablelist/para -#: login.defs.5.xml.out:192 +#: login.defs.5.xml.out:195 msgid "" "<_:option-1/>, <_:option-2/> and <_:option-3/> are only used at the time of " "account creation. Any changes to these settings won't affect existing " @@ -5555,12 +5726,12 @@ msgid "" msgstr "" #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:225 +#: login.defs.5.xml.out:229 msgid "CROSS REFERENCES" msgstr "交叉引用" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:226 +#: login.defs.5.xml.out:230 msgid "" "The following cross references show which programs in the shadow password " "suite use which parameters." @@ -5570,65 +5741,81 @@ msgstr "如下交叉引用显示影子密码套件哪个程序使用哪个参数 #. (itstool) path: para/phrase #. (itstool) path: phrase/option #. (itstool) path: para/option -#: login.defs.5.xml.out:235 login.defs.5.xml.out:423 login.defs.5.xml.out:431 -#: login.defs.5.xml.out:503 pwck.8.xml.out:75 pwck.8.xml.out:216 +#: login.defs.5.xml.out:239 login.defs.5.xml.out:442 login.defs.5.xml.out:450 +#: login.defs.5.xml.out:522 pwck.8.xml.out:75 pwck.8.xml.out:216 #: pwck.8.xml.out:232 pwconv.8.xml.out:89 pwconv.8.xml.out:91 #: pwconv.8.xml.out:94 pwconv.8.xml.out:105 pwconv.8.xml.out:107 msgid "USE_TCB" msgstr "USE_TCB" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:242 +#: login.defs.5.xml.out:246 msgid "CHFN_AUTH" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:244 login.defs.5.xml.out:359 +#: login.defs.5.xml.out:248 login.defs.5.xml.out:372 #, fuzzy #| msgid "CHSH_AUTH LOGIN_STRING" msgid "LOGIN_STRING" msgstr "CHSH_AUTH LOGIN_STRING" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:241 +#: login.defs.5.xml.out:245 msgid "<_:phrase-1/> CHFN_RESTRICT <_:phrase-2/>" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:253 login.defs.5.xml.out:264 login.defs.5.xml.out:284 -#: login.defs.5.xml.out:388 login.defs.5.xml.out:404 +#: login.defs.5.xml.out:256 login.defs.5.xml.out:269 login.defs.5.xml.out:293 +#: login.defs.5.xml.out:396 login.defs.5.xml.out:418 +#, fuzzy +#| msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +msgid "BCRYPT_MAX_ROUNDS BCRYPT_MIN_ROUNDS" +msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" + +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:259 login.defs.5.xml.out:273 login.defs.5.xml.out:296 +#: login.defs.5.xml.out:403 login.defs.5.xml.out:422 msgid "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" msgstr "SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS" +#. (itstool) path: para/phrase +#: login.defs.5.xml.out:261 login.defs.5.xml.out:275 login.defs.5.xml.out:298 +#: login.defs.5.xml.out:409 login.defs.5.xml.out:424 +msgid "YESCRYPT_COST_FACTOR" +msgstr "" + #. (itstool) path: listitem/para -#: login.defs.5.xml.out:251 login.defs.5.xml.out:282 +#: login.defs.5.xml.out:255 login.defs.5.xml.out:292 #, fuzzy #| msgid "" #| "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase " #| "condition=\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>" -msgid "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:phrase-1/>" +msgid "" +"<_:phrase-1/> ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <_:" +"phrase-2/> <_:phrase-3/>" msgstr "" "ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB <phrase " "condition=\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:262 +#: login.defs.5.xml.out:271 msgid "ENCRYPT_METHOD MD5_CRYPT_ENAB" msgstr "ENCRYPT_METHOD MD5_CRYPT_ENAB" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:272 +#: login.defs.5.xml.out:282 msgid "CHSH_AUTH LOGIN_STRING" msgstr "CHSH_AUTH LOGIN_STRING" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:292 +#: login.defs.5.xml.out:305 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" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:301 login.defs.5.xml.out:307 login.defs.5.xml.out:313 -#: login.defs.5.xml.out:320 login.defs.5.xml.out:326 login.defs.5.xml.out:332 +#: login.defs.5.xml.out:314 login.defs.5.xml.out:320 login.defs.5.xml.out:326 +#: login.defs.5.xml.out:333 login.defs.5.xml.out:339 login.defs.5.xml.out:345 msgid "MAX_MEMBERS_PER_GROUP" msgstr "MAX_MEMBERS_PER_GROUP" @@ -5636,65 +5823,65 @@ msgstr "MAX_MEMBERS_PER_GROUP" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:330 pwconv.8.xml.out:49 pwconv.8.xml.out:73 +#: login.defs.5.xml.out:343 pwconv.8.xml.out:49 pwconv.8.xml.out:73 #: pwconv.8.xml.out:119 pwconv.8.xml.out:153 pwconv.8.xml.out:167 #: pwconv.8.xml.out:208 msgid "grpunconv" msgstr "grpunconv" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:339 +#: login.defs.5.xml.out:352 msgid "LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:346 login.defs.5.xml.out:439 +#: login.defs.5.xml.out:359 login.defs.5.xml.out:458 msgid "CONSOLE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:348 +#: login.defs.5.xml.out:361 msgid "ENV_HZ ENV_PATH ENV_SUPATH ENV_TZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:351 +#: login.defs.5.xml.out:364 #, fuzzy #| msgid "SYSLOG_SG_ENAB" msgid "FAILLOG_ENAB" msgstr "SYSLOG_SG_ENAB" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:353 +#: login.defs.5.xml.out:366 #, fuzzy #| msgid "FILE" msgid "FTMP_FILE" msgstr "FILE" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:355 +#: login.defs.5.xml.out:368 msgid "ISSUE_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:357 +#: login.defs.5.xml.out:370 msgid "LASTLOG_ENAB LASTLOG_UID_MAX" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:361 +#: login.defs.5.xml.out:374 msgid "" "MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE MOTD_FILE NOLOGINS_FILE " "PORTTIME_CHECKS_ENAB QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:365 +#: login.defs.5.xml.out:378 msgid "ULIMIT UMASK" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:345 +#: login.defs.5.xml.out:358 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ERASECHAR FAIL_DELAY " "<_:phrase-3/> FAKE_SHELL <_:phrase-4/> HUSHLOGIN_FILE <_:phrase-5/> KILLCHAR " @@ -5704,17 +5891,17 @@ msgid "" msgstr "" #. (itstool) path: varlistentry/term -#: login.defs.5.xml.out:372 +#: login.defs.5.xml.out:385 msgid "newgrp / sg" msgstr "newgrp / sg" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:374 +#: login.defs.5.xml.out:387 msgid "SYSLOG_SG_ENAB" msgstr "SYSLOG_SG_ENAB" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:382 +#: login.defs.5.xml.out:395 #, fuzzy #| msgid "" #| "ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB " @@ -5723,10 +5910,11 @@ msgstr "SYSLOG_SG_ENAB" #| "phrase> SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN " #| "UMASK" 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 <_:phrase-1/> " -"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-1/> ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP " +"MD5_CRYPT_ENAB HOME_MODE PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <_:" +"phrase-2/> 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-3/>" msgstr "" "ENCRYPT_METHOD GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB " "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase " @@ -5734,27 +5922,28 @@ msgstr "" "SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN UMASK" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:401 +#: login.defs.5.xml.out:417 #, fuzzy #| msgid "" #| "ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " #| "PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase " #| "condition=\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>" msgid "" -"ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " -"PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-1/>" +"<_:phrase-1/> ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB " +"PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <_:phrase-2/> " +"<_:phrase-3/>" msgstr "" "ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB PASS_ALWAYS_WARN " "PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN <phrase " "condition=\"sha_crypt\">SHA_CRYPT_MAX_ROUNDS SHA_CRYPT_MIN_ROUNDS</phrase>" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:414 +#: login.defs.5.xml.out:433 msgid "TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:412 login.defs.5.xml.out:421 +#: login.defs.5.xml.out:431 login.defs.5.xml.out:440 #, fuzzy #| msgid "" #| "PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE <phrase " @@ -5770,7 +5959,7 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:419 passwd.5.xml.out:188 pwconv.8.xml.out:39 +#: login.defs.5.xml.out:438 passwd.5.xml.out:188 pwconv.8.xml.out:39 #: pwconv.8.xml.out:46 pwconv.8.xml.out:55 pwconv.8.xml.out:83 #: pwconv.8.xml.out:88 pwconv.8.xml.out:90 pwconv.8.xml.out:134 #: pwconv.8.xml.out:144 pwconv.8.xml.out:165 pwconv.8.xml.out:216 @@ -5783,7 +5972,7 @@ msgstr "pwconv" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:428 passwd.5.xml.out:191 pwconv.8.xml.out:47 +#: login.defs.5.xml.out:447 passwd.5.xml.out:191 pwconv.8.xml.out:47 #: pwconv.8.xml.out:61 pwconv.8.xml.out:98 pwconv.8.xml.out:104 #: pwconv.8.xml.out:109 pwconv.8.xml.out:153 pwconv.8.xml.out:157 #: pwconv.8.xml.out:166 shadow.5.xml.out:280 @@ -5791,22 +5980,22 @@ msgid "pwunconv" msgstr "pwunconv" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:441 +#: login.defs.5.xml.out:460 msgid "ENV_HZ ENVIRON_FILE" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:443 +#: login.defs.5.xml.out:462 msgid "ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE QUOTAS_ENAB" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:446 +#: login.defs.5.xml.out:465 msgid "SU_WHEEL_ONLY" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:438 +#: login.defs.5.xml.out:457 msgid "" "<_:phrase-1/> CONSOLE_GROUPS DEFAULT_HOME <_:phrase-2/> ENV_PATH ENV_SUPATH " "<_:phrase-3/> SULOG_FILE SU_NAME <_:phrase-4/> SYSLOG_SU_ENAB <_:phrase-5/>" @@ -5814,28 +6003,22 @@ msgstr "" #. (itstool) path: varlistentry/term #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:453 passwd.5.xml.out:200 shadow.5.xml.out:286 +#: login.defs.5.xml.out:472 passwd.5.xml.out:200 shadow.5.xml.out:286 msgid "sulogin" msgstr "sulogin" -#. (itstool) path: para/phrase -#. (itstool) path: para/option -#: login.defs.5.xml.out:457 su.1.xml.out:278 -msgid "ENV_TZ" -msgstr "" - #. (itstool) path: listitem/para -#: login.defs.5.xml.out:455 -msgid "ENV_HZ <_:phrase-1/>" +#: login.defs.5.xml.out:474 +msgid "ENV_HZ ENV_TZ" msgstr "" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:475 +#: login.defs.5.xml.out:494 msgid "TCB_AUTH_GROUP TCB_SYMLINK USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:464 +#: login.defs.5.xml.out:483 #, fuzzy #| msgid "" #| "CREATE_HOME GID_MAX GID_MIN MAIL_DIR MAX_MEMBERS_PER_GROUP PASS_MAX_DAYS " @@ -5855,12 +6038,12 @@ msgstr "" "USE_TCB</phrase>" #. (itstool) path: para/phrase -#: login.defs.5.xml.out:485 login.defs.5.xml.out:495 +#: login.defs.5.xml.out:504 login.defs.5.xml.out:514 msgid "TCB_SYMLINKS USE_TCB" msgstr "" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:482 +#: login.defs.5.xml.out:501 #, fuzzy #| msgid "" #| "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD USERGROUPS_ENAB " @@ -5873,7 +6056,7 @@ msgstr "" "condition=\"tcb\">TCB_SYMLINKS USE_TCB</phrase>" #. (itstool) path: listitem/para -#: login.defs.5.xml.out:492 +#: login.defs.5.xml.out:511 #, fuzzy #| msgid "" #| "MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP <phrase " @@ -5888,18 +6071,18 @@ msgstr "" #. (itstool) path: refnamediv/refname #. (itstool) path: cmdsynopsis/command #. (itstool) path: para/command -#: login.defs.5.xml.out:500 vipw.8.xml.out:35 vipw.8.xml.out:42 +#: login.defs.5.xml.out:519 vipw.8.xml.out:35 vipw.8.xml.out:42 #: vipw.8.xml.out:51 vipw.8.xml.out:67 vipw.8.xml.out:85 msgid "vipw" msgstr "vipw" #. (itstool) path: refsect1/title -#: login.defs.5.xml.out:511 pwconv.8.xml.out:193 suauth.5.xml.out:179 +#: login.defs.5.xml.out:530 pwconv.8.xml.out:193 suauth.5.xml.out:179 msgid "BUGS" msgstr "缺陷" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:512 +#: login.defs.5.xml.out:531 msgid "" "Much of the functionality that used to be provided by the shadow password " "suite is now handled by PAM. Thus, <_:filename-1/> is no longer used by <_:" @@ -5908,14 +6091,14 @@ msgid "" msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: login.defs.5.xml.out:545 +#: login.defs.5.xml.out:564 #, fuzzy #| msgid "pw_name" msgid "pam" msgstr "pw_name" #. (itstool) path: refsect1/para -#: login.defs.5.xml.out:528 +#: login.defs.5.xml.out:547 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>." @@ -6007,12 +6190,12 @@ msgid "id" msgstr "" #. (itstool) path: refnamediv/refpurpose -#: newusers.8.xml.out:57 +#: newusers.8.xml.out:59 msgid "update and create new users in batch" msgstr "批量更新和创建新用户" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:74 +#: newusers.8.xml.out:76 #, fuzzy #| msgid "" #| "The <command>newusers</command> command reads a file of user name and " @@ -6033,22 +6216,22 @@ msgstr "" "citerefentry>),除了下边这些区别:" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:82 +#: newusers.8.xml.out:84 msgid "pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell" msgstr "pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:87 +#: newusers.8.xml.out:89 msgid "pw_name" msgstr "pw_name" #. (itstool) path: listitem/para -#: newusers.8.xml.out:90 +#: newusers.8.xml.out:92 msgid "This is the name of the user." msgstr "这是用户的用户名。" #. (itstool) path: listitem/para -#: newusers.8.xml.out:93 +#: newusers.8.xml.out:95 #, fuzzy #| msgid "" #| "It can be the name of a new user or the name of an existing user (or an " @@ -6064,29 +6247,29 @@ msgstr "" "创建的用户)。现有用户时,将会更改用户信息,否则会创建新用户。" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:104 +#: newusers.8.xml.out:106 msgid "pw_passwd" msgstr "pw_passwd" #. (itstool) path: listitem/para -#: newusers.8.xml.out:107 +#: newusers.8.xml.out:109 msgid "" "This field will be encrypted and used as the new value of the encrypted " "password." msgstr "此字段将被加密然后用于加密后密码的新值。" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:115 +#: newusers.8.xml.out:117 msgid "pw_uid" msgstr "pw_uid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:118 +#: newusers.8.xml.out:120 msgid "This field is used to define the UID of the user." msgstr "此字段用于定义用户的 UID。" #. (itstool) path: listitem/para -#: newusers.8.xml.out:121 +#: newusers.8.xml.out:123 #, fuzzy #| msgid "" #| "If the field is empty, an new (unused) UID will be defined automatically " @@ -6098,12 +6281,12 @@ msgstr "" "如果此字段为空,<command>newusers</command> 会自动确定一个新的(未使用的)UID。" #. (itstool) path: listitem/para -#: newusers.8.xml.out:125 +#: newusers.8.xml.out:127 msgid "If this field contains a number, this number will be used as the UID." msgstr "如果此字段包含一个数字,此数字会用于 UID。" #. (itstool) path: listitem/para -#: newusers.8.xml.out:129 +#: newusers.8.xml.out:131 #, fuzzy #| msgid "" #| "If this field contains the name of an existing user (or the name of an " @@ -6118,24 +6301,24 @@ msgstr "" "创建的一个用户),将会使用指定用户的 UID。" #. (itstool) path: listitem/para -#: newusers.8.xml.out:135 +#: newusers.8.xml.out:137 msgid "" "If the UID of an existing user is changed, the files ownership of the user's " "file should be fixed manually." msgstr "如果一个现有用户更改了 UID,此用户的文件所有权需要手动修复。" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:143 +#: newusers.8.xml.out:145 msgid "pw_gid" msgstr "pw_gid" #. (itstool) path: listitem/para -#: newusers.8.xml.out:146 +#: newusers.8.xml.out:148 msgid "This field is used to define the primary group ID for the user." msgstr "此字段用于定义用户的主组 ID。" #. (itstool) path: listitem/para -#: newusers.8.xml.out:149 +#: newusers.8.xml.out:151 #, fuzzy #| msgid "" #| "If this field contains the name of an existing group (or a group created " @@ -6150,7 +6333,7 @@ msgstr "" "一个组),此组的 GID 会被用于做此用户的主组 ID。" #. (itstool) path: listitem/para -#: newusers.8.xml.out:155 +#: newusers.8.xml.out:157 msgid "" "If this field is a number, this number will be used as the primary group ID " "of the user. If no groups exist with this GID, a new group will be created " @@ -6160,7 +6343,7 @@ msgstr "" "有组,将会使用此 GID 创建一个新组,名称和用户名相同。" #. (itstool) path: listitem/para -#: newusers.8.xml.out:161 +#: newusers.8.xml.out:163 #, fuzzy #| msgid "" #| "If this field is empty, a new group will be created with the name of the " @@ -6176,7 +6359,7 @@ msgstr "" "的一个 GID 作为主组 ID 来创建一个新组。" #. (itstool) path: listitem/para -#: newusers.8.xml.out:167 +#: newusers.8.xml.out:169 #, fuzzy #| msgid "" #| "If this field contains the name of a group which does not exist (and was " @@ -6195,32 +6378,32 @@ msgstr "" "个组,并作为用户的主组。" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:179 +#: newusers.8.xml.out:181 msgid "pw_gecos" msgstr "pw_gecos" #. (itstool) path: listitem/para -#: newusers.8.xml.out:182 +#: newusers.8.xml.out:184 msgid "This field is copied in the GECOS field of the user." msgstr "此字段复制到用户的 GECOS 字段。" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:189 +#: newusers.8.xml.out:191 msgid "pw_dir" msgstr "pw_dir" #. (itstool) path: listitem/para -#: newusers.8.xml.out:192 +#: newusers.8.xml.out:194 msgid "This field is used to define the home directory of the user." msgstr "此字段用于定义用户的主目录。" #. (itstool) path: para/emphasis -#: newusers.8.xml.out:199 +#: newusers.8.xml.out:201 msgid "newusers does not create parent directories" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:195 +#: newusers.8.xml.out:197 msgid "" "If this field does not specify an existing directory, the specified " "directory is created, with ownership set to the user being created or " @@ -6233,7 +6416,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:208 +#: newusers.8.xml.out:210 #, fuzzy #| msgid "" #| "If the home directory of an existing user is changed, <command>newusers</" @@ -6248,19 +6431,19 @@ msgstr "" "的内容到新位置。这需要手动完成。" #. (itstool) path: term/emphasis -#: newusers.8.xml.out:218 +#: newusers.8.xml.out:220 msgid "pw_shell" msgstr "pw_shell" #. (itstool) path: listitem/para -#: newusers.8.xml.out:221 +#: newusers.8.xml.out:223 msgid "" "This field defines the shell of the user. No checks are performed on this " "field." msgstr "此字段定义了用户的 shell。对此字段不进行任何检查。" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:229 +#: newusers.8.xml.out:231 #, fuzzy #| msgid "" #| "<command>newusers</command> first tries to create or change all the " @@ -6278,7 +6461,7 @@ msgstr "" "改。" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:235 +#: newusers.8.xml.out:237 msgid "" "During this first pass, users are created with a locked password (and " "passwords are not changed for the users which are not created). A second " @@ -6287,55 +6470,64 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: newusers.8.xml.out:243 +#: newusers.8.xml.out:245 msgid "" "This command is intended to be used in a large system environment where many " "accounts are updated at a single time." msgstr "此命令一般用于在大型的应用环境中,对大量账户进行一次性更新。" #. (itstool) path: term/option -#: newusers.8.xml.out:257 pwck.8.xml.out:164 useradd.8.xml.out:108 +#: newusers.8.xml.out:259 pwck.8.xml.out:164 useradd.8.xml.out:108 #: usermod.8.xml.out:89 msgid "--badname" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:260 pwck.8.xml.out:167 useradd.8.xml.out:111 +#: newusers.8.xml.out:262 pwck.8.xml.out:167 useradd.8.xml.out:111 #: usermod.8.xml.out:92 msgid "Allow names that do not conform to standards." msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:290 useradd.8.xml.out:459 +#: newusers.8.xml.out:273 +msgid "" +"The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc " +"support these methods." +msgstr "" +"可用的方法有 DES, MD5, NONE, and SHA256 或 SHA512,前提是您的 libc 支持这写方" +"法。" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:292 useradd.8.xml.out:461 msgid "Create a system account." msgstr "创建一个系统账户。" #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MIN" msgstr "" #. (itstool) path: para/option -#: newusers.8.xml.out:297 useradd.8.xml.out:466 usermod.8.xml.out:398 +#: newusers.8.xml.out:299 useradd.8.xml.out:468 usermod.8.xml.out:398 msgid "SYS_UID_MAX" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:319 -#: useradd.8.xml.out:468 useradd.8.xml.out:538 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:321 +#: useradd.8.xml.out:470 useradd.8.xml.out:540 usermod.8.xml.out:397 msgid "UID_MIN" msgstr "" #. (itstool) path: para/option #. (itstool) path: para/replaceable -#: newusers.8.xml.out:299 useradd.8.xml.out:308 useradd.8.xml.out:321 -#: useradd.8.xml.out:468 useradd.8.xml.out:543 usermod.8.xml.out:397 +#: newusers.8.xml.out:301 useradd.8.xml.out:310 useradd.8.xml.out:323 +#: useradd.8.xml.out:470 useradd.8.xml.out:545 usermod.8.xml.out:397 msgid "UID_MAX" msgstr "" #. (itstool) path: listitem/para -#: newusers.8.xml.out:293 useradd.8.xml.out:462 +#: newusers.8.xml.out:295 useradd.8.xml.out:464 #, fuzzy msgid "" "System users will be created with no aging information in <_:filename-1/>, " @@ -6349,64 +6541,97 @@ msgstr "" "<option>UID_MIN</option>-<option>UID_MAX</option> (and their <option>GID</" "option> counterparts for the creation of groups)。" +#. (itstool) path: listitem/para +#: newusers.8.xml.out:342 +#, 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 is 13." +msgstr "会强制最小 1,000,最大 9,9999,9999" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:351 +#, 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 is 5000." +msgstr "会强制最小 1,000,最大 9,9999,9999" + +#. (itstool) path: listitem/para +#: newusers.8.xml.out:359 +#, 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 is 5." +msgstr "会强制最小 1,000,最大 9,9999,9999" + #. (itstool) path: refsect1/para -#: newusers.8.xml.out:349 +#: newusers.8.xml.out:370 msgid "" "The input file must be protected since it contains unencrypted passwords." msgstr "输入文件必须受到保护,因为它包含未加密的密码。" #. (itstool) path: term/filename -#: newusers.8.xml.out:429 +#: newusers.8.xml.out:450 msgid "/etc/pam.d/newusers" msgstr "/etc/pam.d/newusers" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:435 useradd.8.xml.out:222 useradd.8.xml.out:481 -#: useradd.8.xml.out:785 userdel.8.xml.out:215 usermod.8.xml.out:587 +#: newusers.8.xml.out:456 useradd.8.xml.out:222 useradd.8.xml.out:483 +#: useradd.8.xml.out:805 userdel.8.xml.out:215 usermod.8.xml.out:604 #, fuzzy #| msgid "/etc/suauth" msgid "/etc/subgid" msgstr "/etc/suauth" #. (itstool) path: listitem/para -#: newusers.8.xml.out:437 useradd.8.xml.out:787 userdel.8.xml.out:217 +#: newusers.8.xml.out:458 useradd.8.xml.out:807 userdel.8.xml.out:217 msgid "Per user subordinate group IDs." msgstr "" #. (itstool) path: term/filename #. (itstool) path: para/filename -#: newusers.8.xml.out:441 useradd.8.xml.out:222 useradd.8.xml.out:480 -#: useradd.8.xml.out:791 userdel.8.xml.out:221 usermod.8.xml.out:593 +#: newusers.8.xml.out:462 useradd.8.xml.out:222 useradd.8.xml.out:482 +#: useradd.8.xml.out:811 userdel.8.xml.out:221 usermod.8.xml.out:610 #, fuzzy #| msgid "/etc/suauth" msgid "/etc/subuid" msgstr "/etc/suauth" #. (itstool) path: listitem/para -#: newusers.8.xml.out:443 useradd.8.xml.out:793 userdel.8.xml.out:223 +#: newusers.8.xml.out:464 useradd.8.xml.out:813 userdel.8.xml.out:223 msgid "Per user subordinate user IDs." msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:460 useradd.8.xml.out:906 userdel.8.xml.out:335 -#: usermod.8.xml.out:633 +#: newusers.8.xml.out:481 useradd.8.xml.out:926 userdel.8.xml.out:335 +#: usermod.8.xml.out:650 #, fuzzy #| msgid "/etc/suauth" msgid "subgid" msgstr "/etc/suauth" #. (itstool) path: citerefentry/refentrytitle -#: newusers.8.xml.out:463 useradd.8.xml.out:909 userdel.8.xml.out:338 -#: usermod.8.xml.out:636 +#: newusers.8.xml.out:484 useradd.8.xml.out:929 userdel.8.xml.out:338 +#: usermod.8.xml.out:653 #, fuzzy #| msgid "/etc/suauth" msgid "subuid" msgstr "/etc/suauth" #. (itstool) path: para/phrase -#: newusers.8.xml.out:458 useradd.8.xml.out:904 userdel.8.xml.out:333 -#: usermod.8.xml.out:631 +#: newusers.8.xml.out:479 useradd.8.xml.out:924 userdel.8.xml.out:333 +#: usermod.8.xml.out:648 msgid "<_:citerefentry-1/>, <_:citerefentry-2/>," msgstr "" @@ -6458,12 +6683,12 @@ msgid "The <_:command-1/> command appeared in BSD 4.4." msgstr "<command>nologin</command> 首次出现于 BSD 4.4。" #. (itstool) path: refnamediv/refpurpose -#: passwd.1.xml.out:48 +#: passwd.1.xml.out:50 msgid "change user password" msgstr "更改用户密码" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:65 +#: passwd.1.xml.out:67 #, fuzzy #| msgid "" #| "The <command>passwd</command> command changes passwords for user " @@ -6482,12 +6707,12 @@ msgstr "" "更改账户或相关的密码有效期。" #. (itstool) path: refsect2/title -#: passwd.1.xml.out:74 +#: passwd.1.xml.out:76 msgid "Password Changes" msgstr "密码更改" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:75 +#: passwd.1.xml.out:77 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 " @@ -6499,7 +6724,7 @@ msgstr "" "码。" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:83 +#: passwd.1.xml.out:85 #, fuzzy #| msgid "" #| "After the password has been entered, password aging information is " @@ -6515,7 +6740,7 @@ msgstr "" "许,<command>passwd</command> 拒绝更改密码,然后退出。" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:90 +#: passwd.1.xml.out:92 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 " @@ -6524,57 +6749,25 @@ msgstr "" "提示用户输入两次新密码。第二次和第一次进行比较,并且需要相同才能更改密码。" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:96 +#: passwd.1.xml.out:98 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:" +"Then, the password is tested for complexity. <_:command-1/> will reject any " +"password which is not suitably complex. Care must be taken not to include " +"the system default erase or kill characters." msgstr "" -"然后,测试密码的负责程度。一般来讲,密码应该包含 6 到 8 位字符,从下边的一个" -"或多个集合中选择:" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:104 -msgid "lower case alphabetics" -msgstr "小写字母" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:107 -msgid "digits 0 thru 9" -msgstr "数字 0 到 9" - -#. (itstool) path: listitem/para -#: passwd.1.xml.out:110 -msgid "punctuation marks" -msgstr "标点符号" - -#. (itstool) path: refsect2/para -#: passwd.1.xml.out:114 -#, fuzzy -#| msgid "" -#| "Care must be taken not to include the system default erase or kill " -#| "characters. <command>passwd</command> will reject any password which is " -#| "not suitably complex." -msgid "" -"Care must be taken not to include the system default erase or kill " -"characters. <_:command-1/> will reject any password which is not suitably " -"complex." -msgstr "" -"必须要留意不能包含系统默认的擦除和杀死字符。<command>passwd</command> 会拒绝" -"复杂度不满足要求的密码。" #. (itstool) path: refsect2/title -#: passwd.1.xml.out:123 +#: passwd.1.xml.out:108 msgid "Hints for user passwords" msgstr "关于用户密码的提示" #. (itstool) path: para/emphasis -#: passwd.1.xml.out:127 +#: passwd.1.xml.out:112 msgid "UNIX" msgstr "" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:124 +#: passwd.1.xml.out:109 #, fuzzy #| msgid "" #| "The security of a password depends upon the strength of the encryption " @@ -6595,7 +6788,7 @@ msgstr "" "<option>ENCRYPT_METHOD</option>)。密钥空间的大小依赖于选择的密码的随机性。" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:133 +#: passwd.1.xml.out:118 msgid "" "Compromises in password security normally result from careless password " "selection or handling. For this reason, you should not select a password " @@ -6608,7 +6801,19 @@ msgstr "" "或者街道号。所有这些可以用于猜测来损害系统安全。" #. (itstool) path: refsect2/para -#: passwd.1.xml.out:142 +#: passwd.1.xml.out:127 +msgid "" +"As a general guideline, passwords should be long and random. It's 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's apparent that the exponent " +"(the length) is more important than the base (the size of the character set)." +msgstr "" + +#. (itstool) path: refsect2/para +#: passwd.1.xml.out:138 #, fuzzy #| msgid "" #| "You can find advices on how to choose a strong password on http://en." @@ -6621,7 +6826,7 @@ msgstr "" "议。" #. (itstool) path: listitem/para -#: passwd.1.xml.out:160 +#: passwd.1.xml.out:156 #, fuzzy #| msgid "" #| "This option can be used only with <option>-S</option> and causes show " @@ -6632,7 +6837,7 @@ msgid "" msgstr "此选项只能和 <option>-S</option> 一起使用,来显示所有用户的状态。" #. (itstool) path: listitem/para -#: passwd.1.xml.out:171 +#: passwd.1.xml.out:167 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." @@ -6641,21 +6846,21 @@ msgstr "" "户。" #. (itstool) path: term/option -#: passwd.1.xml.out:180 +#: passwd.1.xml.out:176 #, fuzzy #| msgid "expiry" msgid "--expire" msgstr "expiry" #. (itstool) path: listitem/para -#: passwd.1.xml.out:183 +#: passwd.1.xml.out:179 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 "让一个账户的密码立即过期。这可以强制一个用户下次登录时更改密码。" #. (itstool) path: listitem/para -#: passwd.1.xml.out:200 +#: passwd.1.xml.out:196 #, fuzzy #| msgid "" #| "This option is used to disable an account after the password has been " @@ -6673,19 +6878,19 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: passwd.1.xml.out:210 useradd.8.xml.out:278 useradd.8.xml.out:356 +#: passwd.1.xml.out:206 useradd.8.xml.out:280 useradd.8.xml.out:358 #, fuzzy #| msgid "-" msgid "-k" msgstr "-" #. (itstool) path: term/option -#: passwd.1.xml.out:210 +#: passwd.1.xml.out:206 msgid "--keep-tokens" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:213 +#: passwd.1.xml.out:209 msgid "" "Indicate password change should be performed only for expired authentication " "tokens (passwords). The user wishes to keep their non-expired tokens as " @@ -6695,12 +6900,12 @@ msgstr "" "令。" #. (itstool) path: term/option -#: passwd.1.xml.out:222 usermod.8.xml.out:231 +#: passwd.1.xml.out:218 usermod.8.xml.out:231 msgid "--lock" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:225 +#: passwd.1.xml.out:221 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 " @@ -6710,12 +6915,12 @@ msgstr "" "在密码开头添加一个“!”)。" #. (itstool) path: para/command -#: passwd.1.xml.out:235 +#: passwd.1.xml.out:231 msgid "usermod --expiredate 1" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:231 +#: passwd.1.xml.out:227 #, fuzzy #| msgid "" #| "Note that this does not disable the account. The user may still be able " @@ -6733,52 +6938,52 @@ msgstr "" "户的过期时间为1970年1月2日)。" #. (itstool) path: listitem/para -#: passwd.1.xml.out:238 +#: passwd.1.xml.out:234 msgid "Users with a locked password are not allowed to change their password." msgstr "被锁定了密码的用户不允许更改密码。" #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "-q" msgstr "-q" #. (itstool) path: term/option -#: passwd.1.xml.out:258 pwck.8.xml.out:179 vipw.8.xml.out:108 +#: passwd.1.xml.out:254 pwck.8.xml.out:179 vipw.8.xml.out:108 msgid "--quiet" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:261 vipw.8.xml.out:110 +#: passwd.1.xml.out:257 vipw.8.xml.out:110 msgid "Quiet mode." msgstr "安静模式。" #. (itstool) path: term/option -#: passwd.1.xml.out:268 +#: passwd.1.xml.out:264 msgid "--repository" msgstr "" #. (itstool) path: term/replaceable #. (itstool) path: para/replaceable -#: passwd.1.xml.out:268 passwd.1.xml.out:272 +#: passwd.1.xml.out:264 passwd.1.xml.out:268 #, fuzzy #| msgid "EDITOR" msgid "REPOSITORY" msgstr "EDITOR" #. (itstool) path: listitem/para -#: passwd.1.xml.out:271 +#: passwd.1.xml.out:267 #, fuzzy #| msgid "change password in <replaceable>REPOSITORY</replaceable> repository" msgid "change password in <_:replaceable-1/> repository" msgstr "在 <replaceable>REPOSITORY</replaceable> 中更改密码" #. (itstool) path: term/option -#: passwd.1.xml.out:291 +#: passwd.1.xml.out:302 msgid "--status" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:294 +#: passwd.1.xml.out:305 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 " @@ -6794,12 +6999,12 @@ msgstr "" "和禁用期。这些年龄以天为单位计算。" #. (itstool) path: term/option -#: passwd.1.xml.out:309 usermod.8.xml.out:405 +#: passwd.1.xml.out:320 usermod.8.xml.out:405 msgid "--unlock" msgstr "" #. (itstool) path: listitem/para -#: passwd.1.xml.out:312 +#: passwd.1.xml.out:323 #, fuzzy #| msgid "" #| "Unlock the password of the named account. This option re-enables a " @@ -6814,7 +7019,7 @@ msgstr "" "之前的值)重新启用密码。" #. (itstool) path: listitem/para -#: passwd.1.xml.out:325 +#: passwd.1.xml.out:336 #, fuzzy #| msgid "" #| "Set the number of days of warning before a password change is required. " @@ -6830,14 +7035,14 @@ msgstr "" "在密码过期之前提前警告的天数。" #. (itstool) path: term/option -#: passwd.1.xml.out:335 +#: passwd.1.xml.out:346 #, fuzzy #| msgid "-" msgid "-x" msgstr "-" #. (itstool) path: listitem/para -#: passwd.1.xml.out:338 +#: passwd.1.xml.out:349 #, fuzzy #| msgid "" #| "Set the maximum number of days a password remains valid. After " @@ -6850,15 +7055,27 @@ msgstr "" "设置密码仍然有效的最大天数。<replaceable>MAX_DAYS</replaceable> 之后,密码会" "要求更改。" +#. (itstool) path: term/option +#: passwd.1.xml.out:363 +msgid "--stdin" +msgstr "" + +#. (itstool) path: listitem/para +#: passwd.1.xml.out:366 +msgid "" +"This option is used to indicate that passwd should read the new password " +"from standard input, which can be a pipe." +msgstr "" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:355 +#: passwd.1.xml.out:377 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 "密码复杂性检查在每台机器间不同。用户应该选择适合的尽量复杂的密码。" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:360 +#: passwd.1.xml.out:382 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." @@ -6866,7 +7083,7 @@ msgstr "" "在启动了 NIS 的系统上,如果没有登录 NIS 服务器,用户或许不能更改自己的密码。" #. (itstool) path: refsect1/para -#: passwd.1.xml.out:365 +#: passwd.1.xml.out:387 #, fuzzy #| msgid "" #| "<command>passwd</command> uses PAM to authenticate users and to change " @@ -6876,39 +7093,53 @@ msgid "" msgstr "<command>passwd</command> 使用 PAM 来认证用户以及更改密码。" #. (itstool) path: term/filename -#: passwd.1.xml.out:411 +#: passwd.1.xml.out:433 msgid "/etc/pam.d/passwd" msgstr "/etc/pam.d/passwd" #. (itstool) path: listitem/para -#: passwd.1.xml.out:439 +#: passwd.1.xml.out:461 msgid "invalid combination of options" msgstr "无效的选项组合" #. (itstool) path: listitem/para -#: passwd.1.xml.out:445 +#: passwd.1.xml.out:467 msgid "unexpected failure, nothing done" msgstr "意外的失败,什么也没有做。" #. (itstool) path: listitem/para -#: passwd.1.xml.out:451 +#: passwd.1.xml.out:473 #, fuzzy #| msgid "unexpected failure, <filename>passwd</filename> file missing" msgid "unexpected failure, <_:filename-1/> file missing" msgstr "意外的失败,<filename>passwd</filename> 文件丢失" #. (itstool) path: listitem/para -#: passwd.1.xml.out:457 +#: passwd.1.xml.out:479 #, fuzzy #| msgid "<filename>passwd</filename> file busy, try again" msgid "<_:filename-1/> file busy, try again" msgstr "<filename>passwd</filename> 文件忙,请重试" +#. (itstool) path: citerefentry/refentrytitle +#: passwd.1.xml.out:499 +#, fuzzy +#| msgid "passwd" +msgid "makepasswd" +msgstr "passwd" + #. (itstool) path: refsect1/para -#: passwd.1.xml.out:472 +#: passwd.1.xml.out:494 msgid "" -"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:phrase-4/> " -"<_:citerefentry-5/>." +"<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" +"citerefentry-4/>, <_:phrase-5/> <_:citerefentry-6/>." +msgstr "" + +#. (itstool) path: refsect1/para +#: passwd.1.xml.out:517 +msgid "" +"The following web page comically (yet correctly) compares the strength of " +"two different methods for choosing a password: \"https://xkcd.com/936/\"" msgstr "" #. (itstool) path: refnamediv/refpurpose @@ -8873,6 +9104,11 @@ msgstr "" 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" @@ -9304,7 +9540,7 @@ msgstr "创建一个新用户或更新默认新用户信息" #. (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:583 useradd.8.xml.out:585 +#: useradd.8.xml.out:169 useradd.8.xml.out:603 useradd.8.xml.out:605 msgid "-D" msgstr "-D" @@ -9345,14 +9581,14 @@ msgstr "" "<option>-U</option>,和 <option>USERGROUPS_ENAB</option>)。" #. (itstool) path: term/option -#: useradd.8.xml.out:118 useradd.8.xml.out:592 +#: 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:592 useradd.8.xml.out:598 +#: useradd.8.xml.out:612 useradd.8.xml.out:618 msgid "BASE_DIR" msgstr "" @@ -9383,18 +9619,18 @@ msgstr "" "须已经存在。" #. (itstool) path: para/option -#: useradd.8.xml.out:131 useradd.8.xml.out:603 +#: 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:293 useradd.8.xml.out:343 -#: useradd.8.xml.out:393 useradd.8.xml.out:523 useradd.8.xml.out:604 -#: useradd.8.xml.out:616 useradd.8.xml.out:633 useradd.8.xml.out:649 -#: useradd.8.xml.out:663 useradd.8.xml.out:677 useradd.8.xml.out:767 -#: usermod.8.xml.out:419 +#: 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" @@ -9499,7 +9735,7 @@ msgstr "" "式指定。" #. (itstool) path: para/option -#: useradd.8.xml.out:188 useradd.8.xml.out:615 usermod.8.xml.out:418 +#: useradd.8.xml.out:188 useradd.8.xml.out:635 usermod.8.xml.out:418 msgid "EXPIRE" msgstr "" @@ -9546,7 +9782,7 @@ msgstr "" #. (itstool) path: term/option #. (itstool) path: para/option -#: useradd.8.xml.out:218 useradd.8.xml.out:482 +#: useradd.8.xml.out:218 useradd.8.xml.out:484 #, fuzzy #| msgid "-" msgid "-F" @@ -9662,6 +9898,13 @@ msgid "" "emphasis-5/>]]]" msgstr "" +#. (itstool) path: para/option +#: useradd.8.xml.out:267 +#, fuzzy +#| msgid "GROUP" +msgid "GROUPS" +msgstr "GROUP" + #. (itstool) path: listitem/para #: useradd.8.xml.out:260 #, fuzzy @@ -9676,23 +9919,25 @@ msgid "" "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." +"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 "" "用户还属于的附加组列表。每个组都用逗号隔开,没有中间的空格。这里的组受到了 " "<option>-g</option> 选项给定的组同样的限制。默认上,用户只属于初始组。" #. (itstool) path: term/option -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 msgid "--skel" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:278 +#: useradd.8.xml.out:280 msgid "SKEL_DIR" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:281 +#: useradd.8.xml.out:283 #, fuzzy #| msgid "" #| "The skeleton directory, which contains files and directories to be copied " @@ -9708,12 +9953,12 @@ msgstr "" #. (itstool) path: para/option #. (itstool) path: term/option -#: useradd.8.xml.out:288 useradd.8.xml.out:350 +#: useradd.8.xml.out:290 useradd.8.xml.out:352 msgid "--create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:286 +#: useradd.8.xml.out:288 useradd.8.xml.out:592 usermod.8.xml.out:524 #, fuzzy #| msgid "" #| "This option is only valid if the <option>-m</option> (or <option>--create-" @@ -9726,19 +9971,19 @@ msgstr "" "项时才有效。" #. (itstool) path: para/option -#: useradd.8.xml.out:292 +#: useradd.8.xml.out:294 msgid "SKEL" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:294 +#: useradd.8.xml.out:296 #, fuzzy #| msgid "/etc/skel/" msgid "/etc/skel" msgstr "/etc/skel/" #. (itstool) path: listitem/para -#: useradd.8.xml.out:290 +#: useradd.8.xml.out:292 #, fuzzy #| msgid "" #| "If this option is not set, the skeleton directory is defined by the " @@ -9752,24 +9997,24 @@ msgstr "" "的 <option>SKEL</option> 的变量或默认为 <filename>/etc/skel</filename>。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:296 +#: useradd.8.xml.out:298 msgid "If possible, the ACLs and extended attributes are copied." msgstr "如果可以,也复制 ACL 和扩展属性。" #. (itstool) path: para/option -#: useradd.8.xml.out:309 +#: useradd.8.xml.out:311 msgid "UMASK" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:306 +#: useradd.8.xml.out:308 msgid "" "Overrides <_:filename-1/> defaults (<_:option-2/>, <_:option-3/>, <_:" "option-4/>, <_:option-5/> and others)." msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:312 +#: useradd.8.xml.out:314 msgid "" "Example: <_:option-1/> <_:replaceable-2/>=<_:replaceable-3/> can be used " "when creating an account to turn off password aging. Multiple <_:option-4/> " @@ -9778,17 +10023,17 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:330 +#: useradd.8.xml.out:332 msgid "--no-log-init" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:332 +#: useradd.8.xml.out:334 msgid "Do not add the user to the lastlog and faillog databases." msgstr "不要将用户添加到最近登录和登录失败数据库。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:335 +#: useradd.8.xml.out:337 #, fuzzy #| msgid "" #| "By default, the user's entries in the lastlog and faillog databases are " @@ -9801,12 +10046,12 @@ msgstr "" "的条目。" #. (itstool) path: para/option -#: useradd.8.xml.out:342 +#: useradd.8.xml.out:344 msgid "LOG_INIT" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:340 +#: useradd.8.xml.out:342 msgid "" "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 " @@ -9814,7 +10059,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:353 +#: useradd.8.xml.out:355 #, fuzzy #| msgid "" #| "Create the user's home directory if it does not exist. The files and " @@ -9829,12 +10074,12 @@ msgstr "" "option> 选项指定),将会复制到主目录。" #. (itstool) path: para/option -#: useradd.8.xml.out:361 useradd.8.xml.out:379 useradd.8.xml.out:475 +#: useradd.8.xml.out:363 useradd.8.xml.out:381 useradd.8.xml.out:477 msgid "CREATE_HOME" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:359 +#: useradd.8.xml.out:361 #, fuzzy #| msgid "" #| "By default, if this option is not specified and <option>CREATE_HOME</" @@ -9847,7 +10092,7 @@ msgstr "" "建主目录。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:364 +#: useradd.8.xml.out:366 msgid "" "The directory where the user's home directory is created must exist and have " "proper SELinux context and permissions. Otherwise the user's home directory " @@ -9855,12 +10100,12 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:373 +#: useradd.8.xml.out:375 msgid "--no-create-home" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:376 +#: useradd.8.xml.out:378 #, fuzzy #| msgid "" #| "Do no create the user's home directory, even if the system wide setting " @@ -9874,12 +10119,12 @@ msgstr "" "(<option>CREATE_HOME</option>) 为 <replaceable>yes</replaceable>。" #. (itstool) path: term/option -#: useradd.8.xml.out:386 +#: useradd.8.xml.out:388 msgid "--no-user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:389 +#: useradd.8.xml.out:391 #, fuzzy #| msgid "" #| "Do not create a group with the same name as the user, but add the user to " @@ -9895,7 +10140,7 @@ msgstr "" "<filename>/etc/default/useradd</filename> 中的 <option>GROUP</option> 变量。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:408 +#: useradd.8.xml.out:410 #, fuzzy #| msgid "" #| "Allow the creation of a user account with a duplicate (non-unique) UID." @@ -9903,7 +10148,7 @@ msgid "allows the creation of an account with an already existing UID." msgstr "允许使用重复的 UID 创建用户账户。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:412 usermod.8.xml.out:277 +#: useradd.8.xml.out:414 usermod.8.xml.out:277 msgid "" "This option is only valid in combination with the <_:option-1/> option. As a " "user identity serves as key to map between users on one hand and " @@ -9913,7 +10158,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:428 +#: useradd.8.xml.out:430 msgid "" "defines an initial password for the account. PASSWORD is expected to be " "encrypted, as returned by <_:citerefentry-1/>. Within a shell script, this " @@ -9921,7 +10166,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:435 +#: useradd.8.xml.out:437 msgid "" "Without this option, the new account will be locked and with no password " "defined, i.e. a single exclamation mark in the respective field of <_:" @@ -9930,7 +10175,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:443 +#: useradd.8.xml.out:445 #, fuzzy #| msgid "" #| "<emphasis role=\"bold\">Note:</emphasis> This option is not recommended " @@ -9944,7 +10189,7 @@ msgstr "" "过的密码)会被用户通过列出这个过程而看到。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:471 +#: useradd.8.xml.out:473 #, fuzzy #| msgid "" #| "Note that <command>useradd</command> will not create a home directory for " @@ -9963,7 +10208,7 @@ msgstr "" "样。如果想为要创建的系统账户创建主目录,需要指定 <option>-m</option> 选项。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:479 +#: useradd.8.xml.out:481 #, fuzzy #| msgid "" #| "Note that <command>useradd</command> will not create a home directory for " @@ -9981,7 +10226,7 @@ msgstr "" "样。如果想为要创建的系统账户创建主目录,需要指定 <option>-m</option> 选项。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:520 +#: useradd.8.xml.out:522 msgid "" "sets the path to the user's login shell. Without this option, the system " "will use the <_:option-1/> variable specified in <_:filename-2/>, or, if " @@ -9990,17 +10235,17 @@ msgid "" msgstr "" #. (itstool) path: term/option -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 msgid "--uid" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:531 usermod.8.xml.out:369 +#: useradd.8.xml.out:533 usermod.8.xml.out:369 msgid "UID" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:534 +#: useradd.8.xml.out:536 #, fuzzy #| msgid "" #| "The numerical value of the user's ID. This value must be unique, unless " @@ -10018,54 +10263,76 @@ msgstr "" "小值。" #. (itstool) path: term/option -#: useradd.8.xml.out:549 +#: useradd.8.xml.out:551 msgid "--user-group" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:552 +#: useradd.8.xml.out:554 msgid "" "Create a group with the same name as the user, and add the user to this " "group." msgstr "创建一个和用户同名的组,并将用户添加到组中。" #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:593 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:525 #, fuzzy #| msgid "-" msgid "-Z" msgstr "-" #. (itstool) path: term/option -#: useradd.8.xml.out:566 userdel.8.xml.out:153 usermod.8.xml.out:501 +#. (itstool) path: para/option +#: useradd.8.xml.out:568 useradd.8.xml.out:594 userdel.8.xml.out:153 +#: usermod.8.xml.out:501 usermod.8.xml.out:526 msgid "--selinux-user" msgstr "" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:566 usermod.8.xml.out:501 +#: useradd.8.xml.out:568 usermod.8.xml.out:501 msgid "SEUSER" msgstr "" #. (itstool) path: citerefentry/refentrytitle -#: useradd.8.xml.out:573 +#: useradd.8.xml.out:575 useradd.8.xml.out:589 usermod.8.xml.out:521 msgid "semanage" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:569 +#: useradd.8.xml.out:571 msgid "" -"defines the SELinux user for the new account. Without this option, a SELinux " +"defines the SELinux user for the new account. Without this option, SELinux " "uses the default user. Note that the shadow system doesn't store the selinux-" "user, it uses <_:citerefentry-1/> for that." msgstr "" +#. (itstool) path: term/option +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +msgid "--selinux-range" +msgstr "" + +#. (itstool) path: term/replaceable +#: useradd.8.xml.out:582 usermod.8.xml.out:515 +msgid "SERANGE" +msgstr "" + +#. (itstool) path: listitem/para +#: useradd.8.xml.out:585 +msgid "" +"defines the SELinux MLS range for the new account. Without this option, " +"SELinux uses the default range. Note that the shadow system doesn't store " +"the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + #. (itstool) path: refsect2/title -#: useradd.8.xml.out:581 +#: useradd.8.xml.out:601 msgid "Changing the default values" msgstr "更改默认值" #. (itstool) path: refsect2/para -#: useradd.8.xml.out:582 +#: useradd.8.xml.out:602 #, fuzzy #| msgid "" #| "When invoked with only the <option>-D</option> option, <command>useradd</" @@ -10084,7 +10351,7 @@ msgstr "" "将为指定的选项更新默认值。有效的“更改默认值”选项有:" #. (itstool) path: listitem/para -#: useradd.8.xml.out:595 +#: useradd.8.xml.out:615 #, fuzzy #| msgid "" #| "The path prefix for a new user's home directory. The user's name will be " @@ -10102,8 +10369,8 @@ msgstr "" "录名。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:602 useradd.8.xml.out:614 useradd.8.xml.out:631 -#: useradd.8.xml.out:647 useradd.8.xml.out:661 +#: useradd.8.xml.out:622 useradd.8.xml.out:634 useradd.8.xml.out:651 +#: useradd.8.xml.out:667 useradd.8.xml.out:681 #, fuzzy #| msgid "" #| "This option sets the <option>HOME</option> variable in <filename>/etc/" @@ -10114,14 +10381,14 @@ msgstr "" "option> 选项。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:613 +#: useradd.8.xml.out:633 #, fuzzy #| msgid "The date on which the user account is disabled." msgid "sets the date on which newly created user accounts are disabled." msgstr "禁用此用户账户的日期。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:625 +#: useradd.8.xml.out:645 msgid "" "defines the number of days after the password exceeded its maximum age where " "the user is expected to replace this password. See <_:citerefentry-1/>for " @@ -10129,7 +10396,7 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:642 +#: useradd.8.xml.out:662 msgid "" "sets the default primary group for newly created users, accepting group " "names or a numerical group ID. The named group must exist, and the GID must " @@ -10137,23 +10404,23 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:658 +#: useradd.8.xml.out:678 msgid "defines the default login shell for new users." msgstr "" #. (itstool) path: refsect1/title -#: useradd.8.xml.out:673 +#: useradd.8.xml.out:693 msgid "NOTES" msgstr "注意:" #. (itstool) path: para/filename #. (itstool) path: term/filename -#: useradd.8.xml.out:675 useradd.8.xml.out:779 +#: useradd.8.xml.out:695 useradd.8.xml.out:799 msgid "/etc/skel/" msgstr "/etc/skel/" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:674 +#: useradd.8.xml.out:694 #, fuzzy #| msgid "" #| "The system administrator is responsible for placing the default user " @@ -10169,14 +10436,14 @@ msgstr "" "者命令行上、<filename>/etc/default/useradd</filename> 中指定的任何其它目录)。" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:683 +#: useradd.8.xml.out:703 msgid "" "You may not add a user to a NIS or LDAP group. This must be performed on the " "corresponding server." msgstr "您可能不能想 NIS 组或 LDAP 组添加用户。这只能在相应服务器上进行。" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:688 +#: useradd.8.xml.out:708 #, fuzzy #| msgid "" #| "Similarly, if the username already exists in an external user database " @@ -10190,12 +10457,12 @@ msgstr "" "<command>useradd</command> 将拒绝创建用户账户的请求。" #. (itstool) path: para/command -#: useradd.8.xml.out:702 +#: useradd.8.xml.out:722 msgid "ls" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:694 +#: useradd.8.xml.out:714 msgid "" "Usernames may contain only lower and upper case letters, digits, " "underscores, or dashes. They can end with a dollar sign. Dashes are not " @@ -10206,60 +10473,60 @@ msgid "" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:704 +#: useradd.8.xml.out:724 msgid "Usernames may only be up to 32 characters long." msgstr "用户名不能超过 32 个字符长。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:769 +#: useradd.8.xml.out:789 msgid "Default values for account creation." msgstr "账户创建的默认值。" #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 #, fuzzy #| msgid "/etc/default/useradd" msgid "/etc/shadow-maint/useradd-pre.d/*" msgstr "/etc/default/useradd" #. (itstool) path: term/filename -#: useradd.8.xml.out:773 +#: useradd.8.xml.out:793 msgid "/etc/shadow-maint/useradd-post.d/*" msgstr "" #. (itstool) path: varlistentry/term -#: useradd.8.xml.out:773 userdel.8.xml.out:209 +#: useradd.8.xml.out:793 userdel.8.xml.out:209 msgid "<_:filename-1/>, <_:filename-2/>" msgstr "" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 #, fuzzy #| msgid "OPTIONS" msgid "ACTION" msgstr "选项" #. (itstool) path: para/command -#: useradd.8.xml.out:775 userdel.8.xml.out:211 +#: useradd.8.xml.out:795 userdel.8.xml.out:211 msgid "SUBJECT" msgstr "" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #, fuzzy #| msgid "useradd" msgid "useradd-pre.d" msgstr "useradd" #. (itstool) path: para/filename -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 #, fuzzy #| msgid "useradd" msgid "useradd-post.d" msgstr "useradd" #. (itstool) path: listitem/para -#: useradd.8.xml.out:775 +#: useradd.8.xml.out:795 msgid "" "Run-part files to execute during user addition. The environment variable <_:" "command-1/> will be populated with useradd and <_:command-2/> with the <_:" @@ -10269,48 +10536,48 @@ msgid "" msgstr "" #. (itstool) path: listitem/para -#: useradd.8.xml.out:781 +#: useradd.8.xml.out:801 msgid "Directory containing default files." msgstr "包含默认文件的目录。" #. (itstool) path: listitem/para -#: useradd.8.xml.out:819 userdel.8.xml.out:243 +#: useradd.8.xml.out:839 userdel.8.xml.out:243 msgid "can't update password file" msgstr "无法更新密码文件" #. (itstool) path: listitem/para -#: useradd.8.xml.out:837 +#: useradd.8.xml.out:857 #, fuzzy #| msgid "UID already in use (and no <option>-o</option>)" msgid "UID already in use (and no <_:option-1/>)" msgstr "UID 已经使用 (且没有 <option>-o</option>)" #. (itstool) path: listitem/para -#: useradd.8.xml.out:849 +#: useradd.8.xml.out:869 #, fuzzy #| msgid "group name already in use" msgid "username or group name already in use" msgstr "组名已经在使用" #. (itstool) path: listitem/para -#: useradd.8.xml.out:861 +#: useradd.8.xml.out:881 msgid "can't create home directory" msgstr "无法创建主目录" #. (itstool) path: term/replaceable -#: useradd.8.xml.out:865 +#: useradd.8.xml.out:885 #, fuzzy #| msgid "1" msgid "14" msgstr "1" #. (itstool) path: listitem/para -#: useradd.8.xml.out:867 +#: useradd.8.xml.out:887 msgid "can't update SELinux user mapping" msgstr "" #. (itstool) path: refsect1/para -#: useradd.8.xml.out:876 usermod.8.xml.out:603 +#: useradd.8.xml.out:896 usermod.8.xml.out:620 msgid "" "<_:citerefentry-1/>, <_:citerefentry-2/>, <_:citerefentry-3/>, <_:" "citerefentry-4/>, <_:citerefentry-5/>, <_:citerefentry-6/>, <_:" @@ -11129,8 +11396,15 @@ msgid "" "shadow system doesn't store the selinux-user, it uses semanage(8) for that." msgstr "" -#. (itstool) path: refsect1/para +#. (itstool) path: listitem/para #: usermod.8.xml.out:518 +msgid "" +"defines the SELinux MLS range for the new account. Note that the shadow " +"system doesn't store the selinux-range, it uses <_:citerefentry-1/> for that." +msgstr "" + +#. (itstool) path: refsect1/para +#: usermod.8.xml.out:535 #, fuzzy #| msgid "" #| "You must make certain that the named user is not executing any processes " @@ -11150,17 +11424,17 @@ msgstr "" "仅根据 utmp 检查用户是否已经登录。" #. (itstool) path: para/command -#: usermod.8.xml.out:527 +#: usermod.8.xml.out:544 msgid "crontab" msgstr "" #. (itstool) path: para/command -#: usermod.8.xml.out:528 +#: usermod.8.xml.out:545 msgid "at" msgstr "" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:526 +#: usermod.8.xml.out:543 #, fuzzy #| msgid "" #| "You must change the owner of any <command>crontab</command> files or " @@ -11173,52 +11447,52 @@ msgstr "" "属主。" #. (itstool) path: refsect1/para -#: usermod.8.xml.out:530 +#: usermod.8.xml.out:547 msgid "You must make any changes involving NIS on the NIS server." msgstr "您必须更改 NIS 服务器上的 NIS 相关内容。" #. (itstool) path: listitem/para -#: usermod.8.xml.out:559 +#: usermod.8.xml.out:576 #, fuzzy #| msgid "Group account information." msgid "Group account information" msgstr "组账户信息。" #. (itstool) path: listitem/para -#: usermod.8.xml.out:565 +#: usermod.8.xml.out:582 #, fuzzy #| msgid "Secure group account information." -msgid "Secure group account informatio." +msgid "Secure group account information" msgstr "安全组账户信息。" #. (itstool) path: listitem/para -#: usermod.8.xml.out:571 +#: usermod.8.xml.out:588 #, fuzzy #| msgid "Shadow password suite configuration." msgid "Shadow password suite configuration" msgstr "Shadow 密码套件配置。" #. (itstool) path: listitem/para -#: usermod.8.xml.out:577 +#: usermod.8.xml.out:594 #, fuzzy #| msgid "User account information." msgid "User account information" msgstr "用户账户信息。" #. (itstool) path: listitem/para -#: usermod.8.xml.out:583 +#: usermod.8.xml.out:600 #, fuzzy #| msgid "Secure user account information." msgid "Secure user account information" msgstr "安全用户账户信息。" #. (itstool) path: listitem/para -#: usermod.8.xml.out:589 +#: usermod.8.xml.out:606 msgid "Per user subordinate group IDs" msgstr "" #. (itstool) path: listitem/para -#: usermod.8.xml.out:595 +#: usermod.8.xml.out:612 msgid "Per user subordinate user IDs" msgstr "" @@ -11270,7 +11544,7 @@ msgstr "vipw" #| "envar>, and finally the default editor, <citerefentry><refentrytitle>vi</" #| "refentrytitle><manvolnum>1</manvolnum></citerefentry>." msgid "" -"The <_:command-1/> and <_:command-2/> commands edits the files <_:filename-3/" +"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 " @@ -12996,6 +13270,31 @@ msgstr "" #~ "<citerefentry><refentrytitle>sulogin</refentrytitle><manvolnum>8</" #~ "manvolnum></citerefentry>." +#~ 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 "" +#~ "然后,测试密码的负责程度。一般来讲,密码应该包含 6 到 8 位字符,从下边的一" +#~ "个或多个集合中选择:" + +#~ msgid "lower case alphabetics" +#~ msgstr "小写字母" + +#~ msgid "digits 0 thru 9" +#~ msgstr "数字 0 到 9" + +#~ msgid "punctuation marks" +#~ msgstr "标点符号" + +#~ msgid "" +#~ "Care must be taken not to include the system default erase or kill " +#~ "characters. <command>passwd</command> will reject any password which is " +#~ "not suitably complex." +#~ msgstr "" +#~ "必须要留意不能包含系统默认的擦除和杀死字符。<command>passwd</command> 会拒" +#~ "绝复杂度不满足要求的密码。" + #~ msgid "<option>-d</option>, <option>--delete</option>" #~ msgstr "<option>-d</option>, <option>--delete</option>" @@ -13260,6 +13559,14 @@ msgstr "" #~ msgid "<option>-s</option>, <option>--sha-rounds</option>" #~ msgstr "<option>-s</option>, <option>--sha-rounds</option>" +#~ msgid "" +#~ "The value 0 means that the system will choose the default number of " +#~ "rounds for the crypt method (5000)." +#~ msgstr "值 0 表示让系统为加密方法选择默认的轮转次数 (5000)。" + +#~ msgid "You can only use this option with the SHA256 or SHA512 crypt method." +#~ msgstr "您只可以对 SHA256 或 SHA512 使用此选项。" + #~ msgid "PAM configuration for <command>newusers</command>." #~ msgstr "<command>newusers</command> 的 PAM 配置。" @@ -14211,6 +14518,9 @@ msgstr "" #~ "<option>-c</option>, <option>--crypt-method</option> " #~ "<replaceable>METHOD</replaceable>" +#~ msgid "The available methods are DES, MD5, and NONE." +#~ msgstr "可用的方法有 DES,MD5 和 NONE。" + #~ msgid "<option>-e</option>, <option>--encrypted</option>" #~ msgstr "<option>-e</option>, <option>--encrypted</option>" diff --git a/man/pt_BR/Makefile.in b/man/pt_BR/Makefile.in index 0ec510cb..c56c22ab 100644 --- a/man/pt_BR/Makefile.in +++ b/man/pt_BR/Makefile.in @@ -172,6 +172,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -205,9 +207,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -223,6 +231,7 @@ 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@ @@ -231,6 +240,8 @@ 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@ @@ -253,6 +264,9 @@ 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@ diff --git a/man/ru/Makefile.am b/man/ru/Makefile.am index 8a776a87..84d55d9e 100644 --- a/man/ru/Makefile.am +++ b/man/ru/Makefile.am @@ -21,7 +21,6 @@ man_MANS = \ man8/grpconv.8 \ man8/grpunconv.8 \ man5/gshadow.5 \ - man8/lastlog.8 \ man1/login.1 \ man5/login.defs.5 \ man8/logoutd.8 \ @@ -44,6 +43,10 @@ man_MANS = \ man8/vigr.8 \ man8/vipw.8 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + man_nopam = \ man5/limits.5 \ man5/login.access.5 \ diff --git a/man/ru/Makefile.in b/man/ru/Makefile.in index cbdffd74..5db579f5 100644 --- a/man/ru/Makefile.in +++ b/man/ru/Makefile.in @@ -87,8 +87,9 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 +@USE_PAM_FALSE@am__append_2 = $(man_nopam) +@USE_PAM_TRUE@am__append_3 = $(man_nopam) subdir = man/ru ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -176,6 +177,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -209,9 +212,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -227,6 +236,7 @@ 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@ @@ -235,6 +245,8 @@ 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@ @@ -257,6 +269,9 @@ 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@ @@ -332,20 +347,22 @@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) + man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ + man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ + man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ + man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ + man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ + man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ + $(am__append_1) $(am__append_2) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_2) +EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) LANG = $(notdir $(CURDIR)) +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam @ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow @@ -354,8 +371,15 @@ LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_FALSE@BCRYPT_COND = no_bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_TRUE@BCRYPT_COND = bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_FALSE@YESCRYPT_COND = no_yescrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_TRUE@YESCRYPT_COND = yescrypt @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids +@ENABLE_LASTLOG_FALSE@@ENABLE_REGENERATE_MAN_TRUE@LASTLOG_COND = no_lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@LASTLOG_COND = lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@LASTLOG_COND = no_lastlog CLEANFILES = messages.mo login.defs.d $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml all: all-am @@ -739,10 +763,10 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ @ENABLE_REGENERATE_MAN_TRUE@messages.mo: ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ msgfmt ../po/$(LANG).po -o messages.mo +@ENABLE_REGENERATE_MAN_TRUE@ msgfmt $< -o messages.mo @ENABLE_REGENERATE_MAN_TRUE@login.defs.d: -@ENABLE_REGENERATE_MAN_TRUE@ ln -sf ../login.defs.d login.defs.d +@ENABLE_REGENERATE_MAN_TRUE@ ln -sf $(srcdir)/../login.defs.d login.defs.d @ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml messages.mo login.defs.d @ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $< ; then \ @@ -750,7 +774,7 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ else \ @ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(<!DOCTYPE .*docbookx.dtd"\)>/\1 [<!ENTITY % config SYSTEM "config.xml">%config;]>/' $< > $@; \ @ENABLE_REGENERATE_MAN_TRUE@ fi -@ENABLE_REGENERATE_MAN_TRUE@ itstool -d -l $(LANG) -m messages.mo -o . $@ +@ENABLE_REGENERATE_MAN_TRUE@ itstool -i $(srcdir)/../its.rules -d -l $(LANG) -m messages.mo -o . $@ @ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^<refentry .*\)>:\1 lang="$(LANG)">:' $@ @ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml @@ -761,11 +785,13 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ fi @ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(BCRYPT_COND);$(YESCRYPT_COND);$(SUBIDS_COND);$(VENDORDIR_COND);$(LASTLOG_COND)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ @ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ +@ENABLE_REGENERATE_MAN_TRUE@ --stringparam vendordir "$(VENDORDIR)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< +@ENABLE_REGENERATE_MAN_TRUE@ --path "$(srcdir)/login.defs.d" \ +@ENABLE_REGENERATE_MAN_TRUE@ -nonet $(top_srcdir)/man/shadow-man.xsl $< @ENABLE_REGENERATE_MAN_TRUE@clean-local: @ENABLE_REGENERATE_MAN_TRUE@ rm -rf man1 man3 man5 man8 diff --git a/man/ru/man1/chage.1 b/man/ru/man1/chage.1 index 49be778d..5632ec66 100644 --- a/man/ru/man1/chage.1 +++ b/man/ru/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "chage" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "chage" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chage \- изменяет информацию об устаревании пароля пользователя .SH "СИНТАКСИС" .HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIпараметры\fR] \fIУЧЁТНАЯ_ЗАПИСЬ\fR +\fBchage\fR [\fIoptions\fR] \fILOGIN\fR .SH "ОПИСАНИЕ" .PP The @@ -136,6 +136,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR .RS 4 Set the number of days of warning before a password change is required\&. The diff --git a/man/ru/man1/chfn.1 b/man/ru/man1/chfn.1 index 98d1cf16..767f554d 100644 --- a/man/ru/man1/chfn.1 +++ b/man/ru/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "chfn" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "chfn" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chfn \- изменяет информацию о пользователе .SH "СИНТАКСИС" .HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fIпараметры\fR] [\fIУЧЁТНАЯ_ЗАПИСЬ\fR] +\fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man1/chsh.1 b/man/ru/man1/chsh.1 index a8f27430..470c37d1 100644 --- a/man/ru/man1/chsh.1 +++ b/man/ru/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "chsh" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "chsh" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chsh \- изменяет регистрационную оболочку пользователя .SH "СИНТАКСИС" .HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIпараметры\fR] [\fIУЧЁТНАЯ_ЗАПИСЬ\fR] +\fBchsh\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "ОПИСАНИЕ" .PP The @@ -77,6 +77,12 @@ The only restriction placed on the login shell is that the command name must be 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\&. +.PP +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\&. .SH "НАСТРОЙКА" .PP The following configuration variables in diff --git a/man/ru/man1/expiry.1 b/man/ru/man1/expiry.1 index 697ee41a..0435aa7c 100644 --- a/man/ru/man1/expiry.1 +++ b/man/ru/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "expiry" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "expiry" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ expiry \- проверяет и изменяет пароль согласно политике устаревания .SH "СИНТАКСИС" .HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fIпараметр\fR +\fBexpiry\fR \fIoption\fR .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man1/gpasswd.1 b/man/ru/man1/gpasswd.1 index b8c94024..859c85ff 100644 --- a/man/ru/man1/gpasswd.1 +++ b/man/ru/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "gpasswd" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "gpasswd" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ gpasswd \- administer /etc/group and /etc/gshadow .SH "СИНТАКСИС" .HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fIпараметр\fR] \fIгруппа\fR +\fBgpasswd\fR [\fIoption\fR] \fIgroup\fR .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man1/groups.1 b/man/ru/man1/groups.1 index 3ab2ded7..15beca52 100644 --- a/man/ru/man1/groups.1 +++ b/man/ru/man1/groups.1 @@ -2,12 +2,12 @@ .\" Title: groups .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "groups" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "groups" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groups \- показывает имена групп запустившего программу пользователя .SH "СИНТАКСИС" .HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIимя\fR] +\fBgroups\fR [\fIuser\fR] .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man1/id.1 b/man/ru/man1/id.1 index 0ce055b7..8a946fb0 100644 --- a/man/ru/man1/id.1 +++ b/man/ru/man1/id.1 @@ -2,12 +2,12 @@ .\" Title: id .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "id" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "id" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man1/login.1 b/man/ru/man1/login.1 index 65229c4f..37c8655a 100644 --- a/man/ru/man1/login.1 +++ b/man/ru/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "login" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "login" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,9 +31,9 @@ login \- начинает сеанс в системе .SH "СИНТАКСИС" .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fIимя_пользователя\fR] [\fIПЕРЕМЕННАЯ_ОКРУЖЕНИЯ=ЗНАЧЕНИЕ\fR...] +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fIusername\fR] [\fIENV=VAR\fR...] .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fIимя_пользователя\fR +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fIusername\fR .HP \w'\fBlogin\fR\ 'u \fBlogin\fR [\-p] \-r\ \fIhost\fR .SH "ОПИСАНИЕ" diff --git a/man/ru/man1/newgrp.1 b/man/ru/man1/newgrp.1 index 2af3bdec..9e7325d6 100644 --- a/man/ru/man1/newgrp.1 +++ b/man/ru/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "newgrp" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "newgrp" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ newgrp \- выполняет регистрацию пользователя в новой группе .SH "СИНТАКСИС" .HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIгруппа\fR] +\fBnewgrp\fR [\-] [\fIgroup\fR] .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man1/passwd.1 b/man/ru/man1/passwd.1 index 82248529..2ed1bcaf 100644 --- a/man/ru/man1/passwd.1 +++ b/man/ru/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "passwd" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "passwd" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ passwd \- изменяет пароль пользователя .SH "СИНТАКСИС" .HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fIпараметры\fR] [\fIУЧЁТНАЯ_ЗАПИСЬ\fR] +\fBpasswd\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "ОПИСАНИЕ" .PP The @@ -49,44 +49,9 @@ refuses to change the password and exits\&. .PP Затем пользователю предложат дважды ввести новый пароль\&. Значение второго ввода сравнивается с первым и для изменения пароли из обеих попыток должны совпасть\&. .PP -Затем пароль тестируется на сложность подбора\&. Согласно общим принципам, пароли должны быть длиной от 6 до 8 символов и включать один или более символов каждого типа: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -строчные буквы -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -цифры от 0 до 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -знаки пунктуации -.RE -.PP -Care must be taken not to include the system default erase or kill characters\&. +Then, the password is tested for complexity\&. \fBpasswd\fR -will reject any password which is not suitably complex\&. +will reject any password which is not suitably complex\&. Care must be taken not to include the system default erase or kill characters\&. .SS "Выбор пароля" .PP The security of a password depends upon the strength of the encryption algorithm and the size of the key space\&. The legacy @@ -96,6 +61,8 @@ System encryption method is based on the NBS DES algorithm\&. More recent method .PP При обеспечении безопасности пароля выбирают нечто среднее между сложным паролем и сложностью работы с ним\&. По этой причине, вы не должны использовать пароль, который является словом из словаря или который придётся записать из\-за его сложности\&. Также, пароль не должен быть названием чего\-либо, номером вашей лицензии, днём рождения и домашним адресом\&. Обо всём этом легко догадаться, что приведёт к нарушению безопасности системы\&. .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 You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength .SH "ПАРАМЕТРЫ" .PP @@ -175,6 +142,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-S\fR, \fB\-\-status\fR .RS 4 Показать состояние учётной записи\&. Информация о состоянии содержит 7 полей\&. Первое поле содержит имя учётной записи\&. Второе поле указывает, заблокирован ли пароль учётной записи (L), она без пароля (NP) или у неё есть рабочий пароль (P)\&. Третье поле хранит дату последнего изменения пароля\&. В следующих четырёх полях хранятся минимальный срок, максимальный срок, период выдачи предупреждения и период неактивности пароля\&. Эти сроки измеряются в днях\&. @@ -205,6 +178,11 @@ as \fIMAX_DAYS\fR will remove checking a password\*(Aqs validity\&. .RE +.PP +\fB\-s\fR, \fB\-\-stdin\fR +.RS 4 +This option is used to indicate that passwd should read the new password from standard input, which can be a pipe\&. +.RE .SH "ПРЕДОСТЕРЕЖЕНИЯ" .PP Сложность пароля проверяется на разных машинах по разному\&. Пользователю настоятельно рекомендуется выбирать пароль такой сложности, чтобы ему нормально работалось\&. @@ -277,7 +255,10 @@ invalid argument to option .SH "СМОТРИТЕ ТАКЖЕ" .PP \fBchpasswd\fR(8), +\fBmakepasswd\fR(1), \fBpasswd\fR(5), \fBshadow\fR(5), \fBlogin.defs\fR(5), \fBusermod\fR(8)\&. +.PP +The following web page comically (yet correctly) compares the strength of two different methods for choosing a password: "https://xkcd\&.com/936/" diff --git a/man/ru/man1/sg.1 b/man/ru/man1/sg.1 index 532c615d..f9386cec 100644 --- a/man/ru/man1/sg.1 +++ b/man/ru/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "sg" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "sg" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man1/su.1 b/man/ru/man1/su.1 index 17c62696..f47b415b 100644 --- a/man/ru/man1/su.1 +++ b/man/ru/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Пользовательские команды -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "su" "1" "11/08/2022" "shadow\-utils 4\&.13" "Пользовательские команды" +.TH "su" "1" "03/23/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ su \- изменяет ID пользователя или делает его суперпользователем .SH "СИНТАКСИС" .HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fIпараметры\fR] [\fI\-\fR] [\fIимя_пользователя\fR\ [\ \fIargs\fR\ ]] +\fBsu\fR [\fIoptions\fR] [\fI\-\fR] [\fIusername\fR\ [\ \fIargs\fR\ ]] .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man3/shadow.3 b/man/ru/man3/shadow.3 index c86e0606..3f35e99f 100644 --- a/man/ru/man3/shadow.3 +++ b/man/ru/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Библиотечные функции -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: Library Calls +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "shadow" "3" "11/08/2022" "shadow\-utils 4\&.13" "Библиотечные функции" +.TH "shadow" "3" "03/23/2024" "shadow\-utils 4\&.15\&.1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -50,7 +50,7 @@ shadow, getspnam \- процедуры для работы с файлом ши .PP \fIint putspent(struct spwd\fR \fI*p,\fR -\fIФАЙЛ\fR +\fIFILE\fR \fI*fp\fR\fI);\fR .PP \fIint lckpwdf();\fR diff --git a/man/ru/man5/faillog.5 b/man/ru/man5/faillog.5 index c615de1e..7f78d7cb 100644 --- a/man/ru/man5/faillog.5 +++ b/man/ru/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "faillog" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuratio" +.TH "faillog" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man5/gshadow.5 b/man/ru/man5/gshadow.5 index 4c012de2..c99dcdff 100644 --- a/man/ru/man5/gshadow.5 +++ b/man/ru/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "gshadow" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "gshadow" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,12 +38,12 @@ contains the shadowed information for group accounts\&. .PP Каждая строка файла содержит поля, отделёнными друг от друга двоеточием: .PP -\fBимя группы\fR +\fBgroup name\fR .RS 4 Должно содержать правильное имя группы, которая существует в системе\&. .RE .PP -\fBшифрованный пароль\fR +\fBencrypted password\fR .RS 4 Refer to \fBcrypt\fR(3) @@ -63,7 +63,7 @@ This password supersedes any password specified in /etc/group\&. .RE .PP -\fBадминистраторы\fR +\fBadministrators\fR .RS 4 Список имён пользователей, перечисленных через запятую\&. .sp @@ -72,7 +72,7 @@ This password supersedes any password specified in Администраторы также имеют те же права, что и члены группы (смотрите далее)\&. .RE .PP -\fBчлены\fR +\fBmembers\fR .RS 4 Список имён пользователей, перечисленных через запятую\&. .sp diff --git a/man/ru/man5/limits.5 b/man/ru/man5/limits.5 index 9567b312..cbb1f997 100644 --- a/man/ru/man5/limits.5 +++ b/man/ru/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "limits" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "limits" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -41,11 +41,11 @@ config\&.h) describes the resource limits you wish to impose\&. It should be own .PP Каждая строка описывает ограничение для одного пользователя имеет вид: .PP -\fIuser СТРОКА_ОГРАНИЧЕНИЙ\fR +\fIuser LIMITS_STRING\fR .PP или в виде: .PP -\fI@group СТРОКА_ОГРАНИЧЕНИЙ\fR +\fI@group LIMITS_STRING\fR .PP The \fILIMITS_STRING\fR diff --git a/man/ru/man5/login.access.5 b/man/ru/man5/login.access.5 index 8f7f7b09..74c6f13c 100644 --- a/man/ru/man5/login.access.5 +++ b/man/ru/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "login\&.access" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "login\&.access" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man5/login.defs.5 b/man/ru/man5/login.defs.5 index aa246290..ad332e88 100644 --- a/man/ru/man5/login.defs.5 +++ b/man/ru/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "login\&.defs" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "login\&.defs" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -192,8 +192,7 @@ USERGROUPS_ENAB .PP sulogin .RS 4 -ENV_HZ -ENV_TZ +ENV_HZ ENV_TZ .RE .PP useradd diff --git a/man/ru/man5/passwd.5 b/man/ru/man5/passwd.5 index 74fa8e35..46df54cd 100644 --- a/man/ru/man5/passwd.5 +++ b/man/ru/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "passwd" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "passwd" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man5/porttime.5 b/man/ru/man5/porttime.5 index cbbd4e35..5d0d175c 100644 --- a/man/ru/man5/porttime.5 +++ b/man/ru/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "porttime" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "porttime" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man5/shadow.5 b/man/ru/man5/shadow.5 index 68577955..b1a28593 100644 --- a/man/ru/man5/shadow.5 +++ b/man/ru/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "shadow" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "shadow" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,12 +38,12 @@ is a file which contains the password information for the system\*(Aqs accounts .PP Each line of this file contains 9 fields, separated by colons (\(Fo:\(Fc), in the following order: .PP -\fBимя пользователя для входа в систему\fR +\fBlogin name\fR .RS 4 Должно содержать правильное имя учётной записи, которая существует в системе\&. .RE .PP -\fBшифрованный пароль\fR +\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 /etc/shadow @@ -59,7 +59,7 @@ 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)\&. .RE .PP -\fBдата последней смены пароля\fR +\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\&. .sp @@ -68,14 +68,14 @@ The value 0 has a special meaning, which is that the user should change her pass Пустое значение обозначает, что проверка устаревания пароля выключена\&. .RE .PP -\fBминимальный срок действия пароля\fR +\fBminimum password age\fR .RS 4 Минимальный срок действия пароля в днях, которые пользователь должен ждать, чтобы поменять пароль\&. .sp An empty field and value 0 mean that there is no minimum password age\&. .RE .PP -\fBмаксимальный срок действия пароля\fR +\fBmaximum password age\fR .RS 4 Максимальный срок действия пароля в днях, после которого пользователь должен изменить пароль\&. .sp @@ -86,14 +86,14 @@ An empty field and value 0 mean that there is no minimum password age\&. Если максимальный срок действия пароля меньше чем минимальный срок действия пароля, то пользователь не сможет изменить свой пароль\&. .RE .PP -\fBпериод предупреждения о пароле\fR +\fBpassword warning period\fR .RS 4 Количество дней до устаревания пароля (смотрите максимальный срок действия пароля) во время которых пользователю выдаётся предупреждение\&. .sp Пустое значение поля и 0 отключают период предупреждения о пароле\&. .RE .PP -\fBпериод неактивности пароля\fR +\fBpassword inactivity period\fR .RS 4 Количество дней после устаревания пароля (смотрите максимальный срок действия пароля) во время которых пароль всё ещё принимается (и пользователь должен обновить свой пароль при следующем входе)\&. .sp @@ -102,7 +102,7 @@ After expiration of the password and this expiration period is elapsed, no login Пустое значение поля означает, что период неактивности отсутствует\&. .RE .PP -\fBдата истечения срока действия учётной записи\fR +\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\&. .sp @@ -113,7 +113,7 @@ Note that an account expiration differs from a password expiration\&. In case of Значение 0 не должно использоваться, так как это может рассматриваться как неустаревающая учётная запись или что запись устарела 1 января 1970 года\&. .RE .PP -\fBзарезервированное поле\fR +\fBreserved field\fR .RS 4 Это поле зарезервировано для использования в будущем\&. .RE diff --git a/man/ru/man5/suauth.5 b/man/ru/man5/suauth.5 index 2c728e22..40d4c8c4 100644 --- a/man/ru/man5/suauth.5 +++ b/man/ru/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 +.\" Date: 03/23/2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "suauth" "5" "11/08/2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "suauth" "5" "03/23/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/chgpasswd.8 b/man/ru/man8/chgpasswd.8 index 45c62686..9cef4d7b 100644 --- a/man/ru/man8/chgpasswd.8 +++ b/man/ru/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko <kloczek@pld.org.pl> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "chgpasswd" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "chgpasswd" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chgpasswd \- обновляет пароли групп в пакетном режиме .SH "СИНТАКСИС" .HP \w'\fBchgpasswd\fR\ 'u -\fBchgpasswd\fR [\fIпараметры\fR] +\fBchgpasswd\fR [\fIoptions\fR] .SH "ОПИСАНИЕ" .PP The @@ -63,7 +63,12 @@ command are: .RS 4 Использовать указанный метод для шифрования паролей\&. .sp -Возможные методы: DES, MD5, NONE и SHA256 или SHA512, если эти методы поддерживается libc\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .RE .PP \fB\-e\fR, \fB\-\-encrypted\fR @@ -94,14 +99,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 Использовать указанное количество раундов шифрования паролей\&. .sp -Значение 0 означает, что система выберет количество раундов по умолчанию для выбранного метода шифрования (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Минимальное значение равно 1000, а максимальное значение равно 999,999,999\&. -.sp -Вы можете использовать этот параметр только при методе шифрования SHA256 или SHA512\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "ПРЕДОСТЕРЕЖЕНИЯ" .PP diff --git a/man/ru/man8/chpasswd.8 b/man/ru/man8/chpasswd.8 index bc59c325..9dd10a9f 100644 --- a/man/ru/man8/chpasswd.8 +++ b/man/ru/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "chpasswd" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "chpasswd" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chpasswd \- обновляет пароли в пакетном режиме .SH "СИНТАКСИС" .HP \w'\fBchpasswd\fR\ 'u -\fBchpasswd\fR [\fIпараметры\fR] +\fBchpasswd\fR [\fIoptions\fR] .SH "ОПИСАНИЕ" .PP The @@ -68,7 +68,12 @@ command are: .RS 4 Использовать указанный метод для шифрования паролей\&. .sp -Возможные методы: DES, MD5, NONE и SHA256 или SHA512, если эти методы поддерживается libc\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .sp By default (if none of the \fB\-c\fR, @@ -106,22 +111,23 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIROUNDS\fR .RS 4 Использовать указанное количество раундов шифрования паролей\&. .sp -Значение 0 означает, что система выберет количество раундов по умолчанию для выбранного метода шифрования (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Минимальное значение равно 1000, а максимальное значение равно 999,999,999\&. -.sp -Вы можете использовать этот параметр только при методе шифрования SHA256 или SHA512\&. -.sp -By default, the number of rounds is defined by the -\fBSHA_CRYPT_MIN_ROUNDS\fR -and -\fBSHA_CRYPT_MAX_ROUNDS\fR -variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "ПРЕДОСТЕРЕЖЕНИЯ" .PP diff --git a/man/ru/man8/faillog.8 b/man/ru/man8/faillog.8 index 3cb6a726..8956825b 100644 --- a/man/ru/man8/faillog.8 +++ b/man/ru/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "faillog" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "faillog" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ faillog \- показывает записи из файла faillog или задаёт предел неудачных попыток входа в систему .SH "СИНТАКСИС" .HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIпараметры\fR] +\fBfaillog\fR [\fIoptions\fR] .SH "ОПИСАНИЕ" .PP \fBfaillog\fR diff --git a/man/ru/man8/groupadd.8 b/man/ru/man8/groupadd.8 index b8300e44..2856ac7f 100644 --- a/man/ru/man8/groupadd.8 +++ b/man/ru/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "groupadd" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "groupadd" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupadd \- создаёт новую группу .SH "СИНТАКСИС" .HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIПАРАМЕТРЫ\fR] \fINEWGROUP\fR +\fBgroupadd\fR [\fIOPTIONS\fR] \fINEWGROUP\fR .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man8/groupdel.8 b/man/ru/man8/groupdel.8 index dfa6c333..ccef79d3 100644 --- a/man/ru/man8/groupdel.8 +++ b/man/ru/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "groupdel" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "groupdel" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupdel \- удаляет группу .SH "СИНТАКСИС" .HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIпараметры\fR] \fIГРУППА\fR +\fBgroupdel\fR [\fIoptions\fR] \fIGROUP\fR .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man8/groupmems.8 b/man/ru/man8/groupmems.8 index 668a28ff..3f422191 100644 --- a/man/ru/man8/groupmems.8 +++ b/man/ru/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "groupmems" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "groupmems" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -130,7 +130,7 @@ utility to manage their own group membership list\&. .nf $ groupadd \-r groups $ chmod 2710 groupmems - $ chown root\&.groups groupmems + $ chown root:groups groupmems $ groupmems \-g groups \-a gk4 .fi diff --git a/man/ru/man8/groupmod.8 b/man/ru/man8/groupmod.8 index 9b7e87cf..fe3c4eff 100644 --- a/man/ru/man8/groupmod.8 +++ b/man/ru/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "groupmod" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "groupmod" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupmod \- изменяет определение группы в системе .SH "СИНТАКСИС" .HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIпараметры\fR] \fIГРУППА\fR +\fBgroupmod\fR [\fIoptions\fR] \fIGROUP\fR .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man8/grpck.8 b/man/ru/man8/grpck.8 index 1d2c1949..15cb9196 100644 --- a/man/ru/man8/grpck.8 +++ b/man/ru/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "grpck" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "grpck" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ grpck \- проверяет корректность файлов групп .SH "СИНТАКСИС" .HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [параметры] [\fIгруппа\fR\ [\ \fIshadow\fR\ ]] +\fBgrpck\fR [options] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man8/lastlog.8 b/man/ru/man8/lastlog.8 index 4c3bd8f7..3786ea43 100644 --- a/man/ru/man8/lastlog.8 +++ b/man/ru/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "lastlog" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "lastlog" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ lastlog \- выводит отчёт о последней регистрации в системе всех или указанного пользователя .SH "СИНТАКСИС" .HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIпараметры\fR] +\fBlastlog\fR [\fIoptions\fR] .SH "ОПИСАНИЕ" .PP \fBlastlog\fR diff --git a/man/ru/man8/logoutd.8 b/man/ru/man8/logoutd.8 index fa64db1e..94eaacee 100644 --- a/man/ru/man8/logoutd.8 +++ b/man/ru/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "logoutd" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "logoutd" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/newusers.8 b/man/ru/man8/newusers.8 index e7ab6cb9..e2af160a 100644 --- a/man/ru/man8/newusers.8 +++ b/man/ru/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "newusers" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "newusers" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ newusers \- обновляет и создаёт новые учётные записи пользователей в пакетном режиме .SH "СИНТАКСИС" .HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fIпараметры\fR] [\fIфайл\fR] +\fBnewusers\fR [\fIoptions\fR] [\fIfile\fR] .SH "ОПИСАНИЕ" .PP The @@ -56,7 +56,7 @@ It can be the name of a new user or the name of an existing user (or a user crea Это поле будет зашифровано и использовано как новое значение шифрованного пароля\&. .RE .PP -\fI pw_gid\fR +\fIpw_uid\fR .RS 4 Это поле используется для определения UID пользователя\&. .sp @@ -168,14 +168,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 Использовать указанное количество раундов шифрования паролей\&. .sp -Значение 0 означает, что система выберет количество раундов по умолчанию для выбранного метода шифрования (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Минимальное значение равно 1000, а максимальное значение равно 999,999,999\&. -.sp -Вы можете использовать этот параметр только при методе шифрования SHA256 или SHA512\&. -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +A minimal value of 1000 and a maximal value of 999,999,999 will be enforced for SHA256 and SHA512\&. The default is 5000\&. .RE .SH "ПРЕДОСТЕРЕЖЕНИЯ" .PP diff --git a/man/ru/man8/nologin.8 b/man/ru/man8/nologin.8 index 2ec0d032..c8dc5708 100644 --- a/man/ru/man8/nologin.8 +++ b/man/ru/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net> .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "nologin" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "nologin" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/pwck.8 b/man/ru/man8/pwck.8 index 2866d4fb..77359a21 100644 --- a/man/ru/man8/pwck.8 +++ b/man/ru/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "pwck" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "pwck" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ pwck \- verify the integrity of password files .SH "СИНТАКСИС" .HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [параметры] [\fIPASSWORDFILE\fR\ [\ \fISHADOWFILE\fR\ ]] +\fBpwck\fR [options] [\fIPASSWORDFILE\fR\ [\ \fISHADOWFILE\fR\ ]] .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man8/pwconv.8 b/man/ru/man8/pwconv.8 index edc5618a..3295e46b 100644 --- a/man/ru/man8/pwconv.8 +++ b/man/ru/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "pwconv" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "pwconv" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,13 +31,13 @@ pwconv, pwunconv, grpconv, grpunconv \- преобразует пароли пользователей и групп в/из защищённую форму .SH "СИНТАКСИС" .HP \w'\fBpwconv\fR\ 'u -\fBpwconv\fR [\fIпараметры\fR] +\fBpwconv\fR [\fIoptions\fR] .HP \w'\fBpwunconv\fR\ 'u -\fBpwunconv\fR [\fIпараметры\fR] +\fBpwunconv\fR [\fIoptions\fR] .HP \w'\fBgrpconv\fR\ 'u -\fBgrpconv\fR [\fIпараметры\fR] +\fBgrpconv\fR [\fIoptions\fR] .HP \w'\fBgrpunconv\fR\ 'u -\fBgrpunconv\fR [\fIпараметры\fR] +\fBgrpunconv\fR [\fIoptions\fR] .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man8/sulogin.8 b/man/ru/man8/sulogin.8 index f0620a3d..8379adcb 100644 --- a/man/ru/man8/sulogin.8 +++ b/man/ru/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "sulogin" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "sulogin" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/ru/man8/useradd.8 b/man/ru/man8/useradd.8 index 94559cbc..13cf9e38 100644 --- a/man/ru/man8/useradd.8 +++ b/man/ru/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "useradd" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "useradd" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,11 +31,11 @@ useradd \- регистрирует нового пользователя или изменяет информацию по умолчанию о новых пользователях .SH "СИНТАКСИС" .HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR [\fIпараметры\fR] \fIУЧЁТНАЯ_ЗАПИСЬ\fR +\fBuseradd\fR [\fIoptions\fR] \fILOGIN\fR .HP \w'\fBuseradd\fR\ 'u \fBuseradd\fR \-D .HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D [\fIпараметры\fR] +\fBuseradd\fR \-D [\fIoptions\fR] .SH "ОПИСАНИЕ" .PP When invoked without the @@ -169,7 +169,11 @@ variable in .RS 4 A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the \fB\-g\fR -option\&. The default is for the user to belong only to the initial group\&. +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 +\fBGROUPS\fR +to the file +/etc/default/useradd +which in turn will add all users to those supplementary groups\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -194,6 +198,10 @@ variable in or, by default, /etc/skel\&. .sp +Absolute symlinks that link back to the skel directory will have the +/etc/skel +prefix replaced with the user\*(Aqs home directory\&. +.sp Если возможно, выполняется копирование ACL и расширенных атрибутов\&. .RE .PP @@ -380,10 +388,22 @@ variable in .PP \fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR .RS 4 -defines the SELinux user for the new account\&. Without this option, a SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses +defines the SELinux user for the new account\&. Without this option, SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses \fBsemanage\fR(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Without this option, SELinux uses the default range\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SS "Изменение значений по умолчанию" .PP When invoked with only the diff --git a/man/ru/man8/userdel.8 b/man/ru/man8/userdel.8 index 11032686..d4836062 100644 --- a/man/ru/man8/userdel.8 +++ b/man/ru/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "userdel" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "userdel" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ userdel \- удаляет учётную запись и файлы пользователя .SH "СИНТАКСИС" .HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [параметры] \fIУЧЁТНАЯ_ЗАПИСЬ\fR +\fBuserdel\fR [options] \fILOGIN\fR .SH "ОПИСАНИЕ" .PP The diff --git a/man/ru/man8/usermod.8 b/man/ru/man8/usermod.8 index 232977ca..15bdd035 100644 --- a/man/ru/man8/usermod.8 +++ b/man/ru/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "usermod" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "usermod" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ usermod \- изменяет учётную запись пользователя .SH "СИНТАКСИС" .HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fIпараметры\fR] \fIУЧЁТНАЯ_ЗАПИСЬ\fR +\fBusermod\fR [\fIoptions\fR] \fILOGIN\fR .SH "ОПИСАНИЕ" .PP The @@ -309,6 +309,18 @@ from /etc/login\&.defs\&. defines the SELinux user to be mapped with \fILOGIN\fR\&. An empty string ("") will remove the respective entry (if any)\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses semanage(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SH "ПРЕДОСТЕРЕЖЕНИЯ" .PP You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. @@ -336,7 +348,7 @@ Group account information .PP /etc/gshadow .RS 4 -Secure group account informatio\&. +Secure group account information .RE .PP /etc/login\&.defs diff --git a/man/ru/man8/vipw.8 b/man/ru/man8/vipw.8 index 723fd503..a66bf0b7 100644 --- a/man/ru/man8/vipw.8 +++ b/man/ru/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/> -.\" Date: 11/08/2022 -.\" Manual: Команды управления системой -.\" Source: shadow-utils 4.13 +.\" Date: 03/23/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Russian .\" -.TH "vipw" "8" "11/08/2022" "shadow\-utils 4\&.13" "Команды управления системой" +.TH "vipw" "8" "03/23/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,16 +31,16 @@ vipw, vigr \- позволяют редактировать файлы паролей, групп, теневых паролей пользователей или групп\&. .SH "СИНТАКСИС" .HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIпараметры\fR] +\fBvipw\fR [\fIoptions\fR] .HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIпараметры\fR] +\fBvigr\fR [\fIoptions\fR] .SH "ОПИСАНИЕ" .PP The \fBvipw\fR and \fBvigr\fR -commands edits the files +commands edit the files /etc/passwd and /etc/group, respectively\&. With the diff --git a/man/shadow-man.xsl b/man/shadow-man.xsl new file mode 100644 index 00000000..a3408e6c --- /dev/null +++ b/man/shadow-man.xsl @@ -0,0 +1,9 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ss="http://docbook.sf.net/xmlns/string.subst/1.0" version="1.0"> + <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl"/> + <xsl:param name="vendordir"/> + + <xsl:param name="man.string.subst.map.local.pre"> + <ss:substitution oldstring="%vendordir%" newstring="{$vendordir}" /> + </xsl:param> +</xsl:stylesheet> diff --git a/man/su.1.xml b/man/su.1.xml index 02cae5ae..5c500145 100644 --- a/man/su.1.xml +++ b/man/su.1.xml @@ -321,7 +321,7 @@ &CONSOLE; &CONSOLE_GROUPS; &DEFAULT_HOME; - <phrase condition="no_pam">&ENV_HZ;</phrase> + &ENV_HZ; &ENVIRON_FILE; &ENV_PATH; &ENV_SUPATH; diff --git a/man/subuid.5.xml b/man/subuid.5.xml index fc6b2c95..79a6b42a 100644 --- a/man/subuid.5.xml +++ b/man/subuid.5.xml @@ -130,7 +130,7 @@ <refentrytitle>newuidmap</refentrytitle><manvolnum>1</manvolnum> </citerefentry>, <citerefentry> - <refentrytitle>newusers</refentrytitle><manvolnum>1</manvolnum> + <refentrytitle>newusers</refentrytitle><manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>subgid</refentrytitle><manvolnum>5</manvolnum> diff --git a/man/sulogin.8.xml b/man/sulogin.8.xml index da4a7e2b..5fb60a96 100644 --- a/man/sulogin.8.xml +++ b/man/sulogin.8.xml @@ -106,7 +106,7 @@ </para> </refsect1> - <refsect1 id='configuration'> + <refsect1 condition="no_pam" id='configuration'> <title>CONFIGURATION The following configuration variables in diff --git a/man/sv/Makefile.am b/man/sv/Makefile.am index e64b7bc8..70329edf 100644 --- a/man/sv/Makefile.am +++ b/man/sv/Makefile.am @@ -15,7 +15,6 @@ man_MANS = \ man1/groups.1 \ man8/grpck.8 \ man5/gshadow.5 \ - man8/lastlog.8 \ man8/logoutd.8 \ man1/newgrp.1 \ man8/nologin.8 \ @@ -29,6 +28,10 @@ man_MANS = \ man8/vigr.8 \ man8/vipw.8 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + man_nopam = \ man5/limits.5 \ man5/porttime.5 diff --git a/man/sv/Makefile.in b/man/sv/Makefile.in index d6b562c8..4c91989c 100644 --- a/man/sv/Makefile.in +++ b/man/sv/Makefile.in @@ -87,8 +87,9 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 +@USE_PAM_FALSE@am__append_2 = $(man_nopam) +@USE_PAM_TRUE@am__append_3 = $(man_nopam) subdir = man/sv ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -176,6 +177,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -209,9 +212,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -227,6 +236,7 @@ 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@ @@ -235,6 +245,8 @@ 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@ @@ -257,6 +269,9 @@ 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@ @@ -333,16 +348,18 @@ top_srcdir = @top_srcdir@ man_MANS = man1/chage.1 man1/chsh.1 man1/expiry.1 man5/faillog.5 \ man8/faillog.8 man3/getspnam.3 man8/groupadd.8 man8/groupdel.8 \ man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man5/gshadow.5 man8/lastlog.8 man8/logoutd.8 man1/newgrp.1 \ - man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ - man1/sg.1 man3/shadow.3 man5/suauth.5 man8/userdel.8 \ - man8/vigr.8 man8/vipw.8 $(am__append_1) + man5/gshadow.5 man8/logoutd.8 man1/newgrp.1 man8/nologin.8 \ + man1/passwd.1 man5/passwd.5 man8/pwck.8 man1/sg.1 \ + man3/shadow.3 man5/suauth.5 man8/userdel.8 man8/vigr.8 \ + man8/vipw.8 $(am__append_1) $(am__append_2) man_nopam = \ man5/limits.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 $(am__append_2) +EXTRA_DIST = $(man_MANS) man1/id.1 $(am__append_3) LANG = $(notdir $(CURDIR)) +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam @ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow @@ -351,8 +368,15 @@ LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_FALSE@BCRYPT_COND = no_bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_TRUE@BCRYPT_COND = bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_FALSE@YESCRYPT_COND = no_yescrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_TRUE@YESCRYPT_COND = yescrypt @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids +@ENABLE_LASTLOG_FALSE@@ENABLE_REGENERATE_MAN_TRUE@LASTLOG_COND = no_lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@LASTLOG_COND = lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@LASTLOG_COND = no_lastlog CLEANFILES = messages.mo login.defs.d $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml all: all-am @@ -736,10 +760,10 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ @ENABLE_REGENERATE_MAN_TRUE@messages.mo: ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ msgfmt ../po/$(LANG).po -o messages.mo +@ENABLE_REGENERATE_MAN_TRUE@ msgfmt $< -o messages.mo @ENABLE_REGENERATE_MAN_TRUE@login.defs.d: -@ENABLE_REGENERATE_MAN_TRUE@ ln -sf ../login.defs.d login.defs.d +@ENABLE_REGENERATE_MAN_TRUE@ ln -sf $(srcdir)/../login.defs.d login.defs.d @ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml messages.mo login.defs.d @ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $< ; then \ @@ -747,7 +771,7 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ else \ @ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ @ENABLE_REGENERATE_MAN_TRUE@ fi -@ENABLE_REGENERATE_MAN_TRUE@ itstool -d -l $(LANG) -m messages.mo -o . $@ +@ENABLE_REGENERATE_MAN_TRUE@ itstool -i $(srcdir)/../its.rules -d -l $(LANG) -m messages.mo -o . $@ @ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ @ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml @@ -758,11 +782,13 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ fi @ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(BCRYPT_COND);$(YESCRYPT_COND);$(SUBIDS_COND);$(VENDORDIR_COND);$(LASTLOG_COND)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ @ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ +@ENABLE_REGENERATE_MAN_TRUE@ --stringparam vendordir "$(VENDORDIR)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< +@ENABLE_REGENERATE_MAN_TRUE@ --path "$(srcdir)/login.defs.d" \ +@ENABLE_REGENERATE_MAN_TRUE@ -nonet $(top_srcdir)/man/shadow-man.xsl $< @ENABLE_REGENERATE_MAN_TRUE@clean-local: @ENABLE_REGENERATE_MAN_TRUE@ rm -rf man1 man3 man5 man8 diff --git a/man/sv/man1/chage.1 b/man/sv/man1/chage.1 index ae3159e6..b09056ce 100644 --- a/man/sv/man1/chage.1 +++ b/man/sv/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "CHAGE" "1" "08-11-2022" "shadow\-utils 4\&.13" "Anv\(:andarkommandon" +.TH "CHAGE" "1" "23-03-2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chage \- \(:andra \(oaldringsinformation f\(:or anv\(:andarl\(:osenord .SH "SYNOPSIS" .HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIflaggor\fR] \fIINLOGGNINGSNAMN\fR +\fBchage\fR [\fIoptions\fR] \fILOGIN\fR .SH "BESKRIVNING" .PP The @@ -136,6 +136,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR .RS 4 Set the number of days of warning before a password change is required\&. The diff --git a/man/sv/man1/chsh.1 b/man/sv/man1/chsh.1 index f89f3d9e..27917e4e 100644 --- a/man/sv/man1/chsh.1 +++ b/man/sv/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "CHSH" "1" "08-11-2022" "shadow\-utils 4\&.13" "Anv\(:andarkommandon" +.TH "CHSH" "1" "23-03-2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chsh \- \(:andra inloggningsskal .SH "SYNOPSIS" .HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIflaggor\fR] [\fIINLOGGNINGSNAMN\fR] +\fBchsh\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "BESKRIVNING" .PP The @@ -77,6 +77,12 @@ The only restriction placed on the login shell is that the command name must be 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\&. +.PP +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\&. .SH "CONFIGURATION" .PP The following configuration variables in diff --git a/man/sv/man1/expiry.1 b/man/sv/man1/expiry.1 index e4891a4b..a76c285e 100644 --- a/man/sv/man1/expiry.1 +++ b/man/sv/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "EXPIRY" "1" "08-11-2022" "shadow\-utils 4\&.13" "Anv\(:andarkommandon" +.TH "EXPIRY" "1" "23-03-2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man1/groups.1 b/man/sv/man1/groups.1 index b6e06d5a..19066d94 100644 --- a/man/sv/man1/groups.1 +++ b/man/sv/man1/groups.1 @@ -2,12 +2,12 @@ .\" Title: groups .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "GROUPS" "1" "08-11-2022" "shadow\-utils 4\&.13" "Anv\(:andarkommandon" +.TH "GROUPS" "1" "23-03-2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groups \- visa aktuella gruppnamn .SH "SYNOPSIS" .HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIanv\(:andare\fR] +\fBgroups\fR [\fIuser\fR] .SH "BESKRIVNING" .PP The diff --git a/man/sv/man1/id.1 b/man/sv/man1/id.1 index 6c94a963..4cf4e573 100644 --- a/man/sv/man1/id.1 +++ b/man/sv/man1/id.1 @@ -2,12 +2,12 @@ .\" Title: id .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "ID" "1" "08-11-2022" "shadow\-utils 4\&.13" "Anv\(:andarkommandon" +.TH "ID" "1" "23-03-2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man1/newgrp.1 b/man/sv/man1/newgrp.1 index 5f398941..f1fb6c45 100644 --- a/man/sv/man1/newgrp.1 +++ b/man/sv/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "NEWGRP" "1" "08-11-2022" "shadow\-utils 4\&.13" "Anv\(:andarkommandon" +.TH "NEWGRP" "1" "23-03-2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ newgrp \- logga in i en ny grupp .SH "SYNOPSIS" .HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIgrupp\fR] +\fBnewgrp\fR [\-] [\fIgroup\fR] .SH "BESKRIVNING" .PP The diff --git a/man/sv/man1/passwd.1 b/man/sv/man1/passwd.1 index 823ed02d..47235d2c 100644 --- a/man/sv/man1/passwd.1 +++ b/man/sv/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "PASSWD" "1" "08-11-2022" "shadow\-utils 4\&.13" "Anv\(:andarkommandon" +.TH "PASSWD" "1" "23-03-2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ passwd \- \(:andra anv\(:andarl\(:osenord .SH "SYNOPSIS" .HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fIflaggor\fR] [\fIINLOGGNINGSNAMN\fR] +\fBpasswd\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "BESKRIVNING" .PP The @@ -49,44 +49,9 @@ refuses to change the password and exits\&. .PP Anv\(:andaren fr\(oagas sedan tv\(oa g\(oanger efter ett ers\(:attande l\(:osenord\&. Den andra inmatningen j\(:amf\(:ors mot den f\(:orsta och b\(oada m\(oaste st\(:amma \(:overens f\(:or att l\(:osenordet ska \(:andras\&. .PP -Sedan testas l\(:osenordet f\(:or sin komplexitet\&. Som en allm\(:an riktlinje b\(:or l\(:osenord inneh\(oalla 6 till 8 tecken och inkluderas ett eller flera tecken fr\(oan var och en av f\(:oljande punkter: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -gemena bokst\(:aver ur alfabetet -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -siffrorna 0 till 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -skiljetecken -.RE -.PP -Care must be taken not to include the system default erase or kill characters\&. +Then, the password is tested for complexity\&. \fBpasswd\fR -will reject any password which is not suitably complex\&. +will reject any password which is not suitably complex\&. Care must be taken not to include the system default erase or kill characters\&. .SS "Tips f\(:or anv\(:andarl\(:osenord" .PP The security of a password depends upon the strength of the encryption algorithm and the size of the key space\&. The legacy @@ -96,6 +61,8 @@ System encryption method is based on the NBS DES algorithm\&. More recent method .PP Problem i l\(:osenordss\(:akerheten brukar normalt komma fr\(oan slarvigt valda l\(:osenord eller hantering\&. Av denna anledning b\(:or du inte v\(:alja ett l\(:osenord som finns i en ordbok eller som m\(oaste skrivas ner\&. L\(:osenordet b\(:or heller inte vara ett korrekt namn, ditt personnummer, f\(:odelsedatum eller gatuadress\&. Dessa kan anv\(:andas som gissningar f\(:or att ta sig in i systemet\&. .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 You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength .SH "FLAGGOR" .PP @@ -175,6 +142,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-S\fR, \fB\-\-status\fR .RS 4 Display account status information\&. The status information consists of 7 fields\&. The first field is the user\*(Aqs 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\&. @@ -205,6 +178,11 @@ as \fIMAX_DAYS\fR will remove checking a password\*(Aqs validity\&. .RE +.PP +\fB\-s\fR, \fB\-\-stdin\fR +.RS 4 +This option is used to indicate that passwd should read the new password from standard input, which can be a pipe\&. +.RE .SH "T\(:ANK P\(oA" .PP 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\&. @@ -277,7 +255,10 @@ invalid argument to option .SH "SE OCKS\(oA" .PP \fBchpasswd\fR(8), +\fBmakepasswd\fR(1), \fBpasswd\fR(5), \fBshadow\fR(5), \fBlogin.defs\fR(5), \fBusermod\fR(8)\&. +.PP +The following web page comically (yet correctly) compares the strength of two different methods for choosing a password: "https://xkcd\&.com/936/" diff --git a/man/sv/man1/sg.1 b/man/sv/man1/sg.1 index f8ad8d2f..202e1fb4 100644 --- a/man/sv/man1/sg.1 +++ b/man/sv/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Anv\(:andarkommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "SG" "1" "08-11-2022" "shadow\-utils 4\&.13" "Anv\(:andarkommandon" +.TH "SG" "1" "23-03-2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man3/shadow.3 b/man/sv/man3/shadow.3 index bdf65b27..1676c3ab 100644 --- a/man/sv/man3/shadow.3 +++ b/man/sv/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Biblioteksanrop -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: Library Calls +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "SHADOW" "3" "08-11-2022" "shadow\-utils 4\&.13" "Biblioteksanrop" +.TH "SHADOW" "3" "23-03-2024" "shadow\-utils 4\&.15\&.1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -50,7 +50,7 @@ shadow, getspnam \- encrypted password file routines .PP \fIint putspent(struct spwd\fR \fI*p,\fR -\fIFIL\fR +\fIFILE\fR \fI*fp\fR\fI);\fR .PP \fIint lckpwdf();\fR diff --git a/man/sv/man5/faillog.5 b/man/sv/man5/faillog.5 index 06cf8964..831c1eea 100644 --- a/man/sv/man5/faillog.5 +++ b/man/sv/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 +.\" Date: 23-03-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "FAILLOG" "5" "08-11-2022" "shadow\-utils 4\&.13" "File Formats and Configuratio" +.TH "FAILLOG" "5" "23-03-2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man5/gshadow.5 b/man/sv/man5/gshadow.5 index 30a6ade0..63297c4f 100644 --- a/man/sv/man5/gshadow.5 +++ b/man/sv/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 +.\" Date: 23-03-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "GSHADOW" "5" "08-11-2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "GSHADOW" "5" "23-03-2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,12 +38,12 @@ Denna fil f\(oar inte vara l\(:asbar av vanliga anv\(:andare om l\(:osenordss\(: .PP Each line of this file contains the following colon\-separated fields: .PP -\fBgruppnamn\fR +\fBgroup name\fR .RS 4 It must be a valid group name, which exist on the system\&. .RE .PP -\fBkrypterat l\(:osenord\fR +\fBencrypted password\fR .RS 4 Refer to \fBcrypt\fR(3) diff --git a/man/sv/man5/limits.5 b/man/sv/man5/limits.5 index 9e8986de..ee2397e3 100644 --- a/man/sv/man5/limits.5 +++ b/man/sv/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 +.\" Date: 23-03-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "LIMITS" "5" "08-11-2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LIMITS" "5" "23-03-2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man5/passwd.5 b/man/sv/man5/passwd.5 index ffa1db0b..5e3807dd 100644 --- a/man/sv/man5/passwd.5 +++ b/man/sv/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 +.\" Date: 23-03-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "PASSWD" "5" "08-11-2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PASSWD" "5" "23-03-2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man5/porttime.5 b/man/sv/man5/porttime.5 index 05502925..f6692de6 100644 --- a/man/sv/man5/porttime.5 +++ b/man/sv/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 +.\" Date: 23-03-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "PORTTIME" "5" "08-11-2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PORTTIME" "5" "23-03-2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man5/suauth.5 b/man/sv/man5/suauth.5 index 231b881d..7dace0e7 100644 --- a/man/sv/man5/suauth.5 +++ b/man/sv/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 +.\" Date: 23-03-2024 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "SUAUTH" "5" "08-11-2022" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SUAUTH" "5" "23-03-2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/faillog.8 b/man/sv/man8/faillog.8 index a885d408..c544b128 100644 --- a/man/sv/man8/faillog.8 +++ b/man/sv/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "FAILLOG" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "FAILLOG" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ faillog \- display faillog records or set login failure limits .SH "SYNOPSIS" .HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIflaggor\fR] +\fBfaillog\fR [\fIoptions\fR] .SH "BESKRIVNING" .PP \fBfaillog\fR diff --git a/man/sv/man8/groupadd.8 b/man/sv/man8/groupadd.8 index 4c659368..c6198790 100644 --- a/man/sv/man8/groupadd.8 +++ b/man/sv/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "GROUPADD" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "GROUPADD" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupadd \- skapa en ny grupp .SH "SYNOPSIS" .HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIFLAGGOR\fR] \fINEWGROUP\fR +\fBgroupadd\fR [\fIOPTIONS\fR] \fINEWGROUP\fR .SH "BESKRIVNING" .PP The diff --git a/man/sv/man8/groupdel.8 b/man/sv/man8/groupdel.8 index db14aa0d..fa4a1708 100644 --- a/man/sv/man8/groupdel.8 +++ b/man/sv/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "GROUPDEL" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "GROUPDEL" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupdel \- ta bort en grupp .SH "SYNOPSIS" .HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIflaggor\fR] \fIGRUPP\fR +\fBgroupdel\fR [\fIoptions\fR] \fIGROUP\fR .SH "BESKRIVNING" .PP The diff --git a/man/sv/man8/groupmems.8 b/man/sv/man8/groupmems.8 index 3cf8360b..144750de 100644 --- a/man/sv/man8/groupmems.8 +++ b/man/sv/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "GROUPMEMS" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "GROUPMEMS" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -130,7 +130,7 @@ utility to manage their own group membership list\&. .nf $ groupadd \-r groups $ chmod 2710 groupmems - $ chown root\&.groups groupmems + $ chown root:groups groupmems $ groupmems \-g groups \-a gk4 .fi diff --git a/man/sv/man8/groupmod.8 b/man/sv/man8/groupmod.8 index 788fe087..51987696 100644 --- a/man/sv/man8/groupmod.8 +++ b/man/sv/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "GROUPMOD" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "GROUPMOD" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupmod \- \(:andra en gruppdefinition p\(oa systemet .SH "SYNOPSIS" .HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIflaggor\fR] \fIGRUPP\fR +\fBgroupmod\fR [\fIoptions\fR] \fIGROUP\fR .SH "BESKRIVNING" .PP The diff --git a/man/sv/man8/grpck.8 b/man/sv/man8/grpck.8 index 58dccbe7..d099708b 100644 --- a/man/sv/man8/grpck.8 +++ b/man/sv/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "GRPCK" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "GRPCK" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ grpck \- validera integriteten f\(:or gruppfiler .SH "SYNOPSIS" .HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [flaggor] [\fIgrupp\fR\ [\ \fIshadow\fR\ ]] +\fBgrpck\fR [options] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] .SH "BESKRIVNING" .PP The diff --git a/man/sv/man8/lastlog.8 b/man/sv/man8/lastlog.8 index 63ce7fa2..cdd243f5 100644 --- a/man/sv/man8/lastlog.8 +++ b/man/sv/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "LASTLOG" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "LASTLOG" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ lastlog \- reports the most recent login of all users or of a given user .SH "SYNOPSIS" .HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIflaggor\fR] +\fBlastlog\fR [\fIoptions\fR] .SH "BESKRIVNING" .PP \fBlastlog\fR diff --git a/man/sv/man8/logoutd.8 b/man/sv/man8/logoutd.8 index f6aa8076..3b79602b 100644 --- a/man/sv/man8/logoutd.8 +++ b/man/sv/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "LOGOUTD" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "LOGOUTD" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/nologin.8 b/man/sv/man8/nologin.8 index d507fcbe..ce22170b 100644 --- a/man/sv/man8/nologin.8 +++ b/man/sv/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "NOLOGIN" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "NOLOGIN" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/sv/man8/pwck.8 b/man/sv/man8/pwck.8 index cee3cfab..9b5e02e2 100644 --- a/man/sv/man8/pwck.8 +++ b/man/sv/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "PWCK" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "PWCK" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ pwck \- verify the integrity of password files .SH "SYNOPSIS" .HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [flaggor] [\fIPASSWORDFILE\fR\ [\ \fISHADOWFILE\fR\ ]] +\fBpwck\fR [options] [\fIPASSWORDFILE\fR\ [\ \fISHADOWFILE\fR\ ]] .SH "BESKRIVNING" .PP The diff --git a/man/sv/man8/userdel.8 b/man/sv/man8/userdel.8 index d2c1a5ef..d4b2f830 100644 --- a/man/sv/man8/userdel.8 +++ b/man/sv/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "USERDEL" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "USERDEL" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ userdel \- ta bort ett anv\(:andarkonto och relaterade filer .SH "SYNOPSIS" .HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [flaggor] \fIINLOGGNINGSNAMN\fR +\fBuserdel\fR [options] \fILOGIN\fR .SH "BESKRIVNING" .PP The diff --git a/man/sv/man8/vipw.8 b/man/sv/man8/vipw.8 index 46077944..724db5c1 100644 --- a/man/sv/man8/vipw.8 +++ b/man/sv/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08-11-2022 -.\" Manual: Systemhanteringskommandon -.\" Source: shadow-utils 4.13 +.\" Date: 23-03-2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Swedish .\" -.TH "VIPW" "8" "08-11-2022" "shadow\-utils 4\&.13" "Systemhanteringskommandon" +.TH "VIPW" "8" "23-03-2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,16 +31,16 @@ vipw, vigr \- redigera l\(:osenordet, grupp, skuggl\(:osenord eller skuggruppfil .SH "SYNOPSIS" .HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIflaggor\fR] +\fBvipw\fR [\fIoptions\fR] .HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIflaggor\fR] +\fBvigr\fR [\fIoptions\fR] .SH "BESKRIVNING" .PP The \fBvipw\fR and \fBvigr\fR -commands edits the files +commands edit the files /etc/passwd and /etc/group, respectively\&. With the diff --git a/man/tr/Makefile.in b/man/tr/Makefile.in index fd1633d2..3a4e4ba1 100644 --- a/man/tr/Makefile.in +++ b/man/tr/Makefile.in @@ -172,6 +172,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -205,9 +207,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -223,6 +231,7 @@ 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@ @@ -231,6 +240,8 @@ 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@ @@ -253,6 +264,9 @@ 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@ diff --git a/man/uk/Makefile.am b/man/uk/Makefile.am index 30c86272..3fb5ffb3 100644 --- a/man/uk/Makefile.am +++ b/man/uk/Makefile.am @@ -21,7 +21,6 @@ man_MANS = \ man8/grpconv.8 \ man8/grpunconv.8 \ man5/gshadow.5 \ - man8/lastlog.8 \ man1/login.1 \ man5/login.defs.5 \ man8/logoutd.8 \ @@ -44,6 +43,10 @@ man_MANS = \ man8/vigr.8 \ man8/vipw.8 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + man_nopam = \ man5/login.access.5 \ man5/porttime.5 diff --git a/man/uk/Makefile.in b/man/uk/Makefile.in index ce192e67..979061ba 100644 --- a/man/uk/Makefile.in +++ b/man/uk/Makefile.in @@ -87,8 +87,9 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 +@USE_PAM_FALSE@am__append_2 = $(man_nopam) +@USE_PAM_TRUE@am__append_3 = $(man_nopam) subdir = man/uk ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -176,6 +177,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -209,9 +212,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -227,6 +236,7 @@ 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@ @@ -235,6 +245,8 @@ 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@ @@ -257,6 +269,9 @@ 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@ @@ -332,19 +347,21 @@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) + man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ + man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ + man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ + man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ + man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ + man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ + $(am__append_1) $(am__append_2) man_nopam = \ man5/login.access.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_2) +EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) LANG = $(notdir $(CURDIR)) +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam @ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow @@ -353,8 +370,15 @@ LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_FALSE@BCRYPT_COND = no_bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_TRUE@BCRYPT_COND = bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_FALSE@YESCRYPT_COND = no_yescrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_TRUE@YESCRYPT_COND = yescrypt @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids +@ENABLE_LASTLOG_FALSE@@ENABLE_REGENERATE_MAN_TRUE@LASTLOG_COND = no_lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@LASTLOG_COND = lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@LASTLOG_COND = no_lastlog CLEANFILES = messages.mo login.defs.d $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml all: all-am @@ -738,10 +762,10 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ @ENABLE_REGENERATE_MAN_TRUE@messages.mo: ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ msgfmt ../po/$(LANG).po -o messages.mo +@ENABLE_REGENERATE_MAN_TRUE@ msgfmt $< -o messages.mo @ENABLE_REGENERATE_MAN_TRUE@login.defs.d: -@ENABLE_REGENERATE_MAN_TRUE@ ln -sf ../login.defs.d login.defs.d +@ENABLE_REGENERATE_MAN_TRUE@ ln -sf $(srcdir)/../login.defs.d login.defs.d @ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml messages.mo login.defs.d @ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $< ; then \ @@ -749,7 +773,7 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ else \ @ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ @ENABLE_REGENERATE_MAN_TRUE@ fi -@ENABLE_REGENERATE_MAN_TRUE@ itstool -d -l $(LANG) -m messages.mo -o . $@ +@ENABLE_REGENERATE_MAN_TRUE@ itstool -i $(srcdir)/../its.rules -d -l $(LANG) -m messages.mo -o . $@ @ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ @ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml @@ -760,11 +784,13 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ fi @ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(BCRYPT_COND);$(YESCRYPT_COND);$(SUBIDS_COND);$(VENDORDIR_COND);$(LASTLOG_COND)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ @ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ +@ENABLE_REGENERATE_MAN_TRUE@ --stringparam vendordir "$(VENDORDIR)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< +@ENABLE_REGENERATE_MAN_TRUE@ --path "$(srcdir)/login.defs.d" \ +@ENABLE_REGENERATE_MAN_TRUE@ -nonet $(top_srcdir)/man/shadow-man.xsl $< @ENABLE_REGENERATE_MAN_TRUE@clean-local: @ENABLE_REGENERATE_MAN_TRUE@ rm -rf man1 man3 man5 man8 diff --git a/man/uk/man1/chage.1 b/man/uk/man1/chage.1 index b35b7ac3..90e9ce7c 100644 --- a/man/uk/man1/chage.1 +++ b/man/uk/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "chage" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "chage" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,26 +31,28 @@ chage \- зміна даних щодо завершення строку дії пароля користувача .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fIпараметри\fR] \fIЗАПИС\fR +\fBchage\fR [\fIoptions\fR] \fILOGIN\fR .SH "ОПИС" .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\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBchage\fR, є такими: +The options which apply to the +\fBchage\fR +command are: .PP -\fB\-d\fR, \fB\-\-lastday\fR \fIОСТАННІЙ_ДЕНЬ\fR +\fB\-d\fR, \fB\-\-lastday\fR\ \&\fILAST_DAY\fR .RS 4 -Встановити кількість днів з 1 січня 1970 року, коли пароль було востаннє змінено\&. Дату може бути також вказано у форматі РРРР\-ММ\-ДД (або форматі, який поширений у вашій країні)\&. Якщо для -\fIОСТАННІЙ_ДЕНЬ\fR -встановлено значення -\fI0\fR, користувачеві доведеться змінити пароль під час наступного входу до системи\&. +Set the number of days since January 1st, 1970 when the password was last changed\&. The date may also be expressed in the format YYYY\-MM\-DD (or the format more commonly used in your area)\&. If the +\fILAST_DAY\fR +is set to +\fI0\fR +the user is forced to change his password on the next log on\&. .RE .PP -\fB\-E\fR, \fB\-\-expiredate\fR \fIДАТА_ЗАВЕРШЕННЯ_СТРОКУ_ДІЇ\fR +\fB\-E\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 Встановити дату або кількість днів з 1 січня 1970 року, коли слід заборонити доступ до облікового запису користувача\&. Дату може бути також вказано у форматі РРРР\-ММ\-ДД (або форматі, який поширений у вашій країні)\&. Користувач, чий обліковий запис заблоковано, має звернутися до адміністратора системи, перш ніж знову зможе користуватися системою\&. .sp @@ -66,11 +68,11 @@ chage \-E $(date \-d +180days +%Y\-%m\-%d) .RE .\} .sp -Передавання числа +Passing the number \fI\-1\fR -у полі -\fIДАТА_ЗАВЕРШЕННЯ_СТРОКУ_ДІЇ\fR -призведе до вилучення дати завершення строку дії облікового запису\&. +as the +\fIEXPIRE_DATE\fR +will remove an account expiration date\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -83,17 +85,17 @@ chage \-E $(date \-d +180days +%Y\-%m\-%d) При виведенні дат користуватися форматом РРРР\-ММ\-ДД\&. .RE .PP -\fB\-I\fR, \fB\-\-inactive\fR \fIНЕАКТИВНИЙ\fR +\fB\-I\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -Встановити кількість днів неактивності після завершення строку дії пароля, перш ніж обліковий запис буде заблоковано\&. Значенням параметра -\fIНЕАКТИВНИЙ\fR -має бути кількість днів неактивності\&. Користувач, чий обліковий запис заблоковано, має звернутися до адміністратора системи, перш ніж знову зможе користуватися системою\&. +Set the number of days of inactivity after a password has expired before the account is locked\&. The +\fIINACTIVE\fR +option is the number of days of inactivity\&. A user whose account is locked must contact the system administrator before being able to use the system again\&. .sp -Передавання числа +Passing the number \fI\-1\fR -у полі -\fIНЕАКТИВНИЙ\fR -призведе до вилучення неактивності облікового запису\&. +as the +\fIINACTIVE\fR +will remove an account\*(Aqs inactivity\&. .RE .PP \fB\-l\fR, \fB\-\-list\fR @@ -101,29 +103,30 @@ chage \-E $(date \-d +180days +%Y\-%m\-%d) Показати відомості щодо застарівання облікового запису\&. .RE .PP -\fB\-m\fR, \fB\-\-mindays\fR \fIДНІ\fR +\fB\-m\fR, \fB\-\-mindays\fR\ \&\fIMIN_DAYS\fR .RS 4 -Встановити мінімальну кількість днів між змінами пароля -\fIДНІ\fR\&. Нульове значення для цього поля вказує, що користувач може змінювати пароль будь\-коли\&. +Set the minimum number of days between password changes to +\fIMIN_DAYS\fR\&. A value of zero for this field indicates that the user may change their password at any time\&. .RE .PP -\fB\-M\fR, \fB\-\-maxdays\fR \fIМАКСИМАЛЬНО_ДНІВ\fR +\fB\-M\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAYS\fR .RS 4 -Встановити максимальну кількість днів, протягом яких буде чинним пароль\&. Якщо -\fIМАКСИМАЛЬНО_ДНІВ\fR -разом із -\fIОСТАННІЙ_ДЕНЬ\fR -буде меншим за поточну дату, система проситиме користувача змінити пароль, перш ніж він зможе увійти до свого облікового запису\&. Цю подію можна наперед запланувати за допомогою параметра -\fB\-W\fR, використання якого призведе до того, що система заздалегідь попереджуватиме користувача про потребу змінити пароль\&. +Set the maximum number of days during which a password is valid\&. When +\fIMAX_DAYS\fR +plus +\fILAST_DAY\fR +is less than the current day, the user will be required to change their password before being able to use their account\&. This occurrence can be planned for in advance by use of the +\fB\-W\fR +option, which provides the user with advance warning\&. .sp -Передавання числа +Passing the number \fI\-1\fR -у полі -\fIМАКСИМАЛЬНО_ДНІВ\fR -призведе до вилучення перевірки чинності паролів\&. +as +\fIMAX_DAYS\fR +will remove checking a password\*(Aqs validity\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -132,38 +135,48 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP -\fB\-W\fR, \fB\-\-warndays\fR \fIДНІ\fR +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR .RS 4 -Встановити кількість днів між попередженням про потребу у зміні пароля і завершенням строку дії пароля\&. Параметром -\fIДНІ\fR -є кількість днів до завершення строку дії пароля, коли система попереджуватиме користувача про те, що пароль невдовзі доведеться змінити\&. +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. .RE .PP -Якщо не буде вказано жодного параметра, +\fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR +.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 their password is about to expire\&. +.RE +.PP +If none of the options are selected, \fBchage\fR -буде запущено в інтерактивному режимі \(em програма покаже користувачеві поточні значення для усіх полів\&. Введіть нове значення, щоб змінити поле або нічого не вводьте, щоб лишити поточне значення\&. Поточне значення буде взято у квадратні дужки (\fI[ ]\fR)\&. +operates in an interactive fashion, prompting the user with the current values for all of the fields\&. Enter the new value to change the field, or leave the line blank to use the current value\&. The current value is displayed between a pair of +\fI[ ]\fR +marks\&. .SH "ЗАУВАЖЕННЯ" .PP -Для роботи програми +The \fBchage\fR -потрібна доступність файла прихованих паролів\&. +program requires a shadow password file to be available\&. .PP Програма chage повідомлятиме дані лише на основі файла паролів shadow\&. Таким чином, налаштування з інших джерел (наприклад, LDAP або порожнього поля хешу пароля з файла passwd), які впливають на вхід користувачів до системи, не буде показано у виведених chage даних\&. .PP -Крім того, програма +The \fBchage\fR -не повідомлятиме про несумісності у файлах shadow і passwd (наприклад, про те, що у файлі passwd немає якогось запису)\&. Для пошуку подібних несумісностей можна скористатися програмою -\fBpwck\fR\&. +program will also not report any inconsistency between the shadow and passwd files (e\&.g\&. missing x in the passwd file)\&. The +\fBpwck\fR +can be used to check for this kind of inconsistencies\&. .PP -Користуватися командою +The \fBchage\fR -може лише користувач root, окрім варіанта з параметром -\fB\-l\fR, яким може скористатися непривілейований користувач для отримання даних щодо строку дії власного пароля або облікового запису\&. +command is restricted to the root user, except for the +\fB\-l\fR +option, which may be used by an unprivileged user to determine when their password or account is due to expire\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/passwd @@ -177,28 +190,28 @@ directory\&. Only absolute paths are supported\&. .RE .SH "ЗНАЧЕННЯ ВИХОДУ" .PP -Команда +The \fBchage\fR -завершує роботу із такими значеннями: +command exits with the following values: .PP \fI0\fR .RS 4 -успіх +success .RE .PP \fI1\fR .RS 4 -відмовлено у доступі +permission denied .RE .PP \fI2\fR .RS 4 -некоректний синтаксис команди +invalid command syntax .RE .PP \fI15\fR .RS 4 -не вдалося знайти файл прихованих паролів +can\*(Aqt find the shadow password file .RE .SH "ДИВ\&. ТАКОЖ" .PP diff --git a/man/uk/man1/chfn.1 b/man/uk/man1/chfn.1 index 2e10ac22..7dbdbf4a 100644 --- a/man/uk/man1/chfn.1 +++ b/man/uk/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "chfn" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "chfn" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,48 +31,50 @@ chfn \- зміна справжнього імені користувача і відомостей щодо нього .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fIпараметри\fR] [\fIЗАПИС\fR] +\fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "ОПИС" .PP -Команда +The \fBchfn\fR -змінює повне ім\*(Aqя користувача, номер кімнати в офісі, номер телефону в офісі і дані щодо домашнього телефону для облікового запису користувача\&. Ці дані, зазвичай, виводить +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 \fBfinger\fR(1) -та подібні програми\&. Звичайні користувачі можуть змінювати значення полів лише для власного облікового запису, відповідно до обмежень у -/etc/login\&.defs\&. (Типовими налаштуваннями користувачам заборонено змінювати власне повне ім\*(Aqя\&.) Надкористувач може змінювати будь\-яке поле будь\-якого облікового запису\&. Крім того, лише надкористувач може використовувати параметр +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 \fB\-o\fR -для зміни невизначених частин поля GECOS\&. +option to change the undefined portions of the GECOS field\&. .PP -Ці поля не повинні містити двокрапок\&. Окрім поля -\fIother\fR, у полях не повинно міститися ком та знаків рівності\&. Також рекомендуємо уникати символів поза US\-ASCII, втім, примусово це обмеження застосовується лише до номерів телефонів\&. Поле +These fields must not contain any colons\&. Except for the \fIother\fR -використовують для зберігання облікових даних, які використовують інші програми\&. +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\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBchfn\fR, є такими: +The options which apply to the +\fBchfn\fR +command are: .PP -\fB\-f\fR, \fB\-\-full\-name\fR \fIІМ\*(AqЯ_ПОВНІСТЮ\fR +\fB\-f\fR, \fB\-\-full\-name\fR\ \&\fIFULL_NAME\fR .RS 4 Змінити повне ім\*(Aqя користувача\&. .RE .PP -\fB\-h\fR, \fB\-\-home\-phone\fR \fIДОМАШНІЙ_ТЕЛЕФОН\fR +\fB\-h\fR, \fB\-\-home\-phone\fR\ \&\fIHOME_PHONE\fR .RS 4 Змінити домашній телефон користувача\&. .RE .PP -\fB\-o\fR, \fB\-\-other\fR \fIІНШЕ\fR +\fB\-o\fR, \fB\-\-other\fR\ \&\fIOTHER\fR .RS 4 Змінити інші відомості GECOS користувача\&. Це поле використовують для зберігання облікових даних, які використовують інші програми, його вміст може змінювати надкористувач\&. .RE .PP -\fB\-r\fR, \fB\-\-room\fR \fIНОМЕР_КІМНАТИ\fR +\fB\-r\fR, \fB\-\-room\fR\ \&\fIROOM_NUMBER\fR .RS 4 Змінити номер кімнати користувача\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -86,21 +88,23 @@ directory\&. Only absolute paths are supported\&. Показати довідкове повідомлення і завершити роботу\&. .RE .PP -\fB\-w\fR, \fB\-\-work\-phone\fR \fIРОБОЧИЙ_ТЕЛЕФОН\fR +\fB\-w\fR, \fB\-\-work\-phone\fR\ \&\fIWORK_PHONE\fR .RS 4 Змінити робочий телефон користувача\&. .RE .PP -Якщо не буде вказано жодного параметра, +If none of the options are selected, \fBchfn\fR -буде запущено в інтерактивному режимі \(em програма покаже користувачеві поточні значення для усіх полів\&. Введіть нове значення, щоб змінити поле або нічого не вводьте, щоб лишити поточне значення\&. Поточне значення буде взято у квадратні дужки (\fB[ ]\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\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/login\&.defs diff --git a/man/uk/man1/chsh.1 b/man/uk/man1/chsh.1 index ce8c3dae..c141216e 100644 --- a/man/uk/man1/chsh.1 +++ b/man/uk/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "chsh" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "chsh" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,23 +31,24 @@ chsh \- зміна оболонки входу .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fIпараметри\fR] [\fIЗАПИС\fR] +\fBchsh\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "ОПИС" .PP -Команда +The \fBchsh\fR -змінює оболонку входу користувача\&. Команда визначає назву початкової команди входу користувача\&. Звичайний користувач може змінювати оболонку входу лише для власного облікового запису; надкористувач може змінювати оболонку входу для будь\-якого облікового запису\&. +command changes the user login shell\&. This determines the name of the user\*(Aqs 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\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBchsh\fR, є такими: +The options which apply to the +\fBchsh\fR +command are: .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 Показати довідкове повідомлення і завершити роботу\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -56,27 +57,37 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP -\fB\-s\fR, \fB\-\-shell\fR \fIОБОЛОНКА\fR +\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR .RS 4 Назва нової оболонки для входу користувача\&. Встановлення для цього поля порожнього значення призведе до того, що система вибере типову оболонку для входу\&. .RE .PP -Якщо не буде вказано параметра -\fB\-s\fR, +If the +\fB\-s\fR +option is not selected, \fBchsh\fR -буде запущено в інтерактивному режимі \(em програма покаже користувачеві поточне значення для оболонки входу\&. Введіть нове значення, щоб змінити оболонку або нічого не вводьте, щоб лишити поточну\&. Поточну оболонку буде взято у квадратні дужки (\fI[ ]\fR)\&. +operates in an interactive fashion, prompting the user with the current login shell\&. Enter the new value to change the shell, or leave the line blank to use the current one\&. The current shell is displayed between a pair of +\fI[ ]\fR +marks\&. .SH "ЗАУВАЖЕННЯ" .PP -Єдиним обмеженням, яке накладають на оболонку входу є те, що назва команди має бути частиною списку у -/etc/shells, якщо команду не викликано від імені надкористувача\&. Надкористувач може додавати будь\-яке значення\&. Власники облікових записів із обмеженою оболонкою для входу не може змінювати власну оболонку\&. З цієї причини не варто додавати +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 -у -/etc/shells, оскільки випадкова зміна обмеженої командної оболонки призведе до повної заборони для користувача змінювати оболонку входу та початкову\&. +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\&. +.PP +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\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/passwd diff --git a/man/uk/man1/expiry.1 b/man/uk/man1/expiry.1 index f51a451d..7bef2d4a 100644 --- a/man/uk/man1/expiry.1 +++ b/man/uk/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "expiry" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "expiry" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,16 +31,17 @@ expiry \- перевірка і встановлення правил застарівання паролів .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fIпараметр\fR +\fBexpiry\fR \fIoption\fR .SH "ОПИС" .PP -Команда +The \fBexpiry\fR -перевіряє (\fB\-c\fR) поточний пароль на застарівання і примушує до його зміни (\fB\-f\fR), якщо це потрібно\&. Команду можна викликати від імені звичайного користувача\&. +command checks (\fB\-c\fR) the current password expiration and forces (\fB\-f\fR) changes when required\&. It is callable as a normal user command\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBexpiry\fR, є такими: +The options which apply to the +\fBexpiry\fR +command are: .PP \fB\-c\fR, \fB\-\-check\fR .RS 4 diff --git a/man/uk/man1/gpasswd.1 b/man/uk/man1/gpasswd.1 index 50942753..1a0e4078 100644 --- a/man/uk/man1/gpasswd.1 +++ b/man/uk/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "gpasswd" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "gpasswd" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -28,59 +28,63 @@ .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "НАЗВА" -gpasswd \- адміністрування /etc/group і /etc/gshadow +gpasswd \- administer /etc/group and /etc/gshadow .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fIпараметр\fR] \fIгрупа\fR +\fBgpasswd\fR [\fIoption\fR] \fIgroup\fR .SH "ОПИС" .PP -Команду +The \fBgpasswd\fR -використовують для адміністрування -/etc/group, and /etc/gshadow\&. У кожної групи може складатися з -адміністраторів, -учасників і мати пароль\&. +command is used to administer +/etc/group, and /etc/gshadow\&. Every group can have +administrators, +members and a password\&. .PP -Адміністратори системи можуть скористатися параметром +System administrators can use the \fB\-A\fR -для визначення адміністраторів групи і параметром +option to define group administrator(s) and the \fB\-M\fR -для визначення учасників\&. Вони мають усі права адміністраторів і учасників груп\&. +option to define members\&. They have all rights of group administrators and members\&. .PP -Виклик -\fBgpasswd\fR, якщо його здійснює групи \(Foадміністратор групи\(Fc лише із назвою групи, призведе до запиту щодо нового пароля для групи -\fIгрупа\fR\&. +\fBgpasswd\fR +called by +a group administrator +with a group name only prompts for the new password of the +\fIgroup\fR\&. .PP -Якщо пароль встановлено, учасники зможуть продовжити користуватися +If a password is set the members can still use \fBnewgrp\fR(1) -без пароля, а тим, хто не є учасником, доведеться вказати пароль\&. +without a password, and non\-members must supply the password\&. .SS "Нотатки щодо паролів груп" .PP Паролі груп мають неусувну проблему захисту, оскільки пароль знатимуть декілька осіб\&. Втім, групи є корисним інструментом для забезпечення взаємодії між різними користувачами\&. .SH "ПАРАМЕТРИ" .PP -Окрім параметрів +Except for the \fB\-A\fR -і -\fB\-M\fR, параметри не можна поєднувати\&. +and +\fB\-M\fR +options, the options cannot be combined\&. .PP -Параметри, які застосовують до команди -\fBgpasswd\fR, є такими: +The options which apply to the +\fBgpasswd\fR +command are: .PP -\fB\-a\fR, \fB\-\-add\fR \fIкористувач\fR +\fB\-a\fR, \fB\-\-add\fR\ \&\fIuser\fR .RS 4 -Додати -\fIкористувач\fR -до іменованого -\fIгрупа\fR\&. +Add the +\fIuser\fR +to the named +\fIgroup\fR\&. .RE .PP -\fB\-d\fR, \fB\-\-delete\fR \fIкористувач\fR +\fB\-d\fR, \fB\-\-delete\fR\ \&\fIuser\fR .RS 4 -Вилучити -\fIкористувач\fR -з іменованого -\fIгрупа\fR\&. +Remove the +\fIuser\fR +from the named +\fIgroup\fR\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -88,7 +92,7 @@ gpasswd \- адміністрування /etc/group і /etc/gshadow Показати довідкове повідомлення і завершити роботу\&. .RE .PP -\fB\-Q\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-Q\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -99,44 +103,42 @@ directory\&. Only absolute paths are supported\&. .PP \fB\-r\fR, \fB\-\-remove\-password\fR .RS 4 -Вилучити пароль із вказаної за назвою групи -\fIгрупа\fR\&. Пароль групи стане порожнім\&. Скористатися +Remove the password from the named +\fIgroup\fR\&. The group password will be empty\&. Only group members will be allowed to use \fBnewgrp\fR -для долучення до іменованої групи -\fIгрупа\fR -зможуть лише учасники групи\&. +to join the named +\fIgroup\fR\&. .RE .PP \fB\-R\fR, \fB\-\-restrict\fR .RS 4 -Обмежити доступ до вказаної за назвою групи -\fIгрупа\fR\&. Для пароля групи буде встановлено значення \(Fo!\(Fc\&. Скористатися +Restrict the access to the named +\fIgroup\fR\&. The group password is set to "!"\&. Only group members with a password will be allowed to use \fBnewgrp\fR -для долучення до іменованої групи -\fIгрупа\fR -зможуть лише учасники групи з паролем\&. +to join the named +\fIgroup\fR\&. .RE .PP -\fB\-A\fR, \fB\-\-administrators\fR \fIкористувач\fR,\&.\&.\&. +\fB\-A\fR, \fB\-\-administrators\fR\ \&\fIuser\fR,\&.\&.\&. .RS 4 Встановити список адміністративних користувачів\&. .RE .PP -\fB\-M\fR, \fB\-\-members\fR \fIкористувач\fR,\&.\&.\&. +\fB\-M\fR, \fB\-\-members\fR\ \&\fIuser\fR,\&.\&.\&. .RS 4 Встановити список учасників групи\&. .RE .SH "ЗАСТЕРЕЖЕННЯ" .PP -Цей інструмент працює лише з файлами +This tool only operates on the /etc/group and /etc/gshadow files\&. -Отже, за його допомогою ви не зможете внести зміни до груп NIS або LDAP\&. Зміни доведеться вносити на відповідному сервері\&. +Thus you cannot change any NIS or LDAP group\&. This must be performed on the corresponding server\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/group @@ -155,4 +157,4 @@ and /etc/gshadow files\&. \fBgroupdel\fR(8), \fBgroupmod\fR(8), \fBgrpck\fR(8), -\fBгрупа\fR(5), \fBgshadow\fR(5)\&. +\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/uk/man1/groups.1 b/man/uk/man1/groups.1 index ac7d0d42..2510a6e4 100644 --- a/man/uk/man1/groups.1 +++ b/man/uk/man1/groups.1 @@ -2,12 +2,12 @@ .\" Title: groups .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "groups" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "groups" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,24 +31,25 @@ groups \- показ поточних назв груп .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fIкористувач\fR] +\fBgroups\fR [\fIuser\fR] .SH "ОПИС" .PP -Команда +The \fBgroups\fR -виводить назви або значення ідентифікаторів поточних груп\&. Якщо у значення немає відповідного запису у -/etc/group, значення буде виведено як числове значення групи\&. Використання необов\*(Aqязкового параметра -\fIкористувач\fR -призведе до показу груп іменованого користувача\&. +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 +\fIuser\fR +parameter will display the groups for the named user\&. .SH "ЗАУВАЖЕННЯ" .PP -Для систем, у яких не передбачено підтримку додаткових груп (див\&. -\fBinitgroups\fR(3)) буде показано відомості з -/etc/group\&. Користувач має скористатися +Systems which do not support supplementary groups (see +\fBinitgroups\fR(3)) will have the information from +/etc/group +reported\&. The user must use \fBnewgrp\fR -або +or \fBsg\fR -для зміни його поточного справжнього і ефективного ідентифікатора групи\&. +to change his current real and effective group ID\&. .SH "ФАЙЛИ" .PP /etc/group diff --git a/man/uk/man1/id.1 b/man/uk/man1/id.1 index 50baa95b..dbbeefc7 100644 --- a/man/uk/man1/id.1 +++ b/man/uk/man1/id.1 @@ -2,12 +2,12 @@ .\" Title: id .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "id" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "id" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/uk/man1/login.1 b/man/uk/man1/login.1 index 01dd61ee..1da157c2 100644 --- a/man/uk/man1/login.1 +++ b/man/uk/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "login" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "login" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,74 +31,78 @@ login \- розпочати сеанс у системі .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fIкористувач\fR] [\fIСЕРЕДОВИЩЕ=ЗМІННА\fR...] +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fIusername\fR] [\fIENV=VAR\fR...] .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fIкористувач\fR +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fIusername\fR .HP \w'\fBlogin\fR\ 'u \fBlogin\fR [\-p] \-r\ \fIhost\fR .SH "ОПИС" .PP -Програму +The \fBlogin\fR -призначено для встановлення нового сеансу роботи з системою\&. Зазвичай, її виклик відбувається автоматично у відповідь на запит +program is used to establish a new session with the system\&. It is normally invoked automatically by responding to the \fIlogin:\fR -у терміналі користувача\&. +prompt on the user\*(Aqs terminal\&. \fBlogin\fR -може бути спеціалізованою для оболонки і непридатною до виклику у форматі підлеглого процесу\&. Якщо програму викликано з оболонки, +may be special to the shell and may not be invoked as a sub\-process\&. When called from a shell, \fBlogin\fR -має бути виконано як -\fBexec login\fR, що спричинить вихід користувача з поточної оболонки (і, таким чином, запобігатиме поверненню користувача, який увійшов до системи, до сеансу того, хто віддав команду)\&. Спроба виконати +should be executed as +\fBexec login\fR +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 \fBlogin\fR -з будь\-якої командної оболонки, окрім оболонки входу, призведе до виведення повідомлення про помилку\&. +from any shell but the login shell will produce an error message\&. .PP -Після цього, користувачеві, якщо це потрібно, буде запропоновано ввести пароль\&. Відтворення пароля на екрані буде вимкнено, щоб запобігти розкриттю пароля\&. Кількість спроб буде суттєво обмежено\&. При перевищенні граничної кількості спроб ввести пароль +The user is then prompted for a password, where appropriate\&. Echoing is disabled to prevent revealing the password\&. Only a small number of password failures are permitted before \fBlogin\fR -завершить роботу і перерве зв\*(Aqязок для обміну даними\&. +exits and the communications link is severed\&. .PP -Якщо для вашого облікового запису було увімкнено застарівання паролів, програма може попросити вас ввести новий пароль, перш ніж продовжити роботу\&. Вам доведеться ввести старий і новий пароль, перш ніж продовжити роботу\&. Будь ласка, зверніться до підручника з -\fBpasswd\fR(1), щоб дізнатися більше\&. +If password aging has been enabled for your account, you may be prompted for a new password before proceeding\&. You will be forced to provide your old password and the new password before continuing\&. Please refer to +\fBpasswd\fR(1) +for more information\&. .PP -Після успішного входу до системи вас буде проінформовано про усі повідомлення системи та наявність пошти\&. Ви можете вимкнути виведення даних до файла повідомлень системи, -/etc/motd, створенням файла нульового розміру +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 -у вашому каталозі для входу\&. Повідомленням про пошту буде одне з таких повідомлень: \(Fo\fIВи отримали нову пошту\&.\fR\(Fc, \(Fo\fIДля вас є пошта\&.\fR\(Fc або \(Fo\fIПошти немає\&.\fR\(Fc, відповідно до стану вашої поштової скриньки\&. +in your login directory\&. The mail message will be one of "\fIYou have new mail\&.\fR", "\fIYou have mail\&.\fR", or "\fINo Mail\&.\fR" according to the condition of your mailbox\&. .PP -Ваші ідентифікатори користувача і групи буде встановлено відповідно до значень у файлі -/etc/passwd\&. Значення +Your user and group ID will be set according to their values in the +/etc/passwd +file\&. The value for \fB$HOME\fR, \fB$SHELL\fR, \fB$PATH\fR, -\fB$LOGNAME\fR -і +\fB$LOGNAME\fR, and \fB$MAIL\fR -буде встановлено відповідно до відповідних полів у записі пароля\&. Значення ulimit, umask і nice також може бути встановлено відповідно до записів у полі GECOS\&. +are set according to the appropriate fields in the password entry\&. Ulimit, umask and nice values may also be set according to entries in the GECOS field\&. .PP -У деяких встановлених системах змінну середовища +On some installations, the environmental variable \fB$TERM\fR -буде ініціалізовано значенням типу термінала у вашому рядку tty, як це вказано у +will be initialized to the terminal type on your tty line, as specified in /etc/ttytype\&. .PP Також може бути виконано скрипт ініціалізації для вашого інтерпретатора командного рядка\&. Будь ласка, зверніться до відповідного розділу підручника, щоб дізнатися більше про цю функціональну можливість\&. .PP Вхід до підсистеми буде позначено наявністю \(Fo*\(Fc як першого символу оболонки входу\&. Заданий домашній каталог буде використано як кореневий каталог нової файлової системи, до якої користувач насправді увійшов\&. .PP -Програма +The \fBlogin\fR -НЕ відповідає за вилучення записів користувачів з файла utmp\&. За чищення видимого власника сеансу термінала відповідають +program is NOT responsible for removing users from the utmp file\&. It is the responsibility of \fBgetty\fR(8) -і -\fBinit\fR(8)\&. Якщо ви користуєтеся +and +\fBinit\fR(8) +to clean up apparent ownership of a terminal session\&. If you use \fBlogin\fR -з запиту командної оболонки без -\fBexec\fR, використаний вами обліковий запис користувача продовжуватиме \(Foпрацювати\(Fc у системі, навіть після того, як ви вийдете з \(Foпідлеглого сеансу\(Fc\&. +from the shell prompt without +\fBexec\fR, the user you use will continue to appear to be logged in even after you log out of the "subsession"\&. .SH "ПАРАМЕТРИ" .PP \fB\-f\fR .RS 4 Не виконувати розпізнавання, користувача попередньо розпізнано\&. .sp -Зауваження: у цьому випадку обов\*(Aqязковим є -\fIкористувач\fR\&. +Note: In that case, +\fIusername\fR +is mandatory\&. .RE .PP \fB\-h\fR @@ -116,40 +120,40 @@ login \- розпочати сеанс у системі Виконати протокол автоматичного входу для rlogin\&. .RE .PP -Параметри +The \fB\-r\fR, \fB\-h\fR -і +and \fB\-f\fR -використовують, лише якщо +options are only used when \fBlogin\fR -викликано від імені користувача root\&. +is invoked by root\&. .SH "ЗАСТЕРЕЖЕННЯ" .PP -У цієї версії +This version of \fBlogin\fR -багато параметрів збирання\&. У певній збірці може бути використано лише частину з них\&. +has many compilation options, only some of which may be in use at any particular site\&. .PP Розташування файлів є різним у різних конфігураціях системи\&. .PP -Програма +The \fBlogin\fR -НЕ відповідає за вилучення записів користувачів з файла utmp\&. За чищення видимого власника сеансу термінала відповідають +program is NOT responsible for removing users from the utmp file\&. It is the responsibility of \fBgetty\fR(8) -і -\fBinit\fR(8)\&. Якщо ви користуєтеся +and +\fBinit\fR(8) +to clean up apparent ownership of a terminal session\&. If you use \fBlogin\fR -з запиту командної оболонки без -\fBexec\fR, використаний вами обліковий запис користувача продовжуватиме \(Foпрацювати\(Fc у системі, навіть після того, як ви вийдете з \(Foпідлеглого сеансу\(Fc\&. +from the shell prompt without +\fBexec\fR, the user you use will continue to appear to be logged in even after you log out of the "subsession"\&. .PP -Як і з будь\-якою програмою, вигляд -\fBlogin\fR -може бути підроблено\&. Якщо до комп\*(Aqютера мають фізичний доступ сторонні користувачі, зловмисник може скористатися цим для отримання пароля наступного за ним користувача комп\*(Aqютера\&. У Linux користувачі можуть скористатися механізмом SAK для ініціалізації надійного шляху і запобігання атакам цього типу\&. +As with any program, +\fBlogin\fR\*(Aqs 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\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /var/run/utmp diff --git a/man/uk/man1/newgrp.1 b/man/uk/man1/newgrp.1 index 2d157379..fd59ad2a 100644 --- a/man/uk/man1/newgrp.1 +++ b/man/uk/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "newgrp" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "newgrp" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,30 +31,35 @@ newgrp \- увійти до нової групи .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBnewgrp\fR\ 'u -\fBnewgrp\fR [\-] [\fIгрупа\fR] +\fBnewgrp\fR [\-] [\fIgroup\fR] .SH "ОПИС" .PP -Команду +The \fBnewgrp\fR -призначено для зміни поточного ідентифікатора групи під час сеансу роботи у системі\&. Якщо вказано необов\*(Aqязковий прапорець -\fB\-\fR, середовища користувача буде повторно ініціалізовано так, наче користувач знову увійшов до системи\&. Якщо прапорець не вказано, лишиться незмінним поточне середовища, включно із поточним робочим каталогом\&. +command is used to change the current group ID during a login session\&. If the optional +\fB\-\fR +flag is given, the user\*(Aqs environment will be reinitialized as though the user had logged in, otherwise the current environment, including current working directory, remains unchanged\&. .PP \fBnewgrp\fR -змінює поточний справжній ідентифікатор групи на ідентифікатор іменованої групи або ідентифікатор типової групи зі списку у -/etc/passwd, якщо назву групи не вказано\&. +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\&. \fBnewgrp\fR -також намагається додати групу до набору груп користувача\&. Якщо команду віддано не від імені root, система попросить користувача ввести пароль, якщо у нього немає пароля (у -/etc/shadow, якщо цей користувач має запис у файлі прихованих паролів, або у -/etc/passwd, якщо це не так), а у групи є, або якщо користувача немає у списку учасників, а групу захищено паролем\&. Користувачеві буде відмовлено у доступі, якщо пароль групи є порожнім, а користувача немає у списку її учасників\&. +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\&. .PP -Якщо у цієї групи є запис у -/etc/gshadow, список учасників і пароль до цієї групи буде взято з цього файла\&. Якщо запису немає, буде враховано запис у -/etc/group\&. +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\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/passwd @@ -83,4 +88,4 @@ newgrp \- увійти до нової групи \fBsu\fR(1), \fBsg\fR(1), \fBgpasswd\fR(1), -\fBгрупа\fR(5), \fBgshadow\fR(5)\&. +\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/uk/man1/passwd.1 b/man/uk/man1/passwd.1 index 9ccb8114..66d122b4 100644 --- a/man/uk/man1/passwd.1 +++ b/man/uk/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "passwd" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "passwd" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,81 +31,50 @@ passwd \- зміна пароля користувача .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fIпараметри\fR] [\fIЗАПИС\fR] +\fBpasswd\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "ОПИС" .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\&. \fBpasswd\fR -також змінює період чинності облікового запису або пов\*(Aqязаного з ним пароля\&. +also changes the account or associated password validity period\&. .SS "Зміни паролів" .PP Спочатку програма попросить користувача ввести старий пароль, якщо такий існує\&. Потім цей пароль буде зашифровано і порівняно із збереженим паролем\&. Користувачу буде надано лише одну спробу ввести правильний пароль\&. Надкористувач може обійти цей крок, тому може змінювати забуті паролі\&. .PP -Після введення пароля буде перевірено дані щодо віку пароля, щоб визначити, чи може користувач змінювати пароль на поточний момент часу\&. Якщо користувач не може цього робити, +After the password has been entered, password aging information is checked to see if the user is permitted to change the password at this time\&. If not, \fBpasswd\fR -відмовить у зміні пароля і завершить роботу\&. +refuses to change the password and exits\&. .PP Потім програма попросить користувача ввести пароль\-замінник двічі\&. Друге введене значення буде порівняно із першим \(em вони мають бути однаковими, щоб пароль було змінено\&. .PP -Далі, пароль буде перевірено на складність\&. Загальним правилом є те, що пароль має складатися з від 6 до 8 символів, включаючи один або декілька символів з кожного з таких наборів: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -малі літери латинської абетки -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -цифри від 0 до 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -символи пунктуації -.RE -.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\&. .SS "Підказки для паролів користувача" .PP -Захист пароля залежить від складності алгоритму шифрування та розміру простору ключів\&. Застарілий спосіб шифрування системи +The security of a password depends upon the strength of the encryption algorithm and the size of the key space\&. The legacy \fIUNIX\fR -засновано на алгоритмі DES NBS\&. На сьогодні, рекомендують сучасніші методи (див\&. -\fBENCRYPT_METHOD\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\&. .PP Послаблення захисту паролями, зазвичай, є результатом необдуманого вибору пароля або поводження з ним\&. З цієї причини, не слід вибирати пароль зі словника або десь його записувати\&. Не слід також вибирати для пароля власне ім\*(Aqя, номер водійського посвідчення, дату народження або назву вулиці, на якій ви мешкаєте\&. Вибір будь\-якого з цих варіантів може призвести до вгадування пароля і компрометації захисту системи\&. .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 Поради щодо вибору надійного пароля можна знайти на сторінці https://uk\&.wikipedia\&.org/wiki/Надійність_пароля .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBpasswd\fR, є такими: +The options which apply to the +\fBpasswd\fR +command are: .PP \fB\-a\fR, \fB\-\-all\fR .RS 4 -Цим параметром можна скористатися лише у поєднанні із -\fB\-S\fR\&. Його використання призведе до показу стану для усіх користувачів\&. +This option can be used only with +\fB\-S\fR +and causes show status for all users\&. .RE .PP \fB\-d\fR, \fB\-\-delete\fR @@ -123,11 +92,11 @@ passwd \- зміна пароля користувача Показати довідкове повідомлення і завершити роботу\&. .RE .PP -\fB\-i\fR, \fB\-\-inactive\fR \fIНЕАКТИВНИЙ\fR +\fB\-i\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -Цей параметр використовують для вимикання облікового запису за вказану кількість днів після завершення строку дії пароля\&. Після того, як мине -\fIНЕАКТИВНИЙ\fR -днів з моменту завершення строку дії пароля, користувач не зможе увійти до облікового запису\&. +This option is used to disable an account after the password has been expired for a number of days\&. After a user account has had an expired password for +\fIINACTIVE\fR +days, the user may no longer sign on to the account\&. .RE .PP \fB\-k\fR, \fB\-\-keep\-tokens\fR @@ -139,17 +108,17 @@ passwd \- зміна пароля користувача .RS 4 Заблокувати пароль іменованого облікового запису\&. За допомогою цього параметра можна вимкнути пароль, змінивши його на значення, яке не відповідає зашифрованому значенню (буде додано \(aa!\(aa на початку пароля)\&. .sp -Зауважте, що це не призведе до вимикання облікового запису\&. Користувач зможе входити до системи за допомогою іншого жетона розпізнавання (наприклад ключа SSH)\&. Щоб вимкнути обліковий запис, адміністраторам слід користуватися +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 -(ця команда встановить для дати завершення строку дії облікового запису значення 2 січня 1970 року)\&. +(this set the account\*(Aqs expire date to Jan 2, 1970)\&. .sp Користувачі із заблокованим паролем не зможуть змінювати власний пароль\&. .RE .PP -\fB\-n\fR, \fB\-\-mindays\fR \fIДНІ\fR +\fB\-n\fR, \fB\-\-mindays\fR\ \&\fIMIN_DAYS\fR .RS 4 -Встановити мінімальну кількість днів між змінами пароля -\fIДНІ\fR\&. Нульове значення для цього поля вказує, що користувач може змінювати пароль будь\-коли\&. +Set the minimum number of days between password changes to +\fIMIN_DAYS\fR\&. A value of zero for this field indicates that the user may change their password at any time\&. .RE .PP \fB\-q\fR, \fB\-\-quiet\fR @@ -157,13 +126,14 @@ passwd \- зміна пароля користувача Режим без повідомлень\&. .RE .PP -\fB\-r\fR, \fB\-\-repository\fR \fIСХОВИЩЕ\fR +\fB\-r\fR, \fB\-\-repository\fR\ \&\fIREPOSITORY\fR .RS 4 -змінити пароль у сховищі -\fIСХОВИЩЕ\fR +change password in +\fIREPOSITORY\fR +repository .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -172,6 +142,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-S\fR, \fB\-\-status\fR .RS 4 Вивести дані щодо стану облікового запису\&. Дані щодо стану складаються з 7 полів\&. Першим полем є назва облікового запису користувача\&. Друге поле вказує на те, чи є обліковий запис таким, для якого заблоковано пароль (L), немає пароля (NP) або має придатний до користування пароль (P)\&. Третє поле задає дату останньої зміни пароля\&. Наступними чотирма полями є мінімальний вік, максимальний вік, період попередження та період неактивності для пароля\&. Ці значення віку виражаються у днях\&. @@ -179,27 +155,33 @@ directory\&. Only absolute paths are supported\&. .PP \fB\-u\fR, \fB\-\-unlock\fR .RS 4 -Розблокувати пароль для іменованого облікового запису\&. Цей параметр повторно вмикає пароль, замінюючи пароль на попереднє його значення (на значення до використання параметра -\fB\-l\fR)\&. +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 +\fB\-l\fR +option)\&. .RE .PP -\fB\-w\fR, \fB\-\-warndays\fR \fIДНІ\fR +\fB\-w\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR .RS 4 -Встановити кількість днів між попередженням про потребу у зміні пароля і завершенням строку дії пароля\&. Параметром -\fIДНІ\fR -є кількість днів до завершення строку дії пароля, коли система попереджуватиме користувача про те, що пароль невдовзі доведеться змінити\&. +Set the number of days of warning before a password change is required\&. The +\fIWARN_DAYS\fR +option is the number of days prior to the password expiring that a user will be warned that their password is about to expire\&. .RE .PP -\fB\-x\fR, \fB\-\-maxdays\fR \fIМАКСИМАЛЬНО_ДНІВ\fR +\fB\-x\fR, \fB\-\-maxdays\fR\ \&\fIMAX_DAYS\fR .RS 4 -Встановити максимальну кількість днів, протягом яких пароль лишатиметься чинним\&. Щойно мине -\fIМАКСИМАЛЬНО_ДНІВ\fR, система вимагатиме від користувача змінити пароль\&. +Set the maximum number of days a password remains valid\&. After +\fIMAX_DAYS\fR, the password is required to be changed\&. .sp -Передавання числа +Passing the number \fI\-1\fR -у полі -\fIМАКСИМАЛЬНО_ДНІВ\fR -призведе до вилучення перевірки чинності паролів\&. +as +\fIMAX_DAYS\fR +will remove checking a password\*(Aqs validity\&. +.RE +.PP +\fB\-s\fR, \fB\-\-stdin\fR +.RS 4 +This option is used to indicate that passwd should read the new password from standard input, which can be a pipe\&. .RE .SH "ЗАСТЕРЕЖЕННЯ" .PP @@ -208,9 +190,9 @@ directory\&. Only absolute paths are supported\&. Можливо, користувачі не зможуть змінити свій пароль у системі, якщо увімкнено NIS, і користувачі не увійшли до сервера NIS\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/passwd @@ -229,51 +211,54 @@ directory\&. Only absolute paths are supported\&. .RE .SH "ЗНАЧЕННЯ ВИХОДУ" .PP -Команда +The \fBpasswd\fR -завершує роботу із такими значеннями: +command exits with the following values: .PP \fI0\fR .RS 4 -успіх +success .RE .PP \fI1\fR .RS 4 -відмовлено у доступі +permission denied .RE .PP \fI2\fR .RS 4 -некоректне поєднання параметрів +invalid combination of options .RE .PP \fI3\fR .RS 4 -неочікувана помилка, нічого не виконано +unexpected failure, nothing done .RE .PP \fI4\fR .RS 4 -неочікувана помилка, не вистачає файла +unexpected failure, passwd +file missing .RE .PP \fI5\fR .RS 4 -файл passwd -зайнято, повторіть спробу +file busy, try again .RE .PP \fI6\fR .RS 4 -некоректний аргумент параметра +invalid argument to option .RE .SH "ДИВ\&. ТАКОЖ" .PP \fBchpasswd\fR(8), +\fBmakepasswd\fR(1), \fBpasswd\fR(5), \fBshadow\fR(5), \fBlogin.defs\fR(5), \fBusermod\fR(8)\&. +.PP +The following web page comically (yet correctly) compares the strength of two different methods for choosing a password: "https://xkcd\&.com/936/" diff --git a/man/uk/man1/sg.1 b/man/uk/man1/sg.1 index b4ca9332..ff2771ad 100644 --- a/man/uk/man1/sg.1 +++ b/man/uk/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "sg" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "sg" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,30 +31,34 @@ sg \- виконання команди від імені іншого ідентифікатора групи .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBsg\fR\ 'u -\fBsg\fR [\-] [група\ [\-c]\ команда] +\fBsg\fR [\-] [group\ [\-c\ ]\ command] .SH "ОПИС" .PP -Команда +The \fBsg\fR -працює подібно до команди -\fBnewgrp\fR, але приймає команду\&. Цю команду буде виконано за допомогою оболонки -/bin/sh\&. У більшості оболонок, з яких ви можете запустити -\fBsg\fR, вам доведеться брати багатослівні команди у лапки\&. Іншою відмінністю між +command works similar to \fBnewgrp\fR -і +but accepts a command\&. The command will be executed with the +/bin/sh +shell\&. With most shells you may run \fBsg\fR -є те, що деякі оболонки обробляють +from, you need to enclose multi\-word commands in quotes\&. Another difference between \fBnewgrp\fR -по\-особливому, замінюючи себе новим екземпляром оболонки, який створює -\fBnewgrp\fR\&. Такого не трапляється з -\fBsg\fR\&. Отже, після виходу з команди +and \fBsg\fR -ви повернетеся до вашого попереднього ідентифікатора групи\&. +is that some shells treat +\fBnewgrp\fR +specially, replacing themselves with a new instance of a shell that +\fBnewgrp\fR +creates\&. This doesn\*(Aqt happen with +\fBsg\fR, so upon exit from a +\fBsg\fR +command you are returned to your previous group ID\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/passwd @@ -83,4 +87,4 @@ sg \- виконання команди від імені іншого іден \fBnewgrp\fR(1), \fBsu\fR(1), \fBgpasswd\fR(1), -\fBгрупа\fR(5), \fBgshadow\fR(5)\&. +\fBgroup\fR(5), \fBgshadow\fR(5)\&. diff --git a/man/uk/man1/su.1 b/man/uk/man1/su.1 index fd6a0611..2abd0eaf 100644 --- a/man/uk/man1/su.1 +++ b/man/uk/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди користувача -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "su" "1" "08/11/2022" "shadow\-utils 4\&.13" "Команди користувача" +.TH "su" "1" "23/03/2024" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,50 +31,53 @@ su \- зміна ідентифікатора користувача або набуття прав надкористувача .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fIпараметри\fR] [\fI\-\fR] [\fIкористувач\fR\ [\ \fIаргументи\fR\ ]] +\fBsu\fR [\fIoptions\fR] [\fI\-\fR] [\fIusername\fR\ [\ \fIargs\fR\ ]] .SH "ОПИС" .PP -Команду +The \fBsu\fR -використовують для набуття прав іншого користувача під час робочого сеансу у системі\&. Якщо команду викликано без -\fBкористувач\fR, -\fBsu\fR, типово, надає доступ до облікового запису надкористувача\&. Параметром +command is used to become another user during a login session\&. Invoked without a +\fBusername\fR, +\fBsu\fR +defaults to becoming the superuser\&. The \fB\-\fR -можна скористатися для забезпечення середовища, подібного до того, яке б мав отримати користувач, який увійшов до системи безпосередньо\&. Параметром +option may be used to provide an environment similar to what the user would expect had the user logged in directly\&. The \fB\-c\fR -можна скористатися для того, щоб більшість командних оболонок вважали наступний аргумент командою\&. +option may be used to treat the next argument as a command by most shells\&. .PP -Параметри буде розпізнано усюди у списку аргументів\&. Ви можете скористатися аргументом -\fB\-\-\fR, щоб припинити обробку аргументів\&. Параметр +Options are recognized everywhere in the argument list\&. You can use the +\fB\-\-\fR +argument to stop option parsing\&. The \fB\-\fR -є особливим: програма розпізнає його також після -\fB\-\-\fR, але його слід розташувати перед -\fBкористувач\fR\&. +option is special: it is also recognized after +\fB\-\-\fR, but has to be placed before +\fBusername\fR\&. .PP Програма попросить користувача ввести пароль, якщо у цьому є потреба\&. Введення некоректного пароля призведе до виведення повідомлення про помилку\&. Усі спроби, коректні і некоректні, буде записано до журналу для виявлення спроб зловмисників проникнути у систему\&. .PP -Поточне середовище буде передано новій оболонці\&. Значення +The current environment is passed to the new shell\&. The value of \fB$PATH\fR -буде скинуто до +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 \fBENV_PATH\fR -і +and \fBENV_SUPATH\fR -у +definitions in /etc/login\&.defs\&. .PP Вхід до підсистеми буде позначено наявністю \(Fo*\(Fc як першого символу оболонки входу\&. Заданий домашній каталог буде використано як кореневий каталог нової файлової системи, до якої користувач насправді увійшов\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBsu\fR, є такими: +The options which apply to the +\fBsu\fR +command are: .PP -\fB\-c\fR, \fB\-\-command\fR \fIКОМАНДА\fR +\fB\-c\fR, \fB\-\-command\fR\ \&\fICOMMAND\fR .RS 4 -Вказати команду, яку буде викликано командною оболонкою за допомогою її +Specify a command that will be invoked by the shell using its \fB\-c\fR\&. .sp У виконаної команди не буде керівного термінала\&. Цей параметр не можна використовувати для виконання інтерактивних програм, яким потрібне для керування термінал\&. @@ -84,15 +87,16 @@ su \- зміна ідентифікатора користувача або на .RS 4 Надає середовище, яке є подібним до середовища, яке мав би отримати користувач після безпосереднього входу до системи\&. .sp -Якщо використано параметр -\fB\-\fR, його має бути вказано перед будь\-яким -\fBкористувач\fR\&. З міркувань сумісності рекомендуємо використовувати його як останній параметр, до -\fBкористувач\fR\&. Для інших форм (\fB\-l\fR -і -\fB\-\-login\fR) цього обмеження не передбачено\&. +When +\fB\-\fR +is used, it must be specified before any +\fBusername\fR\&. For portability it is recommended to use it as last option, before any +\fBusername\fR\&. The other forms (\fB\-l\fR +and +\fB\-\-login\fR) do not have this restriction\&. .RE .PP -\fB\-s\fR, \fB\-\-shell\fR \fIОБОЛОНКА\fR +\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR .RS 4 Оболонка, яку буде викликано\&. .sp @@ -103,31 +107,34 @@ su \- зміна ідентифікатора користувача або на .RE .PP .RS 4 -Якщо використано параметр -\fB\-\-preserve\-environment\fR, оболонка, яку вказано за допомогою змінної середовища -\fB$SHELL\fR\&. +If +\fB\-\-preserve\-environment\fR +is used, the shell specified by the +\fB$SHELL\fR +environment variable\&. .RE .PP .RS 4 -Оболонки, на яку вказує запис +The shell indicated in the /etc/passwd -для вибраного користувача\&. +entry for the target user\&. .RE .PP .RS 4 -/bin/sh, якщо оболонку не вдасться знайти у жоден із вказаних вище способів\&. +/bin/sh +if a shell could not be found by any above method\&. .RE .sp -Якщо командну оболонку вказаного користувача обмежено (тобто вмісту поля оболонки запису цього користувача у +If the target user has a restricted shell (i\&.e\&. the shell field of this user\*(Aqs entry in /etc/passwd -немає у списку -/etc/shells), параметр +is not listed in +/etc/shells), then the \fB\-\-shell\fR -та змінну середовища +option or the \fB$SHELL\fR -не буде взято до уваги, якщо +environment variable won\*(Aqt be taken into account, unless \fBsu\fR -не викликано від імені користувача root\&. +is called by root\&. .RE .PP \fB\-m\fR, \fB\-p\fR, \fB\-\-preserve\-environment\fR @@ -136,12 +143,13 @@ su \- зміна ідентифікатора користувача або на .PP \fB$PATH\fR .RS 4 -відновлено початкове значення за параметром +reset according to the /etc/login\&.defs +options \fBENV_PATH\fR -або +or \fBENV_SUPATH\fR -(див\&. нижче); +(see below); .RE .PP \fB$IFS\fR @@ -150,73 +158,75 @@ su \- зміна ідентифікатора користувача або на \(Fo\(Fc, якщо було встановлено інше значення\&. .RE .sp -Якщо у користувача призначення командну оболонку обмежено, цей параметр ні на що не вплине (якщо +If the target user has a restricted shell, this option has no effect (unless \fBsu\fR -не викликано від імені користувача root)\&. +is called by root)\&. .sp Зауважте, що типовою поведінкою для середовища є така: .PP .RS 4 -Буде відновлено початкові значення змінних середовища +The \fB$HOME\fR, \fB$SHELL\fR, \fB$USER\fR, \fB$LOGNAME\fR, -\fB$PATH\fR -і -\fB$IFS\fR\&. +\fB$PATH\fR, and +\fB$IFS\fR +environment variables are reset\&. .RE .PP .RS 4 -Якщо не використано -\fB\-\-login\fR, середовище буде скопійовано, окрім вказаних вище змінних\&. +If +\fB\-\-login\fR +is not used, the environment is copied, except for the variables above\&. .RE .PP .RS 4 -Якщо використано -\fB\-\-login\fR, змінні середовища +If +\fB\-\-login\fR +is used, the \fB$TERM\fR, \fB$COLORTERM\fR, -\fB$DISPLAY\fR -і +\fB$DISPLAY\fR, and \fB$XAUTHORITY\fR -буде скопійовано, якщо було встановлено їхні значення\&. +environment variables are copied if they were set\&. .RE .PP .RS 4 -Якщо використано -\fB\-\-login\fR, значення змінних середовища +If +\fB\-\-login\fR +is used, the \fB$TZ\fR, -\fB$HZ\fR -і +\fB$HZ\fR, and \fB$MAIL\fR -буде встановлено за параметрами +environment variables are set according to the /etc/login\&.defs +options \fBENV_TZ\fR, \fBENV_HZ\fR, -\fBMAIL_DIR\fR -і +\fBMAIL_DIR\fR, and \fBMAIL_FILE\fR -(див\&. нижче)\&. +(see below)\&. .RE .PP .RS 4 -Якщо використано -\fB\-\-login\fR, значення для інших змінних середовища можна встановити за допомогою файла +If +\fB\-\-login\fR +is used, other environment variables might be set by the \fBENVIRON_FILE\fR -(див\&. нижче)\&. +file (see below)\&. .RE .RE .SH "ЗАСТЕРЕЖЕННЯ" .PP -У цієї версії +This version of \fBsu\fR -багато параметрів збирання\&. У певній збірці може бути використано лише частину з них\&. +has many compilation options, only some of which may be in use at any particular site\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/passwd @@ -235,41 +245,41 @@ su \- зміна ідентифікатора користувача або на .RE .SH "ЗНАЧЕННЯ ВИХОДУ" .PP -Якщо виконано успішно, +On success, \fBsu\fR -повертає значення виходу виконаної команди\&. +returns the exit value of the command it executed\&. .PP -Якщо цю команду перервано сигналом, +If this command was terminated by a signal, \fBsu\fR -повертає номер цього сигналу плюс 128\&. +returns the number of this signal plus 128\&. .PP -Якщо su довелося перервати виконання команди (оскільки було надіслано команду щодо переривання роботи, але команда не перервала роботу вчасно), +If su has to kill the command (because it was asked to terminate, and the command did not terminate in time), \fBsu\fR -поверне 255\&. +returns 255\&. .PP -Деякі значення виходу з +Some exit values from \fBsu\fR -є незалежними від виконаної команди: +are independent from the executed command: .PP \fI0\fR .RS 4 -успіх (лише -\fB\-\-help\fR) +success (\fB\-\-help\fR +only) .RE .PP \fI1\fR .RS 4 -Помилка системи або розпізнавання +System or authentication failure .RE .PP \fI126\fR .RS 4 -Потрібну команду не знайдено +The requested command was not found .RE .PP \fI127\fR .RS 4 -Потрібну команду не вдалося виконати +The requested command could not be executed .RE .SH "ДИВ\&. ТАКОЖ" .PP diff --git a/man/uk/man3/shadow.3 b/man/uk/man3/shadow.3 index 3cb5513b..9b815ea2 100644 --- a/man/uk/man3/shadow.3 +++ b/man/uk/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Виклики бібліотеки -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: Library Calls +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "shadow" "3" "08/11/2022" "shadow\-utils 4\&.13" "Виклики бібліотеки" +.TH "shadow" "3" "23/03/2024" "shadow\-utils 4\&.15\&.1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -50,7 +50,7 @@ shadow, getspnam \- підпрограми для файла зашифрова .PP \fIint putspent(struct spwd\fR \fI*p,\fR -\fIФАЙЛ\fR +\fIFILE\fR \fI*fp\fR\fI);\fR .PP \fIint lckpwdf();\fR @@ -59,9 +59,10 @@ shadow, getspnam \- підпрограми для файла зашифрова .SH "ОПИС" .PP \fIshadow\fR -керує вмістом файла прихованих паролів, -/etc/shadow\&. Структура файла -\fI#include\fR: +manipulates the contents of the shadow password file, +/etc/shadow\&. The structure in the +\fI#include\fR +file is: .sp .if n \{\ .RS 4 @@ -177,45 +178,47 @@ sp_flag \- зарезервовано для використання у май .PP \fIgetspent\fR, \fIgetspname\fR, -\fIfgetspent\fR -і +\fIfgetspent\fR, and \fIsgetspent\fR -усі повертають вказівник на +each return a pointer to a \fIstruct spwd\fR\&. \fIgetspent\fR -повертає наступний запис з файла, а +returns the next entry from the file, and \fIfgetspent\fR -повертає наступний запис з заданого потоку даних, яким має бути файл у належному форматі\&. +returns the next entry from the given stream, which is assumed to be a file of the proper format\&. \fIsgetspent\fR -повертає вказівник на -\fIstruct spwd\fR, використовуючи вхідні дані з наданого рядок\&. +returns a pointer to a +\fIstruct spwd\fR +using the provided string as input\&. \fIgetspnam\fR -шукає з поточної позиції у файлів запис, що відповідає рядку +searches from the current position in the file for an entry matching \fIname\fR\&. .PP \fIsetspent\fR -і +and \fIendspent\fR -можна скористатися для того, щоб відкрити або закрити, відповідно, доступ до файла прихованих паролів\&. +may be used to begin and end, respectively, access to the shadow password file\&. .PP -Підпрограмами +The \fIlckpwdf\fR -і +and \fIulckpwdf\fR -слід користуватися для забезпечення виключного доступу до файла -/etc/shadow\&. +routines should be used to insure exclusive access to the +/etc/shadow +file\&. \fIlckpwdf\fR -намагається отримати блокування за допомогою +attempts to acquire a lock using \fIpw_lock\fR -протягом періоду до 15 секунд\&. Підпрограма продовжує спроби отримати друге блокування +for up to 15 seconds\&. It continues by attempting to acquire a second lock using \fIspw_lock\fR -за решту початкових 15 секунд\&. Якщо протягом загального періоду у 15 секунд спроби завершаться невдачею, +for the remainder of the initial 15 seconds\&. Should either attempt fail after a total of 15 seconds, \fIlckpwdf\fR -повертає \-1\&. Якщо вдасться отримати обидва блокування, буде повернуто 0\&. +returns \-1\&. When both locks are acquired 0 is returned\&. .SH "ДІАГНОСТИКА" .PP -Підпрограми повертають NULL, якщо не залишилося доступних записів або якщо станеться помилка під час обробки даних\&. Підпрограми, які повертають значення типу -\fIint\fR, повертають 0, якщо підпрограму виконано успішно, і \-1, якщо виконання підпрограми завершилося помилкою\&. +Routines return NULL if no more entries are available or if an error occurs during processing\&. Routines which have +\fIint\fR +as the return value return 0 for success and \-1 for failure\&. .SH "ЗАСТЕРЕЖЕННЯ" .PP Цими підпрограмами може користуватися лише надкористувач, оскільки доступ до файла прихованих паролів обмежено\&. diff --git a/man/uk/man5/faillog.5 b/man/uk/man5/faillog.5 index f88747f8..dec3fb9d 100644 --- a/man/uk/man5/faillog.5 +++ b/man/uk/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Формати файлів і файли налаштувань -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: File Formats and Configuration Files +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "faillog" "5" "08/11/2022" "shadow\-utils 4\&.13" "Формати файлів і файли налашту" +.TH "faillog" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -32,7 +32,7 @@ faillog \- файл журналу невдалих спроб увійти до .SH "ОПИС" .PP /var/log/faillog -зберігає кількість помилок під час входу і обмеження для кожного з облікових записів\&. +maintains a count of login failures and the limits for each account\&. .PP У файлі містяться записи фіксованої довжини, індексовані за числовим UID\&. Кожен запис містить кількість помилок при вході з моменту останнього успішного входу до системи; максимальну кількість помилок до вимикання облікового запису; рядок, на якому сталася помилка під час останньої спроби увійти до системи; дату останньої помилки під час спроби увійти до системи та період часу (у секундах), протягом якого обліковий запис буде заблоковано після помилки\&. .PP diff --git a/man/uk/man5/gshadow.5 b/man/uk/man5/gshadow.5 index f2a5f25c..671de987 100644 --- a/man/uk/man5/gshadow.5 +++ b/man/uk/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Формати файлів і файли налаштувань -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: File Formats and Configuration Files +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "gshadow" "5" "08/11/2022" "shadow\-utils 4\&.13" "Формати файлів і файли налашту" +.TH "gshadow" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -32,37 +32,38 @@ gshadow \- файл зашифрованих груп .SH "ОПИС" .PP /etc/gshadow -містить зашифровані відомості щодо облікових записів груп\&. +contains the shadowed information for group accounts\&. .PP Цей файл має бути недоступним для читання звичайними користувачами, якщо ви хочете підтримувати захист паролів\&. .PP У кожному рядку цього файла містяться такі відокремлені двокрапками поля: .PP -\fBназва групи\fR +\fBgroup name\fR .RS 4 Це має бути коректна назва групи, яка існує у системі\&. .RE .PP -\fBшифрований пароль\fR +\fBencrypted password\fR .RS 4 -Зверніться до -\fBcrypt\fR(3), щоб дізнатися більше про те, як буде оброблено цей рядок\&. +Refer to +\fBcrypt\fR(3) +for details on how this string is interpreted\&. .sp -Якщо у полі пароля міститься якийсь рядок, який не є коректним результатом виконання -\fBcrypt\fR(3), наприклад, ! або *, користувачі не зможуть скористатися паролем unix для доступу до групи (але учасники групи пароля не потребуватимуть)\&. +If the password field contains some string that is not a valid result of +\fBcrypt\fR(3), 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)\&. .sp -Пароль використовуватиметься, коли користувач, який не є учасником групи, захоче отримати права доступу до цієї групи (див\&. +The password is used when a user who is not a member of the group wants to gain the permissions of this group (see \fBnewgrp\fR(1))\&. .sp Це поле може бути порожнім\&. Якщо поле є порожнім, лише учасники групи зможуть отримувати права доступу групи\&. .sp Поле пароля, яке починається зі знаку оклику, означає, що пароль заблоковано\&. Решта символів у рядку є вмістом поля пароля до того, як пароль було заблоковано\&. .sp -Цей пароль має пріоритет над будь\-яким паролем, який вказано у +This password supersedes any password specified in /etc/group\&. .RE .PP -\fBадміністратори\fR +\fBadministrators\fR .RS 4 Це має бути список відокремлених комами імен користувачів\&. .sp @@ -71,13 +72,13 @@ gshadow \- файл зашифрованих груп Також адміністратори мають ті самі права доступу, що і учасники (див\&. нижче)\&. .RE .PP -\fBучасники\fR +\fBmembers\fR .RS 4 Це має бути список відокремлених комами імен користувачів\&. .sp Учасники можуть отримувати доступ до групи без надсилання запиту щодо пароля\&. .sp -Вам слід використовувати той самий список користувачів, що і у +You should use the same list of users as in /etc/group\&. .RE .SH "ФАЙЛИ" @@ -94,7 +95,7 @@ gshadow \- файл зашифрованих груп .SH "ДИВ\&. ТАКОЖ" .PP \fBgpasswd\fR(5), -\fBгрупа\fR(5), +\fBgroup\fR(5), \fBgrpck\fR(8), \fBgrpconv\fR(8), \fBnewgrp\fR(1)\&. diff --git a/man/uk/man5/login.access.5 b/man/uk/man5/login.access.5 index 65265499..3cb34582 100644 --- a/man/uk/man5/login.access.5 +++ b/man/uk/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Формати файлів і файли налаштувань -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: File Formats and Configuration Files +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "login\&.access" "5" "08/11/2022" "shadow\-utils 4\&.13" "Формати файлів і файли налашту" +.TH "login\&.access" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,29 +31,29 @@ login.access \- таблиця керування доступом до входу до системи .SH "ОПИС" .PP -У файлі +The \fIlogin\&.access\fR -задають комбінації (користувач, вузол) і/або (користувач, термінал), для яких вхід до системи буде прийнятним або забороненим\&. +file specifies (user, host) combinations and/or (user, tty) combinations for which a login will be either accepted or refused\&. .PP -Коли хтось входить до системи, система виконує сканування +When someone logs in, the \fIlogin\&.access\fR -на перший запис, який відповідає комбінації (користувач, вузол), або, у випадку позамережевих входів, перший запис, який відповідає комбінації (користувач, термінал)\&. Поле прав доступу у записі цієї таблиці визначає, буде вхід прийнято чи заборонено\&. +is scanned for the first entry that matches the (user, host) combination, or, in case of non\-networked logins, the first entry that matches the (user, tty) combination\&. The permissions field of that table entry determines whether the login will be accepted or refused\&. .PP Кожен рядок таблиці керування доступом до входу до системи містить три поля, які відокремлено символом \(Fo:\(Fc: .PP -\fIправа доступу\fR:\fIкористувачі\fR:\fIorigins\fR +\fIpermission\fR:\fIusers\fR:\fIorigins\fR .PP -Першим полем має бути символ \(Fo\fI+\fR\(Fc (доступ надано) або \(Fo\fI\-\fR\(Fc (доступ заборонено)\&. У другому полі має бути список одного або декількох назв облікових записів, назв груп або +The first field should be a "\fI+\fR" (access granted) or "\fI\-\fR" (access denied) character\&. The second field should be a list of one or more login names, group names, or \fIALL\fR -(універсальний відповідник)\&. У третьому полі має бути список одного або декількох терміналів (для немережевих входів), назв вузлів, назв доменів (починаються з \(Fo\&.\(Fc), адрес вузлів, мережевих чисел інтернету (завершуються \(Fo\&.\(Fc), +(always matches)\&. The third field should be a list of one or more tty names (for non\-networked logins), host names, domain names (begin with "\&."), host addresses, internet network numbers (end with "\&."), \fIALL\fR -(універсальний відповідник) або +(always matches) or \fILOCAL\fR -(відповідник будь\-якого рядка, який не містить символу \(Fo\&.\(Fc)\&. Якщо ви працюєте з NIS ви можете скористатися @netgroupname у взірцях вузла або користувача\&. +(matches any string that does not contain a "\&." character)\&. If you run NIS you can use @netgroupname in host or user patterns\&. .PP -Оператор +The \fIEXCEPT\fR -уможливлює написання дуже компактних правил\&. +operator makes it possible to write very compact rules\&. .PP Пошук у файлі груп відбуватиметься, лише якщо ім\*(Aqя не збігатиметься із іменем користувача, що увійшов до системи\&. Відповідними вважатимуться лише ті групи, користувачів яких вказано явно: програма не шукатиме у значення ідентифікаторів основної групи користувача\&. .SH "ФАЙЛИ" diff --git a/man/uk/man5/login.defs.5 b/man/uk/man5/login.defs.5 index 5b265cb7..ef3adafe 100644 --- a/man/uk/man5/login.defs.5 +++ b/man/uk/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Формати файлів і файли налаштувань -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: File Formats and Configuration Files +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "login\&.defs" "5" "08/11/2022" "shadow\-utils 4\&.13" "Формати файлів і файли налашту" +.TH "login\&.defs" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,27 +31,28 @@ login.defs \- Налаштування комплексу для роботи з прихованими паролями .SH "ОПИС" .PP -Файл +The /etc/login\&.defs -визначає специфічні для системи налаштування для комплексу керування паролями shadow\&. Цей файл є необхідним\&. Якщо цього файла не завадить працездатності системи, але, ймовірно, призведе до небажаних наслідків\&. +file defines the site\-specific configuration for the shadow password suite\&. This file is required\&. Absence of this file will not prevent system operation, but will probably result in undesirable operation\&. .PP Цей файл є придатним до читання текстовим файлом, кожен з рядків якого описує один параметр налаштувань\&. Рядки складаються з назви налаштування та значення, які відокремлено пробілом\&. Порожні рядки і рядки коментарів буде проігноровано\&. Коментарі позначають символом \(Fo#\(Fc, цей символ має бути першим непробільним символом рядка\&. .PP -Значення параметрів мають належати до чотирьох типів: рядки, булеві значення, числа та числа з подвійною точністю\&. Рядок складається з будь\-яких друкованих символів\&. Булеве значення має бути одним з двох: -\fIтак\fR -або -\fIno\fR\&. Невизначеному булевому параметру або булевому параметру, значенням якого не є одне з цих двох значень, буде надано значення -\fIno\fR\&. Числа (звичайні і з подвійною точністю) можуть бути десятковими, вісімковими (їхні записи починаються з -\fI0\fR) або шістнадцятковими (їхні записи починаються з -\fI0x\fR)\&. Максимальне значення звичайного числового параметра або числового параметра з подвійною точністю визначається характеристиками системи\&. +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 +\fIyes\fR +or +\fIno\fR\&. An undefined boolean parameter or one with a value other than these will be given a +\fIno\fR +value\&. Numbers (both regular and long) may be either decimal values, octal values (precede the value with +\fI0\fR) or hexadecimal values (precede the value with +\fI0x\fR)\&. The maximum value of the regular and long numeric parameters is machine\-dependent\&. .PP У ваше розпорядження надано такі пункти налаштувань: .PP \fBPASS_MAX_DAYS\fR, \fBPASS_MIN_DAYS\fR -і +and \fBPASS_WARN_AGE\fR -буде використано лише у момент створення облікового запису\&. Будь\-які зміни у цих параметрах не вплинуть на наявні облікові записи\&. +are only used at the time of account creation\&. Any changes to these settings won\*(Aqt affect existing accounts\&. .SH "ПЕРЕХРЕСНІ ПОСИЛАННЯ" .PP Наведені нижче посилання показують, які програми комплексу для роботи з паролями shadow використовують відповідні параметри\&. @@ -191,8 +192,7 @@ USERGROUPS_ENAB .PP sulogin .RS 4 -ENV_HZ -ENV_TZ +ENV_HZ ENV_TZ .RE .PP useradd diff --git a/man/uk/man5/passwd.5 b/man/uk/man5/passwd.5 index 82fa63b2..c5044427 100644 --- a/man/uk/man5/passwd.5 +++ b/man/uk/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Формати файлів і файли налаштувань -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: File Formats and Configuration Files +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "passwd" "5" "08/11/2022" "shadow\-utils 4\&.13" "Формати файлів і файли налашту" +.TH "passwd" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -32,7 +32,7 @@ passwd \- файл паролів .SH "ОПИС" .PP /etc/passwd -містить по одному рядку для кожного з облікових записів користувача із сімома полями, які відокремлено двокрапками (\(Fo:\(Fc)\&. Цими полями є такі: +contains one line for each user account, with seven fields delimited by colons (\(Fo:\(Fc)\&. These fields are: .sp .RS 4 .ie n \{\ @@ -111,47 +111,54 @@ passwd \- файл паролів необов\*(Aqязковий інтерпретатор команд користувача .RE .PP -Якщо у полі -\fIпароль\fR -міститься -\(Fox\(Fc -у нижньому регістрі, зашифрований пароль насправді зберігається у файлі -\fBshadow\fR(5); -\fIмає\fR -бути відповідний рядок у файлі -/etc/shadow, інакше обліковий запис користувача буде некоректним\&. +If the +\fIpassword\fR +field is a lower\-case +\(Fox\(Fc, then the encrypted password is actually stored in the +\fBshadow\fR(5) +file instead; there +\fImust\fR +be a corresponding line in the +/etc/shadow +file, or else the user account is invalid\&. .PP -Поле, у якому зберігається зашифрований -\fIпароль\fR, може бути порожнім\&. Якщо пароль є порожнім, для розпізнавання за вказаним іменем користувача не потрібен буде пароль\&. Втім, деякі програми, які читають дані з файла -/etc/passwd, можуть взагалі вирішити не дозволити -\fIдовільний\fR -доступ, якщо поле -\fIпароль\fR -є порожнім\&. +The encrypted +\fIpassword\fR +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 +\fIany\fR +access at all if the +\fIpassword\fR +field is blank\&. .PP -Поле -\fIпароль\fR, яке починається зі знаку оклику, означає, що пароль заблоковано\&. Решта символів у рядку є вмістом поля -\fIпароль\fR -до того, як пароль було заблоковано\&. +A +\fIpassword\fR +field which starts with an exclamation mark means that the password is locked\&. The remaining characters on the line represent the +\fIpassword\fR +field before the password was locked\&. .PP -Зверніться до -\fBcrypt\fR(3), щоб дізнатися більше про те, як буде оброблено цей рядок\&. +Refer to +\fBcrypt\fR(3) +for details on how this string is interpreted\&. .PP -Якщо у полі пароля міститься якийсь рядок, який не є коректним результатом виконання -\fBcrypt\fR(3), наприклад, ! або *, користувач не зможе скористатися паролем unix для входу до облікового запису (але користувач зможе увійти до системи в інший спосіб)\&. +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)\&. .PP -Поле коментаря, також відоме як поле gecos, використовують різноманітні загальносистемні інструменти, зокрема -\fBfinger\fR(1)\&. Амперсанд у цьому полі буде замінено записаним великим літерами іменем користувача, коли поле буде використано або показано у таких загальносистемних інструментах\&. +The comment field, also known as the gecos field, is used by various system utilities, such as +\fBfinger\fR(1)\&. The use of an ampersand here will be replaced by the capitalised login name when the field is used or displayed by such system utilities\&. .PP -Поле домашнього каталогу задає назву початкового робочого каталогу\&. Програма +The home directory field provides the name of the initial working directory\&. The \fBlogin\fR -використовує ці дані для встановлення значення змінної середовища -\fB$HOME\fR\&. +program uses this information to set the value of the +\fB$HOME\fR +environmental variable\&. .PP -Поле інтерпретатора команд задає назву командного інтерпретатора мови програмування користувача або назву початкової програми для виконання\&. Програма +The command interpreter field provides the name of the user\*(Aqs command language interpreter, or the name of the initial program to execute\&. The \fBlogin\fR -використовує ці дані для встановлення значення змінної середовища -\fB$SHELL\fR\&. Якщо значення у цьому полі є порожнім, типовим його значенням буде значення +program uses this information to set the value of the +\fB$SHELL\fR +environmental variable\&. If this field is empty, it defaults to the value /bin/sh\&. .SH "ФАЙЛИ" .PP diff --git a/man/uk/man5/porttime.5 b/man/uk/man5/porttime.5 index bf749166..459280c2 100644 --- a/man/uk/man5/porttime.5 +++ b/man/uk/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Формати файлів і файли налаштувань -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: File Formats and Configuration Files +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "porttime" "5" "08/11/2022" "shadow\-utils 4\&.13" "Формати файлів і файли налашту" +.TH "porttime" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -32,41 +32,41 @@ porttime \- файл часу доступу до портів .SH "ОПИС" .PP \fIporttime\fR -містить список пристроїв терміналів, імен користувачів та даних щодо дозволеного часу входу до системи\&. +contains a list of tty devices, user names, and permitted login times\&. .PP Кожен запис складається з трьох відокремлених двокрапками полів\&. Перше поле є списком відокремлених комами пристроїв tty або зірочкою на позначення, що цьому запису відповідають усі пристрої tty\&. Друге поле є списком відокремлених комами імен користувачів або зірочкою на позначення, що цьому запису відповідають усі імена користувачів\&. Третє поле є списком відокремлених комами дозволених часів доступу\&. .PP -Кожен запис часу доступу складається з нуля або більшої кількості скорочених записів днів тижня: +Each access time entry consists of zero or more days of the week, abbreviated \fISu\fR, \fIMo\fR, \fITu\fR, \fIWe\fR, \fITh\fR, -\fIFr\fR -і -\fISa\fR, після яких вказано проміжок часу з двох значень, які відокремлено дефісом\&. Можна скористатися скороченням +\fIFr\fR, and +\fISa\fR, followed by a pair of times separated by a hyphen\&. The abbreviation \fIWk\fR -для позначення часу від понеділка до п\*(Aqятниці і скороченням +may be used to represent Monday thru Friday, and \fIAl\fR -для позначення будь\-якого дня\&. Якщо дні не вказано, буде використано -\fIAl\fR\&. +may be used to indicate every day\&. If no days are given, +\fIAl\fR +is assumed\&. .SH "ПРИКЛАДИ" .PP -Вказаний нижче запис дозволяє доступ до користувача +The following entry allows access to user \fBjfh\fR -на будь\-якому порту протягом робочого тижня з 9 ранку до 5 вечора\&. +on every port during weekdays from 9am to 5pm\&. .PP *:jfh:Wk0900\-1700 .PP -Вказані нижче записи дозволяють доступ лише до користувачів +The following entries allow access only to the users \fIroot\fR -і +and \fIoper\fR -на +on /dev/console -будь\-коли\&. Цей приклад ілюструє спосіб, у який файл +at any time\&. This illustrates how the /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\&. .sp .if n \{\ .RS 4 @@ -78,9 +78,9 @@ console:root,oper:Al0000\-2400 console:*: .RE .\} .PP -Наведений нижче запис дозволяє доступ для користувача +The following entry allows access for the user \fIgames\fR -до будь\-якого порту у неробочий час\&. +on any port during non\-working hours\&. .PP *:games:Wk1700\-0900,SaSu0000\-2400 .SH "ФАЙЛИ" diff --git a/man/uk/man5/shadow.5 b/man/uk/man5/shadow.5 index c5715fc1..a8a7139c 100644 --- a/man/uk/man5/shadow.5 +++ b/man/uk/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Формати файлів і файли налаштувань -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: File Formats and Configuration Files +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "shadow" "5" "08/11/2022" "shadow\-utils 4\&.13" "Формати файлів і файли налашту" +.TH "shadow" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -32,32 +32,34 @@ shadow \- файли прихованих паролів .SH "ОПИС" .PP shadow -є файлом, який містить дані паролів для облікових записів системи і необов\*(Aqязкові дані щодо застарівання\&. +is a file which contains the password information for the system\*(Aqs accounts and optional aging information\&. .PP Цей файл має бути недоступним для читання звичайними користувачами, якщо ви хочете підтримувати захист паролів\&. .PP У кожному рядку файла міститься 9 полів, дані яких відокремлено двокрапками (\(Fo:\(Fc), у такому порядку: .PP -\fBім\*(Aqя користувача\fR +\fBlogin name\fR .RS 4 Це має бути коректна назва облікового запису, яка існує у системі\&. .RE .PP -\fBшифрований пароль\fR +\fBencrypted password\fR .RS 4 -Це поле може бути порожнім\&. Якщо поле порожнє, для розпізнавання за вказаним іменем користувача не потрібен буде пароль\&. Втім, деякі програми, які читають дані з файла -/etc/shadow, можуть взагалі вирішити не дозволити будь\-який доступ, якщо поле пароля є порожнім\&. +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\&. .sp Поле пароля, яке починається зі знаку оклику, означає, що пароль заблоковано\&. Решта символів у рядку є вмістом поля пароля до того, як пароль було заблоковано\&. .sp -Зверніться до -\fBcrypt\fR(3), щоб дізнатися більше про те, як буде оброблено цей рядок\&. +Refer to +\fBcrypt\fR(3) +for details on how this string is interpreted\&. .sp -Якщо у полі пароля міститься якийсь рядок, який не є коректним результатом виконання -\fBcrypt\fR(3), наприклад, ! або *, користувач не зможе скористатися паролем unix для входу до облікового запису (але користувач зможе увійти до системи в інший спосіб)\&. +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)\&. .RE .PP -\fBдата останньої зміни пароля\fR +\fBdate of last password change\fR .RS 4 Дата останньої зміни пароля, яку вказано у кількості днів з моменту 1 січня 1970 року 00:00 UTC\&. .sp @@ -66,14 +68,14 @@ shadow Якщо поле є порожнім, можливості застарівання паролів буде вимкнено\&. .RE .PP -\fBмінімальний вік пароля\fR +\fBminimum password age\fR .RS 4 Мінімальний вік пароля є кількістю днів з моменту останньої зміни пароля, протягом яких користувачеві буде заборонено змінювати пароль\&. .sp Порожнє значення або значення 0 означають, що мінімальний вік пароля не використовуватиметься\&. .RE .PP -\fBмаксимальний вік пароля\fR +\fBmaximum password age\fR .RS 4 Максимальний вік пароля є кількістю днів з моменту останньої зміни пароля, по завершенню яких користувачеві доведеться змінити пароль\&. .sp @@ -84,14 +86,14 @@ shadow Якщо максимальний вік пароля є меншим за мінімальний вік пароля, користувач не зможе змінити пароль\&. .RE .PP -\fBперіод попередження щодо пароля\fR +\fBpassword warning period\fR .RS 4 Кількість днів до моменту завершення строку дії пароля (див\&. максимальний вік пароля вище), коли користувача має бути попереджено про завершення строку дії пароля\&. .sp Порожнє значення або значення 0 означають, що не буде періоду попередження щодо завершення строку дії пароля\&. .RE .PP -\fBперіод неактивності пароля\fR +\fBpassword inactivity period\fR .RS 4 Кількість днів з моменту завершення строку дії пароля (див\&. максимальний вік пароля вище), протягом яких пароль лишатиметься прийнятним (і користувач зможе оновити пароль під час наступного входу до системи)\&. .sp @@ -100,7 +102,7 @@ shadow Порожнє значення поля означає, що не буде примусового періоду неактивності\&. .RE .PP -\fBдата прострочення облікового запису\fR +\fBaccount expiration date\fR .RS 4 Дата завершення строку дії облікового запису, яку вказано у кількості днів з моменту 1 січня 1970 року 00:00 UTC\&. .sp @@ -111,7 +113,7 @@ shadow Не слід використовувати значення 0, оскільки його можна вважати вказівкою на те, що або у облікового запису немає завершення строку дії, або як те, що строк дії облікового запису завершився 1 січня 1970 року\&. .RE .PP -\fBзарезервоване поле\fR +\fBreserved field\fR .RS 4 Це поле зарезервовано для використання у майбутньому\&. .RE diff --git a/man/uk/man5/suauth.5 b/man/uk/man5/suauth.5 index 02793b64..0c72c5d3 100644 --- a/man/uk/man5/suauth.5 +++ b/man/uk/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Формати файлів і файли налаштувань -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: File Formats and Configuration Files +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "suauth" "5" "08/11/2022" "shadow\-utils 4\&.13" "Формати файлів і файли налашту" +.TH "suauth" "5" "23/03/2024" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -34,9 +34,9 @@ suauth \- докладний файл керування su \fB/etc/suauth\fR .SH "ОПИС" .PP -Файл +The file /etc/suauth -буде використано під час кожного виклику su\&. Він може змінити поведінку команди su на основі таких даних: +is referenced whenever the su command is called\&. It can change the behaviour of the su command, based upon: .sp .if n \{\ .RS 4 @@ -62,16 +62,20 @@ suauth \- докладний файл керування su .RE .\} .PP -Де \(Foідентифікатор\-призначення\(Fc є словом -\fIALL\fR, списком відокремлених \(Fo,\(Fc імен користувачів або словами -\fIALL EXCEPT\fR, після яких вказано список відокремлених \(Fo,\(Fc імен користувачів\&. +Where to\-id is either the word +\fIALL\fR, a list of usernames delimited by "," or the words +\fIALL EXCEPT\fR +followed by a list of usernames delimited by ","\&. .PP -Форматування запису \(Foпохідний\-ідентифікатор\(Fc є таким самим, що і для запису \(Foідентифікатор\-призначення\(Fc, окрім розпізнавання додаткового слова -\fIGROUP\fR\&. Можна також без проблем користуватися -\fIALL EXCEPT GROUP\fR\&. Після +from\-id is formatted the same as to\-id except the extra word \fIGROUP\fR -можна вказати назви однієї або декількох груп, відокремлених \(Fo,\(Fc\&. Ідентифікатора основної групи відповідної групи недостатньо, потрібен запис у -\fB/etc/group\fR(5)\&. +is recognized\&. +\fIALL EXCEPT GROUP\fR +is perfectly valid too\&. Following +\fIGROUP\fR +appears one or more group names, delimited by ","\&. It is not sufficient to have primary group id of the relevant group, an entry in +\fB/etc/group\fR(5) +is necessary\&. .PP Дією може бути лише один із наведених нижче підтримуваних у поточній версії варіантів\&. .PP @@ -130,9 +134,9 @@ terry:birddog:NOPASS birddog:terry:NOPASS Може бути доволі багато проблем\&. Зокрема, обробник файла не пробачає синтаксичних помилок, не дає додавати пробіли у довільні місця (окрім початку і кінця рядків) і має специфічні правила щодо розмежування записів\&. .SH "ДІАГНОСТИКА" .PP -Про помилку при обробці файла буде повідомлено за допомогою +An error parsing the file is reported using \fBsyslogd\fR(8) -у формі рівня ERR для можливості AUTH\&. +as level ERR on facility AUTH\&. .SH "ДИВ\&. ТАКОЖ" .PP \fBsu\fR(1)\&. diff --git a/man/uk/man8/chgpasswd.8 b/man/uk/man8/chgpasswd.8 index d5bfe71b..c2dd4353 100644 --- a/man/uk/man8/chgpasswd.8 +++ b/man/uk/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "chgpasswd" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "chgpasswd" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,38 +31,44 @@ chgpasswd \- оновлення паролів груп у пакетному режимі .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBchgpasswd\fR\ 'u -\fBchgpasswd\fR [\fIпараметри\fR] +\fBchgpasswd\fR [\fIoptions\fR] .SH "ОПИС" .PP -Команда +The \fBchgpasswd\fR -читає список пар назва групи \(em пароль зі стандартного джерела вхідних даних і використовує ці дані для оновлення набору наявних груп\&. Кожен рядок записується у такому форматі: +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: .PP -\fIназва_групи\fR:\fIпароль\fR +\fIgroup_name\fR:\fIpassword\fR .PP -Типово, наданий пароль має бути простим текстовим\&. Його буде зашифровано за допомогою +By default the supplied password must be in clear\-text, and is encrypted by \fBchgpasswd\fR\&. .PP -Типовий алгоритм шифрування може бути визначено для системи за допомогою змінної +The default encryption algorithm can be defined for the system with the \fBENCRYPT_METHOD\fR -у -/etc/login\&.defs, і може бути перезаписано за допомогою параметрів +variable of +/etc/login\&.defs, and can be overwritten with the \fB\-e\fR, -\fB\-m\fR -або -\fB\-c\fR\&. +\fB\-m\fR, or +\fB\-c\fR +options\&. .PP Цю команду призначено для використання у великих системних середовищах, де одночасно створюють багато облікових записів\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBchgpasswd\fR, є такими: +The options which apply to the +\fBchgpasswd\fR +command are: .PP \fB\-c\fR, \fB\-\-crypt\-method\fR .RS 4 Скористатися для шифрування паролів вказаним методом\&. .sp -Доступними методами є DES, MD5, NONE і SHA256 або SHA512, якщо у вашій libc передбачено підтримку цих методів\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .RE .PP \fB\-e\fR, \fB\-\-encrypted\fR @@ -80,7 +86,7 @@ chgpasswd \- оновлення паролів груп у пакетному р Скористатися шифруванням MD5 замість DES, якщо надані паролі не зашифровано\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -93,14 +99,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 Використати вказану кількість циклів шифрування паролів\&. .sp -Значення 0 означає, що система вибере типову кількість проходів для методу шифрування (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Буде примусово встановлено мінімальне значення 1000 і максимальне значення 999999999\&. -.sp -Ви можете скористатися цим параметром у поєднанні із методами шифрування SHA256 або SHA512\&. -.sp -Типово, кількість проходів визначається за допомогою змінних SHA_CRYPT_MIN_ROUNDS і SHA_CRYPT_MAX_ROUNDS у +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "ЗАСТЕРЕЖЕННЯ" .PP @@ -109,9 +114,9 @@ directory\&. Only absolute paths are supported\&. Вам слід переконатися, що паролі і метод шифрування відповідає правилам поводження з паролями у системі\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/group diff --git a/man/uk/man8/chpasswd.8 b/man/uk/man8/chpasswd.8 index 2b75a3c5..c645882c 100644 --- a/man/uk/man8/chpasswd.8 +++ b/man/uk/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "chpasswd" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "chpasswd" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,53 +31,59 @@ chpasswd \- оновлення паролів у пакетному режимі .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBchpasswd\fR\ 'u -\fBchpasswd\fR [\fIпараметри\fR] +\fBchpasswd\fR [\fIoptions\fR] .SH "ОПИС" .PP -Команда +The \fBchpasswd\fR -читає список пар ім\*(Aqя користувача \(em пароль зі стандартного джерела вхідних даних і використовує ці дані для оновлення набору наявних записів користувачів\&. Кожен рядок записується у такому форматі: +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: .PP -\fIім\*(Aqя_користувача\fR:\fIпароль\fR +\fIuser_name\fR:\fIpassword\fR .PP -Типово, паролі має бути надано простим текстом\&. Паролі буде зашифровано за допомогою -\fBchpasswd\fR\&. Також буде оновлено дані щодо віку пароля, якщо такі збережено\&. +By default the passwords must be supplied in clear\-text, and are encrypted by +\fBchpasswd\fR\&. Also the password age will be updated, if present\&. .PP -Типовий алгоритм шифрування може бути визначено для системи за допомогою змінної +The default encryption algorithm can be defined for the system with the \fBENCRYPT_METHOD\fR -або +or \fBMD5_CRYPT_ENAB\fR -у -/etc/login\&.defs, і може бути перезаписано за допомогою параметрів +variables of +/etc/login\&.defs, and can be overwritten with the \fB\-e\fR, -\fB\-m\fR -або -\fB\-c\fR\&. +\fB\-m\fR, or +\fB\-c\fR +options\&. .PP \fBchpasswd\fR -спершу оновлює усі паролі у пам\*(Aqяті, а потім записує усі зміни на диск, якщо не сталося помилок для якогось з користувачів\&. +first updates all the passwords in memory, and then commits all the changes to disk if no errors occurred for any user\&. .PP Цю команду призначено для використання у великих системних середовищах, де одночасно створюють багато облікових записів\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBchpasswd\fR, є такими: +The options which apply to the +\fBchpasswd\fR +command are: .PP -\fB\-c\fR, \fB\-\-crypt\-method\fR \fIMETHOD\fR +\fB\-c\fR, \fB\-\-crypt\-method\fR\ \&\fIMETHOD\fR .RS 4 Скористатися для шифрування паролів вказаним методом\&. .sp -Доступними методами є DES, MD5, NONE і SHA256 або SHA512, якщо у вашій libc передбачено підтримку цих методів\&. +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .sp -Типово, (якщо не вказано жодного з параметрів +By default (if none of the \fB\-c\fR, -\fB\-m\fR -або -\fB\-e\fR), метод шифрування буде визначено змінною +\fB\-m\fR, or +\fB\-e\fR +options are specified), the encryption method is defined by the \fBENCRYPT_METHOD\fR -або +or \fBMD5_CRYPT_ENAB\fR -у +variables of /etc/login\&.defs\&. .RE .PP @@ -96,7 +102,7 @@ chpasswd \- оновлення паролів у пакетному режимі Скористатися шифруванням MD5 замість DES, якщо надані паролі не зашифровано\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -105,31 +111,32 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP -\fB\-s\fR, \fB\-\-sha\-rounds\fR \fIROUNDS\fR +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP +\fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIROUNDS\fR .RS 4 Використати вказану кількість циклів шифрування паролів\&. .sp -Значення 0 означає, що система вибере типову кількість проходів для методу шифрування (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Буде примусово встановлено мінімальне значення 1000 і максимальне значення 999999999\&. -.sp -Ви можете скористатися цим параметром у поєднанні із методами шифрування SHA256 або SHA512\&. -.sp -Типово, кількість проходів визначено змінними -\fBSHA_CRYPT_MIN_ROUNDS\fR -і -\fBSHA_CRYPT_MAX_ROUNDS\fR -у +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "ЗАСТЕРЕЖЕННЯ" .PP Не забудьте встановити права доступу або umask, щоб запобігти доступності до читання нешифрованих файлів сторонніми користувачами\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP diff --git a/man/uk/man8/faillog.8 b/man/uk/man8/faillog.8 index 33f48acd..658eb839 100644 --- a/man/uk/man8/faillog.8 +++ b/man/uk/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "faillog" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "faillog" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,34 +31,37 @@ faillog \- вивести записи faillog або встановити обмеження на невдалі спроби увійти до системи .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fIпараметри\fR] +\fBfaillog\fR [\fIoptions\fR] .SH "ОПИС" .PP \fBfaillog\fR -показує вміст бази даних помилок під час входу до системи (/var/log/faillog)\&. Ця програма також може встановлювати лічильник і обмеження помилок\&. Якщо +displays the contents of the failure log database (/var/log/faillog)\&. It can also set the failure counters and limits\&. When \fBfaillog\fR -запущено без аргументів, програма покаже лише записи користувачів, при спробах входу до системи яких сталася помилка\&. +is run without arguments, it only displays the faillog records of the users who had a login failure\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBfaillog\fR, є такими: +The options which apply to the +\fBfaillog\fR +command are: .PP \fB\-a\fR, \fB\-\-all\fR .RS 4 -Вивести (або виконати дію) над записами faillog для усіх користувачів, запис яких міститься у базі даних -faillog\&. +Display (or act on) faillog records for all users having an entry in the +faillog +database\&. .sp -Діапазон учасників можна обмежити за допомогою параметра -\fB\-u\fR\&. +The range of users can be restricted with the +\fB\-u\fR +option\&. .sp У режимі показу діапазон буде обмежено наявними користувачами, але буде примусово показано записи faillog, навіть якщо вони є порожніми\&. .sp -З параметрами +With the \fB\-l\fR, \fB\-m\fR, \fB\-r\fR, \fB\-t\fR -записи користувачів буде змінено, навіть якщо запису користувача не існує у системі\&. Це корисно для скидання записів користувачів, облікові записи яких було вилучено, або встановлення наперед правил для діапазону користувачів\&. +options, the users\*(Aq 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\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -66,42 +69,45 @@ faillog\&. Показати довідкове повідомлення і завершити роботу\&. .RE .PP -\fB\-l\fR, \fB\-\-lock\-secs\fR \fIСЕК\fR +\fB\-l\fR, \fB\-\-lock\-secs\fR\ \&\fISEC\fR .RS 4 -Заблокувати обліковий запис на -\fIСЕК\fR -секунд після невдалої спроби увійти до системи\&. +Lock account for +\fISEC\fR +seconds after failed login\&. .sp -Для користування цим параметром потрібен доступ до запису для файла -/var/log/faillog\&. +Write access to +/var/log/faillog +is required for this option\&. .RE .PP -\fB\-m\fR, \fB\-\-maximum\fR \fIМАКСИМУМ\fR +\fB\-m\fR, \fB\-\-maximum\fR\ \&\fIMAX\fR .RS 4 -Встановити максимальну кількість невдалих спроб, після якої обліковий запис буде вимкнено, у значення -\fIМАКСИМУМ\fR\&. +Set the maximum number of login failures after the account is disabled to +\fIMAX\fR\&. .sp -Вибір для -\fIМАКСИМУМ\fR -значення 0 призведе до усування обмеження на кількість невдалих спроб увійти до системи\&. +Selecting a +\fIMAX\fR +value of 0 has the effect of not placing a limit on the number of failed logins\&. .sp -Для +The maximum failure count should always be 0 for \fIroot\fR -максимальною кількістю невдалих спроб увійти до системи має завжди бути 0, щоб запобігти спробам атакувати систему, викликавши відмову в обслуговуванні\&. +to prevent a denial of services attack against the system\&. .sp -Для користування цим параметром потрібен доступ до запису для файла -/var/log/faillog\&. +Write access to +/var/log/faillog +is required for this option\&. .RE .PP \fB\-r\fR, \fB\-\-reset\fR .RS 4 Скинути лічильники помилок входу\&. .sp -Для користування цим параметром потрібен доступ до запису для файла -/var/log/faillog\&. +Write access to +/var/log/faillog +is required for this option\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -110,41 +116,43 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP -\fB\-t\fR, \fB\-\-time\fR \fIДНІ\fR +\fB\-t\fR, \fB\-\-time\fR\ \&\fIDAYS\fR .RS 4 -Показати записи faillog, які є свіжішими за -\fIДНІ\fR\&. +Display faillog records more recent than +\fIDAYS\fR\&. .RE .PP -\fB\-u\fR, \fB\-\-user\fR \fIЗАПИС\fR|\fIДІАПАЗОН\fR +\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR .RS 4 -Вивести запис журналу помилок або лічильників помилок і обмежень на помилки (якщо використано з +Display faillog record or maintains failure counters and limits (if used with \fB\-l\fR, \fB\-m\fR -або -\fB\-r\fR) лише для вказаних користувачів\&. +or +\fB\-r\fR +options) only for the specified user(s)\&. .sp -Користувачів можна задавати за обліковим записом для входу, числовим ідентифікатором користувача або значенням -\fIДІАПАЗОН\fR -для користувачів\&. -\fIДІАПАЗОН\fR -користувачів можна вказати за допомогою мінімального і максимального значень (\fIUID_MIN\-UID_MAX\fR), максимального значення (\fI\-UID_MAX\fR) або мінімального значення (\fIUID_MIN\-\fR)\&. +The users can be specified by a login name, a numerical user ID, or a +\fIRANGE\fR +of users\&. This +\fIRANGE\fR +of users can be specified with a min and max values (\fIUID_MIN\-UID_MAX\fR), a max value (\fI\-UID_MAX\fR), or a min value (\fIUID_MIN\-\fR)\&. .RE .PP -Якщо не вказано жодного з параметрів +When none of the \fB\-l\fR, -\fB\-m\fR -або -\fB\-r\fR, +\fB\-m\fR, or +\fB\-r\fR +options are used, \fBfaillog\fR -показує запис faillog вказаних користувачів\&. +displays the faillog record of the specified user(s)\&. .SH "ЗАСТЕРЕЖЕННЯ" .PP \fBfaillog\fR -виводить дані лише користувачів, які не мали успішних входів до системи з моменту останньої помилки\&. Щоб було виведено запис користувача, який успішно входив до системи з часу останньої помилки, вам слід явним чином надіслати запит щодо користувача за допомогою прапорця +only prints out users with no successful login since the last failure\&. To print out a user who has had a successful login since their last failure, you must explicitly request the user with the \fB\-u\fR -або наказати програмі вивести дані усіх користувачів за допомогою прапорця -\fB\-a\fR\&. +flag, or print out all users with the +\fB\-a\fR +flag\&. .SH "ФАЙЛИ" .PP /var/log/faillog diff --git a/man/uk/man8/groupadd.8 b/man/uk/man8/groupadd.8 index a6ac855e..62248dce 100644 --- a/man/uk/man8/groupadd.8 +++ b/man/uk/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "groupadd" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "groupadd" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,41 +31,45 @@ groupadd \- створення нової групи .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fIПАРАМЕТРИ\fR] \fIНОВА_ГРУПА\fR +\fBgroupadd\fR [\fIOPTIONS\fR] \fINEWGROUP\fR .SH "ОПИС" .PP -Команда +The \fBgroupadd\fR -створює обліковий запис групи з використанням значень, які вказано у командному рядку, і типових для системи значень\&. Запис нової групи буде додано до файлів системи, якщо у цьому буде потреба\&. +command creates a new group account using the values specified on the command line plus the default values from the system\&. The new group will be entered into the system files as needed\&. .PP Groupnames may contain only lower and upper case letters, digits, underscores, or dashes\&. They can end with a dollar sign\&. Dashes are not allowed at the beginning of the groupname\&. Fully numeric groupnames and groupnames \&. or \&.\&. are also disallowed\&. .PP Довжина назв груп не може перевищувати 32 символи\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBgroupadd\fR, є такими: +The options which apply to the +\fBgroupadd\fR +command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 -Використання цього параметра призведе до простого виходу з команди зі станом успіху, якщо вказана група вже існує\&. Якщо використано разом із -\fB\-g\fR, і вказаний GID вже існує, буде вибрано інший (унікальний) GID (тобто буде вимкнено -\fB\-g\fR)\&. +This option causes the command to simply exit with success status if the specified group already exists\&. When used with +\fB\-g\fR, and the specified GID already exists, another (unique) GID is chosen (i\&.e\&. +\fB\-g\fR +is turned off)\&. .RE .PP -\fB\-g\fR, \fB\-\-gid\fR \fIGID\fR +\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR .RS 4 -Числове значення ідентифікатора групи\&. +The numerical value of the group\*(Aqs ID\&. \fIGID\fR -має бути унікальним, якщо не використано параметр -\fB\-o\fR\&. Значення має бути невід\*(Aqємним\&. Типовим є використання найменшого значення ідентифікатора, яке дорівнює або перевищує -\fBМІНІМАЛЬНИЙ_GID\fR -і є більшим за значення ідентифікатора будь\-якої іншої групи\&. +must be unique, unless the +\fB\-o\fR +option is used\&. The value must be non\-negative\&. The default is to use the smallest ID value greater than or equal to +\fBGID_MIN\fR +and greater than every other group\&. .sp -Див\&. також описи параметрів +See also the \fB\-r\fR -і -\fBМАКСИМАЛЬНИЙ_GID\fR\&. +option and the +\fBGID_MAX\fR +description\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -73,47 +77,43 @@ Groupnames may contain only lower and upper case letters, digits, underscores, o Показати довідкове повідомлення і завершити роботу\&. .RE .PP -\fB\-K\fR, \fB\-\-key\fR \fIКЛЮЧ\fR=\fIЗНАЧЕННЯ\fR +\fB\-K\fR, \fB\-\-key\fR\ \&\fIKEY\fR=\fIVALUE\fR .RS 4 -Має пріоритет над типовими значенням у +Overrides /etc/login\&.defs -(GID_MIN, GID_MAX та іншими)\&. Може бути вказано декілька параметрів -\fB\-K\fR\&. +defaults (GID_MIN, GID_MAX and others)\&. Multiple +\fB\-K\fR +options can be specified\&. .sp -Приклад: -\fB\-K\fR -\fIМІНІМАЛЬНИЙ_GID\fR=\fI100\fR -\fB\-K\fR -\fIМАКСИМАЛЬНИЙ_GID\fR=\fI499\fR +Example: +\fB\-K\fR\ \&\fIGID_MIN\fR=\fI100\fR\ \& +\fB\-K\fR\ \&\fIGID_MAX\fR=\fI499\fR .sp -Зауваження: -\fB\-K\fR -\fIМІНІМАЛЬНИЙ_GID\fR=\fI10\fR,\fIМАКСИМАЛЬНИЙ_GID\fR=\fI499\fR -ще не працює\&. +Note: +\fB\-K\fR\ \&\fIGID_MIN\fR=\fI10\fR,\fIGID_MAX\fR=\fI499\fR +doesn\*(Aqt work yet\&. .RE .PP \fB\-o\fR, \fB\-\-non\-unique\fR .RS 4 -уможливлює створення груп із вже використаним числовим ідентифікатором\&. У результаті для цього -\fIGID\fR -прив\*(Aqязка до групи -\fIНОВА_ГРУПА\fR -може бути неунікальною\&. +permits the creation of a group with an already used numerical ID\&. As a result, for this +\fIGID\fR, the mapping towards group +\fINEWGROUP\fR +may not be unique\&. .RE .PP -\fB\-p\fR, \fB\-\-password\fR \fIПАРОЛЬ\fR +\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR .RS 4 -визначає початковий пароль до облікового запису групи\&. ПАРОЛЬ має бути зашифровано у форматі, який повертає -\fBcrypt\fR(3)\&. +defines an initial password for the group account\&. PASSWORD is expected to be encrypted, as returned by +\fBcrypt \fR(3)\&. .sp -Без цього параметра обліковий запис групи буде заблоковано; для нього також не буде визначено пароля, тобто у відповідному полі файла облікових записів системи +Without this option, the group account will be locked and with no password defined, i\&.e\&. a single exclamation mark in the respective field of ths system account file /etc/group -або -/etc/gshadow -буде вказано одинарний знак оклику\&. +or +/etc/gshadow\&. .sp -\fBЗауваження:\fR -не рекомендуємо користуватися цим параметром, оскільки пароль (або шифрований пароль) буде видимим для користувачів, які мають доступ до списку процесів\&. +\fBNote:\fR +This option is not recommended because the password (or encrypted password) will be visible by users listing the processes\&. .sp Вам слід переконатися, що пароль відповідає правилам складання паролів системи\&. .RE @@ -122,14 +122,14 @@ Groupnames may contain only lower and upper case letters, digits, underscores, o .RS 4 Створити загальносистемну групу\&. .sp -Числові ідентифікатори нових груп системи буде вибрано у діапазоні +The numeric identifiers of new system groups are chosen in the \fBSYS_GID_MIN\fR\-\fBSYS_GID_MAX\fR range, defined in -login\&.defs, замість діапазону -\fBМІНІМАЛЬНИЙ_GID\fR\-\fBМАКСИМАЛЬНИЙ_GID\fR\&. +login\&.defs, instead of +\fBGID_MIN\fR\-\fBGID_MAX\fR\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -138,30 +138,30 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP -\fB\-P\fR, \fB\-\-prefix\fR \fIКАТАЛОГ_ПРЕФІКСА\fR +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR .RS 4 -Застосувати зміни до файлів налаштувань у кореневій файловій системі з каталогу -\fIКАТАЛОГ_ПРЕФІКСА\fR\&. Використання цього параметра не змінює кореневої теки\&. Параметр призначено лише для приготування цілі для компіляції коду для іншої операційної системи\&. Обмеження: не буде виконано перевірку користувачів/груп NIS і LDAP\&. При розпізнаванні у PAM буде використано файли основної системи\&. Підтримки SELINUX не передбачено\&. +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. .RE .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 Список імен користувачів, яких слід додати як учасників групи\&. .sp -Типову поведінку (якщо не вказано параметрів +The default behavior (if the \fB\-g\fR, -\fB\-N\fR -і -\fB\-U\fR) буде визначено змінною +\fB\-N\fR, and +\fB\-U\fR +options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR -у +variable in /etc/login\&.defs\&. .RE .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/group @@ -182,44 +182,44 @@ directory\&. Only absolute paths are supported\&. .PP Не можна додавати групи NIS або LDAP\&. Для таких груп цю дію має бути виконано на відповідному сервері\&. .PP -Якщо назва групи вже існує у зовнішній базі даних груп, зокрема NIS або LDAP, +If the groupname already exists in an external group database such as NIS or LDAP, \fBgroupadd\fR -відмовить у запиті щодо створення групи\&. +will deny the group creation request\&. .SH "ЗНАЧЕННЯ ВИХОДУ" .PP -Команда +The \fBgroupadd\fR -завершує роботу із такими значеннями: +command exits with the following values: .PP \fI0\fR .RS 4 -успіх +success .RE .PP \fI2\fR .RS 4 -некоректний синтаксис команди +invalid command syntax .RE .PP \fI3\fR .RS 4 -некоректний аргумент параметра +invalid argument to option .RE .PP \fI4\fR .RS 4 -GID вже використано (якщо викликано без +GID is already used (when called without \fB\-o\fR) .RE .PP \fI9\fR .RS 4 -назву групи вже використано +group name is already used .RE .PP \fI10\fR .RS 4 -не вдалося оновити файл груп +can\*(Aqt update group file .RE .SH "ДИВ\&. ТАКОЖ" .PP diff --git a/man/uk/man8/groupdel.8 b/man/uk/man8/groupdel.8 index 1bc3ce7e..03822a5d 100644 --- a/man/uk/man8/groupdel.8 +++ b/man/uk/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "groupdel" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "groupdel" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,16 +31,18 @@ groupdel \- вилучення групи .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fIпараметри\fR] \fIGROUP\fR +\fBgroupdel\fR [\fIoptions\fR] \fIGROUP\fR .SH "ОПИС" .PP -Команда +The \fBgroupdel\fR -вносить зміни до файлів загальносистемних облікових записів, вилучаючи усі записи, які стосуються імені користувача\fIGROUP\fR\&. Іменована група має існувати\&. +command modifies the system account files, deleting all entries that refer to +\fIGROUP\fR\&. The named group must exist\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBgroupdel\fR, є такими: +The options which apply to the +\fBgroupdel\fR +command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 @@ -52,7 +54,7 @@ groupdel \- вилучення групи Показати довідкове повідомлення і завершити роботу\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -61,12 +63,13 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP -\fB\-P\fR, \fB\-\-prefix\fR \fIКАТАЛОГ_ПРЕФІКСА\fR +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR .RS 4 -Застосувати зміни до каталогу -\fIКАТАЛОГ_ПРЕФІКСА\fR -і використати файли налаштувань з каталогу -\fIКАТАЛОГ_ПРЕФІКСА\fR\&. Використання цього параметра не змінює кореневої теки\&. Параметр призначено лише для приготування цілі для компіляції коду для іншої операційної системи\&. Обмеження: не буде виконано перевірку користувачів/груп NIS і LDAP\&. При розпізнаванні у PAM буде використано файли основної системи\&. Підтримки SELINUX не передбачено\&. +Apply changes in the +\fIPREFIX_DIR\fR +directory and use the configuration files from the +\fIPREFIX_DIR\fR +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\&. .RE .SH "ЗАСТЕРЕЖЕННЯ" .PP @@ -75,9 +78,9 @@ directory\&. Only absolute paths are supported\&. Вам слід виконати перевірку усіх файлових систем вручну, щоб переконатися, щоб не лишилося жодних файлів, які належать цій групі\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/group @@ -91,33 +94,33 @@ directory\&. Only absolute paths are supported\&. .RE .SH "ЗНАЧЕННЯ ВИХОДУ" .PP -Команда +The \fBgroupdel\fR -завершує роботу із такими значеннями: +command exits with the following values: .PP \fI0\fR .RS 4 -успіх +success .RE .PP \fI2\fR .RS 4 -некоректний синтаксис команди +invalid command syntax .RE .PP \fI6\fR .RS 4 -вказаної групи не існує +specified group doesn\*(Aqt exist .RE .PP \fI8\fR .RS 4 -не вдалося вилучити основну групу користувача +can\*(Aqt remove user\*(Aqs primary group .RE .PP \fI10\fR .RS 4 -не вдалося оновити файл груп +can\*(Aqt update group file .RE .SH "ДИВ\&. ТАКОЖ" .PP diff --git a/man/uk/man8/groupmems.8 b/man/uk/man8/groupmems.8 index 997f6d26..41bfa1f1 100644 --- a/man/uk/man8/groupmems.8 +++ b/man/uk/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "groupmems" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "groupmems" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,46 +31,51 @@ groupmems \- адміністрування учасників основної групи користувача .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBgroupmems\fR\ 'u -\fBgroupmems\fR \-a\ \fIім\*(Aqя_користувача\fR | \-d\ \fIім\*(Aqя_користувача\fR | [\-g\ \fIназва_групи\fR] | \-l | \-p +\fBgroupmems\fR \-a\ \fIuser_name\fR | \-d\ \fIuser_name\fR | [\-g\ \fIgroup_name\fR] | \-l | \-p .SH "ОПИС" .PP -Команда +The \fBgroupmems\fR -надає змогу користувачеві адмініструвати список учасників власної групи без потреби у привілеях надкористувача\&. Допоміжну програму +command allows a user to administer their own group membership list without the requirement of superuser privileges\&. The \fBgroupmems\fR -призначено для систем, у яких облікові запис користувачів налаштовують так, щоб основною групою для них була група із назвою, яка збігається із назвою облікового запису користувача (тобто guest / guest)\&. +utility is for systems that configure its users to be in their own name sake primary group (i\&.e\&., guest / guest)\&. .PP -Лише надкористувач, як адміністратор, може використовувати +Only the superuser, as administrator, can use \fBgroupmems\fR -для зміни учасників інших груп\&. +to alter the memberships of other groups\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBgroupmems\fR, є такими: +The options which apply to the +\fBgroupmems\fR +command are: .PP -\fB\-a\fR, \fB\-\-add\fR \fIім\*(Aqя_користувача\fR +\fB\-a\fR, \fB\-\-add\fR\ \&\fIuser_name\fR .RS 4 Додати користувача до списку участі у групі\&. .sp -Якщо існує файл -/etc/gshadow, і у групи немає запису у файлі -/etc/gshadow, буде створено новий запис\&. +If the +/etc/gshadow +file exist, and the group has no entry in the +/etc/gshadow +file, a new entry will be created\&. .RE .PP -\fB\-d\fR, \fB\-\-delete\fR \fIім\*(Aqя_користувача\fR +\fB\-d\fR, \fB\-\-delete\fR\ \&\fIuser_name\fR .RS 4 Вилучити користувача зі списку участі у групі\&. .sp -Якщо файл +If the /etc/gshadow -існує, користувача буде вилучено зі списку учасників і адміністраторів групи\&. +file exist, the user will be removed from the list of members and administrators of the group\&. .sp -Якщо існує файл -/etc/gshadow, і у групи немає запису у файлі -/etc/gshadow, буде створено новий запис\&. +If the +/etc/gshadow +file exist, and the group has no entry in the +/etc/gshadow +file, a new entry will be created\&. .RE .PP -\fB\-g\fR, \fB\-\-group\fR \fIназва_групи\fR +\fB\-g\fR, \fB\-\-group\fR\ \&\fIgroup_name\fR .RS 4 Надкористувач може вказувати, до якого списку учасників груп слід внести зміни\&. .RE @@ -89,12 +94,14 @@ groupmems \- адміністрування учасників основної .RS 4 Витерти усіх користувачів зі списку учасників групи\&. .sp -Якщо існує файл -/etc/gshadow, і у групи немає запису у файлі -/etc/gshadow, буде створено новий запис\&. +If the +/etc/gshadow +file exist, and the group has no entry in the +/etc/gshadow +file, a new entry will be created\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -104,32 +111,37 @@ directory\&. Only absolute paths are supported\&. .RE .SH "КОНФІГУРАЦІЯ" .PP -Режимом доступу до виконуваного файла +The \fBgroupmems\fR -має бути +executable should be in mode 2710 -із власником +as user \fIroot\fR -і групою -\fIgroups\fR\&. Адміністратор системи може додавати користувачів до групи -\fIgroups\fR, щоб дозволити або заборонити їм користуватися програмою +and in group +\fIgroups\fR\&. The system administrator can add users to group +\fIgroups\fR +to allow or disallow them using the \fBgroupmems\fR -для керування списком учасників їхньої власної групи\&. +utility to manage their own group membership list\&. .sp .if n \{\ .RS 4 .\} .nf -$ groupadd \-r groups $ chmod 2710 groupmems $ chown root\&.groups groupmems $ groupmems \-g groups \-a gk4 + $ groupadd \-r groups + $ chmod 2710 groupmems + $ chown root:groups groupmems + $ groupmems \-g groups \-a gk4 + .fi .if n \{\ .RE .\} .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/group diff --git a/man/uk/man8/groupmod.8 b/man/uk/man8/groupmod.8 index 4251b826..b35a7eea 100644 --- a/man/uk/man8/groupmod.8 +++ b/man/uk/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "groupmod" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "groupmod" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,49 +31,50 @@ groupmod \- зміна визначення групи у системі .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fIпараметри\fR] \fIGROUP\fR +\fBgroupmod\fR [\fIoptions\fR] \fIGROUP\fR .SH "ОПИС" .PP -Команда +The \fBgroupmod\fR -змінює визначення вказаної аргументом групи -\fIGROUP\fR, вносячи зміни до відповідного запису у базі даних груп\&. +command modifies the definition of the specified +\fIGROUP\fR +by modifying the appropriate entry in the group database\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBgroupmod\fR, є такими: +The options which apply to the +\fBgroupmod\fR +command are: .PP -\fB\-a\fR, \fB\-\-append\fR \fIGID\fR +\fB\-a\fR, \fB\-\-append\fR\ \&\fIGID\fR .RS 4 Учасників групи вказують за допомогою параметра \-U\&. Записи буде дописано до наявного списку учасників, а не використано для заміни цього списку\&. .RE .PP -\fB\-g\fR, \fB\-\-gid\fR \fIGID\fR +\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGID\fR .RS 4 -Ідентифікатор групи вказаного запису +The group ID of the given \fIGROUP\fR -буде змінено на +will be changed to \fIGID\fR\&. .sp -Значенням +The value of \fIGID\fR -має бути невід\*(Aqємне десяткове ціле число\&. Це значення має бути унікальним, якщо не використано параметр -\fB\-o\fR\&. +must be a non\-negative decimal integer\&. This value must be unique, unless the +\fB\-o\fR +option is used\&. .sp Записи користувачів, які використовують групу, як основну групу, буде оновлено з метою збереження групи, як їхньої основної групи\&. .sp -Ідентифікатор групи усіх файли, власником яких є група зі старим ідентифікатором, і які мають належати -\fIGROUP\fR, доведеться змінити вручну\&. +Any files that have the old group ID and must continue to belong to +\fIGROUP\fR, must have their group ID changed manually\&. .sp -Перевірок щодо -\fBМІНІМАЛЬНИЙ_GID\fR, -\fBМАКСИМАЛЬНИЙ_GID\fR, -\fBSYS_GID_MIN\fR -або +No checks will be performed with regard to the +\fBGID_MIN\fR, +\fBGID_MAX\fR, +\fBSYS_GID_MIN\fR, or \fBSYS_GID_MAX\fR -з -/etc/login\&.defs -виконано не буде\&. +from +/etc/login\&.defs\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -81,34 +82,36 @@ groupmod \- зміна визначення групи у системі Показати довідкове повідомлення і завершити роботу\&. .RE .PP -\fB\-n\fR, \fB\-\-new\-name\fR \fIНОВА_ГРУПА\fR +\fB\-n\fR, \fB\-\-new\-name\fR\ \&\fINEW_GROUP\fR .RS 4 -Назву групи буде змінено з +The name of the group will be changed from \fIGROUP\fR -на -\fIНОВА_ГРУПА\fR\&. +to +\fINEW_GROUP\fR +name\&. .RE .PP \fB\-o\fR, \fB\-\-non\-unique\fR .RS 4 -Якщо використано у поєднанні із параметром -\fB\-g\fR, дозволити зміну групи +When used with the +\fB\-g\fR +option, allow to change the group \fIGID\fR -на неунікальне значення\&. +to a non\-unique value\&. .RE .PP -\fB\-p\fR, \fB\-\-password\fR \fIПАРОЛЬ\fR +\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR .RS 4 -Зашифрований пароль, як його повертає +The encrypted password, as returned by \fBcrypt\fR(3)\&. .sp -\fBЗауваження:\fR -не рекомендуємо користуватися цим параметром, оскільки пароль (або шифрований пароль) буде видимим для користувачів, які мають доступ до списку процесів\&. +\fBNote:\fR +This option is not recommended because the password (or encrypted password) will be visible by users listing the processes\&. .sp Вам слід переконатися, що пароль відповідає правилам складання паролів системи\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -117,32 +120,33 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP -\fB\-P\fR, \fB\-\-prefix\fR \fIКАТАЛОГ_ПРЕФІКСА\fR +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR .RS 4 -Застосувати зміни до каталогу -\fIКАТАЛОГ_ПРЕФІКСА\fR -і використати файли налаштувань з каталогу -\fIКАТАЛОГ_ПРЕФІКСА\fR\&. Використання цього параметра не змінює кореневої теки\&. Параметр призначено лише для приготування цілі для компіляції коду для іншої операційної системи\&. Обмеження: не буде виконано перевірку користувачів/груп NIS і LDAP\&. При розпізнаванні у PAM буде використано файли основної системи\&. Підтримки SELINUX не передбачено\&. +Apply changes in the +\fIPREFIX_DIR\fR +directory and use the configuration files from the +\fIPREFIX_DIR\fR +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\&. .RE .PP \fB\-U\fR, \fB\-\-users\fR .RS 4 Список імен користувачів, яких слід додати як учасників групи\&. .sp -Типову поведінку (якщо не вказано параметрів +The default behavior (if the \fB\-g\fR, -\fB\-N\fR -і -\fB\-U\fR) буде визначено змінною +\fB\-N\fR, and +\fB\-U\fR +options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR -у +variable in /etc/login\&.defs\&. .RE .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/group @@ -166,58 +170,58 @@ directory\&. Only absolute paths are supported\&. .RE .SH "ЗНАЧЕННЯ ВИХОДУ" .PP -Команда +The \fBgroupmod\fR -завершує роботу із такими значеннями: +command exits with the following values: .PP \fI0\fR .RS 4 -E_SUCCESS: успіх +E_SUCCESS: success .RE .PP \fI2\fR .RS 4 -E_USAGE: некоректний синтаксис команди +E_USAGE: invalid command syntax .RE .PP \fI3\fR .RS 4 -E_BAD_ARG: некоректний аргумент параметра +E_BAD_ARG: invalid argument to option .RE .PP \fI4\fR .RS 4 -E_GID_IN_USE: ідентифікатор групи вже використано +E_GID_IN_USE: group id already in use .RE .PP \fI6\fR .RS 4 -E_NOTFOUND: вказаної групи не існує +E_NOTFOUND: specified group doesn\*(Aqt exist .RE .PP \fI9\fR .RS 4 -E_NAME_IN_USE: назву групи вже використано +E_NAME_IN_USE: group name already in use .RE .PP \fI10\fR .RS 4 -E_GRP_UPDATE: не вдалося оновити файл групи +E_GRP_UPDATE: can\*(Aqt update group file .RE .PP \fI11\fR .RS 4 -E_CLEANUP_SERVICE: не вдалося налаштувати службу чищення +E_CLEANUP_SERVICE: can\*(Aqt setup cleanup service .RE .PP \fI12\fR .RS 4 -E_PAM_USERNAME: не вдалося визначити ваше ім\*(Aqя користувача для використання разом із pam +E_PAM_USERNAME: can\*(Aqt determine your username for use with pam .RE .PP \fI13\fR .RS 4 -E_PAM_ERROR: pam повернуто повідомлення про помилку, див\&. ідентифікатор groupmod у журналі syslog, щоб ознайомитися із повідомленням про помилку PAM +E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the PAM error message .RE .SH "ДИВ\&. ТАКОЖ" .PP diff --git a/man/uk/man8/grpck.8 b/man/uk/man8/grpck.8 index 134d7d1f..f6bc1417 100644 --- a/man/uk/man8/grpck.8 +++ b/man/uk/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "grpck" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "grpck" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,15 +31,15 @@ grpck \- перевірка цілісності файлів груп .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [параметри] [\fIгрупа\fR\ [\ \fIshadow\fR\ ]] +\fBgrpck\fR [options] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] .SH "ОПИС" .PP -Команду +The \fBgrpck\fR -призначено для перевірки цілісності даних щодо груп\&. Вона перевіряє, чи усі записи у +command verifies the integrity of the groups information\&. It checks that all entries in /etc/group 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\&. .PP Буде виконано перевірки з метою переконатися, що кожен запис має: .sp @@ -97,32 +97,36 @@ and /etc/gshadow .sp -1 .IP \(bu 2.3 .\} -відповідний запис у файлі +a corresponding entry in the /etc/gshadow -(відповідно, +file (respectively /etc/group -для перевірок -gshadow) +for the +gshadow +checks) .RE .PP -Перевірки належної кількості полів та унікальності назв груп є критичними\&. Якщо у записі помилкова кількість полів, програма попросить користувача вилучити увесь рядок\&. Якщо користувач не підтвердить дію з вилучення, усі наступні перевірки буде пропущено\&. Якщо буде виявлено запис із дублюванням групи, програма попросить вилучити його, але якщо у цьому буде відмовлено, виконає решту перевірок\&. Усі інші помилки вважатимуться незначними \(em користувачу буде рекомендовано віддати команду -\fBgroupmod\fR, щоб виправити помилку\&. +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 +\fBgroupmod\fR +command to correct the error\&. .PP -Команди, які мають справу з +The commands which operate on the /etc/group -and /etc/gshadow files, не зможуть змінити пошкоджені або дубльовані записи\&. У цих випадках слід скористатися +and /etc/gshadow files +are not able to alter corrupted or duplicated entries\&. \fBgrpck\fR -для вилучення помилкових записів\&. +should be used in those circumstances to remove the offending entries\&. .SH "ПАРАМЕТРИ" .PP -Параметри +The \fB\-r\fR -і +and \fB\-s\fR -не можна поєднувати\&. +options cannot be combined\&. .PP -Параметри, які застосовують до команди -\fBgrpck\fR, є такими: +The options which apply to the +\fBgrpck\fR +command are: .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 @@ -131,14 +135,14 @@ and /etc/gshadow files, не зможуть змінити пошкоджені .PP \fB\-r\fR, \fB\-\-read\-only\fR .RS 4 -Виконати команду +Execute the \fBgrpck\fR -у режимі лише читання\&. Це призведе до того, що програма вважатиме відповідями на усі свої питання значення +command in read\-only mode\&. This causes all questions regarding changes to be answered \fIno\fR -і ні про що не запитуватиме користувача\&. +without user intervention\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -149,32 +153,32 @@ directory\&. Only absolute paths are supported\&. .PP \fB\-s\fR, \fB\-\-sort\fR .RS 4 -Упорядкувати записи у +Sort entries in /etc/group and /etc/gshadow -за GID\&. +by GID\&. .RE .PP \fB\-S\fR, \fB\-\-silence\-warnings\fR .RS 4 -Придушити сумнівні попередження, зокрема попередження щодо неузгодженості між списками учасників групи у +Suppress more controversial warnings, in particular warnings about inconsistency between group members listed in /etc/group -і +and /etc/ghadow\&. .RE .PP -Типово, +By default, \fBgrpck\fR -працює з +operates on /etc/group -and /etc/gshadow\&. Користувач може вибрати альтернативні файли за допомогою -\fIгрупа\fR +and /etc/gshadow\&. The user may select alternate files with the +\fIgroup\fR and \fIshadow\fR parameters\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/group @@ -193,42 +197,42 @@ and \fIshadow\fR parameters\&. .RE .SH "ЗНАЧЕННЯ ВИХОДУ" .PP -Команда +The \fBgrpck\fR -завершує роботу із такими значеннями: +command exits with the following values: .PP \fI0\fR .RS 4 -успіх +success .RE .PP \fI1\fR .RS 4 -некоректний синтаксис команди +invalid command syntax .RE .PP \fI2\fR .RS 4 -один або декілька помилкових записів груп +one or more bad group entries .RE .PP \fI3\fR .RS 4 -не вдалося відкрити файли груп +can\*(Aqt open group files .RE .PP \fI4\fR .RS 4 -не вдалося заблокувати файли груп +can\*(Aqt lock group files .RE .PP \fI5\fR .RS 4 -не вдалося оновити файли груп +can\*(Aqt update group files .RE .SH "ДИВ\&. ТАКОЖ" .PP -\fBгрупа\fR(5), +\fBgroup\fR(5), \fBgroupmod\fR(8), \fBgshadow\fR(5), \fBpasswd\fR(5), diff --git a/man/uk/man8/lastlog.8 b/man/uk/man8/lastlog.8 index d37b7779..440f83a8 100644 --- a/man/uk/man8/lastlog.8 +++ b/man/uk/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "lastlog" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "lastlog" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,31 +31,33 @@ lastlog \- виведення даних щодо останнього входу до системи для усіх користувачів або для вказаного користувача\&. .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fIпараметри\fR] +\fBlastlog\fR [\fIoptions\fR] .SH "ОПИС" .PP \fBlastlog\fR -форматує і виводить вміст журналу записів останнього входу до системи у файлі -/var/log/lastlog\&. Буде виведено дані -\fIім\*(Aqя користувача\fR, -\fIпорт\fR -і -\fIчас останнього входу до системи\fR\&. Типовий варіант (без прапорців) призведе до виведення записів lastlog, які буде упорядковано за порядком у +formats and prints the contents of the last login log +/var/log/lastlog +file\&. The +\fIlogin\-name\fR, +\fIport\fR, and +\fIlast login time\fR +will be printed\&. The default (no flags) causes lastlog entries to be printed, sorted by their order in /etc/passwd\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBlastlog\fR, є такими: +The options which apply to the +\fBlastlog\fR +command are: .PP -\fB\-b\fR, \fB\-\-before\fR \fIДНІ\fR +\fB\-b\fR, \fB\-\-before\fR\ \&\fIDAYS\fR .RS 4 -Вивести лише ті записи lastlog, вік яких перевищує -\fIДНІ\fR\&. +Print only lastlog records older than +\fIDAYS\fR\&. .RE .PP \fB\-C\fR, \fB\-\-clear\fR .RS 4 -Вилучити запис lastlog користувача\&. Цей параметр можна використовувати лише разом із +Clear lastlog record of a user\&. This option can be used only together with \fB\-u\fR (\fB\-\-user\fR))\&. .RE @@ -65,7 +67,7 @@ lastlog \- виведення даних щодо останнього вход Показати довідкове повідомлення і завершити роботу\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -76,48 +78,45 @@ directory\&. Only absolute paths are supported\&. .PP \fB\-S\fR, \fB\-\-set\fR .RS 4 -Встановити для запису lastlog користувача поточний час\&. Цей параметр можна використовувати лише разом із +Set lastlog record of a user to the current time\&. This option can be used only together with \fB\-u\fR (\fB\-\-user\fR))\&. .RE .PP -\fB\-t\fR, \fB\-\-time\fR \fIДНІ\fR +\fB\-t\fR, \fB\-\-time\fR\ \&\fIDAYS\fR .RS 4 -Вивести записи lastlog, які є свіжішими за -\fIДНІ\fR\&. +Print the lastlog records more recent than +\fIDAYS\fR\&. .RE .PP -\fB\-u\fR, \fB\-\-user\fR \fIЗАПИС\fR|\fIДІАПАЗОН\fR +\fB\-u\fR, \fB\-\-user\fR\ \&\fILOGIN\fR|\fIRANGE\fR .RS 4 Вивести запис lastlog для вказаних користувачів\&. .sp -Користувачів можна задавати за обліковим записом для входу, числовим ідентифікатором користувача або значенням -\fIДІАПАЗОН\fR -для користувачів\&. -\fIДІАПАЗОН\fR -користувачів можна вказати за допомогою мінімального і максимального значень (\fIUID_MIN\-UID_MAX\fR), максимального значення (\fI\-UID_MAX\fR) або мінімального значення (\fIUID_MIN\-\fR)\&. +The users can be specified by a login name, a numerical user ID, or a +\fIRANGE\fR +of users\&. This +\fIRANGE\fR +of users can be specified with a min and max values (\fIUID_MIN\-UID_MAX\fR), a max value (\fI\-UID_MAX\fR), or a min value (\fIUID_MIN\-\fR)\&. .RE .PP -Якщо користувач ніколи не входив до системи, буде виведено повідомлення -\fI** Ніколи не входив **\fR -замість порту і часу\&. +If the user has never logged in the message +\fI** Never logged in**\fR +will be displayed instead of the port and time\&. .PP Буде виведено записи лише для поточних користувачів системи\&. У системі можуть існувати дані для записів користувачів, які було раніше вилучено\&. .SH "ЗАУВАЖЕННЯ" .PP -Файл +The lastlog -є базою даних, які містить дані щодо останнього входу до системи кожного з користувачів\&. Вам не слід оновлювати його вміст вручну\&. Це розріджений файл, тому його розмір на диску, зазвичай, є набагато меншим за показаний -\fBls \-l\fR -(ця команда може показати дуже великий розмір, якщо у вашому +file is a database which contains info on the last login of each user\&. You should not rotate it\&. It is a sparse file, so its size on the disk is usually much smaller than the one shown by "\fBls \-l\fR" (which can indicate a really big file if you have in passwd -є записи із великими значеннями UID)\&. Переглянути справжній розмір файла можна за допомогою команди -\fBls \-s\fR\&. +users with a high UID)\&. You can display its real size with "\fBls \-s\fR"\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /var/log/lastlog @@ -129,5 +128,5 @@ passwd Великі прогалини у числах UID призведуть до того, що програма lastlog працюватиме довше без виведення даних на екран (тобто, якщо у базі даних lastlog немає записів для користувачів із UID між 170 і 800, може здатися, що lastlog зависла, доки програма обробляє UID у діапазоні 171\-799)\&. .PP Наявність великих значень UID може створити проблеми при обробці -/var/log/lastlog + /var/log/lastlog за допомогою зовнішніх інструментів\&. Хоча сам файл є розрідженим і він не використовує надто багато місця на диску, деякі програми типово не призначено для визначення розріджених файлів \(em такі програми можуть потребувати для обробки певного параметра\&. diff --git a/man/uk/man8/logoutd.8 b/man/uk/man8/logoutd.8 index 12069137..3cf85f02 100644 --- a/man/uk/man8/logoutd.8 +++ b/man/uk/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "logoutd" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "logoutd" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -35,13 +35,15 @@ logoutd \- примусово застосувати обмеження щодо .SH "ОПИС" .PP \fBlogoutd\fR -накладає обмеження на час входу та порт, які вказано у +enforces the login time and port restrictions specified in /etc/porttime\&. \fBlogoutd\fR -має бути запущено з -/etc/rc\&. Система виконуватиме регулярне сканування -/var/run/utmp\&. Буде виконано перевірку кожного користувача з метою визначення того, чи має доступ користувач до іменованого порту у поточний момент часу\&. Усі сеанси роботи, які порушуватимуть обмеження у -/etc/porttime, буде перервано\&. +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 +/etc/porttime +is terminated\&. .SH "ФАЙЛИ" .PP /etc/porttime diff --git a/man/uk/man8/newusers.8 b/man/uk/man8/newusers.8 index 61d72dd8..9bb406a1 100644 --- a/man/uk/man8/newusers.8 +++ b/man/uk/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "newusers" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "newusers" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,15 +31,15 @@ newusers \- пакетне оновлення і створення облікових записів користувачів .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fIпараметри\fR] [\fIфайл\fR] +\fBnewusers\fR [\fIoptions\fR] [\fIfile\fR] .SH "ОПИС" .PP -Команда +The \fBnewusers\fR -читає -\fIфайл\fR -(або, типово, стандартного джерела вхідних даних) і використовує ці дані для оновлення набору наявних записів користувачів або створення записів нових користувачів\&. Кожен рядок записано у тому самому форматі, що і стандартний файл паролів (див\&. -\fBpasswd\fR(5))\&. Винятки з цього правила описано нижче: +command reads a +\fIfile\fR +(or the standard input by default) and uses this information to update a set of existing users or to create new users\&. Each line is in the same format as the standard password file (see +\fBpasswd\fR(5)) with the exceptions explained below: .PP pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell .PP @@ -47,8 +47,8 @@ pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell .RS 4 Це ім\*(Aqя користувача\&. .sp -Це може бути ім\*(Aqя нового користувача або ім\*(Aqя наявного користувача (або користувача, запис якого створено раніше за допомогою -\fBnewusers\fR)\&. У випадку наявного користувача буде змінено дані щодо користувача\&. Якщо запису користувача не існуватиме, його буде створено\&. +It can be the name of a new user or the name of an existing user (or a user created before by +\fBnewusers\fR)\&. In case of an existing user, the user\*(Aqs information will be changed, otherwise a new user will be created\&. .RE .PP \fIpw_passwd\fR @@ -60,14 +60,13 @@ pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell .RS 4 Це поле буде використано для визначення UID користувача\&. .sp -Якщо поле є порожнім, новий (невикористаний) UID буде визначено -\fBnewusers\fR -автоматично\&. +If the field is empty, a new (unused) UID will be defined automatically by +\fBnewusers\fR\&. .sp Якщо у цьому полі міститься число, це число буде використано як UID\&. .sp -Якщо у цьому полі міститься ім\*(Aqя наявного користувача (або ім\*(Aqя користувача, запис якого було створено раніше за допомогою -\fBnewusers\fR), буде використано UID вказаного користувача\&. +If this field contains the name of an existing user (or the name of a user created before by +\fBnewusers\fR), the UID of the specified user will be used\&. .sp Якщо буде змінено UID наявного користувача, власність на файли файла користувача має бути виправлено вручну\&. .RE @@ -76,19 +75,19 @@ pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell .RS 4 Це поле використовують для визначення ідентифікатора основної групи користувача\&. .sp -Якщо у цьому полі міститься ім\*(Aqя наявної групи (або групи, яку раніше створено за допомогою -\fBnewusers\fR), GID цієї групи буде використано як ідентифікатор основної групи користувача\&. +If this field contains the name of an existing group (or a group created before by +\fBnewusers\fR), the GID of this group will be used as the primary group ID for the user\&. .sp Якщо у цьому полі записано число, це число буде використано як ідентифікатор основної групи користувача\&. Якщо груп із цим GID не існує, буде створено нову групу з цим GID і назвою, яка збігається із іменем користувача\&. .sp -Якщо це поле є порожнім, буде створено нову групу із назвою, яка збігається із іменем користувача, а GID буде автоматично визначено за допомогою +If this field is empty, a new group will be created with the name of the user and a GID will be automatically defined by \fBnewusers\fR -для використання як ідентифікатора основної групи для користувача і як GID для нової групи\&. +to be used as the primary group ID for the user and as the GID for the new group\&. .sp -Якщо у цьому полі міститься назва групи, якої не існує (і її не було створено раніше за допомогою -\fBnewusers\fR), буде створено нову групу із вказаною назвою, а GID буде автоматично визначено за допомогою +If this field contains the name of a group which does not exist (and was not created before by +\fBnewusers\fR), a new group will be created with the specified name and a GID will be automatically defined by \fBnewusers\fR -для використання як ідентифікатора основної групи для користувача і GID для нової групи\&. +to be used as the primary group ID for the user and GID for the new group\&. .RE .PP \fIpw_gecos\fR @@ -100,13 +99,13 @@ pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell .RS 4 Це поле призначено для визначення домашнього каталогу користувача\&. .sp -Якщо це поле не вказує на наявний каталог, вказаний каталог буде створено\&. Власником буде користувач, обліковий запис якого буде створено або оновлено, та його основна група\&. Зауважте, що -\fInewusers не створює батьківських каталогів\fR -домашнього каталогу нового користувача\&. Команда newusers не зможе створити домашній каталог, якщо не існує батьківських щодо нього каталогів, і надішле повідомлення до stderr із інформуванням користувача про помилку\&. Команда newusers не перерве роботу і не поверне помилку до оболонки, з якої її віддано, якщо їй не вдасться створити домашній каталог, а продовжить обробку пакета вказаних нових користувачів\&. +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\&. Note that +\fInewusers does not create parent directories \fR +of the new user\*(Aqs home directory\&. The newusers command will fail to create the home directory if the parent directories do not exist, and will send a message to stderr informing the user of the failure\&. The newusers command will not halt or return a failure to the calling shell if it fails to create the home directory, it will continue to process the batch of new users specified\&. .sp -Якщо буде змінено домашній каталог наявного користувача, +If the home directory of an existing user is changed, \fBnewusers\fR -не пересуватиме і не копіюватиме вміст старого каталогу до нового місця\&. Це доведеться зробити вручну\&. +does not move or copy the content of the old directory to the new location\&. This should be done manually\&. .RE .PP \fIpw_shell\fR @@ -115,13 +114,14 @@ pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell .RE .PP \fBnewusers\fR -спочатку намагається створити або змінити дані усіх вказаних користувачів, а потім записує ці зміни до баз даних користувачів або груп\&. Якщо станеться помилка (окрім остаточного запису до баз даних), змін до баз даних не вноситимуться\&. +first tries to create or change all the specified users, and then write these changes to the user or group databases\&. If an error occurs (except in the final writes to the databases), no changes are committed to the databases\&. .PP Цю команду призначено для використання у великих системних середовищах, де одночасно оновлюють багато облікових записів\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBnewusers\fR, є такими: +The options which apply to the +\fBnewusers\fR +command are: .PP \fB\-\-badname\fR\ \& .RS 4 @@ -144,17 +144,18 @@ pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell .RS 4 Створити загальносистемний обліковий запис\&. .sp -Записи загальносистемних користувачів буде створено без даних щодо застарівання у -/etc/shadow, а їхні числові ідентифікатори буде вибрано у діапазоні -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR, який визначено у -login\&.defs, а не у +System users will be created with no aging information in +/etc/shadow, and their numeric identifiers are chosen in the +\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR +range, defined in +login\&.defs, instead of \fBUID_MIN\fR\-\fBUID_MAX\fR -(та їхніх відповідників +(and their \fBGID\fR -для створення груп)\&. +counterparts for the creation of groups)\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -167,14 +168,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 Використати вказану кількість циклів шифрування паролів\&. .sp -Значення 0 означає, що система вибере типову кількість проходів для методу шифрування (5000)\&. +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -Буде примусово встановлено мінімальне значення 1000 і максимальне значення 999999999\&. -.sp -Ви можете скористатися цим параметром у поєднанні із методами шифрування SHA256 або SHA512\&. -.sp -Типово, кількість проходів визначається за допомогою змінних SHA_CRYPT_MIN_ROUNDS і SHA_CRYPT_MAX_ROUNDS у +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 /etc/login\&.defs\&. +.sp +A minimal value of 1000 and a maximal value of 999,999,999 will be enforced for SHA256 and SHA512\&. The default is 5000\&. .RE .SH "ЗАСТЕРЕЖЕННЯ" .PP @@ -183,9 +183,9 @@ directory\&. Only absolute paths are supported\&. Вам слід переконатися, що паролі і метод шифрування відповідає правилам поводження з паролями у системі\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: diff --git a/man/uk/man8/nologin.8 b/man/uk/man8/nologin.8 index ee731e2f..9bb56b98 100644 --- a/man/uk/man8/nologin.8 +++ b/man/uk/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "nologin" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "nologin" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -34,21 +34,22 @@ nologin \- увічливо відмовити у вході до системи \fBnologin\fR .SH "ОПИС" .PP -Команда +The \fBnologin\fR -виводить повідомлення про те, що обліковий запис є недоступним, і завершує роботу із ненульовим станом\&. Команду призначено на заміну поля командної оболонки для облікових записів, які було вимкнено\&. +command displays a message that an account is not available and exits non\-zero\&. It is intended as a replacement shell field for accounts that have been disabled\&. .PP -Щоб взагалі вимкнути можливість входу, ознайомтеся із документацією до +To disable all logins, investigate \fBnologin\fR(5)\&. .PP -Якщо встановлено значення -\fBSSH_ORIGINAL_COMMAND\fR, дані буде записано до журналу\&. +If +\fBSSH_ORIGINAL_COMMAND\fR +is populated it will be logged\&. .SH "ДИВ\&. ТАКОЖ" .PP \fBlogin\fR(1), \fBnologin\fR(5)\&. .SH "ІСТОРІЯ" .PP -Команда +The \fBnologin\fR -з\*(Aqявилася у BSD 4\&.4\&. +command appeared in BSD 4\&.4\&. diff --git a/man/uk/man8/pwck.8 b/man/uk/man8/pwck.8 index 8fdc3f72..90aea0fa 100644 --- a/man/uk/man8/pwck.8 +++ b/man/uk/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "pwck" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "pwck" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,15 +31,16 @@ pwck \- перевірка цілісності файлів паролів .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [параметри] [\fIФАЙЛ_ПАРОЛІВ\fR\ [\ \fIФАЙЛ_SHADOW\fR\ ]] +\fBpwck\fR [options] [\fIPASSWORDFILE\fR\ [\ \fISHADOWFILE\fR\ ]] .SH "ОПИС" .PP -Команду +The \fBpwck\fR -призначено для перевірки цілісності даних щодо користувачів і розпізнавання\&. Вона перевіряє, чи усі записи у +command verifies the integrity of the users and authentication information\&. It checks that all entries in /etc/passwd -і -/etc/shadowмають належне форматування і містять чинні дані\&. Програма попросить користувача вилучити записи із помилковим форматуванням або іншими непридатними до виправлення помилками\&. +and +/etc/shadow +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\&. .PP Буде виконано перевірки з метою переконатися, що кожен запис має: .sp @@ -109,10 +110,11 @@ pwck \- перевірка цілісності файлів паролів чинна оболонка входу .RE .PP -Перевірки для даних прихованих паролів буде увімкнено, якщо вказано другий параметр файла -\fIФАЙЛ_SHADOW\fR -або якщо у системі існує -/etc/shadow\&. +Checks for shadowed password information are enabled when the second file parameter +\fISHADOWFILE\fR +is specified or when +/etc/shadow +exists on the system\&. .PP Цими перевірками є такі: .sp @@ -171,23 +173,26 @@ pwck \- перевірка цілісності файлів паролів останні зміни паролів не позначено часовими позначками у майбутньому .RE .PP -Перевірки належної кількості полів та унікальності імен користувачів є критичними\&. Якщо у записі помилкова кількість полів, програма попросить користувача вилучити увесь рядок\&. Якщо користувач не підтвердить дію з вилучення, усі наступні перевірки буде пропущено\&. Якщо буде виявлено запис із дублюванням імені користувача, програма попросить вилучити його, але якщо у цьому буде відмовлено, виконає решту перевірок\&. Усі інші помилки вважатимуться незначними \(em користувачу буде рекомендовано віддати команду -\fBusermod\fR, щоб виправити помилку\&. +The checks for correct number of fields and unique user name are fatal\&. If the entry has the wrong number of fields, the user will be prompted to delete the entire line\&. If the user does not answer affirmatively, all further checks are bypassed\&. An entry with a duplicated user name is prompted for deletion, but the remaining checks will still be made\&. All other errors are warnings and the user is encouraged to run the +\fBusermod\fR +command to correct the error\&. .PP -Команди, які мають справу з файлом -/etc/passwd, не зможуть змінити пошкоджені або дубльовані записи\&. У цих випадках слід скористатися +The commands which operate on the +/etc/passwd +file are not able to alter corrupted or duplicated entries\&. \fBpwck\fR -для вилучення помилкового запису\&. +should be used in those circumstances to remove the offending entry\&. .SH "ПАРАМЕТРИ" .PP -Параметри +The \fB\-r\fR -і +and \fB\-s\fR -не можна поєднувати\&. +options cannot be combined\&. .PP -Параметри, які застосовують до команди -\fBpwck\fR, є такими: +The options which apply to the +\fBpwck\fR +command are: .PP \fB\-\-badname\fR\ \& .RS 4 @@ -206,12 +211,12 @@ pwck \- перевірка цілісності файлів паролів .PP \fB\-r\fR, \fB\-\-read\-only\fR .RS 4 -Виконати команду +Execute the \fBpwck\fR -у режимі лише читання\&. +command in read\-only mode\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -222,27 +227,28 @@ directory\&. Only absolute paths are supported\&. .PP \fB\-s\fR, \fB\-\-sort\fR .RS 4 -Упорядкувати записи у +Sort entries in /etc/passwd -і +and /etc/shadow -за UID\&. +by UID\&. .RE .PP -Типово, +By default, \fBpwck\fR -працює з файлами +operates on the files /etc/passwd -і -/etc/shadow\&. Користувач може вибрати альтернативні файли за допомогою параметрів +and +/etc/shadow\&. The user may select alternate files with the \fIpasswd\fR -і -\fIshadow\fR\&. +and +\fIshadow\fR +parameters\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/group @@ -261,47 +267,47 @@ directory\&. Only absolute paths are supported\&. .RE .SH "ЗНАЧЕННЯ ВИХОДУ" .PP -Команда +The \fBpwck\fR -завершує роботу із такими значеннями: +command exits with the following values: .PP \fI0\fR .RS 4 -успіх +success .RE .PP \fI1\fR .RS 4 -некоректний синтаксис команди +invalid command syntax .RE .PP \fI2\fR .RS 4 -одна або декілька невдалих спроб ввести пароль +one or more bad password entries .RE .PP \fI3\fR .RS 4 -не вдалося відкрити файли паролів +can\*(Aqt open password files .RE .PP \fI4\fR .RS 4 -не вдалося заблокувати файли паролів +can\*(Aqt lock password files .RE .PP \fI5\fR .RS 4 -не вдалося оновити файли паролів +can\*(Aqt update password files .RE .PP \fI6\fR .RS 4 -не вдалося упорядкувати файли паролів +can\*(Aqt sort password files .RE .SH "ДИВ\&. ТАКОЖ" .PP -\fBгрупа\fR(5), +\fBgroup\fR(5), \fBgrpck\fR(8), \fBpasswd\fR(5), \fBshadow\fR(5), diff --git a/man/uk/man8/pwconv.8 b/man/uk/man8/pwconv.8 index 8264a36e..0ec72915 100644 --- a/man/uk/man8/pwconv.8 +++ b/man/uk/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "pwconv" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "pwconv" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,98 +31,98 @@ pwconv, pwunconv, grpconv, grpunconv \- перетворення на приховані паролі і групи, і навпаки .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBpwconv\fR\ 'u -\fBpwconv\fR [\fIпараметри\fR] +\fBpwconv\fR [\fIoptions\fR] .HP \w'\fBpwunconv\fR\ 'u -\fBpwunconv\fR [\fIпараметри\fR] +\fBpwunconv\fR [\fIoptions\fR] .HP \w'\fBgrpconv\fR\ 'u -\fBgrpconv\fR [\fIпараметри\fR] +\fBgrpconv\fR [\fIoptions\fR] .HP \w'\fBgrpunconv\fR\ 'u -\fBgrpunconv\fR [\fIпараметри\fR] +\fBgrpunconv\fR [\fIoptions\fR] .SH "ОПИС" .PP -Команда +The \fBpwconv\fR -створює +command creates \fIshadow\fR -на основі +from \fIpasswd\fR -і, необов\*(Aqязково, наявного +and an optionally existing \fIshadow\fR\&. .PP -Команда +The \fBpwunconv\fR -створює +command creates \fIpasswd\fR -на основі +from \fIpasswd\fR -і -\fIshadow\fR, а потім вилучає +and +\fIshadow\fR +and then removes \fIshadow\fR\&. .PP -Команда +The \fBgrpconv\fR -створює +command creates \fIgshadow\fR -на основі -\fIгрупа\fR -і, необов\*(Aqязково, наявного +from +\fIgroup\fR +and an optionally existing \fIgshadow\fR\&. .PP -Команда +The \fBgrpunconv\fR -створює -\fIгрупа\fR -на основі -\fIгрупа\fR -і -\fIgshadow\fR, а потім вилучає +command creates +\fIgroup\fR +from +\fIgroup\fR +and +\fIgshadow\fR +and then removes \fIgshadow\fR\&. .PP -Ці чотири програми працюють зі звичайними паролями та паролями shadow та файлами груп: +These four programs all operate on the normal and shadow password and group files: /etc/passwd, /etc/group, -/etc/shadow -і +/etc/shadow, and /etc/gshadow\&. .PP -Кожна програма виконує належні блокування перед перетворенням\&. Команди +Each program acquires the necessary locks before conversion\&. \fBpwconv\fR -і +and \fBgrpconv\fR -є еквівалентними\&. Спочатку, буде вилучено записи у файлі shadow, яких немає в основному файлі\&. Потім буде оновлено записи shadow, у яких не вказано \(Fox\(Fc, як пароль, в основному файлі\&. Буде додано усі пропущені записи shadow\&. Нарешті, паролі в основному файлі буде замінено на \(Fox\(Fc\&. Цими програмами можна скористатися для початкового перетворення, а також для оновлення файла shadow, якщо до основного файла було внесено зміни вручну\&. +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\&. .PP \fBpwconv\fR -використає значення +will use the values of \fIPASS_MIN_DAYS\fR, -\fIPASS_MAX_DAYS\fR -і +\fIPASS_MAX_DAYS\fR, and \fIPASS_WARN_AGE\fR -з +from /etc/login\&.defs -при додаванні нових записів до +when adding new entries to /etc/shadow\&. .PP -Так само, є подібними команди +Likewise \fBpwunconv\fR -і -\fBgrpunconv\fR\&. Паролі в основному файлі буде оновлено з файла shadow\&. Записи, які існують у основному файлі, але яких немає у файлі shadow, буде залишено\&. Нарешті, файл shadow буде вилучено\&. Робота -\fBpwunconv\fR -призведе до втрати деяких даних щодо застарівання паролів\&. Програма виконає перетворення лише тих даних, які можна перетворити\&. +and +\fBgrpunconv\fR +are similar\&. Passwords in the main file are updated from the shadowed file\&. Entries which exist in the main file but not in the shadowed file are left alone\&. Finally, the shadowed file is removed\&. Some password aging information is lost by +\fBpwunconv\fR\&. It will convert what it can\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди +The options which apply to the \fBpwconv\fR, \fBpwunconv\fR, -\fBgrpconv\fR -та -\fBgrpunconv\fR, є такими: +\fBgrpconv\fR, and +\fBgrpunconv\fR +commands are: .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 Показати довідкове повідомлення і завершити роботу\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -132,23 +132,23 @@ directory\&. Only absolute paths are supported\&. .RE .SH "ВАДИ" .PP -Помилки у файлах паролів або груп (зокрема некоректні або дубльовані записи) можуть спричинити зависання або помилки у роботі цих програм\&. Будь ласка, запустіть +Errors in the password or group files (such as invalid or duplicate entries) may cause these programs to loop forever or fail in other strange ways\&. Please run \fBpwck\fR -і +and \fBgrpck\fR -для виправлення таких помилок до перетворення паролів або груп shadow\&. +to correct any such errors before converting to or from shadow passwords or groups\&. .SH "НАЛАШТУВАННЯ" .PP -Вказана нижче змінна налаштувань у +The following configuration variable in /etc/login\&.defs -змінює поведінку +changes the behavior of \fBgrpconv\fR -і +and \fBgrpunconv\fR: .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку +change the behavior of \fBpwconv\fR: .SH "ФАЙЛИ" .PP diff --git a/man/uk/man8/sulogin.8 b/man/uk/man8/sulogin.8 index 11973904..08958dd0 100644 --- a/man/uk/man8/sulogin.8 +++ b/man/uk/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "sulogin" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "sulogin" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -76,9 +76,9 @@ should execute the sulogin command in single user mode\&. As complete an environment as possible is created\&. However, various devices may be unmounted or uninitialized and many of the user commands may be unavailable or nonfunctional as a result\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/passwd diff --git a/man/uk/man8/useradd.8 b/man/uk/man8/useradd.8 index 1f92e734..82d3a3f5 100644 --- a/man/uk/man8/useradd.8 +++ b/man/uk/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "useradd" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "useradd" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,69 +31,73 @@ useradd \- створення запису користувача або оновлення відомостей щодо типового нового користувача .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR [\fIпараметри\fR] \fIЗАПИС\fR +\fBuseradd\fR [\fIoptions\fR] \fILOGIN\fR .HP \w'\fBuseradd\fR\ 'u \fBuseradd\fR \-D .HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D [\fIпараметри\fR] +\fBuseradd\fR \-D [\fIoptions\fR] .SH "ОПИС" .PP -Якщо програму викликано без параметра -\fB\-D\fR, команда +When invoked without the +\fB\-D\fR +option, the \fBuseradd\fR -створити обліковий запис користувача з використанням значень, які вказано у рядку команди, і значень, які є типовими для системи\&. Залежно від параметрів рядка команди, команда +command creates a new user account using the values specified on the command line plus the default values from the system\&. Depending on command line options, the \fBuseradd\fR -оновить файли системи і також може створити домашній каталог нового користувача і скопіювати туди початкові файли\&. +command will update system files and may also create the new user\*(Aqs home directory and copy initial files\&. .PP -Типово, для нового користувача також буде створено його власну групу (див\&. +By default, a group will also be created for the new user (see \fB\-g\fR, \fB\-N\fR, -\fB\-U\fR -і +\fB\-U\fR, and \fBUSERGROUPS_ENAB\fR)\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBuseradd\fR, є такими: +The options which apply to the +\fBuseradd\fR +command are: .PP \fB\-\-badname\fR\ \& .RS 4 Дозволити назви, які не відповідають стандартам\&. .RE .PP -\fB\-b\fR, \fB\-\-base\-dir\fR \fIБАЗОВИЙ_КАТАЛОГ\fR +\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIBASE_DIR\fR .RS 4 -Типовий базовий каталог для системи, якщо не вказано -\fB\-d\fR -\fIДОМАШНІЙ_КАТАЛОГ\fR\&. Для визначення домашнього каталогу -\fIБАЗОВИЙ_КАТАЛОГ\fR -буде поєднано із назвою облікового запису\&. +The default base directory for the system if +\fB\-d\fR\ \&\fIHOME_DIR\fR +is not specified\&. +\fIBASE_DIR\fR +is concatenated with the account name to define the home directory\&. .sp -Якщо цей параметр не вказано, +If this option is not specified, \fBuseradd\fR -використає базовий каталог, який вказано змінною +will use the base directory specified by the \fBHOME\fR -у -/etc/default/useradd, або типовий каталог -/home\&. +variable in +/etc/default/useradd, or +/home +by default\&. .RE .PP -\fB\-c\fR, \fB\-\-comment\fR \fIКОМЕНТАР\fR +\fB\-c\fR, \fB\-\-comment\fR\ \&\fICOMMENT\fR .RS 4 Будь\-який рядок тексту\&. Зазвичай, це короткий опис облікового запису\&. У поточній версії використано як поле для повного імені користувача\&. .RE .PP -\fB\-d\fR, \fB\-\-home\-dir\fR \fIДОМАШНІЙ_КАТАЛОГ\fR +\fB\-d\fR, \fB\-\-home\-dir\fR\ \&\fIHOME_DIR\fR .RS 4 -Новий запис користувача буде створено з використанням -\fIДОМАШНІЙ_КАТАЛОГ\fR, як значення для каталогу входу до системи користувача\&. Типовим значенням є дописування імені -\fIЗАПИС\fR -до -\fIБАЗОВИЙ_КАТАЛОГ\fR -і використання результату як назви каталогу облікового запису\&. Якщо каталогу -\fIДОМАШНІЙ_КАТАЛОГ\fR -не існує, його буде створено, якщо не вказано параметр -\fB\-M\fR\&. +The new user will be created using +\fIHOME_DIR\fR +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 +\fIHOME_DIR\fR +does not exist, then it will be created unless the +\fB\-M\fR +option is specified\&. .RE .PP \fB\-D\fR, \fB\-\-defaults\fR @@ -101,30 +105,30 @@ useradd \- створення запису користувача або оно Див\&. нижче, підрозділ \(FoЗміна типових значень\(Fc\&. .RE .PP -\fB\-e\fR, \fB\-\-expiredate\fR \fIДАТА_ЗАВЕРШЕННЯ_СТРОКУ_ДІЇ\fR +\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -Дата, у яку буде вимкнено обліковий запис користувача\&. Дату вказують у форматі -\fIРРРР\-ММ\-ДД\fR\&. +The date on which the user account will be disabled\&. The date is specified in the format +\fIYYYY\-MM\-DD\fR\&. .sp -Якщо не вказано, +If not specified, \fBuseradd\fR -використає типову дату строку дії, який вказано змінною +will use the default expiry date specified by the \fBEXPIRE\fR -у -/etc/default/useradd, або типовий порожній рядок (необмежений строк дії)\&. +variable in +/etc/default/useradd, or an empty string (no expiry) by default\&. .RE .PP -\fB\-f\fR, \fB\-\-inactive\fR \fIНЕАКТИВНИЙ\fR +\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -Визначає кількість днів після перевищення паролем максимального віку, протягом яких система очікуватиме на заміну пароля користувачем\&. Значення зберігається у файлі паролів shadow\&. Вхідне значення 0 вимкне пароль, строк дії якого вичерпано, без затримки\&. Вхідне значення \-1 призведе до вилучення відповідного поля у файлі паролів shadow\&. Див\&. -\fBshadow\fR(5), щоб дізнатися більше\&. +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\&. .sp -Якщо не вказано, +If not specified, \fBuseradd\fR -використає типовий період неактивності, який вказано змінною -\fBНЕАКТИВНИЙ\fR -у -/etc/default/useradd, або типове значення \-1\&. +will use the default inactivity period specified by the +\fBINACTIVE\fR +variable in +/etc/default/useradd, or \-1 by default\&. .RE .PP \fB\-F\fR, \fB\-\-add\-subids\-for\-system\fR @@ -138,7 +142,7 @@ even when creating a system account with option\&. .RE .PP -\fB\-g\fR, \fB\-\-gid\fR \fIGROUP\fR +\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR .RS 4 Назва або номер основної групи користувача\&. Відповідна група має існувати\&. Номер групи має вказувати на вже наявну групу\&. .sp @@ -161,10 +165,15 @@ variable in /etc/default/useradd, or 1000 by default\&. .RE .PP -\fB\-G\fR, \fB\-\-groups\fR \fIГРУПА1\fR[\fI,ГРУПА2,\&.\&.\&.\fR[\fI,ГРУПАN\fR]]] +\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]] .RS 4 -Список додаткових груп, учасником яких також буде користувач\&. Групи у списку слід відокремлювати комою, без проміжного пробілу\&. Групи підлягатимуть тим самим обмеженням, що і група, яку задано параметром -\fB\-g\fR\&. Типовою поведінкою є належність користувача лише до початкової групи\&. +A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the +\fB\-g\fR +option\&. The default is for the user to belong only to the initial group\&. In addition to passing in the \-G flag, you can add the option +\fBGROUPS\fR +to the file +/etc/default/useradd +which in turn will add all users to those supplementary groups\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -172,45 +181,47 @@ variable in Показати довідкове повідомлення і завершити роботу\&. .RE .PP -\fB\-k\fR, \fB\-\-skel\fR \fISKEL_DIR\fR +\fB\-k\fR, \fB\-\-skel\fR\ \&\fISKEL_DIR\fR .RS 4 -Каркасний каталог, який містить файли і каталоги, які буде скопійовано до домашнього каталогу користувача, коли такий домашній каталог створюється командою +The skeleton directory, which contains files and directories to be copied in the user\*(Aqs home directory, when the home directory is created by \fBuseradd\fR\&. .sp -Цей параметр є чинним, лише якщо вказано параметр +This option is only valid if the \fB\-m\fR -(або -\fB\-\-create\-home\fR)\&. +(or +\fB\-\-create\-home\fR) option is specified\&. .sp -Якщо не вказано цей параметр, каталог каркасних даних буде визначено змінною +If this option is not set, the skeleton directory is defined by the \fBSKEL\fR -у +variable in /etc/default/useradd -або, типово, +or, by default, /etc/skel\&. .sp +Absolute symlinks that link back to the skel directory will have the +/etc/skel +prefix replaced with the user\*(Aqs home directory\&. +.sp Якщо можна, буде скопійовано ACL і розширені атрибути\&. .RE .PP -\fB\-K\fR, \fB\-\-key\fR \fIКЛЮЧ\fR=\fIЗНАЧЕННЯ\fR +\fB\-K\fR, \fB\-\-key\fR\ \&\fIKEY\fR=\fIVALUE\fR .RS 4 -Має пріоритет на типовими значеннями з +Overrides /etc/login\&.defs -(\fBUID_MIN\fR, +defaults (\fBUID_MIN\fR, \fBUID_MAX\fR, \fBUMASK\fR, \fBPASS_MAX_DAYS\fR -та іншими)\&. +and others)\&. .sp -Приклад: можна скористатися -\fB\-K\fR -\fIPASS_MAX_DAYS\fR=\fI\-1\fR -при створенні облікового запису для вимикання застарівання пароля\&. Може бути вказано декілька параметрів -\fB\-K\fR\&. Приклад: -\fB\-K\fR -\fIUID_MIN\fR -=\fI100\fR +Example: +\fB\-K\fR\ \&\fIPASS_MAX_DAYS \fR=\fI\-1\fR +can be used when creating an account to turn off password aging\&. Multiple \fB\-K\fR +options can be specified, e\&.g\&.: +\fB\-K\fR\ \&\fIUID_MIN\fR +=\fI100\fR\ \&\fB\-K\fR\ \& \fIUID_MAX\fR=\fI499\fR .RE .PP @@ -220,21 +231,24 @@ variable in .sp Типово, записи користувачів у базах даних lastlog і faillog буде скинуто до початкових даних, щоб уникнути повторного використання записів, які лишилися від раніше вилучених користувачів\&. .sp -Якщо не вказано цей параметр, +If this option is not specified, \fBuseradd\fR -також врахує значення змінної +will also consult the variable \fBLOG_INIT\fR -у -/etc/default/useradd, якщо для неї встановлено значення no, запис користувача не буде додано до баз даних lastlog і faillog\&. +in the +/etc/default/useradd +if set to no the user will not be added to the lastlog and faillog databases\&. .RE .PP \fB\-m\fR, \fB\-\-create\-home\fR .RS 4 -Створити домашній каталог користувача, якщо такого ще не існує\&. До такого домашнього каталогу буде скопійовано файли і каталоги з каркасного каталогу (який можна визначити за допомогою параметра -\fB\-k\fR)\&. +Create the user\*(Aqs home directory if it does not exist\&. The files and directories contained in the skeleton directory (which can be defined with the +\fB\-k\fR +option) will be copied to the home directory\&. .sp -Типово, якщо цей параметр не вказано і не увімкнено -\fBCREATE_HOME\fR, програма не створюватиме домашніх каталогів\&. +By default, if this option is not specified and +\fBCREATE_HOME\fR +is not enabled, no home directories are created\&. .sp Каталог, де буде створено домашній каталог користувача, має існувати і мати належний контекст SELinux і права доступу\&. Якщо ці умови не буде виконано, програма не зможе створити домашній каталог користувача або створений каталог буде недоступним\&. .RE @@ -249,20 +263,20 @@ Do not create the user\*(Aqs home directory, even if the system wide setting fro .PP \fB\-N\fR, \fB\-\-no\-user\-group\fR .RS 4 -Не створювати групи, назва якої збігається із назвою облікового запису користувача, а додати користувача до групи, яку вказано параметром +Do not create a group with the same name as the user, but add the user to the group specified by the \fB\-g\fR -або змінною +option or by the \fBGROUP\fR -у +variable in /etc/default/useradd\&. .sp -Типову поведінку (якщо не вказано параметрів +The default behavior (if the \fB\-g\fR, -\fB\-N\fR -і -\fB\-U\fR) буде визначено змінною +\fB\-N\fR, and +\fB\-U\fR +options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR -у +variable in /etc/login\&.defs\&. .RE .PP @@ -270,20 +284,20 @@ Do not create the user\*(Aqs home directory, even if the system wide setting fro .RS 4 Дозволяє створення облікового запису із наявним UID\&. .sp -Цей параметр можна використовувати лише у поєднанні із параметром -\fB\-u\fR\&. Оскільки профіль користувача слугує ключем для прив\*(Aqязки користувачів до прав доступу, прав власності на файли та інших аспектів загальносистемної поведінки, доступ до облікового запису із заданим UID матимуть декілька облікових записів для входу до системи\&. +This option is only valid in combination with the +\fB\-u\fR +option\&. As a user identity serves as key to map between users on one hand and permissions, file ownerships and other aspects that determine the system\*(Aqs behavior on the other hand, more than one login name will access the account of the given UID\&. .RE .PP -\fB\-p\fR, \fB\-\-password\fR \fIПАРОЛЬ\fR +\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR .RS 4 -визначає початковий пароль до облікового запису\&. ПАРОЛЬ має бути зашифровано у форматі, який повертає -\fBcrypt\fR(3)\&. У скрипті оболонки цей параметр надає змогу ефективно створювати записи користувачів у пакетному режимі\&. +defines an initial password for the account\&. PASSWORD is expected to be encrypted, as returned by +\fBcrypt \fR(3)\&. Within a shell script, this option allows to create efficiently batches of users\&. .sp -Без цього параметра новий обліковий запис буде заблоковано; для нього також не буде визначено пароля, тобто у відповідному полі файла -/etc/shadow\&. Це стан, у якому користувач не зможе отримати доступ до облікового запису або визначити пароль власноруч\&. +Without this option, the new account will be locked and with no password defined, i\&.e\&. a single exclamation mark in the respective field of +/etc/shadow\&. This is a state where the user won\*(Aqt be able to access the account or to define a password himself\&. .sp -\fBЗауваження:\fR -не рекомендуємо користуватися цим параметром у командному рядку, оскільки пароль (або шифрований пароль) буде видимим для користувачів, які мають доступ до списку процесів\&. +\fBNote:\fRAvoid this option on the command line because the password (or encrypted password) will be visible by users listing the processes\&. .sp Вам слід переконатися, що пароль відповідає правилам складання паролів системи\&. .RE @@ -292,21 +306,23 @@ Do not create the user\*(Aqs home directory, even if the system wide setting fro .RS 4 Створити загальносистемний обліковий запис\&. .sp -Записи загальносистемних користувачів буде створено без даних щодо застарівання у -/etc/shadow, а їхні числові ідентифікатори буде вибрано у діапазоні -\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR, який визначено у -/etc/login\&.defs, а не у +System users will be created with no aging information in +/etc/shadow, and their numeric identifiers are chosen in the +\fBSYS_UID_MIN\fR\-\fBSYS_UID_MAX\fR +range, defined in +/etc/login\&.defs, instead of \fBUID_MIN\fR\-\fBUID_MAX\fR -(та їхніх відповідників +(and their \fBGID\fR -для створення груп)\&. +counterparts for the creation of groups)\&. .sp -Зауважте, що +Note that \fBuseradd\fR -не створюватиме домашнього каталогу для такого користувача, незалежно від того, яким є типове значення параметра у +will not create a home directory for such a user, regardless of the default setting in /etc/login\&.defs -(\fBCREATE_HOME\fR)\&. вам слід вказати параметри -\fB\-m\fR, якщо ви хочете, щоб для загальносистемного облікового запису було створено домашній каталог\&. +(\fBCREATE_HOME\fR)\&. You have to specify the +\fB\-m\fR +options if you want a home directory for a system account to be created\&. .sp Note that this option will not update /etc/subuid @@ -316,7 +332,7 @@ and options if you want to update the files for a system account to be created\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -325,13 +341,13 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP -\fB\-P\fR, \fB\-\-prefix\fR \fIКАТАЛОГ_ПРЕФІКСА\fR +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR .RS 4 -Застосувати зміни до файлів налаштувань у кореневій файловій системі з каталогу -\fIКАТАЛОГ_ПРЕФІКСА\fR\&. Використання цього параметра не змінює кореневої теки\&. Параметр призначено лише для приготування цілі для компіляції коду для іншої операційної системи\&. Обмеження: не буде виконано перевірку користувачів/груп NIS і LDAP\&. При розпізнаванні у PAM буде використано файли основної системи\&. Підтримки SELINUX не передбачено\&. +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. .RE .PP -\fB\-s\fR, \fB\-\-shell\fR \fIОБОЛОНКА\fR +\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR .RS 4 sets the path to the user\*(Aqs login shell\&. Without this option, the system will use the \fBSHELL\fR @@ -341,116 +357,133 @@ variable specified in remains empty\&. .RE .PP -\fB\-u\fR, \fB\-\-uid\fR \fIUID\fR +\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR .RS 4 -Числове значення ідентифікатора користувача\&. Це значення має бути унікальним, якщо не використано параметр -\fB\-o\fR\&. Значення має бути невід\*(Aqємним\&. Типово, буде використано найменше значення ідентифікатора, яке перевищує або дорівнює значенню +The numerical value of the user\*(Aqs ID\&. This value must be unique, unless the +\fB\-o\fR +option is used\&. The value must be non\-negative\&. The default is to use the smallest ID value greater than or equal to \fBUID_MIN\fR -і є більшим за значення для будь\-якого іншого користувача\&. +and greater than every other user\&. .sp -Див\&. також описи параметрів +See also the \fB\-r\fR -і -\fBUID_MAX\fR\&. +option and the +\fBUID_MAX\fR +description\&. .RE .PP \fB\-U\fR, \fB\-\-user\-group\fR .RS 4 Створити групу, назва якої збігається із назвою облікового запису користувача, додати користувача до цієї групи\&. .sp -Типову поведінку (якщо не вказано параметрів +The default behavior (if the \fB\-g\fR, -\fB\-N\fR -і -\fB\-U\fR) буде визначено змінною +\fB\-N\fR, and +\fB\-U\fR +options are not specified) is defined by the \fBUSERGROUPS_ENAB\fR -у +variable in /etc/login\&.defs\&. .RE .PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR \fISEКОРИСТУВАЧ\fR +\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR .RS 4 -Визначає користувача SELinux для нового облікового запису\&. Без цього параметра, SELinux використає типового користувача\&. Зауважте, що система shadow не зберігає користувача selinux \(em для цього вона використовує -\fBsemanage\fR(8)\&. +defines the SELinux user for the new account\&. Without this option, SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses +\fBsemanage\fR(8) +for that\&. +.RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Without this option, SELinux uses the default range\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. .RE .SS "Зміна типових значень" .PP -Якщо програму викликано лише з параметром -\fB\-D\fR, -\fBuseradd\fR -виведе поточні типові значення\&. Якщо виклик відбувся з параметром +When invoked with only the \fB\-D\fR -та іншими параметрами, +option, \fBuseradd\fR -оновить типові значення для вказаних параметрів\&. Коректними параметрами для зміни типових значень є такі: +will display the current default values\&. When invoked with +\fB\-D\fR +plus other options, +\fBuseradd\fR +will update the default values for the specified options\&. Valid default\-changing options are: .PP -\fB\-b\fR, \fB\-\-base\-dir\fR \fIБАЗОВИЙ_КАТАЛОГ\fR +\fB\-b\fR, \fB\-\-base\-dir\fR\ \&\fIBASE_DIR\fR .RS 4 -Встановлює префікс шляху для домашнього каталогу нового користувача\&. Назву облікового запису користувача буде дописано наприкінці -\fIБАЗОВИЙ_КАТАЛОГ\fR -для створення назви домашнього каталогу нового користувача, якщо під час створення облікового запису не було використано параметр -\fB\-d\fR\&. +sets the path prefix for a new user\*(Aqs home directory\&. The user\*(Aqs name will be affixed to the end of +\fIBASE_DIR\fR +to form the new user\*(Aqs home directory name, if the +\fB\-d\fR +option is not used when creating a new account\&. .sp -Цей параметр встановлює значення змінної +This option sets the \fBHOME\fR -у +variable in /etc/default/useradd\&. .RE .PP -\fB\-e\fR, \fB\-\-expiredate\fR \fIДАТА_ЗАВЕРШЕННЯ_СТРОКУ_ДІЇ\fR +\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 Встановлює дату вимикання новостворених облікових записів користувачів\&. .sp -Цей параметр встановлює значення змінної +This option sets the \fBEXPIRE\fR -у +variable in /etc/default/useradd\&. .RE .PP -\fB\-f\fR, \fB\-\-inactive\fR \fIНЕАКТИВНИЙ\fR +\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -Визначає кількість днів після перевищення паролем максимального віку, протягом яких система очікуватиме на заміну пароля користувачем\&. Див\&. -\fBshadow\fR(5), щоб дізнатися більше\&. +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\&. .sp -Цей параметр встановлює значення змінної -\fBНЕАКТИВНИЙ\fR -у +This option sets the +\fBINACTIVE\fR +variable in /etc/default/useradd\&. .RE .PP -\fB\-g\fR, \fB\-\-gid\fR \fIGROUP\fR +\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR .RS 4 Встановлює типову основну групу для новостворених записів користувачів\&. Можна вказати назву групи або числовий ідентифікатор групи\&. Вказана за назвою група має існувати, а GID має бути наявним записом\&. .sp -Цей параметр встановлює значення змінної +This option sets the \fBGROUP\fR -у +variable in /etc/default/useradd\&. .RE .PP -\fB\-s\fR, \fB\-\-shell\fR \fIОБОЛОНКА\fR +\fB\-s\fR, \fB\-\-shell\fR\ \&\fISHELL\fR .RS 4 Визначає типову оболонку входу для нових користувачів\&. .sp -Цей параметр встановлює значення змінної -\fBОБОЛОНКА\fR -у +This option sets the +\fBSHELL\fR +variable in /etc/default/useradd\&. .RE .SH "ПРИМІТКИ" .PP -За розташування типових файлів користувача у каталозі +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)\&. .SH "ЗАСТЕРЕЖЕННЯ" .PP Не можна додавати користувача до групи NIS або LDAP\&. Для таких груп цю дію має бути виконано на відповідному сервері\&. .PP -Так само, якщо ім\*(Aqя користувача вже існує у зовнішній базі даних користувачів, зокрема NIS або LDAP, +Similarly, if the username already exists in an external user database such as NIS or LDAP, \fBuseradd\fR -відмовить у запиті щодо створення облікового запису користувача\&. +will deny the user account creation request\&. .PP Usernames may contain only lower and upper case letters, digits, underscores, or dashes\&. They can end with a dollar sign\&. Dashes are not allowed at the beginning of the username\&. Fully numeric usernames and usernames \&. or \&.\&. are also disallowed\&. It is not recommended to use usernames beginning with \&. character as their home directories will be hidden in the \fBls\fR @@ -459,9 +492,9 @@ output\&. Довжина імен користувачів не може перевищувати 32 символи\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/passwd @@ -491,14 +524,16 @@ output\&. .PP /etc/shadow\-maint/useradd\-pre\&.d/*, /etc/shadow\-maint/useradd\-post\&.d/* .RS 4 -Файли, які буде виконано під час додавання запису користувача\&. Змінну середовища +Run\-part files to execute during user addition\&. The environment variable \fBACTION\fR -буде заповнено командою useradd, а змінну середовища +will be populated with useradd and \fBSUBJECT\fR -\(em -\fBкористувач\fR\&. Перед додаванням запису користувача буде виконано -useradd\-pre\&.d\&. Після додавання запису користувача буде виконано -useradd\-post\&.d\&. Якщо станом виходу зі скрипту буде ненульове значення, виконання дій буде перервано\&. +with the +\fBusername\fR\&. +useradd\-pre\&.d +will be executed prior to any user addition\&. +useradd\-post\&.d +will execute after user addition\&. If a script exits non\-zero then execution will terminate\&. .RE .PP /etc/skel/ @@ -522,39 +557,39 @@ useradd\-post\&.d\&. Якщо станом виходу зі скрипту бу .RE .SH "ЗНАЧЕННЯ ВИХОДУ" .PP -Команда +The \fBuseradd\fR -завершує роботу із такими значеннями: +command exits with the following values: .PP \fI0\fR .RS 4 -успіх +success .RE .PP \fI1\fR .RS 4 -не вдалося оновити файл паролів +can\*(Aqt update password file .RE .PP \fI2\fR .RS 4 -некоректний синтаксис команди +invalid command syntax .RE .PP \fI3\fR .RS 4 -некоректний аргумент параметра +invalid argument to option .RE .PP \fI4\fR .RS 4 -UID вже використано (і не вказано +UID already in use (and no \fB\-o\fR) .RE .PP \fI6\fR .RS 4 -вказаної групи не існує +specified group doesn\*(Aqt exist .RE .PP \fI9\fR @@ -564,17 +599,17 @@ username or group name already in use .PP \fI10\fR .RS 4 -не вдалося оновити файл груп +can\*(Aqt update group file .RE .PP \fI12\fR .RS 4 -не вдалося створити домашній каталог +can\*(Aqt create home directory .RE .PP \fI14\fR .RS 4 -не вдалося оновити прив\*(Aqязку користувача SELinux +can\*(Aqt update SELinux user mapping .RE .SH "ДИВ\&. ТАКОЖ" .PP diff --git a/man/uk/man8/userdel.8 b/man/uk/man8/userdel.8 index aa401500..bcffb4b9 100644 --- a/man/uk/man8/userdel.8 +++ b/man/uk/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "userdel" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "userdel" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,31 +31,33 @@ userdel \- вилучення облікового запису користувача і пов\*(Aqязаних файлів .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [параметри] \fIЗАПИС\fR +\fBuserdel\fR [options] \fILOGIN\fR .SH "ОПИС" .PP -Команда +The \fBuserdel\fR -вносить зміни до файлів загальносистемних облікових записів, вилучаючи усі записи, які стосуються імені користувача -\fIЗАПИС\fR\&. Іменований запис користувача має існувати\&. +command modifies the system account files, deleting all entries that refer to the user name +\fILOGIN\fR\&. The named user must exist\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBuserdel\fR, є такими: +The options which apply to the +\fBuserdel\fR +command are: .PP \fB\-f\fR, \fB\-\-force\fR .RS 4 -Цей параметр наказує програмі вилучити обліковий запис користувача, навіть якщо користувач усе ще працює у системі\&. Також він наказує +This option forces the removal of the user account, even if the user is still logged in\&. It also forces \fBuserdel\fR -вилучити домашній каталог користувача і поштовий буфер, навіть якщо цим домашнім каталогом користується інший користувач або якщо власником поштового буфера не є вказаний користувач\&. Якщо для +to remove the user\*(Aqs home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user\&. If \fBUSERGROUPS_ENAB\fR -встановлено значення -\fIтак\fR -у -/etc/login\&.defs, і якщо існує група із тією самою назвою, що і назва облікового запису, цю групу буде вилучено, навіть якщо вона все ще є основною групою іншого користувача\&. +is defined to +\fIyes\fR +in +/etc/login\&.defs +and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user\&. .sp -\fIЗауваження:\fR -цей параметр є небезпечним і може перевести вашу систему у неузгоджений стан\&. +\fINote:\fR +This option is dangerous and may leave your system in an inconsistent state\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -67,13 +69,14 @@ userdel \- вилучення облікового запису користув .RS 4 Файли у домашньому каталозі користувача буде вилучено разом з самим домашнім каталогом та поштовим буфером користувача\&. Файли у інших файлових системах слід знайти і вилучити вручну\&. .sp -Поштовий буфер визначається змінною +The mail spool is defined by the \fBMAIL_DIR\fR -у файлі -login\&.defs\&. +variable in the +login\&.defs +file\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -82,12 +85,13 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP -\fB\-P\fR, \fB\-\-prefix\fR \fIКАТАЛОГ_ПРЕФІКСА\fR +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR .RS 4 -Застосувати зміни до каталогу -\fIКАТАЛОГ_ПРЕФІКСА\fR -і використати файли налаштувань з каталогу -\fIКАТАЛОГ_ПРЕФІКСА\fR\&. Використання цього параметра не змінює кореневої теки\&. Параметр призначено лише для приготування цілі для компіляції коду для іншої операційної системи\&. Обмеження: не буде виконано перевірку користувачів/груп NIS і LDAP\&. При розпізнаванні у PAM буде використано файли основної системи\&. Підтримки SELINUX не передбачено\&. +Apply changes in the +\fIPREFIX_DIR\fR +directory and use the configuration files from the +\fIPREFIX_DIR\fR +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\&. .RE .PP \fB\-Z\fR, \fB\-\-selinux\-user\fR @@ -96,9 +100,9 @@ directory\&. Only absolute paths are supported\&. .RE .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/group @@ -123,15 +127,17 @@ directory\&. Only absolute paths are supported\&. .PP /etc/shadow\-maint/userdel\-pre\&.d/*, /etc/shadow\-maint/userdel\-post\&.d/* .RS 4 -Файли, які буде виконано під час вилучення запису користувача\&. Змінну середовища +Run\-part files to execute during user deletion\&. The environment variable \fBACTION\fR -буде заповнено командами +will be populated with \fBuserdel\fR -і +and \fBSUBJECT\fR -з іменем користувача\&. Перед вилученням запису користувача буде виконано -userdel\-pre\&.d\&. Після додавання запису користувача буде виконано -userdel\-post\&.d\&. Якщо станом виходу зі скрипту буде ненульове значення, виконання дій буде перервано\&. +with the username\&. +userdel\-pre\&.d +will be executed prior to any user deletion\&. +userdel\-post\&.d +will execute after user deletion\&. If a script exits non\-zero then execution will terminate\&. .RE .PP /etc/subgid @@ -145,65 +151,67 @@ userdel\-post\&.d\&. Якщо станом виходу зі скрипту бу .RE .SH "ЗНАЧЕННЯ ВИХОДУ" .PP -Команда +The \fBuserdel\fR -завершує роботу із такими значеннями: +command exits with the following values: .PP \fI0\fR .RS 4 -успіх +success .RE .PP \fI1\fR .RS 4 -не вдалося оновити файл паролів +can\*(Aqt update password file .RE .PP \fI2\fR .RS 4 -некоректний синтаксис команди +invalid command syntax .RE .PP \fI6\fR .RS 4 -вказаного запису користувача не існує +specified user doesn\*(Aqt exist .RE .PP \fI8\fR .RS 4 -поточний користувач системи +user currently logged in .RE .PP \fI10\fR .RS 4 -не вдалося оновити файл груп +can\*(Aqt update group file .RE .PP \fI12\fR .RS 4 -не вдалося вилучити домашній каталог +can\*(Aqt remove home directory .RE .SH "ЗАСТЕРЕЖЕННЯ" .PP \fBuserdel\fR -не дозволить вам вилучити обліковий запис, якщо цьому обліковому запису належать якісь запущені процеси\&. У випадку наявності таких процесів ви можете завершити їх роботу або заблокувати пароль чи обліковий запис користувача і вилучити обліковий запис пізніше\&. Виконати вилучення цього облікового запису у примусовому режимі можна за допомогою параметра -\fB\-f\fR\&. +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\*(Aqs password or account and remove the account later\&. The +\fB\-f\fR +option can force the deletion of this account\&. .PP Вам слід виконати перевірку усіх файлових систем вручну, щоб переконатися, щоб не лишилося жодних файлів, які належать цьому користувачу\&. .PP Ви не зможете вилучити атрибути NIS з клієнта NIS\&. Виконати це завдання можна лише на сервері NIS\&. .PP -Якщо для +If \fBUSERGROUPS_ENAB\fR -встановлено значення -\fIтак\fR -у +is defined to +\fIyes\fR +in /etc/login\&.defs, \fBuserdel\fR -вилучить групу, яка має назву, що збігається із назвою облікового запису користувача\&. Щоб уникнути неузгодженостей у базах даних passwd і груп, +will delete the group with the same name as the user\&. To avoid inconsistencies in the passwd and group databases, \fBuserdel\fR -виконає перевірку того, чи не використовується ця група як основна група іншого користувача\&. Якщо використовується, програма попередить вас без вилучення групи\&. Примусово вилучити цю групу можна за допомогою параметра -\fB\-f\fR\&. +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 +\fB\-f\fR +option can force the deletion of this group\&. .SH "ДИВ\&. ТАКОЖ" .PP \fBchfn\fR(1), diff --git a/man/uk/man8/usermod.8 b/man/uk/man8/usermod.8 index 40151ca5..ce67ad3e 100644 --- a/man/uk/man8/usermod.8 +++ b/man/uk/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "usermod" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "usermod" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,20 +31,23 @@ usermod \- зміна облікового запису користувача .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fIпараметри\fR] \fIЗАПИС\fR +\fBusermod\fR [\fIoptions\fR] \fILOGIN\fR .SH "ОПИС" .PP +The \fBusermod\fR -вносить зміни до файлів загальносистемних облікових записів\&. +command modifies the system account files\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команди -\fBusermod\fR, є такими: +The options which apply to the +\fBusermod\fR +command are: .PP \fB\-a\fR, \fB\-\-append\fR .RS 4 -Додати користувача до допоміжних груп\&. Використовуйте лише у поєднанні з параметром -\fB\-G\fR\&. +Add the user to the supplementary group(s)\&. Use only with the +\fB\-G\fR +option\&. .RE .PP \fB\-b\fR, \fB\-\-badname\fR @@ -52,46 +55,51 @@ usermod \- зміна облікового запису користувача Дозволити назви, які не відповідають стандартам\&. .RE .PP -\fB\-c\fR, \fB\-\-comment\fR \fIКОМЕНТАР\fR +\fB\-c\fR, \fB\-\-comment\fR\ \&\fICOMMENT\fR .RS 4 -Оновити поле коментаря для запису користувача у -/etc/passwd, зміни до якого, зазвичай, вносять за допомогою допоміжного засобу -\fBchfn\fR(1)\&. +update the comment field of the user in +/etc/passwd, which is normally modified using the +\fBchfn\fR(1) +utility\&. .RE .PP -\fB\-d\fR, \fB\-\-home\fR \fIДОМАШНІЙ_КАТАЛОГ\fR +\fB\-d\fR, \fB\-\-home\fR\ \&\fIHOME_DIR\fR .RS 4 Новий каталог користувача для облікового запису входу до системи\&. .sp -Якщо вказано параметр -\fB\-m\fR, вміст поточного домашнього каталогу буде пересунуто до нового домашнього каталогу, який буде створено, якщо його ще не існує\&. Якщо поточного домашнього каталогу не існує, новий домашній каталог створено не буде\&. +If the +\fB\-m\fR +option is given, the contents of the current home directory will be moved to the new home directory, which is created if it does not already exist\&. If the current home directory does not exist the new home directory will not be created\&. .RE .PP -\fB\-e\fR, \fB\-\-expiredate\fR \fIДАТА_ЗАВЕРШЕННЯ_СТРОКУ_ДІЇ\fR +\fB\-e\fR, \fB\-\-expiredate\fR\ \&\fIEXPIRE_DATE\fR .RS 4 -Дата, у яку буде вимкнено обліковий запис користувача\&. Дату вказують у форматі -\fIРРРР\-ММ\-ДД\fR\&. Цілі вхідні числа буде оброблено як дні після 1 січня 1970 року\&. +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\&. .sp Вхідне значення \-1 або порожній рядок призведуть до вилучення вмісту поля строку дії облікового запису у файлі паролів shadow\&. Обліковий запис лишиться доступним, але без обмеження за датами\&. .sp -Цей параметр потребує файла -/etc/shadow\&. Запис +This option requires a /etc/shadow -буде створено, якщо такого ще немає\&. +file\&. A +/etc/shadow +entry will be created if there were none\&. .RE .PP -\fB\-f\fR, \fB\-\-inactive\fR \fIНЕАКТИВНИЙ\fR +\fB\-f\fR, \fB\-\-inactive\fR\ \&\fIINACTIVE\fR .RS 4 -Визначає період у кількості днів після перевищення максимального віку, протягом якого користувач усе ще матиме змогу увійти до системи з негайною зміною пароля\&. Цей період лояльності до того, як обліковий запис стане неактивним, зберігається у файлі прихованих паролів (shadow)\&. Вхідне значення 0 означає негайне вимикання пароля, строк дії якого вичерпано\&. Вхідне значення \-1 призведе до вилучення вмісту відповідного поля у файлі прихованих паролів (shadow)\&. Див\&. -\fBshadow\fR(5), щоб дізнатися більше\&. +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\&. .sp -Цей параметр потребує файла -/etc/shadow\&. Запис +This option requires a /etc/shadow -буде створено, якщо такого ще немає\&. +file\&. A +/etc/shadow +entry will be created if there were none\&. .RE .PP -\fB\-g\fR, \fB\-\-gid\fR \fIGROUP\fR +\fB\-g\fR, \fB\-\-gid\fR\ \&\fIGROUP\fR .RS 4 Назва або числовий ідентифікатор нової основної групи користувача\&. Група має існувати\&. .sp @@ -99,36 +107,37 @@ usermod \- зміна облікового запису користувача .sp Права власності на файли поза домашнім каталогом користувача має бути виправлено вручну\&. .sp -Зміну групи\-власника для файлів у домашньому каталозі користувача також не буде виконано, якщо uid власника домашнього каталогу відрізняється від ідентифікатора поточного або нового користувача\&. Це захід безпеки для особливих домашніх каталогів, зокрема +The change of the group ownership of files inside of the user\*(Aqs 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 /\&. .RE .PP -\fB\-G\fR, \fB\-\-groups\fR \fIГРУПА1\fR[\fI,ГРУПА2,\&.\&.\&.\fR[\fI,ГРУПАN\fR]]] +\fB\-G\fR, \fB\-\-groups\fR\ \&\fIGROUP1\fR[\fI,GROUP2,\&.\&.\&.\fR[\fI,GROUPN\fR]]] .RS 4 Список допоміжних груп, учасником яких є користувач\&. Записи у списку слід відокремлювати комами, без проміжного пробілу\&. Групи мають існувати\&. .sp -Якщо користувач у поточний момент є учасником групи, якої немає у списку, його запис буде вилучено з цієї групи\&. Змінити цю поведінку можна за допомогою параметра -\fB\-a\fR, який дописує запис користувача до поточного списку допоміжних груп\&. +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 +\fB\-a\fR +option, which appends the user to the current supplementary group list\&. .RE .PP -\fB\-l\fR, \fB\-\-login\fR \fIНОВИЙ_ЗАПИС\fR +\fB\-l\fR, \fB\-\-login\fR\ \&\fINEW_LOGIN\fR .RS 4 -Ім\*(Aqя користувача буде змінено з -\fIЗАПИС\fR -на -\fIНОВИЙ_ЗАПИС\fR\&. Нічого, окрім цього, змінено не буде\&. Зокрема, ймовірно, назву домашнього каталогу користувача та поштового буфера доведеться змінювати вручну, щоб синхронізувати їх із новою назвою облікового запису для входу до системи\&. +The name of the user will be changed from +\fILOGIN\fR +to +\fINEW_LOGIN\fR\&. Nothing else is changed\&. In particular, the user\*(Aqs home directory or mail spool should probably be renamed manually to reflect the new login name\&. .RE .PP \fB\-L\fR, \fB\-\-lock\fR .RS 4 -Заблокувати пароль користувача\&. У відповідь на команду програма допише \(Fo!\(Fc перед зашифрованим паролем, фактично, вимкнувши пароль\&. Цей параметр не можна поєднувати з +Lock a user\*(Aqs password\&. This puts a \*(Aq!\*(Aq in front of the encrypted password, effectively disabling the password\&. You can\*(Aqt use this option with \fB\-p\fR -та +or \fB\-U\fR\&. .sp -Зауваження: якщо ви хочете заблокувати обліковий запис (а не лише доступ за допомогою пароля), вам також слід встановити для -\fIДАТА_ЗАВЕРШЕННЯ_СТРОКУ_ДІЇ\fR -значення +Note: if you wish to lock the account (not only access with a password), you should also set the +\fIEXPIRE_DATE\fR +to \fI1\fR\&. .RE .PP @@ -136,41 +145,43 @@ usermod \- зміна облікового запису користувача .RS 4 Пересуває вміст домашнього каталогу користувача у нове місце\&. Якщо поточного домашнього каталогу не існує, буде створено новий домашній каталог\&. .sp -Цей параметр є чинним, лише у поєднанні із параметром +This option is only valid in combination with the \fB\-d\fR -(або -\fB\-\-home\fR)\&. +(or +\fB\-\-home\fR) option\&. .sp \fBusermod\fR -спробує адаптувати права власності на файли і скопіювати режими доступу, ACL та розширені атрибути, але згодом може знадобитися внесення змін вручну\&. +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\&. .RE .PP \fB\-o\fR, \fB\-\-non\-unique\fR .RS 4 Дозволяє зміну ідентифікатора користувача на неунікальне значення\&. .sp -Цей параметр можна використовувати лише у поєднанні із параметром -\fB\-u\fR\&. Оскільки профіль користувача слугує ключем для прив\*(Aqязки користувачів до прав доступу, прав власності на файли та інших аспектів загальносистемної поведінки, доступ до облікового запису із заданим UID матимуть декілька облікових записів для входу до системи\&. +This option is only valid in combination with the +\fB\-u\fR +option\&. As a user identity serves as key to map between users on one hand and permissions, file ownerships and other aspects that determine the system\*(Aqs behavior on the other hand, more than one login name will access the account of the given UID\&. .RE .PP -\fB\-p\fR, \fB\-\-password\fR \fIПАРОЛЬ\fR +\fB\-p\fR, \fB\-\-password\fR\ \&\fIPASSWORD\fR .RS 4 -Визначає новий пароль до облікового запису користувача\&. ПАРОЛЬ має бути зашифровано у форматі, який повертає -\fBcrypt\fR(3)\&. +defines a new password for the user\&. PASSWORD is expected to be encrypted, as returned by +\fBcrypt \fR(3)\&. .sp -\fBЗауваження:\fR -не рекомендуємо користуватися цим параметром у командному рядку, оскільки пароль (або шифрований пароль) буде видимим для користувачів, які мають доступ до списку процесів\&. +\fBNote:\fR +Avoid this option on the command line because the password (or encrypted password) will be visible by users listing the processes\&. .sp Вам слід переконатися, що пароль відповідає правилам складання паролів системи\&. .RE .PP \fB\-r\fR, \fB\-\-remove\fR .RS 4 -Вилучити користувача з іменованих допоміжних груп\&. Використовуйте лише у поєднанні з параметром -\fB\-G\fR\&. +Remove the user from named supplementary group(s)\&. Use only with the +\fB\-G\fR +option\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -179,146 +190,155 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP -\fB\-P\fR, \fB\-\-prefix\fR \fIКАТАЛОГ_ПРЕФІКСА\fR +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR .RS 4 -Застосувати зміни в ієрархії каталогів, що починається з -\fIКАТАЛОГ_ПРЕФІКСА\fR -і використати також файли налаштувань, які там зберігаються\&. Використання цього параметра не змінює кореневої теки\&. Параметр призначено лише для приготування цілі для компіляції коду для іншої операційної системи\&. Обмеження: не буде виконано перевірку користувачів/груп NIS і LDAP\&. При розпізнаванні у PAM буде використано файли основної системи\&. Підтримки SELINUX не передбачено\&. +Apply changes within the directory tree starting with +\fIPREFIX_DIR\fR +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\&. .RE .PP -\fB\-s\fR, \fB\-\-shell\fR \fIОБОЛОНКА\fR +\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 /etc/passwd -і виконає вхід користувача до типової оболонки системи\&. +and logs the user into the system\*(Aqs default shell\&. .RE .PP -\fB\-u\fR, \fB\-\-uid\fR \fIUID\fR +\fB\-u\fR, \fB\-\-uid\fR\ \&\fIUID\fR .RS 4 Нове значення ідентифікатора користувача\&. .sp -Це значення має бути унікальним, якщо не використано параметр -\fB\-o\fR\&. Значення має бути невід\*(Aqємним\&. +This value must be unique, unless the +\fB\-o\fR +option is used\&. The value must be non\-negative\&. .sp Ідентифікатори користувача файла поштової скриньки користувача і усіх файлів, власником яких є користувач і які зберігаються у домашньому каталозі користувача, буде змінено автоматично\&. .sp Права власності на файли поза домашнім каталогом користувача має бути виправлено вручну\&. .sp -Зміну користувача\-власника для файлів у домашньому каталозі користувача також не буде виконано, якщо uid власника домашнього каталогу відрізняється від ідентифікатора поточного або нового користувача\&. Це захід безпеки для особливих домашніх каталогів, зокрема +The change of the user ownership of files inside of the user\*(Aqs 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 /\&. .sp -Перевірок щодо +No checks will be performed with regard to the \fBUID_MIN\fR, \fBUID_MAX\fR, -\fBSYS_UID_MIN\fR -або +\fBSYS_UID_MIN\fR, or \fBSYS_UID_MAX\fR -з -/etc/login\&.defs -виконано не буде\&. +from +/etc/login\&.defs\&. .RE .PP \fB\-U\fR, \fB\-\-unlock\fR .RS 4 -Розблокувати пароль користувача\&. У відповідь на команду програма вилучить \(Fo!\(Fc перед зашифрованим паролем\&. Цей параметр не можна поєднувати з +Unlock a user\*(Aqs password\&. This removes the \*(Aq!\*(Aq in front of the encrypted password\&. You can\*(Aqt use this option with \fB\-p\fR -та +or \fB\-L\fR\&. .sp -Зауваження: якщо ви хочете розблокувати обліковий запис (а не лише доступ за допомогою пароля), вам також слід встановити значення для -\fIДАТА_ЗАВЕРШЕННЯ_СТРОКУ_ДІЇ\fR -(наприклад, -\fI99999\fR -або значення +Note: if you wish to unlock the account (not only access with a password), you should also set the +\fIEXPIRE_DATE\fR +(for example to +\fI99999\fR, or to the \fBEXPIRE\fR -з +value from /etc/default/useradd)\&. .RE .PP -\fB\-v\fR, \fB\-\-add\-subuids\fR \fIПЕРШИЙ\fR\-\fIОСТАННІЙ\fR +\fB\-v\fR, \fB\-\-add\-subuids\fR\ \&\fIFIRST\fR\-\fILAST\fR .RS 4 Додати діапазон підлеглих UID до облікового запису користувача\&. .sp Цей параметр можна вказувати декілька разів у одній команді, щоб додати декілька діапазонів до облікового запису користувача\&. .sp -Перевірок щодо +No checks will be performed with regard to \fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR -та +\fBSUB_UID_MAX\fR, or \fBSUB_UID_COUNT\fR -з /etc/login\&.defs не виконуватиметься\&. +from /etc/login\&.defs\&. .RE .PP -\fB\-V\fR, \fB\-\-del\-subuids\fR \fIПЕРШИЙ\fR\-\fIОСТАННІЙ\fR +\fB\-V\fR, \fB\-\-del\-subuids\fR\ \&\fIFIRST\fR\-\fILAST\fR .RS 4 Вилучити діапазон підлеглих UID з облікового запису користувача\&. .sp -Цей параметр можна вказати декілька разів, щоб вилучити декілька діапазонів з облікового запису користувача\&. Якщо вказано одразу +This option may be specified multiple times to remove multiple ranges to a user\*(Aqs account\&. When both \fB\-\-del\-subuids\fR -і -\fB\-\-add\-subuids\fR, вилучення усіх підлеглих діапазонів UID станеться до додавання будь\-яких підлеглих UID\&. +and +\fB\-\-add\-subuids\fR +are specified, the removal of all subordinate uid ranges happens before any subordinate uid range is added\&. .sp -Перевірок щодо +No checks will be performed with regard to \fBSUB_UID_MIN\fR, -\fBSUB_UID_MAX\fR -та +\fBSUB_UID_MAX\fR, or \fBSUB_UID_COUNT\fR -з /etc/login\&.defs не виконуватиметься\&. +from /etc/login\&.defs\&. .RE .PP -\fB\-w\fR, \fB\-\-add\-subgids\fR \fIПЕРШИЙ\fR\-\fIОСТАННІЙ\fR +\fB\-w\fR, \fB\-\-add\-subgids\fR\ \&\fIFIRST\fR\-\fILAST\fR .RS 4 Додати діапазон підлеглих GID до облікового запису користувача\&. .sp Цей параметр можна вказувати декілька разів у одній команді, щоб додати декілька діапазонів до облікового запису користувача\&. .sp -Перевірок щодо +No checks will be performed with regard to \fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR -та +\fBSUB_GID_MAX\fR, or \fBSUB_GID_COUNT\fR -з /etc/login\&.defs не виконуватиметься\&. +from /etc/login\&.defs\&. .RE .PP -\fB\-W\fR, \fB\-\-del\-subgids\fR \fIПЕРШИЙ\fR\-\fIОСТАННІЙ\fR +\fB\-W\fR, \fB\-\-del\-subgids\fR\ \&\fIFIRST\fR\-\fILAST\fR .RS 4 Вилучити діапазон підлеглих GID з облікового запису користувача\&. .sp -Цей параметр можна вказати декілька разів, щоб вилучити декілька діапазонів з облікового запису користувача\&. Якщо вказано одразу +This option may be specified multiple times to remove multiple ranges to a user\*(Aqs account\&. When both \fB\-\-del\-subgids\fR -і -\fB\-\-add\-subgids\fR, вилучення усіх підлеглих діапазонів GID станеться до додавання будь\-яких підлеглих GID\&. +and +\fB\-\-add\-subgids\fR +are specified, the removal of all subordinate gid ranges happens before any subordinate gid range is added\&. .sp -Перевірок щодо +No checks will be performed with regard to \fBSUB_GID_MIN\fR, -\fBSUB_GID_MAX\fR -та +\fBSUB_GID_MAX\fR, or \fBSUB_GID_COUNT\fR -з /etc/login\&.defs не виконуватиметься\&. +from /etc/login\&.defs\&. .RE .PP -\fB\-Z\fR, \fB\-\-selinux\-user\fR \fISEКОРИСТУВАЧ\fR +\fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR .RS 4 -Визначає пов\*(Aqязаного користувача SELinux за допомогою -\fIЗАПИС\fR\&. Якщо вказати порожній рядок (""), відповідний запис (якщо такий був) буде вилучено\&. Зауважте, що система shadow не зберігає користувача selinux, а використовує для цього semanage(8)\&. +defines the SELinux user to be mapped with +\fILOGIN\fR\&. An empty string ("") will remove the respective entry (if any)\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses semanage(8) for that\&. +.RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. .RE .SH "ЗАСТЕРЕЖЕННЯ" .PP -Вам слід переконатися, що від імені вказаного користувача не виконується жодних процесів на момент віддання цієї команди, якщо вносяться зміни до числового ідентифікатора користувача, імені користувача або домашнього каталогу користувача\&. У Linux перевірку цього виконує -\fBusermod\fR\&. У інших операційних системах програма використовує лише utmp для перевірки того, чи увійшов користувач до системи\&. +You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. +\fBusermod\fR +checks this on Linux\&. On other operating systems it only uses utmp to check if the user is logged in\&. .PP -Вам слід змінити власника усіх файлів +You must change the owner of any \fBcrontab\fR -або завдань +files or \fBat\fR -вручну\&. +jobs manually\&. .PP Вам слід внести усі зміни щодо NIS на сервері NIS\&. .SH "НАЛАШТУВАННЯ" .PP -Вказані нижче змінні налаштувань у +The following configuration variables in /etc/login\&.defs -змінюють поведінку цього інструмента: +change the behavior of this tool: .SH "ФАЙЛИ" .PP /etc/group @@ -328,7 +348,7 @@ directory\&. Only absolute paths are supported\&. .PP /etc/gshadow .RS 4 -Відомості щодо захищених груп облікових записів\&. +Secure group account information .RE .PP /etc/login\&.defs diff --git a/man/uk/man8/vipw.8 b/man/uk/man8/vipw.8 index 9d92de35..5293147e 100644 --- a/man/uk/man8/vipw.8 +++ b/man/uk/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 08/11/2022 -.\" Manual: Команди керування системою -.\" Source: shadow-utils 4.13 +.\" Date: 23/03/2024 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Ukrainian .\" -.TH "vipw" "8" "08/11/2022" "shadow\-utils 4\&.13" "Команди керування системою" +.TH "vipw" "8" "23/03/2024" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,33 +31,34 @@ vipw, vigr \- редагування файла паролів, груп, прихованих паролів та прихованих груп .SH "КОРОТКИЙ ОГЛЯД" .HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fIпараметри\fR] +\fBvipw\fR [\fIoptions\fR] .HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fIпараметри\fR] +\fBvigr\fR [\fIoptions\fR] .SH "ОПИС" .PP -Команди +The \fBvipw\fR -і +and \fBvigr\fR -призначено для редагування файлів +commands edit the files /etc/passwd -і -/etc/group, відповідно\&. З прапорцем +and +/etc/group, respectively\&. With the \fB\-s\fR -вони відкриватимуть shadow\-версії цих файлів, +flag, they will edit the shadow versions of those files, /etc/shadow -і -/etc/gshadow, відповідно\&. Ці програми встановлюють відповідні блокування для запобігання пошкодженню файлів\&. При пошуку редактора програми спочатку намагатимуться скористатися вмістом змінної середовища -\fB$VISUAL\fR, потім змінної середовища -\fB$EDITOR\fR, і нарешті, типовим редактором, +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 +\fB$VISUAL\fR, then the environment variable +\fB$EDITOR\fR, and finally the default editor, \fBvi\fR(1)\&. .SH "ПАРАМЕТРИ" .PP -Параметри, які застосовують до команд +The options which apply to the \fBvipw\fR -і -\fBvigr\fR, є такими: +and +\fBvigr\fR +commands are: .PP \fB\-g\fR, \fB\-\-group\fR .RS 4 @@ -79,7 +80,7 @@ vipw, vigr \- редагування файла паролів, груп, при Режим без повідомлень\&. .RE .PP -\fB\-R\fR, \fB\-\-root\fR \fIКАТАЛОГ_CHROOT\fR +\fB\-R\fR, \fB\-\-root\fR\ \&\fICHROOT_DIR\fR .RS 4 Apply changes in the \fICHROOT_DIR\fR @@ -101,8 +102,9 @@ directory\&. Only absolute paths are supported\&. .PP \fBEDITOR\fR .RS 4 -Редактор, яким слід скористатися, що не встановлено значення -\fBVISUAL\fR\&. +Editor to be used if +\fBVISUAL\fR +is not set\&. .RE .SH "ФАЙЛИ" .PP @@ -128,7 +130,7 @@ directory\&. Only absolute paths are supported\&. .SH "ДИВ\&. ТАКОЖ" .PP \fBvi\fR(1), -\fBгрупа\fR(5), +\fBgroup\fR(5), \fBgshadow\fR(5) , \fBpasswd\fR(5), , diff --git a/man/useradd.8.xml b/man/useradd.8.xml index a36db793..067440ac 100644 --- a/man/useradd.8.xml +++ b/man/useradd.8.xml @@ -263,7 +263,9 @@ 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. + initial group. In addition to passing in the -G flag, you can + add the option to the file /etc/default/useradd + which in turn will add all users to those supplementary groups. @@ -293,6 +295,11 @@ /etc/default/useradd or, by default, /etc/skel. + + Absolute symlinks that link back to the skel directory will have + the /etc/skel prefix replaced with the user's + home directory. + If possible, the ACLs and extended attributes are copied. @@ -568,13 +575,31 @@ defines the SELinux user for the new account. Without this - option, a SELinux uses the default user. Note that the + option, SELinux uses the default user. Note that the shadow system doesn't store the selinux-user, it uses semanage 8 for that. + + +  SERANGE + + + + defines the SELinux MLS range for the new account. Without this + option, SELinux uses the default range. Note that the + shadow system doesn't store the selinux-range, it uses + semanage + 8 for that. + + + This option is only valid if the (or + ) option is specified. + + + diff --git a/man/usermod.8.xml b/man/usermod.8.xml index 7e1342ca..349248b6 100644 --- a/man/usermod.8.xml +++ b/man/usermod.8.xml @@ -510,6 +510,23 @@ + + +  SERANGE + + + + defines the SELinux MLS range for the new account. + Note that the shadow system doesn't store the selinux-range, + it uses semanage + 8 for that. + + + This option is only valid if the (or + ) option is specified. + + + @@ -562,7 +579,7 @@ /etc/gshadow - Secure group account informatio. + Secure group account information diff --git a/man/vipw.8.xml b/man/vipw.8.xml index 4caddcbe..fb80582b 100644 --- a/man/vipw.8.xml +++ b/man/vipw.8.xml @@ -64,7 +64,7 @@ DESCRIPTION - The vipw and vigr commands edits + The vipw and vigr commands edit the files /etc/passwd and /etc/group, respectively. With the flag, they will edit the shadow versions of those diff --git a/man/zh_CN/Makefile.am b/man/zh_CN/Makefile.am index e9d8f2c2..a8b93a56 100644 --- a/man/zh_CN/Makefile.am +++ b/man/zh_CN/Makefile.am @@ -21,7 +21,6 @@ man_MANS = \ man8/grpconv.8 \ man8/grpunconv.8 \ man5/gshadow.5 \ - man8/lastlog.8 \ man1/login.1 \ man5/login.defs.5 \ man8/logoutd.8 \ @@ -44,6 +43,10 @@ man_MANS = \ man8/vigr.8 \ man8/vipw.8 +if ENABLE_LASTLOG +man_MANS += man8/lastlog.8 +endif + man_nopam = \ man5/limits.5 \ man5/login.access.5 \ diff --git a/man/zh_CN/Makefile.in b/man/zh_CN/Makefile.in index 58e4b9d9..da1dbf67 100644 --- a/man/zh_CN/Makefile.in +++ b/man/zh_CN/Makefile.in @@ -87,8 +87,9 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@USE_PAM_FALSE@am__append_1 = $(man_nopam) -@USE_PAM_TRUE@am__append_2 = $(man_nopam) +@ENABLE_LASTLOG_TRUE@am__append_1 = man8/lastlog.8 +@USE_PAM_FALSE@am__append_2 = $(man_nopam) +@USE_PAM_TRUE@am__append_3 = $(man_nopam) subdir = man/zh_CN ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -176,6 +177,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -209,9 +212,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -227,6 +236,7 @@ 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@ @@ -235,6 +245,8 @@ 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@ @@ -257,6 +269,9 @@ 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@ @@ -332,20 +347,22 @@ man_MANS = man1/chage.1 man1/chfn.1 man8/chgpasswd.8 man8/chpasswd.8 \ man1/chsh.1 man1/expiry.1 man5/faillog.5 man8/faillog.8 \ man3/getspnam.3 man1/gpasswd.1 man8/groupadd.8 man8/groupdel.8 \ man8/groupmems.8 man8/groupmod.8 man1/groups.1 man8/grpck.8 \ - man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man8/lastlog.8 \ - man1/login.1 man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 \ - man8/newusers.8 man8/nologin.8 man1/passwd.1 man5/passwd.5 \ - man8/pwck.8 man8/pwconv.8 man8/pwunconv.8 man1/sg.1 \ - man3/shadow.3 man5/shadow.5 man1/su.1 man5/suauth.5 \ - man8/useradd.8 man8/userdel.8 man8/usermod.8 man8/vigr.8 \ - man8/vipw.8 $(am__append_1) + man8/grpconv.8 man8/grpunconv.8 man5/gshadow.5 man1/login.1 \ + man5/login.defs.5 man8/logoutd.8 man1/newgrp.1 man8/newusers.8 \ + man8/nologin.8 man1/passwd.1 man5/passwd.5 man8/pwck.8 \ + man8/pwconv.8 man8/pwunconv.8 man1/sg.1 man3/shadow.3 \ + man5/shadow.5 man1/su.1 man5/suauth.5 man8/useradd.8 \ + man8/userdel.8 man8/usermod.8 man8/vigr.8 man8/vipw.8 \ + $(am__append_1) $(am__append_2) man_nopam = \ man5/limits.5 \ man5/login.access.5 \ man5/porttime.5 -EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_2) +EXTRA_DIST = $(man_MANS) man1/id.1 man8/sulogin.8 $(am__append_3) LANG = $(notdir $(CURDIR)) +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_FALSE@VENDORDIR_COND = without_vendordir +@ENABLE_REGENERATE_MAN_TRUE@@HAVE_VENDORDIR_TRUE@VENDORDIR_COND = with_vendordir @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@PAM_COND = no_pam @ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@PAM_COND = pam @ENABLE_REGENERATE_MAN_TRUE@@SHADOWGRP_FALSE@SHADOWGRP_COND = no_gshadow @@ -354,8 +371,15 @@ LANG = $(notdir $(CURDIR)) @ENABLE_REGENERATE_MAN_TRUE@@WITH_TCB_TRUE@TCB_COND = tcb @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_FALSE@SHA_CRYPT_COND = no_sha_crypt @ENABLE_REGENERATE_MAN_TRUE@@USE_SHA_CRYPT_TRUE@SHA_CRYPT_COND = sha_crypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_FALSE@BCRYPT_COND = no_bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_BCRYPT_TRUE@BCRYPT_COND = bcrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_FALSE@YESCRYPT_COND = no_yescrypt +@ENABLE_REGENERATE_MAN_TRUE@@USE_YESCRYPT_TRUE@YESCRYPT_COND = yescrypt @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_FALSE@SUBIDS_COND = no_subids @ENABLE_REGENERATE_MAN_TRUE@@ENABLE_SUBIDS_TRUE@SUBIDS_COND = subids +@ENABLE_LASTLOG_FALSE@@ENABLE_REGENERATE_MAN_TRUE@LASTLOG_COND = no_lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_FALSE@LASTLOG_COND = lastlog +@ENABLE_LASTLOG_TRUE@@ENABLE_REGENERATE_MAN_TRUE@@USE_PAM_TRUE@LASTLOG_COND = no_lastlog CLEANFILES = messages.mo login.defs.d $(EXTRA_DIST) $(addsuffix .xml,$(EXTRA_DIST)) config.xml all: all-am @@ -739,10 +763,10 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ cp ../config.xml $@ @ENABLE_REGENERATE_MAN_TRUE@messages.mo: ../po/$(LANG).po -@ENABLE_REGENERATE_MAN_TRUE@ msgfmt ../po/$(LANG).po -o messages.mo +@ENABLE_REGENERATE_MAN_TRUE@ msgfmt $< -o messages.mo @ENABLE_REGENERATE_MAN_TRUE@login.defs.d: -@ENABLE_REGENERATE_MAN_TRUE@ ln -sf ../login.defs.d login.defs.d +@ENABLE_REGENERATE_MAN_TRUE@ ln -sf $(srcdir)/../login.defs.d login.defs.d @ENABLE_REGENERATE_MAN_TRUE@%.xml: ../%.xml messages.mo login.defs.d @ENABLE_REGENERATE_MAN_TRUE@ if grep -q SHADOW-CONFIG-HERE $< ; then \ @@ -750,7 +774,7 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ else \ @ENABLE_REGENERATE_MAN_TRUE@ sed -e 's/^\(/\1 [%config;]>/' $< > $@; \ @ENABLE_REGENERATE_MAN_TRUE@ fi -@ENABLE_REGENERATE_MAN_TRUE@ itstool -d -l $(LANG) -m messages.mo -o . $@ +@ENABLE_REGENERATE_MAN_TRUE@ itstool -i $(srcdir)/../its.rules -d -l $(LANG) -m messages.mo -o . $@ @ENABLE_REGENERATE_MAN_TRUE@ sed -i 's:\(^:\1 lang="$(LANG)">:' $@ @ENABLE_REGENERATE_MAN_TRUE@%.xml-config: %.xml @@ -761,11 +785,13 @@ uninstall-man: uninstall-man1 uninstall-man3 uninstall-man5 \ @ENABLE_REGENERATE_MAN_TRUE@ fi @ENABLE_REGENERATE_MAN_TRUE@man1/% man3/% man5/% man8/%: %.xml-config Makefile config.xml -@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(SUBIDS_COND)" \ +@ENABLE_REGENERATE_MAN_TRUE@ $(XSLTPROC) --stringparam profile.condition "$(PAM_COND);$(SHADOWGRP_COND);$(TCB_COND);$(SHA_CRYPT_COND);$(BCRYPT_COND);$(YESCRYPT_COND);$(SUBIDS_COND);$(VENDORDIR_COND);$(LASTLOG_COND)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.authors.section.enabled" "0" \ @ENABLE_REGENERATE_MAN_TRUE@ --stringparam "man.output.base.dir" "" \ +@ENABLE_REGENERATE_MAN_TRUE@ --stringparam vendordir "$(VENDORDIR)" \ @ENABLE_REGENERATE_MAN_TRUE@ --param "man.output.in.separate.dir" "1" \ -@ENABLE_REGENERATE_MAN_TRUE@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/profile-docbook.xsl $< +@ENABLE_REGENERATE_MAN_TRUE@ --path "$(srcdir)/login.defs.d" \ +@ENABLE_REGENERATE_MAN_TRUE@ -nonet $(top_srcdir)/man/shadow-man.xsl $< @ENABLE_REGENERATE_MAN_TRUE@clean-local: @ENABLE_REGENERATE_MAN_TRUE@ rm -rf man1 man3 man5 man8 diff --git a/man/zh_CN/man1/chage.1 b/man/zh_CN/man1/chage.1 index 13833877..a2fb533b 100644 --- a/man/zh_CN/man1/chage.1 +++ b/man/zh_CN/man1/chage.1 @@ -2,12 +2,12 @@ .\" Title: chage .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "CHAGE" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "CHAGE" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chage \- 更改用户密码过期信息 .SH "大纲" .HP \w'\fBchage\fR\ 'u -\fBchage\fR [\fI选项\fR] \fI登录\fR +\fBchage\fR [\fIoptions\fR] \fILOGIN\fR .SH "描述" .PP The @@ -136,6 +136,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-W\fR, \fB\-\-warndays\fR\ \&\fIWARN_DAYS\fR .RS 4 Set the number of days of warning before a password change is required\&. The diff --git a/man/zh_CN/man1/chfn.1 b/man/zh_CN/man1/chfn.1 index cc5b4bff..90dc7895 100644 --- a/man/zh_CN/man1/chfn.1 +++ b/man/zh_CN/man1/chfn.1 @@ -2,12 +2,12 @@ .\" Title: chfn .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "CHFN" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "CHFN" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chfn \- 更改真名和信息 .SH "大纲" .HP \w'\fBchfn\fR\ 'u -\fBchfn\fR [\fI选项\fR] [\fI登录\fR] +\fBchfn\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "描述" .PP The diff --git a/man/zh_CN/man1/chsh.1 b/man/zh_CN/man1/chsh.1 index f81758ce..2c6d3f31 100644 --- a/man/zh_CN/man1/chsh.1 +++ b/man/zh_CN/man1/chsh.1 @@ -2,12 +2,12 @@ .\" Title: chsh .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "CHSH" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "CHSH" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chsh \- 更改登录 shell .SH "大纲" .HP \w'\fBchsh\fR\ 'u -\fBchsh\fR [\fI选项\fR] [\fI登录\fR] +\fBchsh\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "描述" .PP The @@ -77,6 +77,12 @@ The only restriction placed on the login shell is that the command name must be 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\&. +.PP +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\&. .SH "配置文件" .PP The following configuration variables in diff --git a/man/zh_CN/man1/expiry.1 b/man/zh_CN/man1/expiry.1 index 3ebd7339..0a46a786 100644 --- a/man/zh_CN/man1/expiry.1 +++ b/man/zh_CN/man1/expiry.1 @@ -2,12 +2,12 @@ .\" Title: expiry .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "EXPIRY" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "EXPIRY" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ expiry \- check and enforce password expiration policy .SH "大纲" .HP \w'\fBexpiry\fR\ 'u -\fBexpiry\fR \fI选项\fR +\fBexpiry\fR \fIoption\fR .SH "描述" .PP The diff --git a/man/zh_CN/man1/gpasswd.1 b/man/zh_CN/man1/gpasswd.1 index 1f4623f0..74410bed 100644 --- a/man/zh_CN/man1/gpasswd.1 +++ b/man/zh_CN/man1/gpasswd.1 @@ -2,12 +2,12 @@ .\" Title: gpasswd .\" Author: Rafal Maszkowski .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "GPASSWD" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "GPASSWD" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ gpasswd \- administer /etc/group and /etc/gshadow .SH "大纲" .HP \w'\fBgpasswd\fR\ 'u -\fBgpasswd\fR [\fI选项\fR] \fIgroup\fR +\fBgpasswd\fR [\fIoption\fR] \fIgroup\fR .SH "描述" .PP The diff --git a/man/zh_CN/man1/groups.1 b/man/zh_CN/man1/groups.1 index 38458978..b21eab4e 100644 --- a/man/zh_CN/man1/groups.1 +++ b/man/zh_CN/man1/groups.1 @@ -2,12 +2,12 @@ .\" Title: groups .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "GROUPS" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "GROUPS" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groups \- 显示当前组名 .SH "大纲" .HP \w'\fBgroups\fR\ 'u -\fBgroups\fR [\fI用户\fR] +\fBgroups\fR [\fIuser\fR] .SH "描述" .PP The diff --git a/man/zh_CN/man1/id.1 b/man/zh_CN/man1/id.1 index 31ecf865..0f0bef33 100644 --- a/man/zh_CN/man1/id.1 +++ b/man/zh_CN/man1/id.1 @@ -2,12 +2,12 @@ .\" Title: id .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "ID" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "ID" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man1/login.1 b/man/zh_CN/man1/login.1 index 5c43d13f..21daa498 100644 --- a/man/zh_CN/man1/login.1 +++ b/man/zh_CN/man1/login.1 @@ -2,12 +2,12 @@ .\" Title: login .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "LOGIN" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "LOGIN" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,9 +31,9 @@ login \- 在系统上启动回话 .SH "大纲" .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fI用户名\fR] [\fIENV=VAR\fR...] +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] [\fIusername\fR] [\fIENV=VAR\fR...] .HP \w'\fBlogin\fR\ 'u -\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fI用户名\fR +\fBlogin\fR [\-p] [\-h\ \fIhost\fR] \-f \fIusername\fR .HP \w'\fBlogin\fR\ 'u \fBlogin\fR [\-p] \-r\ \fIhost\fR .SH "描述" diff --git a/man/zh_CN/man1/newgrp.1 b/man/zh_CN/man1/newgrp.1 index a66be469..bb7b5370 100644 --- a/man/zh_CN/man1/newgrp.1 +++ b/man/zh_CN/man1/newgrp.1 @@ -2,12 +2,12 @@ .\" Title: newgrp .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "NEWGRP" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "NEWGRP" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man1/passwd.1 b/man/zh_CN/man1/passwd.1 index 89e0e078..0b46e15b 100644 --- a/man/zh_CN/man1/passwd.1 +++ b/man/zh_CN/man1/passwd.1 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "PASSWD" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "PASSWD" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ passwd \- 更改用户密码 .SH "大纲" .HP \w'\fBpasswd\fR\ 'u -\fBpasswd\fR [\fI选项\fR] [\fI登录\fR] +\fBpasswd\fR [\fIoptions\fR] [\fILOGIN\fR] .SH "描述" .PP The @@ -49,44 +49,9 @@ refuses to change the password and exits\&. .PP 提示用户输入两次新密码。第二次和第一次进行比较,并且需要相同才能更改密码。 .PP -然后,测试密码的负责程度。一般来讲,密码应该包含 6 到 8 位字符,从下边的一个或多个集合中选择: -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -小写字母 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -数字 0 到 9 -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} -标点符号 -.RE -.PP -Care must be taken not to include the system default erase or kill characters\&. +Then, the password is tested for complexity\&. \fBpasswd\fR -will reject any password which is not suitably complex\&. +will reject any password which is not suitably complex\&. Care must be taken not to include the system default erase or kill characters\&. .SS "关于用户密码的提示" .PP The security of a password depends upon the strength of the encryption algorithm and the size of the key space\&. The legacy @@ -96,6 +61,8 @@ System encryption method is based on the NBS DES algorithm\&. More recent method .PP 由于粗心地或处理选择密码,会危及密码的安全。由于这个原因,您不应该选择出现在词典中或者必须要写下来才能记住的密码。密码也不应该是一个名字、许可证号、生日或者街道号。所有这些可以用于猜测来损害系统安全。 .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 You can find advice on how to choose a strong password on http://en\&.wikipedia\&.org/wiki/Password_strength .SH "选项" .PP @@ -175,6 +142,12 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-S\fR, \fB\-\-status\fR .RS 4 显示账户状态信息。状态信息包含 7 个字段。首个字段是用户的登录名,第二个字段表示用户账户是否已经锁定密码(L)、没有密码 (NP)或者密码可用(P),第三个字段给出最后一次更改密码的日期。接下来的四个字段分别是密码的最小年龄、最大年龄、警告期和禁用期。这些年龄以天为单位计算。 @@ -205,6 +178,11 @@ as \fIMAX_DAYS\fR will remove checking a password\*(Aqs validity\&. .RE +.PP +\fB\-s\fR, \fB\-\-stdin\fR +.RS 4 +This option is used to indicate that passwd should read the new password from standard input, which can be a pipe\&. +.RE .SH "CAVEATS" .PP 密码复杂性检查在每台机器间不同。用户应该选择适合的尽量复杂的密码。 @@ -277,7 +255,10 @@ invalid argument to option .SH "参见" .PP \fBchpasswd\fR(8), +\fBmakepasswd\fR(1), \fBpasswd\fR(5), \fBshadow\fR(5), \fBlogin.defs\fR(5), \fBusermod\fR(8)\&. +.PP +The following web page comically (yet correctly) compares the strength of two different methods for choosing a password: "https://xkcd\&.com/936/" diff --git a/man/zh_CN/man1/sg.1 b/man/zh_CN/man1/sg.1 index daae8172..bb1072fd 100644 --- a/man/zh_CN/man1/sg.1 +++ b/man/zh_CN/man1/sg.1 @@ -2,12 +2,12 @@ .\" Title: sg .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "SG" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "SG" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man1/su.1 b/man/zh_CN/man1/su.1 index 91a304ff..b3db1fd1 100644 --- a/man/zh_CN/man1/su.1 +++ b/man/zh_CN/man1/su.1 @@ -2,12 +2,12 @@ .\" Title: su .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 用户命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: User Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "SU" "1" "2022-11-08" "shadow\-utils 4\&.13" "用户命令" +.TH "SU" "1" "2024-03-23" "shadow\-utils 4\&.15\&.1" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ su \- 更改用户 ID 或成为超级用户 .SH "大纲" .HP \w'\fBsu\fR\ 'u -\fBsu\fR [\fI选项\fR] [\fI\-\fR] [\fI用户名\fR\ [\ \fIargs\fR\ ]] +\fBsu\fR [\fIoptions\fR] [\fI\-\fR] [\fIusername\fR\ [\ \fIargs\fR\ ]] .SH "描述" .PP The diff --git a/man/zh_CN/man3/shadow.3 b/man/zh_CN/man3/shadow.3 index 57bb8e54..88e03032 100644 --- a/man/zh_CN/man3/shadow.3 +++ b/man/zh_CN/man3/shadow.3 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 库函数调用 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: Library Calls +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "SHADOW" "3" "2022-11-08" "shadow\-utils 4\&.13" "库函数调用" +.TH "SHADOW" "3" "2024-03-23" "shadow\-utils 4\&.15\&.1" "Library Calls" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/faillog.5 b/man/zh_CN/man5/faillog.5 index 5ac8f2b9..d42b717e 100644 --- a/man/zh_CN/man5/faillog.5 +++ b/man/zh_CN/man5/faillog.5 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 +.\" Date: 2024-03-23 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "FAILLOG" "5" "2022-11-08" "shadow\-utils 4\&.13" "File Formats and Configuratio" +.TH "FAILLOG" "5" "2024-03-23" "shadow\-utils 4\&.15\&.1" "File Formats and Configuratio" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/gshadow.5 b/man/zh_CN/man5/gshadow.5 index 04ff51d0..4ce813ff 100644 --- a/man/zh_CN/man5/gshadow.5 +++ b/man/zh_CN/man5/gshadow.5 @@ -2,12 +2,12 @@ .\" Title: gshadow .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 +.\" Date: 2024-03-23 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "GSHADOW" "5" "2022-11-08" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "GSHADOW" "5" "2024-03-23" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,12 +38,12 @@ contains the shadowed information for group accounts\&. .PP 此文件的每行包含逗号分隔的如下字段: .PP -\fB组名\fR +\fBgroup name\fR .RS 4 必须是系统中已经存在的有效组。 .RE .PP -\fB加密了的密码\fR +\fBencrypted password\fR .RS 4 Refer to \fBcrypt\fR(3) @@ -63,7 +63,7 @@ This password supersedes any password specified in /etc/group\&. .RE .PP -\fB管理员\fR +\fBadministrators\fR .RS 4 必须是一个逗号分隔的用户名列表。 .sp @@ -72,7 +72,7 @@ This password supersedes any password specified in 管理员也有成员一样的权限(请看下边)。 .RE .PP -\fB成员\fR +\fBmembers\fR .RS 4 必须是一个逗号分隔的用户名列表。 .sp diff --git a/man/zh_CN/man5/limits.5 b/man/zh_CN/man5/limits.5 index b2fe0409..2bf2b252 100644 --- a/man/zh_CN/man5/limits.5 +++ b/man/zh_CN/man5/limits.5 @@ -2,12 +2,12 @@ .\" Title: limits .\" Author: Luca Berra .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 +.\" Date: 2024-03-23 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "LIMITS" "5" "2022-11-08" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LIMITS" "5" "2024-03-23" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/login.access.5 b/man/zh_CN/man5/login.access.5 index 19ccadde..a9ea71e3 100644 --- a/man/zh_CN/man5/login.access.5 +++ b/man/zh_CN/man5/login.access.5 @@ -2,12 +2,12 @@ .\" Title: login.access .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 +.\" Date: 2024-03-23 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "LOGIN\&.ACCESS" "5" "2022-11-08" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LOGIN\&.ACCESS" "5" "2024-03-23" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/login.defs.5 b/man/zh_CN/man5/login.defs.5 index 5db13e47..b4eac227 100644 --- a/man/zh_CN/man5/login.defs.5 +++ b/man/zh_CN/man5/login.defs.5 @@ -2,12 +2,12 @@ .\" Title: login.defs .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 +.\" Date: 2024-03-23 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "LOGIN\&.DEFS" "5" "2022-11-08" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "LOGIN\&.DEFS" "5" "2024-03-23" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -192,8 +192,7 @@ USERGROUPS_ENAB .PP sulogin .RS 4 -ENV_HZ -ENV_TZ +ENV_HZ ENV_TZ .RE .PP useradd diff --git a/man/zh_CN/man5/passwd.5 b/man/zh_CN/man5/passwd.5 index 13c1853d..ca2ce128 100644 --- a/man/zh_CN/man5/passwd.5 +++ b/man/zh_CN/man5/passwd.5 @@ -2,12 +2,12 @@ .\" Title: passwd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 +.\" Date: 2024-03-23 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "PASSWD" "5" "2022-11-08" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PASSWD" "5" "2024-03-23" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/porttime.5 b/man/zh_CN/man5/porttime.5 index 7a6b29f2..b3bd7703 100644 --- a/man/zh_CN/man5/porttime.5 +++ b/man/zh_CN/man5/porttime.5 @@ -2,12 +2,12 @@ .\" Title: porttime .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 +.\" Date: 2024-03-23 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "PORTTIME" "5" "2022-11-08" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "PORTTIME" "5" "2024-03-23" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man5/shadow.5 b/man/zh_CN/man5/shadow.5 index 4d4b0900..d60e66ea 100644 --- a/man/zh_CN/man5/shadow.5 +++ b/man/zh_CN/man5/shadow.5 @@ -2,12 +2,12 @@ .\" Title: shadow .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 +.\" Date: 2024-03-23 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "SHADOW" "5" "2022-11-08" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SHADOW" "5" "2024-03-23" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -38,12 +38,12 @@ is a file which contains the password information for the system\*(Aqs accounts .PP Each line of this file contains 9 fields, separated by colons (\(lq:\(rq), in the following order: .PP -\fB登录名\fR +\fBlogin name\fR .RS 4 必须是有效的账户名,且已经存在于系统中。 .RE .PP -\fB加密了的密码\fR +\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 /etc/shadow @@ -59,7 +59,7 @@ 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)\&. .RE .PP -\fB最后一次更改密码的日期\fR +\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\&. .sp @@ -68,14 +68,14 @@ The value 0 has a special meaning, which is that the user should change her pass 空字段表示密码年龄功能被禁用。 .RE .PP -\fB密码的最小年龄\fR +\fBminimum password age\fR .RS 4 最小密码年龄是指,用户一次更改密码之后,要等多长时间才再次被允许更改密码。 .sp An empty field and value 0 mean that there is no minimum password age\&. .RE .PP -\fB最大密码年龄\fR +\fBmaximum password age\fR .RS 4 最大密码年龄是指,这写天之后,用户必须更改密码。 .sp @@ -86,14 +86,14 @@ An empty field and value 0 mean that there is no minimum password age\&. 如果最大密码年龄小于最小密码年龄,用户将会不能更改密码。 .RE .PP -\fB密码警告时间段\fR +\fBpassword warning period\fR .RS 4 密码过期之前,提前警告用户的的天数(请参考上边的密码的最大年龄)。 .sp 空字段或者 0 表示没有密码警告期。 .RE .PP -\fB密码禁用期\fR +\fBpassword inactivity period\fR .RS 4 密码过期(查看上边的密码最大年龄)后,仍然接受此密码的天数(在此期间,用户应该在下次登录时修改密码)。 .sp @@ -102,7 +102,7 @@ After expiration of the password and this expiration period is elapsed, no login 空字段表示没有强制密码过期。 .RE .PP -\fB账户过期日期\fR +\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\&. .sp @@ -113,7 +113,7 @@ Note that an account expiration differs from a password expiration\&. In case of 应该避免使用 0,因为它既能理解成永不过期也能理解成在1970年1月1日过期。 .RE .PP -\fB保留字段\fR +\fBreserved field\fR .RS 4 此字段保留作将来使用。 .RE diff --git a/man/zh_CN/man5/suauth.5 b/man/zh_CN/man5/suauth.5 index 55434bfa..31988c20 100644 --- a/man/zh_CN/man5/suauth.5 +++ b/man/zh_CN/man5/suauth.5 @@ -2,12 +2,12 @@ .\" Title: suauth .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 +.\" Date: 2024-03-23 .\" Manual: File Formats and Configuration Files -.\" Source: shadow-utils 4.13 +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "SUAUTH" "5" "2022-11-08" "shadow\-utils 4\&.13" "File Formats and Configuration" +.TH "SUAUTH" "5" "2024-03-23" "shadow\-utils 4\&.15\&.1" "File Formats and Configuration" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/chgpasswd.8 b/man/zh_CN/man8/chgpasswd.8 index c462a32c..1d969d2a 100644 --- a/man/zh_CN/man8/chgpasswd.8 +++ b/man/zh_CN/man8/chgpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chgpasswd .\" Author: Thomas K\(/loczko .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "CHGPASSWD" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "CHGPASSWD" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chgpasswd \- 批量更新组密码 .SH "大纲" .HP \w'\fBchgpasswd\fR\ 'u -\fBchgpasswd\fR [\fI选项\fR] +\fBchgpasswd\fR [\fIoptions\fR] .SH "描述" .PP The @@ -63,7 +63,12 @@ command are: .RS 4 使用指定的方法加密密码。 .sp -可用的方法有 DES, MD5, NONE, and SHA256 或 SHA512,前提是您的 libc 支持这写方法。 +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .RE .PP \fB\-e\fR, \fB\-\-encrypted\fR @@ -94,14 +99,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 使用指定次数的轮转来加密密码。 .sp -值 0 表示让系统为加密方法选择默认的轮转次数 (5000)。 +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -会强制最小 1,000,最大 9,9999,9999 -.sp -您只可以对 SHA256 或 SHA512 使用此选项。 -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "CAVEATS" .PP diff --git a/man/zh_CN/man8/chpasswd.8 b/man/zh_CN/man8/chpasswd.8 index fa03ab87..37f03a42 100644 --- a/man/zh_CN/man8/chpasswd.8 +++ b/man/zh_CN/man8/chpasswd.8 @@ -2,12 +2,12 @@ .\" Title: chpasswd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "CHPASSWD" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "CHPASSWD" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ chpasswd \- 批量更新密码 .SH "大纲" .HP \w'\fBchpasswd\fR\ 'u -\fBchpasswd\fR [\fI选项\fR] +\fBchpasswd\fR [\fIoptions\fR] .SH "描述" .PP The @@ -68,7 +68,12 @@ command are: .RS 4 使用指定的方法加密密码。 .sp -可用的方法有 DES, MD5, NONE, and SHA256 或 SHA512,前提是您的 libc 支持这写方法。 +The available methods are +\fIDES\fR, +\fIMD5\fR, \fISHA256\fR, \fISHA512\fR +and +\fINONE\fR +if your libc supports these methods\&. .sp By default (if none of the \fB\-c\fR, @@ -106,22 +111,23 @@ directory and use the configuration files from the directory\&. Only absolute paths are supported\&. .RE .PP +\fB\-P\fR, \fB\-\-prefix\fR\ \&\fIPREFIX_DIR\fR +.RS 4 +Apply changes to configuration files under the root filesystem found under the directory +\fIPREFIX_DIR\fR\&. 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\&. +.RE +.PP \fB\-s\fR, \fB\-\-sha\-rounds\fR\ \&\fIROUNDS\fR .RS 4 使用指定次数的轮转来加密密码。 .sp -值 0 表示让系统为加密方法选择默认的轮转次数 (5000)。 +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -会强制最小 1,000,最大 9,9999,9999 -.sp -您只可以对 SHA256 或 SHA512 使用此选项。 -.sp -By default, the number of rounds is defined by the -\fBSHA_CRYPT_MIN_ROUNDS\fR -and -\fBSHA_CRYPT_MAX_ROUNDS\fR -variables in +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 /etc/login\&.defs\&. +.sp +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\&. .RE .SH "CAVEATS" .PP diff --git a/man/zh_CN/man8/faillog.8 b/man/zh_CN/man8/faillog.8 index 93863741..0f66c3b5 100644 --- a/man/zh_CN/man8/faillog.8 +++ b/man/zh_CN/man8/faillog.8 @@ -2,12 +2,12 @@ .\" Title: faillog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "FAILLOG" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "FAILLOG" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ faillog \- 显示登录失败记录或设置登录失败限制 .SH "大纲" .HP \w'\fBfaillog\fR\ 'u -\fBfaillog\fR [\fI选项\fR] +\fBfaillog\fR [\fIoptions\fR] .SH "描述" .PP \fBfaillog\fR diff --git a/man/zh_CN/man8/groupadd.8 b/man/zh_CN/man8/groupadd.8 index dcadcb1e..6b4468a7 100644 --- a/man/zh_CN/man8/groupadd.8 +++ b/man/zh_CN/man8/groupadd.8 @@ -2,12 +2,12 @@ .\" Title: groupadd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "GROUPADD" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "GROUPADD" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupadd \- 创建一个新组 .SH "大纲" .HP \w'\fBgroupadd\fR\ 'u -\fBgroupadd\fR [\fI选项\fR] \fINEWGROUP\fR +\fBgroupadd\fR [\fIOPTIONS\fR] \fINEWGROUP\fR .SH "描述" .PP The diff --git a/man/zh_CN/man8/groupdel.8 b/man/zh_CN/man8/groupdel.8 index d20b5dbf..2fcc20c8 100644 --- a/man/zh_CN/man8/groupdel.8 +++ b/man/zh_CN/man8/groupdel.8 @@ -2,12 +2,12 @@ .\" Title: groupdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "GROUPDEL" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "GROUPDEL" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupdel \- 删除一个组 .SH "大纲" .HP \w'\fBgroupdel\fR\ 'u -\fBgroupdel\fR [\fI选项\fR] \fIGROUP\fR +\fBgroupdel\fR [\fIoptions\fR] \fIGROUP\fR .SH "描述" .PP The diff --git a/man/zh_CN/man8/groupmems.8 b/man/zh_CN/man8/groupmems.8 index 84a3f7d8..1b4028ba 100644 --- a/man/zh_CN/man8/groupmems.8 +++ b/man/zh_CN/man8/groupmems.8 @@ -2,12 +2,12 @@ .\" Title: groupmems .\" Author: George Kraft, IV .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "GROUPMEMS" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "GROUPMEMS" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -130,7 +130,7 @@ utility to manage their own group membership list\&. .nf $ groupadd \-r groups $ chmod 2710 groupmems - $ chown root\&.groups groupmems + $ chown root:groups groupmems $ groupmems \-g groups \-a gk4 .fi diff --git a/man/zh_CN/man8/groupmod.8 b/man/zh_CN/man8/groupmod.8 index d0df2e09..62aa7c4a 100644 --- a/man/zh_CN/man8/groupmod.8 +++ b/man/zh_CN/man8/groupmod.8 @@ -2,12 +2,12 @@ .\" Title: groupmod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "GROUPMOD" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "GROUPMOD" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ groupmod \- modify a group definition on the system .SH "大纲" .HP \w'\fBgroupmod\fR\ 'u -\fBgroupmod\fR [\fI选项\fR] \fIGROUP\fR +\fBgroupmod\fR [\fIoptions\fR] \fIGROUP\fR .SH "描述" .PP The diff --git a/man/zh_CN/man8/grpck.8 b/man/zh_CN/man8/grpck.8 index a75388ce..cc99c08e 100644 --- a/man/zh_CN/man8/grpck.8 +++ b/man/zh_CN/man8/grpck.8 @@ -2,12 +2,12 @@ .\" Title: grpck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "GRPCK" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "GRPCK" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ grpck \- 检查组文件的完整性 .SH "大纲" .HP \w'\fBgrpck\fR\ 'u -\fBgrpck\fR [选项] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] +\fBgrpck\fR [options] [\fIgroup\fR\ [\ \fIshadow\fR\ ]] .SH "描述" .PP The diff --git a/man/zh_CN/man8/lastlog.8 b/man/zh_CN/man8/lastlog.8 index d3bafd09..73528129 100644 --- a/man/zh_CN/man8/lastlog.8 +++ b/man/zh_CN/man8/lastlog.8 @@ -2,12 +2,12 @@ .\" Title: lastlog .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "LASTLOG" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "LASTLOG" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ lastlog \- 报告所有用户的最近登录情况,或者指定用户的最近登录情况 .SH "大纲" .HP \w'\fBlastlog\fR\ 'u -\fBlastlog\fR [\fI选项\fR] +\fBlastlog\fR [\fIoptions\fR] .SH "描述" .PP \fBlastlog\fR diff --git a/man/zh_CN/man8/logoutd.8 b/man/zh_CN/man8/logoutd.8 index 4481346b..94c0c252 100644 --- a/man/zh_CN/man8/logoutd.8 +++ b/man/zh_CN/man8/logoutd.8 @@ -2,12 +2,12 @@ .\" Title: logoutd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "LOGOUTD" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "LOGOUTD" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/newusers.8 b/man/zh_CN/man8/newusers.8 index 01242e3a..6c5588f8 100644 --- a/man/zh_CN/man8/newusers.8 +++ b/man/zh_CN/man8/newusers.8 @@ -2,12 +2,12 @@ .\" Title: newusers .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "NEWUSERS" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "NEWUSERS" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ newusers \- 批量更新和创建新用户 .SH "大纲" .HP \w'\fBnewusers\fR\ 'u -\fBnewusers\fR [\fI选项\fR] [\fI文件\fR] +\fBnewusers\fR [\fIoptions\fR] [\fIfile\fR] .SH "描述" .PP The @@ -168,14 +168,13 @@ directory\&. Only absolute paths are supported\&. .RS 4 使用指定次数的轮转来加密密码。 .sp -值 0 表示让系统为加密方法选择默认的轮转次数 (5000)。 +You can only use this option with crypt method: +\fISHA256\fR \fISHA512\fR .sp -会强制最小 1,000,最大 9,9999,9999 -.sp -您只可以对 SHA256 或 SHA512 使用此选项。 -.sp -By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in +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 /etc/login\&.defs\&. +.sp +A minimal value of 1000 and a maximal value of 999,999,999 will be enforced for SHA256 and SHA512\&. The default is 5000\&. .RE .SH "CAVEATS" .PP diff --git a/man/zh_CN/man8/nologin.8 b/man/zh_CN/man8/nologin.8 index 286ba0ff..5fd3ac76 100644 --- a/man/zh_CN/man8/nologin.8 +++ b/man/zh_CN/man8/nologin.8 @@ -2,12 +2,12 @@ .\" Title: nologin .\" Author: Nicolas Fran\(,cois .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "NOLOGIN" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "NOLOGIN" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/pwck.8 b/man/zh_CN/man8/pwck.8 index 4bae586d..f080bfca 100644 --- a/man/zh_CN/man8/pwck.8 +++ b/man/zh_CN/man8/pwck.8 @@ -2,12 +2,12 @@ .\" Title: pwck .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "PWCK" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "PWCK" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ pwck \- verify the integrity of password files .SH "大纲" .HP \w'\fBpwck\fR\ 'u -\fBpwck\fR [选项] [\fIPASSWORDFILE\fR\ [\ \fISHADOWFILE\fR\ ]] +\fBpwck\fR [options] [\fIPASSWORDFILE\fR\ [\ \fISHADOWFILE\fR\ ]] .SH "描述" .PP The diff --git a/man/zh_CN/man8/pwconv.8 b/man/zh_CN/man8/pwconv.8 index c519a90f..2bdb506b 100644 --- a/man/zh_CN/man8/pwconv.8 +++ b/man/zh_CN/man8/pwconv.8 @@ -2,12 +2,12 @@ .\" Title: pwconv .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "PWCONV" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "PWCONV" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,13 +31,13 @@ pwconv, pwunconv, grpconv, grpunconv \- 在影子密码和组以及其它直接转换 .SH "大纲" .HP \w'\fBpwconv\fR\ 'u -\fBpwconv\fR [\fI选项\fR] +\fBpwconv\fR [\fIoptions\fR] .HP \w'\fBpwunconv\fR\ 'u -\fBpwunconv\fR [\fI选项\fR] +\fBpwunconv\fR [\fIoptions\fR] .HP \w'\fBgrpconv\fR\ 'u -\fBgrpconv\fR [\fI选项\fR] +\fBgrpconv\fR [\fIoptions\fR] .HP \w'\fBgrpunconv\fR\ 'u -\fBgrpunconv\fR [\fI选项\fR] +\fBgrpunconv\fR [\fIoptions\fR] .SH "描述" .PP The diff --git a/man/zh_CN/man8/sulogin.8 b/man/zh_CN/man8/sulogin.8 index e7fdf61e..a9a5172b 100644 --- a/man/zh_CN/man8/sulogin.8 +++ b/man/zh_CN/man8/sulogin.8 @@ -2,12 +2,12 @@ .\" Title: sulogin .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "SULOGIN" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "SULOGIN" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/man/zh_CN/man8/useradd.8 b/man/zh_CN/man8/useradd.8 index 580372e3..372dfc25 100644 --- a/man/zh_CN/man8/useradd.8 +++ b/man/zh_CN/man8/useradd.8 @@ -2,12 +2,12 @@ .\" Title: useradd .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "USERADD" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "USERADD" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,11 +31,11 @@ useradd \- 创建一个新用户或更新默认新用户信息 .SH "大纲" .HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR [\fI选项\fR] \fI登录\fR +\fBuseradd\fR [\fIoptions\fR] \fILOGIN\fR .HP \w'\fBuseradd\fR\ 'u \fBuseradd\fR \-D .HP \w'\fBuseradd\fR\ 'u -\fBuseradd\fR \-D [\fI选项\fR] +\fBuseradd\fR \-D [\fIoptions\fR] .SH "描述" .PP When invoked without the @@ -169,7 +169,11 @@ variable in .RS 4 A list of supplementary groups which the user is also a member of\&. Each group is separated from the next by a comma, with no intervening whitespace\&. The groups are subject to the same restrictions as the group given with the \fB\-g\fR -option\&. The default is for the user to belong only to the initial group\&. +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 +\fBGROUPS\fR +to the file +/etc/default/useradd +which in turn will add all users to those supplementary groups\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR @@ -194,6 +198,10 @@ variable in or, by default, /etc/skel\&. .sp +Absolute symlinks that link back to the skel directory will have the +/etc/skel +prefix replaced with the user\*(Aqs home directory\&. +.sp 如果可以,也复制 ACL 和扩展属性。 .RE .PP @@ -380,10 +388,22 @@ variable in .PP \fB\-Z\fR, \fB\-\-selinux\-user\fR\ \&\fISEUSER\fR .RS 4 -defines the SELinux user for the new account\&. Without this option, a SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses +defines the SELinux user for the new account\&. Without this option, SELinux uses the default user\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses \fBsemanage\fR(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Without this option, SELinux uses the default range\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SS "更改默认值" .PP When invoked with only the diff --git a/man/zh_CN/man8/userdel.8 b/man/zh_CN/man8/userdel.8 index c6700ae0..a1946aa9 100644 --- a/man/zh_CN/man8/userdel.8 +++ b/man/zh_CN/man8/userdel.8 @@ -2,12 +2,12 @@ .\" Title: userdel .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "USERDEL" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "USERDEL" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ userdel \- 删除用户账户和相关文件 .SH "大纲" .HP \w'\fBuserdel\fR\ 'u -\fBuserdel\fR [选项] \fI登录\fR +\fBuserdel\fR [options] \fILOGIN\fR .SH "描述" .PP The diff --git a/man/zh_CN/man8/usermod.8 b/man/zh_CN/man8/usermod.8 index 2b5a91d3..4bcce9b8 100644 --- a/man/zh_CN/man8/usermod.8 +++ b/man/zh_CN/man8/usermod.8 @@ -2,12 +2,12 @@ .\" Title: usermod .\" Author: Julianne Frances Haugh .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "USERMOD" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "USERMOD" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,7 +31,7 @@ usermod \- 修改一个用户账户 .SH "大纲" .HP \w'\fBusermod\fR\ 'u -\fBusermod\fR [\fI选项\fR] \fI登录\fR +\fBusermod\fR [\fIoptions\fR] \fILOGIN\fR .SH "描述" .PP The @@ -309,6 +309,18 @@ from /etc/login\&.defs\&. defines the SELinux user to be mapped with \fILOGIN\fR\&. An empty string ("") will remove the respective entry (if any)\&. Note that the shadow system doesn\*(Aqt store the selinux\-user, it uses semanage(8) for that\&. .RE +.PP +\fB\-\-selinux\-range\fR\ \&\fISERANGE\fR +.RS 4 +defines the SELinux MLS range for the new account\&. Note that the shadow system doesn\*(Aqt store the selinux\-range, it uses +\fBsemanage\fR(8) +for that\&. +.sp +This option is only valid if the +\fB\-Z\fR +(or +\fB\-\-selinux\-user\fR) option is specified\&. +.RE .SH "CAVEATS" .PP You must make certain that the named user is not executing any processes when this command is being executed if the user\*(Aqs numerical user ID, the user\*(Aqs name, or the user\*(Aqs home directory is being changed\&. @@ -336,7 +348,7 @@ Group account information .PP /etc/gshadow .RS 4 -Secure group account informatio\&. +Secure group account information .RE .PP /etc/login\&.defs diff --git a/man/zh_CN/man8/vipw.8 b/man/zh_CN/man8/vipw.8 index edc156f1..a9f6d8b9 100644 --- a/man/zh_CN/man8/vipw.8 +++ b/man/zh_CN/man8/vipw.8 @@ -2,12 +2,12 @@ .\" Title: vipw .\" Author: Marek Micha\(/lkiewicz .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 2022-11-08 -.\" Manual: 系统管理命令 -.\" Source: shadow-utils 4.13 +.\" Date: 2024-03-23 +.\" Manual: System Management Commands +.\" Source: shadow-utils 4.15.1 .\" Language: Chinese Simplified .\" -.TH "VIPW" "8" "2022-11-08" "shadow\-utils 4\&.13" "系统管理命令" +.TH "VIPW" "8" "2024-03-23" "shadow\-utils 4\&.15\&.1" "System Management Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -31,16 +31,16 @@ vipw, vigr \- 编辑密码、组、影子密码或影子组文件。 .SH "大纲" .HP \w'\fBvipw\fR\ 'u -\fBvipw\fR [\fI选项\fR] +\fBvipw\fR [\fIoptions\fR] .HP \w'\fBvigr\fR\ 'u -\fBvigr\fR [\fI选项\fR] +\fBvigr\fR [\fIoptions\fR] .SH "描述" .PP The \fBvipw\fR and \fBvigr\fR -commands edits the files +commands edit the files /etc/passwd and /etc/group, respectively\&. With the diff --git a/man/zh_TW/Makefile.in b/man/zh_TW/Makefile.in index 65c57b90..1ec42f98 100644 --- a/man/zh_TW/Makefile.in +++ b/man/zh_TW/Makefile.in @@ -172,6 +172,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -205,9 +207,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -223,6 +231,7 @@ 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@ @@ -231,6 +240,8 @@ 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@ @@ -253,6 +264,9 @@ 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@ diff --git a/po/POTFILES.in b/po/POTFILES.in index 61b79dbd..ce610d1a 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,24 +1,66 @@ # List of files which contain translatable strings. +lib/addgrps.c +lib/age.c +lib/audit_help.c +lib/basename.c +lib/chkname.c +lib/chowndir.c +lib/chowntty.c +lib/cleanup.c +lib/cleanup_group.c +lib/cleanup_user.c lib/commonio.c +lib/console.c +lib/copydir.c lib/encrypt.c +lib/env.c +lib/failure.c lib/fields.c +lib/find_new_gid.c +lib/find_new_sub_gids.c +lib/find_new_sub_uids.c +lib/find_new_uid.c lib/fputsx.c -lib/getdef.c lib/get_gid.c -lib/getlong.c lib/get_uid.c +lib/getdef.c +lib/getlong.c +lib/getgr_nam_gid.c +lib/getrange.c lib/groupio.c lib/groupmem.c lib/gshadow.c +lib/hushed.c +lib/idmapping.c +lib/isexpired.c +lib/limits.c +lib/list.c lib/lockpw.c +lib/log.c +lib/loginprompt.c +lib/mail.c +lib/motd.c +lib/myname.c lib/nscd.c +lib/obscure.c +lib/pam_pass.c +lib/pam_pass_non_interactive.c lib/port.c lib/pwauth.c +lib/pwd_init.c +lib/pwd2spwd.c +lib/pwdcheck.c lib/pwio.c lib/pwmem.c +lib/remove_tree.c +lib/rlogin.c +lib/root_flag.c +lib/salt.c lib/selinux.c lib/semanage.c +lib/setugid.c +lib/setupenv.c lib/sgetgrent.c lib/sgetpwent.c lib/sgetspent.c @@ -26,66 +68,20 @@ lib/sgroupio.c lib/shadow.c lib/shadowio.c lib/shadowmem.c +lib/shell.c lib/spawn.c +lib/strtoday.c +lib/sub.c +lib/sulog.c lib/tcbfuncs.c -lib/utent.c -libmisc/addgrps.c -libmisc/age.c -libmisc/audit_help.c -libmisc/basename.c -libmisc/chkname.c -libmisc/chowndir.c -libmisc/chowntty.c -libmisc/cleanup.c -libmisc/cleanup_group.c -libmisc/cleanup_user.c -libmisc/console.c -libmisc/copydir.c -libmisc/date_to_str.c -libmisc/entry.c -libmisc/env.c -libmisc/failure.c -libmisc/find_new_gid.c -libmisc/find_new_sub_gids.c -libmisc/find_new_sub_uids.c -libmisc/find_new_uid.c -libmisc/getgr_nam_gid.c -libmisc/getrange.c -libmisc/hushed.c -libmisc/idmapping.c -libmisc/isexpired.c -libmisc/limits.c -libmisc/list.c -libmisc/log.c -libmisc/loginprompt.c -libmisc/mail.c -libmisc/motd.c -libmisc/myname.c -libmisc/obscure.c -libmisc/pam_pass.c -libmisc/pam_pass_non_interactive.c -libmisc/pwd2spwd.c -libmisc/pwdcheck.c -libmisc/pwd_init.c -libmisc/remove_tree.c -libmisc/rlogin.c -libmisc/root_flag.c -libmisc/salt.c -libmisc/setugid.c -libmisc/setupenv.c -libmisc/shell.c -libmisc/strtoday.c -libmisc/sub.c -libmisc/sulog.c -libmisc/ttytype.c -libmisc/tz.c -libmisc/ulimit.c -libmisc/user_busy.c -libmisc/utmp.c -libmisc/valid.c -libmisc/xgetXXbyYY.c -libmisc/xmalloc.c -libmisc/yesno.c +lib/ttytype.c +lib/tz.c +lib/ulimit.c +lib/user_busy.c +lib/utmp.c +lib/valid.c +lib/xgetXXbyYY.c +lib/yesno.c src/chage.c src/chfn.c src/chgpasswd.c diff --git a/po/bs.po b/po/bs.po index 980cb02b..2826d703 100644 --- a/po/bs.po +++ b/po/bs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2004-05-09 12:03+0100\n" "Last-Translator: Safir Šećerović \n" "Language-Team: Bosnian \n" @@ -17,218 +17,6 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Šifra:" - -#, c-format -msgid "%s's Password: " -msgstr "%s's Šifra: " - -msgid "Cannot open audit interface.\n" -msgstr "" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: nepoznat član %s\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: nepoznat član %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: nepoznat član %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "nepoznata grupa: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "nepoznata grupa: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "nepoznata grupa: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "nepoznata grupa: %s\n" - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "nepoznata grupa: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "nepoznata grupa: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "nepoznata grupa: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "nepoznata grupa: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "nepoznata grupa: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "nepoznata grupa: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: nepoznat član %s\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: grupa %s postoji\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "nepoznata grupa: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: nepoznat član %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "" @@ -275,6 +63,11 @@ msgstr "" msgid "%s: failed to unlock %s\n" msgstr "" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, c-format msgid "%s: " msgstr "" @@ -282,6 +75,10 @@ msgstr "" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "" @@ -378,7 +175,14 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "" + +msgid "Could not allocate space for config info.\n" +msgstr "" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" #, fuzzy, c-format @@ -406,9 +210,9 @@ msgstr "" msgid "%s: Could not set caps\n" msgstr "%s: nepoznat član %s\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: stpeprintf failed!\n" +msgstr "nepoznata grupa: %s\n" #, fuzzy, c-format msgid "%s: open of %s failed: %s\n" @@ -418,9 +222,19 @@ msgstr "nepoznata grupa: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "nepoznata grupa: %s\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "nepoznata grupa: %s\n" + msgid "Too many logins.\n" msgstr "Previše prijavljivanja.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" + msgid "You have new mail." msgstr "Imate novu poštu." @@ -430,6 +244,14 @@ msgstr "Nema pošte." msgid "You have mail." msgstr "Imate poštu." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "" @@ -442,9 +264,6 @@ msgstr "" msgid "too similar" msgstr "" -msgid "too simple" -msgstr "" - msgid "rotated" msgstr "" @@ -488,6 +307,13 @@ msgid "" "%s\n" msgstr "" +msgid "Password: " +msgstr "Šifra:" + +#, c-format +msgid "%s's Password: " +msgstr "%s's Šifra: " + #, fuzzy, c-format msgid "Incorrect password for %s.\n" msgstr "Mijenjam šifru za grupu %s\n" @@ -512,17 +338,13 @@ msgstr "nepoznata grupa: %s\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "nepoznata grupa: %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "nepoznata grupa: %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "nepoznata grupa: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "nepoznata grupa: %s\n" #, c-format msgid "" @@ -537,6 +359,105 @@ msgid "" "method.\n" msgstr "" +msgid "Cannot open audit interface.\n" +msgstr "" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "nepoznata grupa: %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: nepoznat član %s\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: nepoznat član %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "" @@ -548,6 +469,10 @@ msgstr "" msgid "Cannot execute %s" msgstr "" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "" @@ -556,6 +481,84 @@ msgstr "" msgid "Can't change root directory to '%s'\n" msgstr "" +#, c-format +msgid "%s: out of memory\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: nepoznat član %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "nepoznata grupa: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "nepoznata grupa: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "nepoznata grupa: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "nepoznata grupa: %s\n" + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "nepoznata grupa: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "nepoznata grupa: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "nepoznata grupa: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "nepoznata grupa: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "nepoznata grupa: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "nepoznata grupa: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: nepoznat član %s\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: grupa %s postoji\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "nepoznata grupa: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: nepoznat član %s\n" + #, fuzzy, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: grupa %s postoji\n" @@ -613,6 +616,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -638,13 +644,16 @@ msgstr "Šifra neaktivna" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Datum isteka računa (GGGG-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "" - #, fuzzy msgid "never" msgstr "Nikad" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "" + msgid "password must be changed" msgstr "" @@ -814,14 +823,6 @@ msgstr "" msgid "%s: user '%s' does not exist\n" msgstr "%s: grupa %s postoji\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "" - #, c-format msgid "Changing the user information for %s\n" msgstr "" @@ -850,6 +851,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "" @@ -900,6 +905,14 @@ msgstr "" msgid "Login Shell" msgstr "" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "nepoznata grupa: %s\n" + +#, fuzzy, c-format +msgid "Cannot evaluate entries in shell files: %s" +msgstr "nepoznata grupa: %s\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "" @@ -912,6 +925,10 @@ msgstr "" msgid "%s: Invalid entry: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: grupa %s postoji\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: grupa %s postoji\n" @@ -1120,9 +1137,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1134,6 +1148,10 @@ msgstr "" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: grupa %s postoji\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: nepoznat član %s\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "nepoznata grupa: %s\n" @@ -1176,14 +1194,6 @@ msgstr "" msgid "%s: group '%s' does not exist\n" msgstr "%s: grupa %s postoji\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: grupa %s postoji\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "" @@ -1259,10 +1269,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "" - #, c-format msgid "%s: unknown user %s\n" msgstr "" @@ -1378,7 +1384,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1467,9 +1473,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" - #, c-format msgid "" "\n" @@ -1501,12 +1504,6 @@ msgstr "" msgid "Cannot find user (%s)\n" msgstr "%s: nepoznat član %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" - #, c-format msgid "%s: failure forking: %s" msgstr "" @@ -1540,7 +1537,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1564,17 +1562,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "nepoznata grupa: %s\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "nepoznata grupa: %s\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "nepoznata grupa: %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1608,14 +1602,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "nepoznata grupa: %s\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1635,6 +1628,10 @@ msgstr "" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "" @@ -1655,6 +1652,10 @@ msgstr "nepoznata grupa: %s\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: grupa %s postoji\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "nepoznata grupa: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "" @@ -1675,14 +1676,14 @@ msgstr "nepoznata grupa: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "nepoznata grupa: %s\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "nepoznata grupa: %s\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "nepoznata grupa: %s\n" @@ -1741,6 +1742,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "Stara šifra:" @@ -1756,6 +1760,10 @@ msgid "" "Please use a combination of upper and lower case letters and numbers.\n" msgstr "" +#, fuzzy +msgid "Password is too long.\n" +msgstr "Vaša šifra je istekla." + msgid "New password: " msgstr "Nova šifra:" @@ -1795,6 +1803,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1938,11 +1950,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2002,6 +2012,10 @@ msgstr "" msgid "No passwd entry for user '%s'\n" msgstr "" +#, c-format +msgid "Overlong user name '%s'\n" +msgstr "" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "" @@ -2045,6 +2059,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format msgid "%s: cannot create new defaults file: %s\n" msgstr "nepoznata grupa: %s\n" @@ -2073,10 +2093,6 @@ msgstr "nepoznata grupa: %s\n" msgid "%s: rename: %s: %s\n" msgstr "nepoznata grupa: %s\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: grupa %s postoji\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "" @@ -2186,6 +2202,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "" @@ -2312,6 +2333,12 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "" +msgid "Synchronize mailbox file" +msgstr "" + +msgid "Closing mailbox file" +msgstr "" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2424,10 +2451,6 @@ msgstr "nepoznata grupa: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "nepoznata grupa: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "" @@ -2525,6 +2548,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2607,10 +2634,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "nepoznata grupa: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "nepoznata grupa: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "" @@ -2706,7 +2741,7 @@ msgstr "" msgid "failed to stat edited file" msgstr "" -msgid "failed to allocate memory" +msgid "asprintf(3) failed" msgstr "" msgid "failed to create backup file" @@ -2720,14 +2755,22 @@ msgstr "" msgid "%s: failed to find tcb directory for %s\n" msgstr "" +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: grupa %s postoji\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: grupa %s postoji\n" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "nepoznata grupa: %s\n" + #, fuzzy, c-format #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Upozorenje o isteku šifre" -#, fuzzy -#~ msgid "Password set to expire." -#~ msgstr "Vaša šifra je istekla." - #, fuzzy #~ msgid "\tRoom Number: %s\n" #~ msgstr "Broj sobe" diff --git a/po/ca.gmo b/po/ca.gmo index 342d85297b0b30de8602d0a3bebc7295df731fea..59bf4a578e9557db8be469fe888ed02c62fff91a 100644 GIT binary patch delta 11586 zcmZA72YgT0|Httg5;H`s1VIoxh!IJw5G!Vgy?4|W)aGl|-n%wMtt!5#J&P7KYVTDw zQngEIe}1ob&dKlL|G$rZ@;sk&@AsT@&pG#g6OVov>v`^Da@XyQp7R`z%*h-l0QY5Z zoMV(*=TWWW^bK~LR2YvQI26<3aLk7ju>fwuc6b5HVd-Ly!+%b1e)!=M)b-o3J6^^5 zj^lEw7I&OFRLsV{cpIx=ObN&7kFziey+RzPEJmZwyD%CL3C{+C(n

j zICaS@VmMAlI(Cj?E&6vdmUf(aRJ2B&*no}jZ{!-MUKw3T!&n1PVomf7b(~+Z1rEVr zMyDHDi`DTJMq+pvo#SBZPOMG-2E*vziDX#nco1sj$5D6e!|iBbv8X#jiH zvpO7v3-Krp#@6M{onAtxpa~`!s=@^wuBaNoeAEzTX=On9S?kEh^(N?UC zZ&BBk<+hY>Kn*wnIpvh0lA_ZeHA8OHfIlLAI(4~=Avg(jL&>9>$ zy-vXis610OGljEp5cxSAh|!E*Q+W{8VH(y)OBBlwR>k=mJCPu27G`Ys!v7ln#%gfsyUO8Wp$2VW&D7ek@BpQ zt{;Y);lro_{N}2yU_Rno6Ez^uCZ^#cSeU#vs)GTj z24IRyi+8=_2a3$uZf9E6xHTV?OP`YMj%JX9x@`+dk z_oF`e7>lBBbJJi&)aSdP1~?IO;%e&=3@5*fYzrq_3u8BQ>BMddS@9L7$J8y&9r&X* zO(pchI;f61VLXn<%=jL&W4czR<3gB=yasAXyP%e64(ju6)LyvUiuu=L<<;7B5QQ2@ zOVrxMV<4_Z&A>5KLoZOfH$xky8ADM6se_vO_LvFBqdHt<>-S?x@&`80(w6zxNXxf% z9NsBTOZ3O(sHxtCy0d$z4*$VG%+t;^9EIAHT~Ked+187wHP71Kv{MdsT_;rgGcgp` zyKLbO>O__fW+sZG@*1d3(+)MD38*{Wg1lRtW2iS?hK}aN(+u@Kn1Q+Qn)N;E2K+ji z_e=#0BzKLXkd4Ah)YR`qt@W>{JAaA+=+)VLATQ=5uZp^^1Lnmcs1BFd`n{-jFQBe} zhJl#2i&?^8BzHM=DdgisFU*6pP*dYZ-T4#LKz!rO?hZzE7>&BV2Nu9-s43o#8pu7& zh)!2?1DP<8Gz9fHH^j<%{)bV}8*QKUG*%?PiF%&1e_fiussm`Nj z@F{BZd2}-!Wl?1KI{0yRVPu@tVf=P#o6${(mZ_8w;1^GEHOG8l+$ zPy-o>S#gHy>EBsPLA&$>7R1-60pu8N8mfePg|2hlTm9r54D>&qCR&6)xm#I zn=s1=Gb0hGnQCqwfv#vOR#DK@C!hw9ain=(%c1If*nBqX{87}JCRjgWcJj2`jb@?% z>be@Jnd*(%a3$)xy{H?w>|*`{Dcqw%Ym#hK;_KS+MQyqvs3n++YH&5?!qcew1XP2` zM;mjYu8Y7x?0}kqF{t*|qBrhF&Cv1DbgU`7MTMsJHI_uLF~%^AB=3d+xE_n)aa6-^ zP!0Q!HJi35s=dmnJ<}BRxjvX1r=o6PldV7HqL7!0$Ec}JJI+j1DQjKKL46#m!7->i zUW_?$C)UM_sE+e|Wo9M}b$yKW3sgI!Q3F|u>escOf~Mjws)2Wy64Q-0&vzEoh{Mne zo1$JEtuY_QVF8?s>ToOSDL9Gw@iMC8f3N`hPcYX-BK^3W=C-0e>M0n4nzA*h$K?pB z!waZ}Z($vLg25O%(R}N5L=9jn7Q{7p+=DkErXrs^+57{>Qq&$;j=_5VH&G};#WkFY zo>R=9-LtSd`5n}N@^exRN8y*)9pmsWF2|bFSZ92M6|mWKo^hOuZ7_(W5{|(bJdCyJ z-|?MkKG+&-k)Or}n01!9)2=w2+>L5DWVUIb7Y-!fk4>@69P_y;$TzZc6GO4~TysOC zusQh|RC@*IG5<#?tfrtl`eMF0aT^45Jj5#4X)*J!iZzS*TOIQ)F$36-RmsaOHNQZN#7X4Gup-7R zGXt828u&@Z9oN8S*6gL17*8JdEgK!z zyC~G7kZ+y2(|Bx1z6;esn)T)mV^K5m6KaaRH<%@IVHEjA3_-t*=HCsXk$ZE-p*r;3 zWZEByYG*%ciCrGwnU0#GrfL~R;!V^h4A^Ww&#w3VX_l>K>U&~x55~BQ!az>!+h#5(?KV?383U=$xZOPGr7<;mdrXVnQRfF@ zdR%}Ra4mY{510~vMD4B9sL#diFpqOT^wb>9pr8xqqAxB%jd(MLVgiO>o}K0wh*s}fzk>1j2`gaye)A6*o3Rx61JvfudVu*?gKZC(7s6c3 zNq!jv@C|B!z6Z@_Dv7b=y{w09eWpX^%PIylay}j-a2#qc96+^u3QOP7zkW0;*2_c0Iti`6jq5tDaD-Qjo)$ITdxk1!X895n-uLEU*D)YNZ6-RNx$!puLK zrHyb=P=_NhFD^ula4%{A30M`=9Wztj5X+H|viV-rl0C&Z%yrysuCGu_xYl|FHGotn z%qzPR29di4QYb=UF}A_u*cyX=GMi^K>JBzzdAy4`FyLqNJ_yGuBfX=(qtJi~k5guYHLwT!{tn7t{>C zLCu`sFQz^M3z4@+&Fm!9)3Y1%==pz4p%@iu&Y0a9j%u(67R1@Meh=yno?#L6J8K$@ z!ZPIjupWMkHSjI!x(esa0J@^`nW%R5VjcQ-9#YVqlss=n)&@0|Q!y)ULEYI2)WDu% zN%Z~Ie0f#H%;XDDyML3dKZqsBGhHyRkD zMU29Bs9n7Zwfpa2HT1t^@;0c3=c7Ki6NB+8Y9L;h&87@RT^Dzm`7cdjygji8_1q?) z8pwae{5D(@HNXzI0f*vtoxf_9>^f>j(p@vpc_ij1Z-aq2*5<3NCs8x;;u`a>3$tA} zMq*v^F4zFKVJl32!|eWcs5M-SnejL#!y8x%Z=>$m_on%dsD!D>o1*qod(;e1#NxQo zMWHN(>!?lPd&{hSc~ssGtKcLI#Z#!M^tf%F`;wT2ybETEP-}hzBQWruX}Be76VFF2#SzpUzd>~r zaNnG-j=9L=k$zpyObXiVdvGG&#zolmf!S=yelr7zMBQOOjKxWq7H?uZe2f_|`k`5Z z7FdmZJm$tzs6CW`8j$Dj(#5k+K@B&>JlG3$r!z1Uo8(%$G?oO8&KChK;3}P3-e2E4b)RJ?gjI&!Xhd(#amEo zcMdf(uTc%h^g{q%3mAE9Ni z1i7m}1vT`I^_cY$s=?HMnVBhty3<(Hi)09v!X2n7evI10nctaLZe7%j_Cj4h4U6H= z)_2GNTu%P?JW8Bsf*Qzf)JSij8us|xtbH*oO&*ISaXd!gF4W$5h5qRG!Th}+f+6G) zsHNZf{ zF&)-LE!hA}ixW^wHwSgYE3qp5J6`{qwWx&}=@2Zg3(x~~l%_BQQzkQ=WuTmwy4*xf zLU%Tem_e`-&Jse?y@PYtFem0G*k=DbwvoG5@na5=bnLQ)t(cn5(i1u!5SO{m-(LF( zms1ym-dq!*i|o-4c~>R=GfjD0SBLAm5P{^`up5z8fB)&wH0g+=a-%6aqpY9v7w2`P zrNaft3(c89-D=d->xd#M5T&U95?`X0cb5IE51&m%w4?5*`aj5t#l&eU`VxBK@Rw=g z5o-;wF0dw8A9B@1qKwUFQ7%Y%AD$$1WG7EeY_Qj4!miZwjqIe>{r^HF9p6z{#syiWuJ5Q!I`j&i zKzLAB4!wx>MC;G4c}STDCGnVT&5M_bMmF!nHCu_tHWxR@Ly516Xj|VWY5n_CsUv}y zKzRV_(Yr)>6=r0lI${iof1rFz*_-qG>}P+%`}X`&>pFZ*eF{GR6XiXW&l6K9Hz#s< zF#jDXWT8^WPRvO3uz4>mO4Q|CeOtE?N7?ca>lkdyHO=uc(Ts8)qAH<-uMy`z)F&N* zly{SK)B2Airc==e^@bZt@VZX?qG*C0h_5*R73%0k)FAc{S%|`%`yL0Qjx+c#F_Gv> z_z|BU$;g-5I@jCJPBx=ln=4;@R`>Y_Rc^$&R@e}G;~8Qkv5?>e==@6kH@J*QI=-PU znmC(Ofj5a2djEgPiKJs2h4g7}TdMzp1VyFFKte4s5;OgyfVr=sMA2W*`< zN8Xd@ON0|T+TdnnY)(s6aHQ7{t$)(tYcD>4hpC)S)S#S_J!#Cyv67S!<% z`7cB!lm4HdGi~+{>h}R1!?-pLv5B%PjKV_VHA!dUHf0@^afc~7M=8fr{=?=6F`PI~ zePt|yA;d+>AF(H{!^8tuQm9U(<3@Zn1sqw4!+QSpm0O1JB#sk0%GnPWr2MBX2T%?n zT9N-?>qwn3PQ(e@&yxd-0TuQ`T{h z=uUYp@qrkxT|1o6n_-IN=#2Y`BgA0xHRvXEcw#l;ca#3_=XHBt6+V<7;Vq&C<1&}8goHQBI&3_`2tBhd_{DkoP+31IUljcURZ*1I$Pd= z{OjE7WJ;Zcb6r-*LwkTa|xK z-bU}-H5$K7?e5w($jiO1Q;3J#ugk&I?w7q^rEq%;JnrRAHT-#Mx9|AUp6-~*Ym2*m zc9-yQ$M0$5J?HNJly09B4^qte_CQv5(K9VQ+-J|O^L8(~SvIx%(?gy7v#0l*Oc(OF PcYW|ovE!6S36K8*d5f;y delta 12379 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\n" "Language-Team: Catalan \n" @@ -18,230 +18,6 @@ msgstr "" "X-Poedit-Language: Catalan\n" "X-Poedit-Country: SPAIN\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Diverses entrades de nom «%s» a %s. Corregiu això amb «pwck» o «grpck».\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "el mètode «crypt» no és compatible amb «libcrypt»? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "error en la configuració - no és possible analitzar el valor %s: «%s»" - -msgid "Could not allocate space for config info.\n" -msgstr "No s'ha pogut reservar espai per a la informació de configuració.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"error de configuració - element «%s» desconegut (notifiqueu-ho a " -"l'administrador)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscd no ha acabat correctament (senyal %d)\n" - -#, fuzzy, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: «nscd» ha sortit amb l'estat %d" - -msgid "Password: " -msgstr "Contrasenya: " - -#, c-format -msgid "%s's Password: " -msgstr "Contrasenya de l'usuari %s: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "No es pot obrir la interfície d'auditoria - cancel·lant.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "No es pot generar l'identificador de gestió SELinux\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "No és possible gestionar la directiva SELinux\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "No es pot llegir el magatzem de directives de SELinux\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "No es pot establir la connexió de gestió SELinux\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "No es pot iniciar la transacció SELinux\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "No es pot consultar el «seuser» per a %s\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "No s'ha pogut definir el «serange» per a %s\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "No es pot establir «sename» per a %s.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "No es pot modificar el mapatge d'inici de sessió per a %s\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "No es pot generar el mapatge d'inici de sessió SELinux per a %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "No s'ha pogut establir el nom per a %s\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "No s'ha pogut establir l'usuari SELinux per a %s\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "No s'ha pogut afegir l'assignació de connexió per a %s\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "No es pot iniciar el gestor SELinux\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "No es pot generar la clau SELinux de l'usuari.\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "No es pot verificar l'usuari de SELinux\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "No es pot modificar l'assignació d'usuaris de SELinux\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "No es pot afegir l'assignació de l'usuari de SELinux\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "No es pot validar la transacció SELinux\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"L'assignació d'inici de sessió per a %s no està definida, seleccionau «OK» " -"si s'utilitzava l'assignació per defecte\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" -"L'assignació d'inici de sessió per a %s està definida a la directiva de " -"seguretat, no és possible eliminar-la\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "No es pot eliminar el mapatge d'inici de sessió per a %s" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: s'ha exhaurit la memòria\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: no es pot generar el fitxer %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s no és ni un directori ni un enllaç simbòlic.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: no es pot llegir l'enllaç simbòlic %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: enllaç simbòlic sospitosament llarg: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: no es pot crear el directori %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: no es pot canviar el propietari de %s: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: no es pot canviar el mode de %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: desvincular: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: no es pot eliminar el directori %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: no es pot reanomenar %s a %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: no es pot eliminar %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: no es pot generar l'enllaç simbòlic %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: no es pot canviar els propietaris de %s: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: no es pot «lstat» %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: advertència, els usuaris %s no tenen el fitxer «tcb shadow».\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: emergència: el fitxer «tcb sahdow» %s no és un fitxer regular amb " -"st_nlink=1.\n" -"El compte queda bloquejat.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: reanomena: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: no es pot obrir el fitxer %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Avís: el grup %s és desconegut\n" @@ -289,6 +65,12 @@ msgstr "" msgid "%s: failed to unlock %s\n" msgstr "%s: ha fallat el desbloqueig de %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Diverses entrades de nom «%s» a %s. Corregiu això amb «pwck» o «grpck».\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -296,6 +78,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "el mètode «crypt» no és compatible amb «libcrypt»? (%s)\n" + msgid "Environment overflow\n" msgstr "Desbordament d'entorn\n" @@ -415,8 +201,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: no es pot obtenir un GID únic (no hi ha més GID disponibles)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "error en la configuració - no és possible analitzar el valor %s: «%s»" + +msgid "Could not allocate space for config info.\n" +msgstr "No s'ha pogut reservar espai per a la informació de configuració.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" +"error de configuració - element «%s» desconegut (notifiqueu-ho a " +"l'administrador)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -448,7 +243,7 @@ msgstr "No s'ha pogut establir el nom per a %s\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: no es pot obrir el fitxer\n" #, fuzzy, c-format @@ -463,9 +258,23 @@ msgid "%s: write to %s failed: %s\n" msgstr "" "%s: línia %d: no s'ha pogut canviar el propietari (ordre «chown») %s: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "" +"%s: línia %d: no s'ha pogut canviar el propietari (ordre «chown») %s: %s\n" + msgid "Too many logins.\n" msgstr "Massa entrades.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s usuari: " + msgid "You have new mail." msgstr "Teniu correu nou." @@ -475,6 +284,14 @@ msgstr "No hi ha correu." msgid "You have mail." msgstr "Teniu correu." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscd no ha acabat correctament (senyal %d)\n" + +#, fuzzy, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: «nscd» ha sortit amb l'estat %d" + msgid "no change" msgstr "no hi ha canvis" @@ -487,9 +304,6 @@ msgstr "només canvis de majúscules/minúscules" msgid "too similar" msgstr "massa similar" -msgid "too simple" -msgstr "massa senzilla" - msgid "rotated" msgstr "rotada" @@ -535,6 +349,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() ha fallat, error %d\n" +msgid "Password: " +msgstr "Contrasenya: " + +#, c-format +msgid "%s's Password: " +msgstr "Contrasenya de l'usuari %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "La contrasenya és incorrecta per a «%s».\n" @@ -560,17 +381,13 @@ msgstr "%s: camí «chroot» incorrecta «%s»\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: no es pot accedir al directori «chroot» %s: %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: no es pot accedir al directori «chroot» %s: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: no es pot executar «chroot» en el directori %s: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: no es pot accedir al directori «chroot» %s: %s\n" #, c-format msgid "" @@ -587,6 +404,112 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "No es pot obrir la interfície d'auditoria - cancel·lant.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "No es pot generar l'identificador de gestió SELinux\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "No és possible gestionar la directiva SELinux\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "No es pot llegir el magatzem de directives de SELinux\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "No es pot establir la connexió de gestió SELinux\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "No es pot iniciar la transacció SELinux\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "No es pot consultar el «seuser» per a %s\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "No s'ha pogut definir el «serange» per a %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "No es pot establir «sename» per a %s.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "No es pot modificar el mapatge d'inici de sessió per a %s\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "No es pot generar el mapatge d'inici de sessió SELinux per a %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "No s'ha pogut establir el nom per a %s\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "No s'ha pogut establir l'usuari SELinux per a %s\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "No s'ha pogut afegir l'assignació de connexió per a %s\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "No es pot iniciar el gestor SELinux\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "No es pot generar la clau SELinux de l'usuari.\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "No es pot verificar l'usuari de SELinux\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "No es pot modificar l'assignació d'usuaris de SELinux\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "No es pot afegir l'assignació de l'usuari de SELinux\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "No es pot validar la transacció SELinux\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"L'assignació d'inici de sessió per a %s no està definida, seleccionau «OK» " +"si s'utilitzava l'assignació per defecte\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" +"L'assignació d'inici de sessió per a %s està definida a la directiva de " +"seguretat, no és possible eliminar-la\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "No es pot eliminar el mapatge d'inici de sessió per a %s" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "No es pot canviar al directori «%s»\n" @@ -598,6 +521,10 @@ msgstr "No hi ha directori, s'està iniciant sessió amb HOME=/" msgid "Cannot execute %s" msgstr "No es pot executar %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "El directori arrel «%s» no és vàlid\n" @@ -606,6 +533,87 @@ msgstr "El directori arrel «%s» no és vàlid\n" msgid "Can't change root directory to '%s'\n" msgstr "No es pot canviar el directori arrel a «%s»\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: s'ha exhaurit la memòria\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: no es pot generar el fitxer %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s no és ni un directori ni un enllaç simbòlic.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: no es pot llegir l'enllaç simbòlic %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: enllaç simbòlic sospitosament llarg: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: no es pot crear el directori %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: no es pot canviar el propietari de %s: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: no es pot canviar el mode de %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: desvincular: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: no es pot eliminar el directori %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: no es pot reanomenar %s a %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: no es pot eliminar %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: no es pot generar l'enllaç simbòlic %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: no es pot canviar els propietaris de %s: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: no es pot «lstat» %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: advertència, els usuaris %s no tenen el fitxer «tcb shadow».\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: emergència: el fitxer «tcb sahdow» %s no és un fitxer regular amb " +"st_nlink=1.\n" +"El compte queda bloquejat.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: reanomena: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: no es pot obrir el fitxer %s: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: l'usuari %s està actualment dins el sistema\n" @@ -685,6 +693,12 @@ msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" " -R, --root CHROOT_DIR fes «chroot» en el directori CHROOT_DIR \n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" +" -R, --root CHROOT_DIR fes «chroot» en el directori CHROOT_DIR \n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -712,12 +726,15 @@ msgstr "Contrasenya inactiva" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Data de caducitat per al compte (AAAA-MM-YY)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Últim canvi de contrasenya\t\t\t\t: " - msgid "never" msgstr "mai" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Últim canvi de contrasenya\t\t\t\t: " + msgid "password must be changed" msgstr "s'ha de canviar la contrasenya" @@ -897,14 +914,6 @@ msgstr "%s: «%s» conté caràcters no permesos\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: l'usuari «%s» no existeix\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: no s'ha pogut canviar l'usuari «%s» al client NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: «%s» és el mestre NIS per a aquest client.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "S'està canviant la informació d'usuari per a %s\n" @@ -947,6 +956,11 @@ msgstr "" " -s, --sha-rounds nombre de passos SHA pel\n" " algorisme de xifratge SHA*\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: mètode de xifratge no està implementat: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: el senyalador %s només és permet amb el senyalador %s\n" @@ -999,6 +1013,16 @@ msgstr "" msgid "Login Shell" msgstr "Intèrpret d'accés" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: No es pot obtenir la mida de %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: no es pot crear un fitxer nou de preferències predeterminades\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "No podeu canviar l'intèrpret («shell») per a «%s».\n" @@ -1011,6 +1035,11 @@ msgstr "S'està canviant l'intèrpret d'accés per a %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: L'entrada no és vàlida: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s no és un intèrpret («shell») vàlid.\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s no és un intèrpret («shell») vàlid.\n" @@ -1265,12 +1294,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system genera un compte del sistema\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" -" -R, --root CHROOT_DIR fes «chroot» en el directori CHROOT_DIR \n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1285,6 +1308,11 @@ msgstr "el nom d'usuari «%s» no és vàlid\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: «%s» no és un nom de grup vàlid\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: no es pot obrir el fitxer %s: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: l'ID de grup «%s» no és vàlid\n" @@ -1330,14 +1358,6 @@ msgstr "%s: no es pot eliminar el grup primari de l'usuari «%s»\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: el grup «%s» no existeix\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: el grup «%s» és un grup NIS.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s és el mestre NIS\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: l'usuari «%s» és membre de %s\n" @@ -1436,10 +1456,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: el nom de grup «%s» no és vàlid\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: el grup %s no és un grup NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: usuari %s desconegut\n" @@ -1567,7 +1583,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -a, --all mostra els registres «faillog» per a tots " @@ -1669,10 +1685,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: no es pot treballar sense ésser administrador\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"No hi ha entrada utmp. Heu d'executar «login» des del «sh» de nivell més baix" - #, c-format msgid "" "\n" @@ -1706,14 +1718,6 @@ msgstr "Accés incorrecta" msgid "Cannot find user (%s)\n" msgstr "No es pot trobar l'usuari (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s usuari: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: fallada al fer fork: %s" @@ -1749,7 +1753,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1776,20 +1781,15 @@ msgstr "%s: fallida en eliminar %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: ha fallat el desbloqueig de %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: no es pot trobar el directori «tcb» per %s\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: no es pot generar el directori «tcb» per a %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1822,14 +1822,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: no es pot generar el directori «tcb» per a %s\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1852,6 +1852,10 @@ msgstr "%s: l'ID d'usuari «%s» no és vàlid\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: el nom d'usuari «%s» no és vàlid\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: línia %d: la línia no és vàlida\n" @@ -1874,6 +1878,11 @@ msgstr "%s: línia %d: no es pot generar el grup\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: line %d: l'usuari «%s» no existeix a %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: desvincular: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: línia %d: no es pot actualitzar la contrasenya\n" @@ -1898,14 +1907,14 @@ msgstr "" msgid "%s: line %d: can't update entry\n" msgstr "%s: línia %d: no es pot actualitzar l'entrada\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: ha fallat la preparació de la nova entrada %s: «%s»\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: no es pot generar l'usuari\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: ha fallat la preparació de la nova entrada %s: «%s»\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: no es pot actualitzar el fitxer de grups\n" @@ -1981,6 +1990,12 @@ msgstr "" " -x, --maxdays DIES_MÀX estableix els dies màxims abans del canvi\n" " de contrasenya a DIES_MÀX\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" +" -l, --list mostra informació d'envelliment del compte\n" + msgid "Old password: " msgstr "Contrasenya antiga: " @@ -2001,6 +2016,11 @@ msgstr "" "Feu servir una combinació de lletres majúscules i minúscules i\n" "números.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: els camps són massa llargs\n" + msgid "New password: " msgstr "Contrasenya nova:" @@ -2044,6 +2064,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: el dipòsit %s no és admès\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s:només l'usuari «root» pot fer servir l'opció -g/--group\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2200,11 +2225,9 @@ msgstr "%s: senyal de mal funcionament\n" msgid "Session terminated, terminating shell..." msgstr "Sessió acabada, finalitzant el «shell»..." -#, c-format msgid " ...killed.\n" msgstr "...mort.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "...esperant al fill per acabar.\n" @@ -2292,6 +2315,11 @@ msgstr "%s: No estau autoritzat a usar «su» en aquest moment\n" msgid "No passwd entry for user '%s'\n" msgstr "No hi ha entrada de contrasenya per a l'usuari «%s»\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "el nom d'usuari «%s» no és vàlid\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: s'ha d'executar des d'un terminal\n" @@ -2337,6 +2365,13 @@ msgstr "%s: %s va ser generat, però no és possible eliminar-ho\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: la configuració %s a %s serà ignorada\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: la configuració %s a %s serà ignorada\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2367,10 +2402,6 @@ msgstr "%s: no es pot generar l'enllaç simbòlic %s: %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: reanomena %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: el grup «%s» és un grup NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: s'han especificat massa grups (màx de %d).\n" @@ -2511,6 +2542,17 @@ msgstr "" " -Z, --selinux-user SEUSER utilitzar un «SEUSER» específic per a " "l'assignació d'usuaris «SELinux»\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEUSER utilitzar un «SEUSER» específic per a " +"l'assignació d'usuaris «SELinux»\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: el directori base «%s» no és vàlid\n" @@ -2665,6 +2707,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "S'estan establint els permisos de la bústia de correu" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "S'està creant la bústia de correu" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "S'està creant la bústia de correu" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2800,10 +2852,6 @@ msgstr "%s: no es pot eliminar el contingut de %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: no es pot eliminar els fitxers «tcb» de %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: l'usuari %s és un usuari NIS\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: no s'ha trobat el directori personal (%s) de %s \n" @@ -2933,6 +2981,16 @@ msgstr "" " -Z, --selinux-user SEUSER nova assignació SELinux per al compte " "d'usuari\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUSER nova assignació SELinux per al compte " +"d'usuari\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -3029,12 +3087,26 @@ msgstr "" "%s: ha fallat la còpia de l'entrada del darrer registre de l'usuari %lu al " "usuari %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: ha fallat la còpia de l'entrada del darrer registre de l'usuari %lu al " +"usuari %lu: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: ha fallat la còpia de l'entrada del registre d'errors del usuari %lu al " "usuari %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: ha fallat la còpia de l'entrada del registre d'errors del usuari %lu al " +"usuari %lu: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: avís: %s no és propietat de %s\n" @@ -3137,8 +3209,10 @@ msgstr "no s'ha pogut desvincular el fitxer de treball " msgid "failed to stat edited file" msgstr "no s'ha pogut comptabilitzar el fitxer editat" -msgid "failed to allocate memory" -msgstr "no es pot assignar memòria" +#, fuzzy +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: no es pot obrir el fitxer\n" msgid "failed to create backup file" msgstr "no es pot generar el fitxer de còpia de seguretat" @@ -3151,6 +3225,50 @@ msgstr "%s: no es pot restaurar %s: %s (els seus canvis estan a %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: no es pot trobar el directori «tcb» per %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: no s'ha pogut canviar l'usuari «%s» al client NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: «%s» és el mestre NIS per a aquest client.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: el grup «%s» és un grup NIS.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s és el mestre NIS\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: el grup %s no és un grup NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: el grup «%s» és un grup NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: l'usuari %s és un usuari NIS\n" + +#~ msgid "too simple" +#~ msgstr "massa senzilla" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "No hi ha entrada utmp. Heu d'executar «login» des del «sh» de nivell més " +#~ "baix" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: no es pot trobar el directori «tcb» per %s\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "no es pot assignar memòria" + #~ msgid "Usage: id\n" #~ msgstr "Forma d'ús: id\n" @@ -3166,10 +3284,6 @@ msgstr "%s: no es pot trobar el directori «tcb» per %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: la informació de caducitat de la contrasenya ha canviat.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "el nom d'usuari «%s» no és vàlid\n" - #~ msgid "Username Port From Latest" #~ msgstr "Usuari Port Des de Últim" diff --git a/po/cs.gmo b/po/cs.gmo index 856d10837744d9e5f21291b8b8b450f7f5cbece6..df0529833dddf929505bd30d11a17ae306b90a65 100644 GIT binary patch delta 12405 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 diff --git a/po/cs.po b/po/cs.po index b9d48eb3..0c565f79 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.2\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2014-08-24 15:07+0200\n" "Last-Translator: Miroslav Kure \n" "Language-Team: Czech \n" @@ -17,228 +17,6 @@ msgstr "" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Zjištěno několik záznamů pojmenovaných „%s“ v souboru %s. Napravte to prosím " -"pomocí pwck nebo grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "typ šifry není knihovnou libcrypt podporován? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "konfigurační chyba - nelze zpracovat hodnotu %s: „%s“" - -msgid "Could not allocate space for config info.\n" -msgstr "Nelze alokovat dostatek místa pro konfigurační údaje.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"konfigurační chyba - neznámá položka „%s“ (informujte správce systému)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscd nebyl ukončen normálně (signál %d)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: nscd skončil se stavem %d\n" - -msgid "Password: " -msgstr "Heslo: " - -#, c-format -msgid "%s's Password: " -msgstr "Heslo uživatele %s: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "Nelze otevřít auditní rozhraní - končím.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "Nelze vytvořit spojení k SELinuxovému semanage\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "Politika SELinuxu není řízená\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "Nelze číst úložiště SELinux politik\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "Nelze navázat spojení k SELinuxovému semanage\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "Nelze zahájit SELinux transakci\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "Dotaz na „seuser“ uživatele %s selhal\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "Nelze nastavit „serange“ uživatele %s\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "Nelze nastavit „sename“ uživatele %s\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "Nelze změnit mapování uživatele %s na SEuživatele\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Nelze vytvořit mapování uživatele %s na SEuživatele\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "Nelze nastavit jméno uživatele %s\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "Nelze nastavit SELinux uživatele pro %s\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "Nelze přidat mapování uživatele %s na SEuživatele\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "Nelze inicializovat správu SELinuxu\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "Nelze vytvořit uživatelský klíč k SELinuxu\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "Nelze ověřit SELinux uživatele\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "Nelze změnit mapování na SELinuxového uživatele\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "Nelze přidat mapování na SELinuxového uživatele\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "Nelze dokončit SELinuxovou transakci\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"Mapování uživatele %s není definováno, OK, pokud bylo použito výchozí " -"mapování\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "Mapování uživatele %s je definováno v politice, nemůže být smazáno\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "Nelze smazat mapování pro uživatele %s" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: došla paměť\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: nelze zavolat stat %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s není ani adresář, ani symbolický odkaz.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: Nelze číst symbolický odkaz %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Podezřele dlouhý symbolický odkaz: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: Nelze vytvořit adresář %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: Nelze změnit vlastníka %s: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: Nelze změnit oprávnění k %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: smazání: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: Nelze odstranit adresář %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: Nelze přejmenovat %s na %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: Nelze odstranit %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: Nelze vytvořit symbolický odkaz %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: Nelze změnit vlastníky %s: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: Nelze zavolat lstat %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: Varování, uživatel %s nemá v tcb svůj soubor shadow.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: Krizový stav: shadow v tcb uživatele %s není běžným souborem " -"(st_nlink=1).\n" -"Účet je ponechán zamknutý.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: vytvoření adresáře: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: Nelze otevřít %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Varování: neznámá skupina %s\n" @@ -285,6 +63,13 @@ msgstr "Nelze změnit vlastníka nebo oprávnění k tty stdin: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: nepodařilo se odemknout %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Zjištěno několik záznamů pojmenovaných „%s“ v souboru %s. Napravte to prosím " +"pomocí pwck nebo grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -292,6 +77,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "typ šifry není knihovnou libcrypt podporován? (%s)\n" + msgid "Environment overflow\n" msgstr "Přetečení prostředí\n" @@ -405,8 +194,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: Nelze získat jedinečné UID (volná UID neexistují)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "%s: Nedostatek argumentů pro vytvoření %u mapování\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "konfigurační chyba - nelze zpracovat hodnotu %s: „%s“" + +msgid "Could not allocate space for config info.\n" +msgstr "Nelze alokovat dostatek místa pro konfigurační údaje.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"konfigurační chyba - neznámá položka „%s“ (informujte správce systému)\n" #, c-format msgid "%s: Memory allocation failure\n" @@ -435,8 +232,9 @@ msgstr "Nelze nastavit jméno uživatele %s\n" msgid "%s: Could not set caps\n" msgstr "Nelze nastavit jméno uživatele %s\n" -#, c-format -msgid "%s: snprintf failed!\n" +#, fuzzy, c-format +#| msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: snprintf selhalo!\n" #, c-format @@ -447,9 +245,22 @@ msgstr "%s: otevření %s selhalo: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: zápis do %s selhal: %s\n" +#, fuzzy, c-format +#| msgid "%s: open of %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: otevření %s selhalo: %s\n" + msgid "Too many logins.\n" msgstr "Příliš mnoho přihlášení.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"Přihlašovací jméno na %s: " + msgid "You have new mail." msgstr "Máte novou poštu." @@ -459,6 +270,14 @@ msgstr "Nemáte žádnou poštu." msgid "You have mail." msgstr "Máte poštu." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscd nebyl ukončen normálně (signál %d)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: nscd skončil se stavem %d\n" + msgid "no change" msgstr "beze změny" @@ -471,9 +290,6 @@ msgstr "pouze změna velikosti písmen" msgid "too similar" msgstr "příliš podobné" -msgid "too simple" -msgstr "příliš jednoduché" - msgid "rotated" msgstr "rotované" @@ -519,6 +335,13 @@ msgstr "" "%s: (uživatel %s) volání pam_chauthtok() selhalo, chyba:\n" "%s\n" +msgid "Password: " +msgstr "Heslo: " + +#, c-format +msgid "%s's Password: " +msgstr "Heslo uživatele %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Chybné heslo pro %s.\n" @@ -544,17 +367,14 @@ msgstr "%s: neplatná cesta k chrootu „%s“\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: nelze přistoupit k chroot adresáři %s: %s\n" -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: nelze přejít (chdir) do chroot adresáře %s: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: nelze změnit kořen (chroot) na adresář %s: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: cannot chdir to chroot directory %s: %s\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: nelze přejít (chdir) do chroot adresáře %s: %s\n" #, c-format msgid "" @@ -571,6 +391,110 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "Nelze otevřít auditní rozhraní - končím.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "Nelze vytvořit spojení k SELinuxovému semanage\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "Politika SELinuxu není řízená\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "Nelze číst úložiště SELinux politik\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "Nelze navázat spojení k SELinuxovému semanage\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "Nelze zahájit SELinux transakci\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "Dotaz na „seuser“ uživatele %s selhal\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "Nelze nastavit „serange“ uživatele %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "Nelze nastavit „sename“ uživatele %s\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "Nelze změnit mapování uživatele %s na SEuživatele\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Nelze vytvořit mapování uživatele %s na SEuživatele\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "Nelze nastavit jméno uživatele %s\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "Nelze nastavit SELinux uživatele pro %s\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "Nelze přidat mapování uživatele %s na SEuživatele\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "Nelze inicializovat správu SELinuxu\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "Nelze vytvořit uživatelský klíč k SELinuxu\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "Nelze ověřit SELinux uživatele\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "Nelze změnit mapování na SELinuxového uživatele\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "Nelze přidat mapování na SELinuxového uživatele\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "Nelze dokončit SELinuxovou transakci\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"Mapování uživatele %s není definováno, OK, pokud bylo použito výchozí " +"mapování\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "Mapování uživatele %s je definováno v politice, nemůže být smazáno\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "Nelze smazat mapování pro uživatele %s" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Nelze přejít do „%s“\n" @@ -582,6 +506,10 @@ msgstr "Žádný adresář, nastavuji HOME na /" msgid "Cannot execute %s" msgstr "%s nelze spustit" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Chybný kořenový adresář „%s“\n" @@ -590,6 +518,87 @@ msgstr "Chybný kořenový adresář „%s“\n" msgid "Can't change root directory to '%s'\n" msgstr "Nelze změnit kořenový adresář na „%s“\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: došla paměť\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: nelze zavolat stat %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s není ani adresář, ani symbolický odkaz.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: Nelze číst symbolický odkaz %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: Podezřele dlouhý symbolický odkaz: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: Nelze vytvořit adresář %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: Nelze změnit vlastníka %s: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: Nelze změnit oprávnění k %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: smazání: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: Nelze odstranit adresář %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: Nelze přejmenovat %s na %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: Nelze odstranit %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: Nelze vytvořit symbolický odkaz %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: Nelze změnit vlastníky %s: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: Nelze zavolat lstat %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: Varování, uživatel %s nemá v tcb svůj soubor shadow.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: Krizový stav: shadow v tcb uživatele %s není běžným souborem " +"(st_nlink=1).\n" +"Účet je ponechán zamknutý.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: vytvoření adresáře: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: Nelze otevřít %s: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: uživatel %s je právě přihlášen\n" @@ -662,6 +671,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root CHROOT_ADRESÁŘ adresář, do kterého přejít\n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -R, --root CHROOT_ADRESÁŘ adresář, do kterého přejít\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -689,12 +703,15 @@ msgstr "Vypnuté heslo" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Vypršení platnosti účtu (RRRR-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Poslední změna hesla\t\t\t\t\t: " - msgid "never" msgstr "nikdy" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Poslední změna hesla\t\t\t\t\t: " + msgid "password must be changed" msgstr "heslo musí být změněno" @@ -866,14 +883,6 @@ msgstr "%s: „%s“ obsahuje nepovolené znaky\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: uživatel „%s“ neexistuje\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: uživatele „%s“ nelze na NIS klientu změnit.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: „%s“ je hlavním NIS serverem pro tohoto klienta.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Měním informace o uživateli %s\n" @@ -911,6 +920,11 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr " -s, --sha-rounds počet SHA iterací algoritmu SHA*\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: nepodporovaný typ šifry: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: přepínač %s je povolen pouze s přepínačem %s\n" @@ -961,6 +975,16 @@ msgstr " -s, --shell SHELL nový přihlašovací shell uživatele\n msgid "Login Shell" msgstr "Přihlašovací shell" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: nelze zjistit velikost %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: nelze vytvořit nový soubor s výchozími hodnotami\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Nemůžete změnit shell pro „%s“.\n" @@ -973,6 +997,11 @@ msgstr "Měním přihlašovací shell pro %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: chybná položka %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s není platný shell\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s není platný shell\n" @@ -1210,11 +1239,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system vytvoří systémový účet\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -R, --root CHROOT_ADRESÁŘ adresář, do kterého přejít\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1229,6 +1253,11 @@ msgstr "chybné uživatelské jméno „%s“\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: „%s“ není platným jménem skupiny\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: Nelze otevřít %s: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: neplatné ID skupiny „%s“\n" @@ -1273,14 +1302,6 @@ msgstr "%s: nelze odstranit primární skupinu uživatele „%s“.\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: skupina „%s“ neexistuje\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: skupina „%s“ je NIS skupinou\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s je hlavním NIS serverem\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: uživatel „%s“ je již členem „%s“\n" @@ -1374,10 +1395,6 @@ msgstr " -p, --password HESLO změní heslo na (šifrované) HESLO\n" msgid "%s: invalid group name '%s'\n" msgstr "%s: neplatné jméno skupiny „%s“\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: skupina %s je NIS skupinou\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: neznámý uživatel %s\n" @@ -1504,7 +1521,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -a, --all zobrazí záznamy faillogu o všech " @@ -1605,9 +1622,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: Bez efektivních oprávnění uživatele root nelze pracovat\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "utmp záznam neexistuje. Musíte spustit „login“ z nejnižšího „sh“" - #, c-format msgid "" "\n" @@ -1641,14 +1655,6 @@ msgstr "Chybné přihlášení" msgid "Cannot find user (%s)\n" msgstr "Nelze nalézt uživatele (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"Přihlašovací jméno na %s: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: chyba rozdvojení: %s" @@ -1682,9 +1688,13 @@ msgstr "Použití: logoutd\n" msgid "%s: gid range [%lu-%lu) -> [%lu-%lu) not allowed\n" msgstr "%s: rozsah gid [%lu-%lu) -> [%lu-%lu) není povolen\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "usage: %s [ " +#| " ] ... \n" msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" "použití: %s [ " " ] ...\n" @@ -1713,18 +1723,15 @@ msgstr "%s: selhalo odstranění %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: nepodařilo se odemknout %s\n" -#, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: Nelze otevřít proc adresář cílového procesu %u\n" - -#, c-format -msgid "%s: Could not stat directory for target %u\n" +#, fuzzy, c-format +#| msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: Nelze zavolat stat na adresář cílového procesu %u\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1755,18 +1762,21 @@ msgstr "příliš mnoho skupin\n" msgid "%s: uid range [%lu-%lu) -> [%lu-%lu) not allowed\n" msgstr "%s: rozsah uid [%lu-%lu) -> [%lu-%lu) není povolen\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "usage: %s [ " +#| " ] ... \n" msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" "použití: %s [ " " ] ...\n" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: Nelze zavolat stat na adresář cílového procesu %u\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1789,6 +1799,10 @@ msgstr "%s: chybné uživatelské ID „%s“\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: chybné uživatelské jméno „%s“\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: řádek %d: chybný řádek\n" @@ -1810,6 +1824,11 @@ msgstr "%s: řádek %d: nelze vytvořit skupinu\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: řádek %d: uživatel „%s“ v %s neexistuje\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: smazání: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: řádek %d: heslo nelze aktualizovat\n" @@ -1831,14 +1850,14 @@ msgstr "%s: řádek %d: volání chown %s selhalo: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: řádek %d: položku nelze aktualizovat\n" -#, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: příprava nového záznamu %s selhala\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: nelze nalézt rozsah podřízených uživatelů\n" +#, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: příprava nového záznamu %s selhala\n" + #, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: nelze nalézt rozsah podřízených skupin\n" @@ -1907,6 +1926,11 @@ msgstr "" " -x, --maxdays MAX_DNŮ nastaví maximální počet dnů před změnou\n" " hesla na MAX_DNŮ\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr " -l, --list zobrazí informace o účtu\n" + msgid "Old password: " msgstr "Staré heslo: " @@ -1926,6 +1950,11 @@ msgstr "" "Zadejte nové heslo (počet znaků v intervalu %d až %d).\n" "Použijte kombinaci velkých a malých písmen s číslicemi.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: položka je příliš dlouhá\n" + msgid "New password: " msgstr "Nové heslo: " @@ -1969,6 +1998,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: úložna %s není podporována\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: volbu -g/--group může používat pouze root\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2122,11 +2156,9 @@ msgstr "%s: chyba signálu\n" msgid "Session terminated, terminating shell..." msgstr "Sezení skončeno, ukončuji shell..." -#, c-format msgid " ...killed.\n" msgstr " ...zabit.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...čeká na ukončení potomka.\n" @@ -2213,6 +2245,11 @@ msgstr "%s: Toto času nejste oprávněni používat su\n" msgid "No passwd entry for user '%s'\n" msgstr "V databázi není záznam pro uživatele „%s“\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "chybné uživatelské jméno „%s“\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: musí být spuštěno z terminálu\n" @@ -2258,6 +2295,13 @@ msgstr "%s: %s byl vytvořen, ale nemůže být odstraněn\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: nastavení %s v %s bude ignorováno\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: nastavení %s v %s bude ignorováno\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2288,10 +2332,6 @@ msgstr "%s: Nelze vytvořit záložní soubor (%s): %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: přejmenovat: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: skupina „%s“ je NIS skupinou.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: zadáno příliš mnoho skupin (max %d).\n" @@ -2428,6 +2468,17 @@ msgstr "" " -Z, --selinux-user SEUŽIVATEL pro mapování na SELinuxového uživatele\n" " použije SEUŽIVATELe\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEUŽIVATEL pro mapování na SELinuxového uživatele\n" +" použije SEUŽIVATELe\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: chybný základní adresář „%s“\n" @@ -2571,6 +2622,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Nastavuji oprávnění k poštovní schránce" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Vytvářím poštovní schránku" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Vytvářím poštovní schránku" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2704,10 +2765,6 @@ msgstr "%s: Nelze odstranit obsah %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: Nelze odstranit tcb soubory uživatele %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: uživatel %s je NIS uživatelem\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: domovský adresář uživatele %s (%s) nebyl nalezen\n" @@ -2830,6 +2887,16 @@ msgstr "" " -Z, --selinux-user SEUŽIVATEL nové mapování uživatelského účtu na\n" " uživatele SELinuxu\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUŽIVATEL nové mapování uživatelského účtu na\n" +" uživatele SELinuxu\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2924,12 +2991,26 @@ msgstr "" "%s: nepodařilo se zkopírovat lastlog záznamy uživatele %lu uživateli %lu: " "%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: nepodařilo se zkopírovat lastlog záznamy uživatele %lu uživateli %lu: " +"%s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: nepodařilo se zkopírovat faillog záznamy uživatele %lu uživateli %lu: " "%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: nepodařilo se zkopírovat faillog záznamy uživatele %lu uživateli %lu: " +"%s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: varování: vlastníkem %s není %s\n" @@ -3030,8 +3111,10 @@ msgstr "dočasný soubor se nepodařilo smazat" msgid "failed to stat edited file" msgstr "na upravovaný soubor se nepodařilo zavolat stat()" -msgid "failed to allocate memory" -msgstr "nepodařilo se alokovat paměť" +#, fuzzy +#| msgid "%s: snprintf failed!\n" +msgid "asprintf(3) failed" +msgstr "%s: snprintf selhalo!\n" msgid "failed to create backup file" msgstr "vytvoření záložního souboru selhalo" @@ -3044,6 +3127,51 @@ msgstr "%s: %s nelze obnovit: %s (změny jsou v %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: nepodařilo se nalézt tcb adresář uživatele %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: uživatele „%s“ nelze na NIS klientu změnit.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: „%s“ je hlavním NIS serverem pro tohoto klienta.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: skupina „%s“ je NIS skupinou\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s je hlavním NIS serverem\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: skupina %s je NIS skupinou\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: skupina „%s“ je NIS skupinou.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: uživatel %s je NIS uživatelem\n" + +#, c-format +#~ msgid "%s: Not enough arguments to form %u mappings\n" +#~ msgstr "%s: Nedostatek argumentů pro vytvoření %u mapování\n" + +#~ msgid "too simple" +#~ msgstr "příliš jednoduché" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "utmp záznam neexistuje. Musíte spustit „login“ z nejnižšího „sh“" + +#, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: Nelze otevřít proc adresář cílového procesu %u\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "nepodařilo se alokovat paměť" + #~ msgid "Usage: id\n" #~ msgstr "Použití: id\n" @@ -3059,10 +3187,6 @@ msgstr "%s: nepodařilo se nalézt tcb adresář uživatele %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: informace o vypršení platnosti hesla byly změněny.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "chybné uživatelské jméno „%s“\n" - #~ msgid "Username Port From Latest" #~ msgstr "Uživatel Port Z Naposledy" diff --git a/po/da.gmo b/po/da.gmo index 3666a6a514d36fb47b0c1cfcb23a97ff077d999b..8e2f82dd9b7f04dfefa2613e5fcc3dccbe596ce2 100644 GIT binary patch delta 11591 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 delta 12386 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 diff --git a/po/da.po b/po/da.po index 4a76795c..3d8ab964 100644 --- a/po/da.po +++ b/po/da.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2012-01-26 23:57+0100\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" @@ -30,226 +30,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Flere punkter med navnet »%s« i %s. Ret venligst dette med pwck eller " -"grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "cryptmetode er ikke understøttet af libcrypt? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "konfigurationsfejl - kan ikke fortolke %s-værdi: »%s«" - -msgid "Could not allocate space for config info.\n" -msgstr "Kunne ikke frigøre plads til opsætningsoplysninger.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "opsætningsfejl - ukendt punkt »%s« (informer administrator)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscd afsluttedes ikke normalt (signal %d)\n" - -#, fuzzy, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: nscd afsluttede med status %d" - -msgid "Password: " -msgstr "Adgangskode: " - -#, c-format -msgid "%s's Password: " -msgstr "%s's adgangskode: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "Kan ikke åbne overvågningsbrugerflade (audit) - afbryder.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "Kan ikke oprette SELinux-håndteringshåndtag\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "SELinux-politik ikke håndteret\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "Kan ikke læse SELinux-politiklageret\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "Kan ikke etablere SELinux-håndteringsforbindelse\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "Kan ikke begynde SELinux-transaktion\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "Kunne ikke forespørge seuser for %s\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "Kunne ikke angive serange for %s\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "Kunne ikke angive sename for %s\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "Kunne ikke ændre logingkortlægningen for %s\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Kan ikke oprette SELinux-logindkortlægning for %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "Kunne ikke angive navn for %s\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "Kunne ikke angive SELinux-bruger for %s\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "Kunne ikke tilføje logindkortlægning for %s\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "Kan ikke initialisere SELinux-håntering\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "Kan ikke oprette SELinux-brugernøgle\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "Kan ikke verificere SELinux-brugeren\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "Kan ikke ændre SELinux-brugerkortlægning\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "Kan ikke tilføje SELinux-brugerkortlægning\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "Kan ikke indsende SELinux-transaktion\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"Logindkortlægning for %s er ikke defineret, o.k. hvis standardkortlægning " -"blev brugt\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "Logindkortlægning for %s er defineret i politik, kan ikke slettes\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "Kunne ikke slette logindkortlægning for %s" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: Hukommelse opbrugt\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: Kan ikke stat %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s er hverken en mappe eller en symbolsk henvisning.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: Kan ikke omdøbe symbolsk henvisning %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Mistænkelig lang symbolsk henvisning: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: Kan ikke oprette mappen %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: Kan ikke ændre ejer af %s: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: Kan ikke ændre tilstand for %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: Fjern henvisning: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: Kan ikke fjerne mappen %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: Kan ikke omdøbe %s til %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: Kan ikke fjerne %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: Kan ikke oprette symbolsk henvisning %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: Kan ibkke ændre ejere af %s: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: Kan ikke lstat %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: Advarsel, bruger %s har ingen tcb-skyggefil.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: Nødsituation: %s's tcb-skygge er ikke en regulær fil med st_nlink=1.\n" -"Kontoen forbliver låst.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: Kan ikke åbne %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Advarsel: Ukendt gruppe %s\n" @@ -296,6 +76,13 @@ msgstr "Kan ikke ændre ejer eller tilstand af tty stdin: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: Kunne ikke åbne %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Flere punkter med navnet »%s« i %s. Ret venligst dette med pwck eller " +"grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -303,6 +90,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "cryptmetode er ikke understøttet af libcrypt? (%s)\n" + msgid "Environment overflow\n" msgstr "Miljøoverløb\n" @@ -419,8 +210,15 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: Kan ikke indhente unik UID (ikke flere tilgængelige UID'er)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "konfigurationsfejl - kan ikke fortolke %s-værdi: »%s«" + +msgid "Could not allocate space for config info.\n" +msgstr "Kunne ikke frigøre plads til opsætningsoplysninger.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "opsætningsfejl - ukendt punkt »%s« (informer administrator)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -450,9 +248,10 @@ msgstr "Kunne ikke angive navn for %s\n" msgid "%s: Could not set caps\n" msgstr "Kunne ikke angive navn for %s\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: stpeprintf failed!\n" +msgstr "%s: Linje %d: chown %s fejlede: %s\n" #, fuzzy, c-format #| msgid "%s: line %d: chown %s failed: %s\n" @@ -464,9 +263,22 @@ msgstr "%s: Linje %d: chown %s fejlede: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: Linje %d: chown %s fejlede: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: Linje %d: chown %s fejlede: %s\n" + msgid "Too many logins.\n" msgstr "Logget på for mange gange.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s logind: " + msgid "You have new mail." msgstr "Du har ny post." @@ -476,6 +288,14 @@ msgstr "Ingen post." msgid "You have mail." msgstr "Du har post." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscd afsluttedes ikke normalt (signal %d)\n" + +#, fuzzy, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: nscd afsluttede med status %d" + msgid "no change" msgstr "ingen ændring" @@ -488,9 +308,6 @@ msgstr "kun versalændringer" msgid "too similar" msgstr "for ens" -msgid "too simple" -msgstr "for simpelt" - msgid "rotated" msgstr "omrokeret" @@ -536,6 +353,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() mislykkedes, fejl %d\n" +msgid "Password: " +msgstr "Adgangskode: " + +#, c-format +msgid "%s's Password: " +msgstr "%s's adgangskode: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Ugyldig adgangskode for %s.\n" @@ -561,17 +385,13 @@ msgstr "%s: Ugyldig chroot-sti »%s«\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: Kan ikke tilgå chroot-mappe %s: %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: Kan ikke tilgå chroot-mappe %s: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: Kan ikke chroot til mappe %s: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: Kan ikke tilgå chroot-mappe %s: %s\n" #, c-format msgid "" @@ -588,6 +408,110 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "Kan ikke åbne overvågningsbrugerflade (audit) - afbryder.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "Kan ikke oprette SELinux-håndteringshåndtag\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "SELinux-politik ikke håndteret\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "Kan ikke læse SELinux-politiklageret\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "Kan ikke etablere SELinux-håndteringsforbindelse\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "Kan ikke begynde SELinux-transaktion\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "Kunne ikke forespørge seuser for %s\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "Kunne ikke angive serange for %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "Kunne ikke angive sename for %s\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "Kunne ikke ændre logingkortlægningen for %s\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Kan ikke oprette SELinux-logindkortlægning for %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "Kunne ikke angive navn for %s\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "Kunne ikke angive SELinux-bruger for %s\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "Kunne ikke tilføje logindkortlægning for %s\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "Kan ikke initialisere SELinux-håntering\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "Kan ikke oprette SELinux-brugernøgle\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "Kan ikke verificere SELinux-brugeren\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "Kan ikke ændre SELinux-brugerkortlægning\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "Kan ikke tilføje SELinux-brugerkortlægning\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "Kan ikke indsende SELinux-transaktion\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"Logindkortlægning for %s er ikke defineret, o.k. hvis standardkortlægning " +"blev brugt\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "Logindkortlægning for %s er defineret i politik, kan ikke slettes\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "Kunne ikke slette logindkortlægning for %s" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Kunne ikke skifte mappe til »%s«\n" @@ -599,6 +523,10 @@ msgstr "Ingen mappe, logger på med HOME=/" msgid "Cannot execute %s" msgstr "Kan ikke udføre %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Ugyldig rodmappe »%s«\n" @@ -607,6 +535,86 @@ msgstr "Ugyldig rodmappe »%s«\n" msgid "Can't change root directory to '%s'\n" msgstr "Kan ikke ændre rodmappen til »%s«\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: Hukommelse opbrugt\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: Kan ikke stat %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s er hverken en mappe eller en symbolsk henvisning.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: Kan ikke omdøbe symbolsk henvisning %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: Mistænkelig lang symbolsk henvisning: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: Kan ikke oprette mappen %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: Kan ikke ændre ejer af %s: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: Kan ikke ændre tilstand for %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: Fjern henvisning: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: Kan ikke fjerne mappen %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: Kan ikke omdøbe %s til %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: Kan ikke fjerne %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: Kan ikke oprette symbolsk henvisning %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: Kan ibkke ændre ejere af %s: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: Kan ikke lstat %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: Advarsel, bruger %s har ingen tcb-skyggefil.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: Nødsituation: %s's tcb-skygge er ikke en regulær fil med st_nlink=1.\n" +"Kontoen forbliver låst.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: Kan ikke åbne %s: %s\n" + #, fuzzy, c-format #| msgid "%s: user '%s' does not exist in %s\n" msgid "%s: user %s is currently logged in\n" @@ -681,6 +689,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root CHROOT_MAPPE mappe at chroote ind i\n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -R, --root CHROOT_MAPPE mappe at chroote ind i\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -708,12 +721,15 @@ msgstr "Adgangskode inaktiv" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Udløbsdato for konto (ÅÅÅÅ-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Sidste ændring af adgangskode\t\t\t\t\t: " - msgid "never" msgstr "aldrig" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Sidste ændring af adgangskode\t\t\t\t\t: " + msgid "password must be changed" msgstr "adgangskoden skal ændres" @@ -885,14 +901,6 @@ msgstr "%s: »%s« indeholder ugyldige tegn\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: Brugeren »%s« findes ikke\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: Kan ikke ændre brugeren »%s« på NIS-klienten.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: »%s« er NIS-masteren for denne klient.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Ændrer brugeroplysninger for %s\n" @@ -933,6 +941,11 @@ msgstr "" " -s, --sha-rounds antal SHA-runder for SHA*\n" " crypt-algoritmerne\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: Crypt-metode er ikke understøttet: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: Flaget %s er kun tilladt med flaget %s\n" @@ -983,6 +996,16 @@ msgstr " -s, --shell SKAL ny logindskal for brugerkontoen\n" msgid "Login Shell" msgstr "Logindskal" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: Kan ikke indhente størrelsen for %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: Kan ikke oprette ny standardværdifil\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Du kan ikke ændre skallen for »%s«.\n" @@ -995,6 +1018,11 @@ msgstr "Ændrer logindskallen for %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Ugyldigt punkt: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s er en ugyldig skal\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s er en ugyldig skal\n" @@ -1234,11 +1262,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system opret en systemkonto\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -R, --root CHROOT_MAPPE mappe at chroote ind i\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1253,6 +1276,11 @@ msgstr "ugyldigt brugernavn »%s«\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: »%s« er ikke et gyldigt gruppenavn\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: Kan ikke åbne %s: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: Ugyldigt gruppe-id »%s«\n" @@ -1297,14 +1325,6 @@ msgstr "%s: Kan ikke fjerne den primære gruppe for bruger »%s«.\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: Gruppe »%s« findes ikke\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: Gruppe »%s« er en NIS-gruppe.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s er NIS-masteren\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: Bruger »%s« er allerede medlem af »%s«\n" @@ -1405,10 +1425,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: Ugyldigt gruppenavn »%s«\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: Gruppen %s er en NIS-gruppe\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: Ukendt bruger %s\n" @@ -1536,7 +1552,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr " -a, --all vis faillog-poster for alle brugere\n" @@ -1635,9 +1651,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: Kan umuligt arbejde uden effektiv root\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "Intet utmp-punkt. Du skal køre »login« fra det laveste »sh-niveau«" - #, c-format msgid "" "\n" @@ -1671,14 +1684,6 @@ msgstr "Forkert logind" msgid "Cannot find user (%s)\n" msgstr "Kan ikke finde bruger (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s logind: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: Fejl under forgrening: %s" @@ -1714,7 +1719,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1740,20 +1746,15 @@ msgstr "%s: Kunne ikke fjerne %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: Kunne ikke åbne %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: Kunne ikke finde tcb-mappe for %s\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: Kan ikke oprette tcv-mappe for %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1786,14 +1787,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: Kan ikke oprette tcv-mappe for %s\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1816,6 +1817,10 @@ msgstr "%s: Ugyldigt bruger-id »%s«\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: Ugyldigt brugernavn »%s«\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: Linje %d: Ugyldig linje\n" @@ -1837,6 +1842,11 @@ msgstr "%s: Linje %d: Kan ikke oprette gruppe\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: Linje %d: Bruger »%s« findes ikke i %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: Fjern henvisning: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: Linje %d: Kan ikke opdatere adgangskode\n" @@ -1858,14 +1868,14 @@ msgstr "%s: Linje %d: chown %s fejlede: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: Linje %d: Kan ikke opdatere punktet\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: Kunne ikke forberede det nye %s-punkt »%s«\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: Kan ikke oprette bruger\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: Kunne ikke forberede det nye %s-punkt »%s«\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: Kan ikke oprette gruppe\n" @@ -1938,6 +1948,11 @@ msgstr "" " -x, --maxdays MAKS_DAGE sæt det maksimale antal dage inden skift af\n" " adgangskode til MAKS_DAGE\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr " -l, --list vis forældelsesoplysninger for konto\n" + msgid "Old password: " msgstr "Gammel adgangskode: " @@ -1957,6 +1972,11 @@ msgstr "" "Angiv ny adgangskode (mindst %d, højst %d tegn)\n" "Brug en kombination af små og store bogstaver samt tal.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: Felter for lange\n" + msgid "New password: " msgstr "Ny adgangskode: " @@ -2000,6 +2020,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: Arkiv %s understøttes ikke\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: Kun root kan bruge tilvalget -g/--group\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2152,11 +2177,9 @@ msgstr "%s: Forkert signal\n" msgid "Session terminated, terminating shell..." msgstr "Session termineret, terminerer skal..." -#, c-format msgid " ...killed.\n" msgstr " ...dræbt.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...venter på at underproces termineres.\n" @@ -2243,6 +2266,11 @@ msgstr "%s: Du er ikke autoriseret til at su på det tidspunkt\n" msgid "No passwd entry for user '%s'\n" msgstr "Intet adgangskodepunkt for bruger »%s«\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "ugyldigt brugernavn »%s«\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: Skal køres fra en terminal\n" @@ -2288,6 +2316,13 @@ msgstr "%s: %s blev oprettet, men kunne ikke fjernes\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: Konfigurationen %s i %s vil blive ignoreret\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: Konfigurationen %s i %s vil blive ignoreret\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2318,10 +2353,6 @@ msgstr "%s: Kan ikke oprette symbolsk henvisning %s: %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: Omdøb: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: Gruppen »%s« er en NIS-gruppe.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: Der er angivet for mange grupper (højst %d).\n" @@ -2462,6 +2493,17 @@ msgstr "" " -Z, --selinux-user SE_BRUGER brug en specifik SE_BRUGER for " "kortlægningen af SELinux-brugere\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SE_BRUGER brug en specifik SE_BRUGER for " +"kortlægningen af SELinux-brugere\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: Ugyldig basismappe »%s«\n" @@ -2604,6 +2646,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Indstiller postboksfilens rettigheder" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Opretter postboksfil" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Opretter postboksfil" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2736,10 +2788,6 @@ msgstr "%s: Kan ikke fjerne indholdet af %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: Kan ikke fjerne tcb-filer for %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: Brugeren %s er en NIS-bruger\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: %s hjemmemappe (%s) er ikke fundet\n" @@ -2871,6 +2919,16 @@ msgstr "" " -Z, --selinux-user SEUSER ny SELinux-brugerkortlægning for " "brugerkontoen\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUSER ny SELinux-brugerkortlægning for " +"brugerkontoen\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2965,11 +3023,23 @@ msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" "%s: Kunne ikke kopiere lastlog-punktet for bruger %lu til bruger %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: Kunne ikke kopiere lastlog-punktet for bruger %lu til bruger %lu: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: Kunne ikke kopiere faillog-punktet for bruger %lu til bruger %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: Kunne ikke kopiere faillog-punktet for bruger %lu til bruger %lu: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: Advarsel: %s ejes ikke af %s\n" @@ -3070,8 +3140,8 @@ msgstr "kunne ikke fjerne henvisning for scratch-fil" msgid "failed to stat edited file" msgstr "kunne ikke stat redigeret fil" -msgid "failed to allocate memory" -msgstr "kunne ikke tildele hukommelse" +msgid "asprintf(3) failed" +msgstr "" msgid "failed to create backup file" msgstr "kunne ikke oprette sikkerhedskopifil" @@ -3084,6 +3154,48 @@ msgstr "%s: Kan ikke gendanne %s: %s (dine ændringer er i %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: Kunne ikke finde tcb-mappe for %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: Kan ikke ændre brugeren »%s« på NIS-klienten.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: »%s« er NIS-masteren for denne klient.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: Gruppe »%s« er en NIS-gruppe.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s er NIS-masteren\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: Gruppen %s er en NIS-gruppe\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: Gruppen »%s« er en NIS-gruppe.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: Brugeren %s er en NIS-bruger\n" + +#~ msgid "too simple" +#~ msgstr "for simpelt" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "Intet utmp-punkt. Du skal køre »login« fra det laveste »sh-niveau«" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: Kunne ikke finde tcb-mappe for %s\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "kunne ikke tildele hukommelse" + #~ msgid "Usage: id\n" #~ msgstr "Brug: id\n" @@ -3099,9 +3211,5 @@ msgstr "%s: Kunne ikke finde tcb-mappe for %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: Information om udløb af adgangskode blev ændret.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "ugyldigt brugernavn »%s«\n" - #~ msgid "Username Port From Latest" #~ msgstr "Brugernavn Port Fra Seneste" diff --git a/po/de.gmo b/po/de.gmo index 761fe57f0744fbb8112842cb94156a6ac89ba7b7..da2466010c782b6534cac8517ed7e674276b0738 100644 GIT binary patch delta 11683 zcmZA72YAibAII^N2uX~H7!mUl#EKPL5TcaWqh_^Y)ZVeVK}k#1463wtjT-G$s%o}Y zhfVEKTC}B#(pJm={kiAp)93$t`pxTn&u^Xe``zn4{cBdxg|r~=<%pnk!UaXVvB?r=Ok?hEI#Fmw#Y)tU``8BSRW^oWO*%HlL)Z`_suH-j=TmG#9#3nkaetFWK{wuwYIzvlP>T3G^t~I5Hk*`GCNQs^aR!5L|V_i%{&~9$59!L(w}aWp<*M(;dva6VYE&oG#S-{!>9&l;;yQ1i5klJs3AX&Os~nzyd+?K)QC(* z9sdPtghOeC8c@eep%sN0sG+`s%z}w#;x$*@P&ZtHy1-535EIMUmv9Vfe}@)!%`8Wa z*bkT&docddI3Ba&G7QI!SPZ?p-Hsd1-!L;fo?-}w(z;}fK-H&Uc1*<}oQ1)djyZ4% z#^NR{j+Zb$W@v3pIV_C1usIgd^WU9<4xEBIalOmWVGQ{*R1ad>7*iILFdvRW?VpQ< zaR=%~7mx?VJjO~`v8}ZSaznEKi{f^S*7JXnf-Yp**&CHaA{o zbs_VT9qMR|B#p-k*cSaA!zl9gsE+JMUH>+g{(+@2 zwgV?(2P}gVQ5W2RI{!4Pfq!5@%+=9a39FO0M3#qn6TK>&b300P;&XsJ8N+Zist0eN z7SBdh!*-x&J&PHAMW7Oh2jrB0_Rciy(oKHnf**es5CsEfo z-fs3y73FM!+A#$+67RWuD{799qAv6p)l*NheFIiOz2Q=^8XiQw7oMRy*0{U1H>v|^ zn26pFDR?N{!zj$r!w!8JR0Haxdfo{OUbT=r6mO$$n6;;^FN3;nBI@{; z(Su{Lu%7?LuHtiyX2&Hgf&snk$V8)h-VxQ1iI^W3qi*;q>i7#-0{=k`ak1BILt0@3 z`CwEBCZh+JVktfUdnqJP@iXepR<^e_9&3{~MLo~ckQSRAs2g0s;uzA$)|W%ws5xp1 zyP+2G7}O%1jUHTuy50dS!~M-;3c65qUwh%ksC)!!XcwbyyamhSDb#Zx)X!Q0J>*?b z4I7UoaUGVzlc=8mgIY8B`r8JTM{hb6i4^AHIn+=N9AM{a7HUd1y8ML8?_p``a}BgZ zUKc&&y-??;VI5qH_3#!p#L|Oo&xfGa#PUImzlP>>DgyBss^=%M82*VGfkK1%Ai}Ds zxlcfy*9CRlVDw-*ssUS3Yvn9zjXc0In1{EOMy5V$MEeb4{L53APDKvffttf_QFC_{ zb>L&vNJI{`7pR50Q4iGqsi+>UMlHfU=)s$)^FoH%j+I5_tx+R5!s~V{L!EdK_4wRH zwLIH!+mi~YIZQ&`s5eI7B+P~Bs5js`9EE!@4Qr&>FEo46L;gGJxI825_XTfR3L4r$ z*a$~sX55P!>Tj?b-a_5bGtwG|YEVPeNOVUvWD4rMMOXv3VivrI+3|1GQQ;%(Fj1&*~JPT5fV6HsfR1FFZPFh9PIT69a% zgNHF3f5JT6-#l?UBF5QO8iz5|zk+H&8s^7!s8{F#R0D6I8uAD=rvc;bVvahYU`y58DJv@|P)&#BN59Yzi1Rn!na!ipF&*;*6plJ~~~_#wvP zVT{Jds0-(R-7e~KsOu%7)=o#%c|)-<&h%1H4>q|SN3baQ�jen_`Emin9f3E%ZTM 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\n" "Language-Team: German \n" @@ -19,232 +19,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Mehrere Einträge namens »%s« in %s. Bitte beheben Sie dies mit pwck oder " -"grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "Verschlüsselungsmethode von libcrypt nicht unterstützt? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "Konfigurationsfehler - Wert für %s kann nicht ausgewertet werden: »%s«" - -msgid "Could not allocate space for config info.\n" -msgstr "" -"Es konnte kein Speicherplatz für Konfigurationsinformationen reserviert " -"werden.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"Konfigurationsfehler - Element »%s« unbekannt (Administrator verständigen).\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscd wurde nicht normal beendet (Signal %d)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: nscd wurde mit Status %d beendet\n" - -msgid "Password: " -msgstr "Passwort: " - -#, c-format -msgid "%s's Password: " -msgstr "Passwort von %s: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "Audit-Schnittstelle konnte nicht geöffnet werden - Abbruch.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "SELinux-Management-Handhabung kann nicht erstellt werden\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "SELinux-Richtlinie nicht verwaltet\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "SELinux-Richtlinien-Speicher kann nicht gelesen werden\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "SELinux-Management-Verbindung kann nicht aufgebaut werden\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "SELinux-Vorgang kann nicht gestartet werden\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "seuser für %s konnte nicht abgefragt werden\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "serange für %s konnte nicht gesetzt werden\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "sename für %s konnte nicht gesetzt werden\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "Login-Zuordnung für %s konnte nicht verändert werden\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "SELinux-Login-Zuordnung für %s kann nicht erstellt werden\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "Name für %s konnte nicht gesetzt werden\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "SELinux-Benutzer für %s konnte nicht gesetzt werden\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "Login-Zuordnung für %s konnte nicht hinzugefügt werden\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "SELinux-Management kann nicht initialisiert werden\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "SELinux-Benutzerschlüssel kann nicht erstellt werden\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "SELinux-Benutzer kann nicht verifiziert werden\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "SELinux-Benutzer-Zuordnung kann nicht verändert werden\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "SELinux-Benutzer-Zuordnung kann nicht hinzugefügt werden\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "SELinux-Vorgang kann nicht eingepflegt werden\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"Login-Zuordnung für %s ist nicht definiert; dies ist OK, falls die Standard-" -"Zuordnung verwendet wurde\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" -"Login-Zuordnung für %s ist in der Richtlinie definiert, kann nicht gelöscht " -"werden\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "Login-Zuordnung für %s konnte nicht gelöscht werden" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: Speicher erschöpft\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: %s kann nicht mit stat abgefragt werden: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s ist weder ein Verzeichnis noch eine symbolische Verknüpfung.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: Symbolische Verknüpfung %s kann nicht gelesen werden: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Verdächtig lange symbolische Verknüpfung: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: Verzeichnis %s kann nicht erstellt werden: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: Eigentümer von %s kann nicht geändert werden: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: Berechtigungen von %s können nicht geändert werden: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: Löschen (unlink): %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: Verzeichnis %s kann nicht entfernt werden: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: %s kann nicht in %s umbenannt werden: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: %s kann nicht entfernt werden: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: Symbolische Verknüpfung %s kann nicht erstellt werden: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: Eigentümer von %s können nicht geändert werden: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: %s kann nicht mit lstat abgefragt werden: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: Warnung: Benutzer %s hat keine tcb-shadow-Datei.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: Ernstes Problem: %ss tcb-shadow ist keine reguläre Datei mit " -"st_nlink=1.\n" -"Der Benutzerzugang bleibt gesperrt.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir (Verzeichnis erstellen): %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: %s kann nicht geöffnet werden: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Warnung: unbekannte Gruppe %s\n" @@ -291,6 +65,13 @@ msgstr "Eigentümer oder Modus von tty stdin kann nicht geändert werden: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: Entsperren von %s fehlgeschlagen\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Mehrere Einträge namens »%s« in %s. Bitte beheben Sie dies mit pwck oder " +"grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -298,6 +79,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "Verschlüsselungsmethode von libcrypt nicht unterstützt? (%s)\n" + msgid "Environment overflow\n" msgstr "Umgebungsüberlauf\n" @@ -416,8 +201,18 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: Keine einmalige UID bekommen (keine UIDs mehr verfügbar)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "Konfigurationsfehler - Wert für %s kann nicht ausgewertet werden: »%s«" + +msgid "Could not allocate space for config info.\n" msgstr "" +"Es konnte kein Speicherplatz für Konfigurationsinformationen reserviert " +"werden.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"Konfigurationsfehler - Element »%s« unbekannt (Administrator verständigen).\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -447,9 +242,10 @@ msgstr "Name für %s konnte nicht gesetzt werden\n" msgid "%s: Could not set caps\n" msgstr "Name für %s konnte nicht gesetzt werden\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: stpeprintf failed!\n" +msgstr "%s: Zeile %d: chown %s (Eigentümer ändern) fehlgeschlagen: %s\n" #, fuzzy, c-format #| msgid "%s: line %d: chown %s failed: %s\n" @@ -461,9 +257,22 @@ msgstr "%s: Zeile %d: chown %s (Eigentümer ändern) fehlgeschlagen: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: Zeile %d: chown %s (Eigentümer ändern) fehlgeschlagen: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: Zeile %d: chown %s (Eigentümer ändern) fehlgeschlagen: %s\n" + msgid "Too many logins.\n" msgstr "Zu viele Anmeldungen.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s Login: " + msgid "You have new mail." msgstr "Neue E-Mails vorhanden." @@ -473,6 +282,14 @@ msgstr "Keine E-Mails vorhanden." msgid "You have mail." msgstr "E-Mails vorhanden." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscd wurde nicht normal beendet (Signal %d)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: nscd wurde mit Status %d beendet\n" + msgid "no change" msgstr "keine Änderungen" @@ -485,9 +302,6 @@ msgstr "nur Änderungen bei Groß-/Kleinschreibung" msgid "too similar" msgstr "zu ähnlich" -msgid "too simple" -msgstr "zu einfach" - msgid "rotated" msgstr "rotiert" @@ -533,6 +347,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() fehlgeschlagen, Fehler %d\n" +msgid "Password: " +msgstr "Passwort: " + +#, c-format +msgid "%s's Password: " +msgstr "Passwort von %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Falsches Passwort für %s.\n" @@ -558,17 +379,13 @@ msgstr "%s: Ungültiger chroot-Pfad »%s«\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: auf chroot-Verzeichnis %s kann nicht zugegriffen werden: %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: auf chroot-Verzeichnis %s kann nicht zugegriffen werden: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: chroot-Wechsel in Verzeichnis %s nicht möglich: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "Kann keine zufälligen Bytes beziehen.\n" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: auf chroot-Verzeichnis %s kann nicht zugegriffen werden: %s\n" #, c-format msgid "" @@ -588,6 +405,112 @@ msgstr "" "ENCRYPT_METHOD und den zugehörigen Konfigurationen der gewählten Hash-" "Methode überprüfen.\n" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "Audit-Schnittstelle konnte nicht geöffnet werden - Abbruch.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "SELinux-Management-Handhabung kann nicht erstellt werden\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "SELinux-Richtlinie nicht verwaltet\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "SELinux-Richtlinien-Speicher kann nicht gelesen werden\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "SELinux-Management-Verbindung kann nicht aufgebaut werden\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "SELinux-Vorgang kann nicht gestartet werden\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "seuser für %s konnte nicht abgefragt werden\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "serange für %s konnte nicht gesetzt werden\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "sename für %s konnte nicht gesetzt werden\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "Login-Zuordnung für %s konnte nicht verändert werden\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "SELinux-Login-Zuordnung für %s kann nicht erstellt werden\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "Name für %s konnte nicht gesetzt werden\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "SELinux-Benutzer für %s konnte nicht gesetzt werden\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "Login-Zuordnung für %s konnte nicht hinzugefügt werden\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "SELinux-Management kann nicht initialisiert werden\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "SELinux-Benutzerschlüssel kann nicht erstellt werden\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "SELinux-Benutzer kann nicht verifiziert werden\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "SELinux-Benutzer-Zuordnung kann nicht verändert werden\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "SELinux-Benutzer-Zuordnung kann nicht hinzugefügt werden\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "SELinux-Vorgang kann nicht eingepflegt werden\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"Login-Zuordnung für %s ist nicht definiert; dies ist OK, falls die Standard-" +"Zuordnung verwendet wurde\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" +"Login-Zuordnung für %s ist in der Richtlinie definiert, kann nicht gelöscht " +"werden\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "Login-Zuordnung für %s konnte nicht gelöscht werden" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Es konnte nicht in das Verzeichnis »%s« gewechselt werden.\n" @@ -599,6 +522,10 @@ msgstr "Kein Verzeichnis, Anmeldung mit HOME=/" msgid "Cannot execute %s" msgstr "%s konnte nicht ausgeführt werden" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Ungültiges root-Verzeichnis »%s«\n" @@ -607,6 +534,87 @@ msgstr "Ungültiges root-Verzeichnis »%s«\n" msgid "Can't change root directory to '%s'\n" msgstr "root-Verzeichnis kann nicht auf »%s« geändert werden.\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: Speicher erschöpft\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: %s kann nicht mit stat abgefragt werden: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s ist weder ein Verzeichnis noch eine symbolische Verknüpfung.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: Symbolische Verknüpfung %s kann nicht gelesen werden: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: Verdächtig lange symbolische Verknüpfung: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: Verzeichnis %s kann nicht erstellt werden: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: Eigentümer von %s kann nicht geändert werden: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: Berechtigungen von %s können nicht geändert werden: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: Löschen (unlink): %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: Verzeichnis %s kann nicht entfernt werden: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: %s kann nicht in %s umbenannt werden: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: %s kann nicht entfernt werden: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: Symbolische Verknüpfung %s kann nicht erstellt werden: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: Eigentümer von %s können nicht geändert werden: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: %s kann nicht mit lstat abgefragt werden: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: Warnung: Benutzer %s hat keine tcb-shadow-Datei.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: Ernstes Problem: %ss tcb-shadow ist keine reguläre Datei mit " +"st_nlink=1.\n" +"Der Benutzerzugang bleibt gesperrt.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir (Verzeichnis erstellen): %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: %s kann nicht geöffnet werden: %s\n" + #, fuzzy, c-format #| msgid "%s: user '%s' does not exist in %s\n" msgid "%s: user %s is currently logged in\n" @@ -683,6 +691,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root CHROOT_VERZ Verzeichnis für chroot\n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -R, --root CHROOT_VERZ Verzeichnis für chroot\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -711,12 +724,15 @@ msgstr "Passwort inaktiv" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Ablaufdatum des Benutzerzugangs (JJJJ-MM-TT)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Letzte Passwortänderung\t\t\t\t\t: " - msgid "never" msgstr "nie" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Letzte Passwortänderung\t\t\t\t\t: " + msgid "password must be changed" msgstr "Passwort muss geändert werden" @@ -894,14 +910,6 @@ msgstr "%s: »%s« enthält ungültige Zeichen.\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: Benutzer »%s« ist nicht vorhanden.\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: Benutzer »%s« auf dem NIS-Client konnte nicht geändert werden.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: »%s« ist der NIS-Master für diesen Client.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Benutzerinformationen für %s werden geändert.\n" @@ -944,6 +952,11 @@ msgstr "" " -s, --sha-rounds Anzahl der SHA-Runden für den SHA*-,\n" " BCRYPT oder YESCRYPT Hash-Methode.\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: Nicht unterstützte Verschlüsselungsmethode: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: %s ist nur zusammen mit %s erlaubt.\n" @@ -995,6 +1008,16 @@ msgstr "" msgid "Login Shell" msgstr "Login-Shell" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: Auslesen der Größe von %s fehlgeschlagen: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: Neue defaults-Datei kann nicht erzeugt werden.\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Sie dürfen die Shell für »%s« nicht ändern.\n" @@ -1007,6 +1030,11 @@ msgstr "Login-Shell für %s wird geändert.\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Ungültiger Eintrag: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s ist eine ungültige Shell\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s ist eine ungültige Shell\n" @@ -1257,11 +1285,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system Ein Systemkonto erstellen\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -R, --root CHROOT_VERZ Verzeichnis für chroot\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1276,6 +1299,11 @@ msgstr "Ungültiger Benutzername »%s«\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: »%s« ist kein gültiger Gruppenname.\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: %s kann nicht geöffnet werden: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: Ungültige Gruppen-ID »%s«\n" @@ -1321,14 +1349,6 @@ msgstr "%s: Primäre Gruppe des Benutzers »%s« konnte nicht entfernt werden.\n msgid "%s: group '%s' does not exist\n" msgstr "%s: Gruppe »%s« existiert nicht.\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: Gruppe »%s« ist eine NIS-Gruppe.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s ist der NIS-Master.\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: Benutzer »%s« ist bereits ein Mitglied von »%s«.\n" @@ -1432,10 +1452,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: Ungültiger Gruppenname »%s«\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: Gruppe %s ist eine NIS-Gruppe.\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: Unbekannter Benutzer %s\n" @@ -1566,7 +1582,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -a, --all Aufzeichnungen fehlgeschlagener Anmeldungen\n" @@ -1667,11 +1683,7 @@ msgstr "" #, c-format msgid "%s: Cannot possibly work without effective root\n" -msgstr "%s: Arbeit ohne effektive root-Rechte eventuell nicht möglich\n" - -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Kein utmp-Eintrag. Sie müssen »login« vom niedrigsten »sh«-Level ausführen." +msgstr "%s: Arbeit ohne effektive root-Rechte unmöglich\n" #, c-format msgid "" @@ -1707,14 +1719,6 @@ msgstr "Login fehlerhaft" msgid "Cannot find user (%s)\n" msgstr "Benutzer kann nicht gefunden werden (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s Login: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: Fehler bei Prozessaufspaltung (fork): %s" @@ -1750,7 +1754,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1776,20 +1781,15 @@ msgstr "%s: Entfernen von %s fehlgeschlagen\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: Entsperren von %s fehlgeschlagen\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: tcb-Verzeichnis für %s konnte nicht gefunden werden\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: Erstellen des tcb-Verzeichnisses für %s fehlgeschlagen\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1822,14 +1822,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: Erstellen des tcb-Verzeichnisses für %s fehlgeschlagen\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1853,6 +1853,10 @@ msgstr "%s: Ungültige Benutzer-ID »%s«\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: Ungültiger Benutzername »%s«\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: Zeile %d: Ungültige Zeile\n" @@ -1875,6 +1879,11 @@ msgstr "%s: Zeile %d: Gruppe kann nicht erstellt werden.\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: Zeile %d: Benutzer »%s« existiert nicht in %s.\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: Löschen (unlink): %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: Zeile %d: Passwort kann nicht aktualisiert werden.\n" @@ -1896,14 +1905,14 @@ msgstr "%s: Zeile %d: chown %s (Eigentümer ändern) fehlgeschlagen: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: Zeile %d: Eintrag kann nicht aktualisiert werden.\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: Vorbereiten des neuen %s-Eintrags »%s« fehlgeschlagen.\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: Benutzer kann nicht erstellt werden\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: Vorbereiten des neuen %s-Eintrags »%s« fehlgeschlagen.\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: Gruppe kann nicht erzeugt werden\n" @@ -1977,6 +1986,12 @@ msgstr "" " -x, --maxdays MAX_TAGE Maximale Anzahl der Tage vor\n" " Passwortänderung auf MAX_TAGE setzen\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" +" -l, --list Informationen zu Ablaufdaten usw. anzeigen\n" + msgid "Old password: " msgstr "Altes Passwort: " @@ -1998,6 +2013,11 @@ msgstr "" "Bitte benutzen Sie eine Kombination aus Groß- und Kleinbuchstaben\n" "sowie Ziffern.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: Felder zu lang\n" + msgid "New password: " msgstr "Neues Passwort: " @@ -2042,6 +2062,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: Repository %s nicht unterstützt\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: Nur root kann die Option -g/--group nutzen.\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2196,11 +2221,9 @@ msgstr "%s: Signal-Fehlfunktion\n" msgid "Session terminated, terminating shell..." msgstr "Sitzung abgebrochen, Shell wird beendet ..." -#, c-format msgid " ...killed.\n" msgstr " ... abgeschossen.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ... Warten auf Beendigung des Kindprozesses.\n" @@ -2287,6 +2310,11 @@ msgstr "%s: su ist Ihnen derzeit nicht erlaubt.\n" msgid "No passwd entry for user '%s'\n" msgstr "Kein Passworteintrag für Benutzer »%s«\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "Ungültiger Benutzername »%s«\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: Muss von einem Terminal gestartet werden.\n" @@ -2332,6 +2360,13 @@ msgstr "%s: %s wurde erstellt, konnte aber nicht entfernt werden\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: die %s-Konfiguration in %s wird ignoriert.\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: die %s-Konfiguration in %s wird ignoriert.\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2362,10 +2397,6 @@ msgstr "%s: Sicherungsdatei kann nicht erstellt werden (%s): %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: Umbenennen: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: Die Gruppe »%s« ist eine NIS-Gruppe.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: Zu viele Gruppen angegeben (max. %d).\n" @@ -2518,6 +2549,18 @@ msgstr "" "SELinux-\n" " Benutzer-Zuordnung verwenden\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEBENUTZER Den Benutzernamen SEBENUTZER für die " +"SELinux-\n" +" Benutzer-Zuordnung verwenden\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: Ungültiges Basis-Verzeichnis »%s«\n" @@ -2660,6 +2703,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Zugriffsrechte der Mailboxdatei werden gesetzt" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Erzeugen der Mailbox-Datei" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Erzeugen der Mailbox-Datei" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2798,10 +2851,6 @@ msgstr "%s: Inhalt von %s kann nicht gelöscht werden: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: tcb-Dateien für %s können nicht gelöscht werden: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: Benutzer %s ist ein NIS-Benutzer.\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: %s-Home-Verzeichnis (%s) nicht gefunden\n" @@ -2936,6 +2985,16 @@ msgstr "" " -Z, --selinux-user SEUSER neue SELinux-Benutzer-Zuordnung für den\n" " Benutzerzugang\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUSER neue SELinux-Benutzer-Zuordnung für den\n" +" Benutzerzugang\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -3032,12 +3091,26 @@ msgstr "" "%s: Kopieren des lastlog-Eintrags von Benutzer %lu zu Benutzer %lu " "fehlgeschlagen: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: Kopieren des lastlog-Eintrags von Benutzer %lu zu Benutzer %lu " +"fehlgeschlagen: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: Kopieren des faillog-Eintrags von Benutzer %lu zu Benutzer %lu " "fehlgeschlagen: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: Kopieren des faillog-Eintrags von Benutzer %lu zu Benutzer %lu " +"fehlgeschlagen: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: Warnung: %s nicht im Besitz von %s.\n" @@ -3139,8 +3212,8 @@ msgstr "Löschen (unlink) der scratch-Datei fehlgeschlagen" msgid "failed to stat edited file" msgstr "stat-Abfrage der editierten Datei fehlgeschlagen" -msgid "failed to allocate memory" -msgstr "Speicherreservierung fehlgeschlagen" +msgid "asprintf(3) failed" +msgstr "" msgid "failed to create backup file" msgstr "Erzeugen der Sicherungsdatei fehlgeschlagen" @@ -3155,6 +3228,55 @@ msgstr "" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: tcb-Verzeichnis für %s konnte nicht gefunden werden\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "" +#~ "%s: Benutzer »%s« auf dem NIS-Client konnte nicht geändert werden.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: »%s« ist der NIS-Master für diesen Client.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: Gruppe »%s« ist eine NIS-Gruppe.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s ist der NIS-Master.\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: Gruppe %s ist eine NIS-Gruppe.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: Die Gruppe »%s« ist eine NIS-Gruppe.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: Benutzer %s ist ein NIS-Benutzer.\n" + +#~ msgid "too simple" +#~ msgstr "zu einfach" + +#, c-format +#~ msgid "Unable to obtain random bytes.\n" +#~ msgstr "Kann keine zufälligen Bytes beziehen.\n" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Kein utmp-Eintrag. Sie müssen »login« vom niedrigsten »sh«-Level " +#~ "ausführen." + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: tcb-Verzeichnis für %s konnte nicht gefunden werden\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "Speicherreservierung fehlgeschlagen" + #~ msgid "Usage: id\n" #~ msgstr "Aufruf: id\n" @@ -3170,9 +3292,5 @@ msgstr "%s: tcb-Verzeichnis für %s konnte nicht gefunden werden\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: Passwortablauf-Informationen geändert.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "Ungültiger Benutzername »%s«\n" - #~ msgid "Username Port From Latest" #~ msgstr "Benutzername Port Von Letzter" diff --git a/po/dz.gmo b/po/dz.gmo index a7de7521c53cb51c4c1753333137a4a883d3b09d..a423fe3b98c93f5d18458421ac2b95a6f48a1f30 100644 GIT binary patch delta 4349 zcmYk;4^&q59mnx65uk!H`6Gx3kC@`W0FePIAg1I*%hdc2A}IMMVdBy(%STO3fmA|N z7U0yPw6Z@>nwr)y-4>f$>)1S}jGeWnXSV4nPi^OH>E55`-sha%!{>SZe)rzz-rv7_ zA1?h6bo!ehZ&%daO~!VCB$A1tW??~QD!8+%}Qlvy`3ul1o&!H#6qfz23+&tVw0BHyu>a1g%h`UNIX4~};B zCt)Az6R{UAKs9Iu#^7em!+n^EmoS<8TNp?0VMi*a;8fI&ev0Zr6Ar;+s2g5Jo&PO* zFfP{VaW3kHCCDLr42y9GdhinV#qUrJjpQSa``cg&9xTBASf&H`G^#;On1ms1rPQu~13^fvaa0H%q z>(|gjy(it#{xsAGEkN~r3#viQ=)tpCfL+L+^{17LzU3q^{<^^wc4$azkVe^FR1c21 zCw98WyO2K%=AhO@66%5(sKr@~9;`t%;Ca;bPv9`Tg6eP>D_spuNM!t(4ohdpvsi?q z@FIFJh;i2O6zq<^zo2du%>3!RcpQycsHdvhOF?t; zB8G8nHs;F|tb3jjNF-)9Nr6TTtKo6hrVUR70+#M$jAT zaTZBDYUsxz(`z$PJzR;I_&DnLQRKUJ4%LG%kw3e^M=D0rZ7sSS)Q#pNgJ5e>H{637 z(RSoKubrX5LbgAnM&f(a9EWmLHyVJt@OV^1mZRpp1$EvDR73xW9=w9;@eimeiC`h9 z;mNK!sP9el>*WPOK{wcn9(*17v)}WfH`ceP7T-bjAeM0-hpDLZmZEM{hnm7R)cHQt zNPdKxnlDiux`WK7C9^W)xxW=q&==-t2UfXmLk-~p)ED1FI%S`u&cBUe7{k(M&@2&k z;Q|c7Qq-bdjB02V@@EZvXzEU)muuL0_rP^j19~$Yy6`X@j+v+)EJQ7?^{5Niqb{@; z^&U8czY8+^1JX%r8EW`!|8cDhEczO`FIhVFnlDVfCsSzLs&?=u_BZ4pGe^rJJKE4q+Kd0j^|&kBY$Jx}@D9Ox+=-uHEtcn+y^8<9O}L+z zzy?h4j&WMrjB3bbOrU3pV_6T>bMkn`aTkuqk8uJ<(Y<*%8&~6-$X9J(0k2_Ph*R-2 zGDsFSj!t1VK7j{Zy?qPK9%4r$F2t|!X`H~_W?~1jEG(9J`77ojoiGorU^;CcuEZ_4 z5x;R=O>bJM-@;AUz_6&n(f6CJ!zyHiympmBAv@MgQjO;s*I@Qfcpn7utA&-+&rCMs zR7)v#7SD2gn|kOJ=aqa4AEh2dx0x-g!mW4^b;HyLc)8&(a2j60dfjovgJ#dL;}q&f z`5bM+!?+(uGd!jE2{LV#G2LtxuD}-j9ACzDGx(nYJq(+sVmBt?Z}Go)9T_~k_OP?I zhRx#bs2nAJ z^|X=?+F%#43e%T4|1Y%SQ`847cZT*5Zla#D!uj5ds5KG6%KQ~Rg-_rFhMi?&XEpw; z8;j(svI2|nI4;8fxRz8qLv|KvvrXozI`1RbNLHk#Xcp>*ZMYtL)i@ogMb@8nU+uh6 zOK~H0?*vTnx~*`n^UiNWUGGEG z)D|-jS$G6BRb6;5>X~GbdM%AYkan=;IQTzb<8ummmVDsfV|Eu760MCF$pd5y(U$Ds zzey%#X2KfXeF2yaJ3`bkXJaf!1j?vY8ralJZFJcGYj*}&4*p+2t(CXQ|8LBsoh2be zJuD_+B(UkxevgEbB=S0$t+^ae-XRG@+b}YcJg5rWGzb5)KZo)RGL{S`{>6mP5G}-C z5(d;x5Z0#umD>k{$yO3hv}tOzUc5v3c!+4*M>6~+UXyr`3?h3;Ht9|D*l0^64J4Jk zN**OzCmm!D(RP8MPWgpf^8(8>>#U1 zU|U2XB~Zav$N>`V?mO(-*R=$ziMPewaUQeWazEE}*D}l_+sT`xnT#Pz$j`}hU-a3Sv!M$d86AyeVv8P;l7(wzm9G^ VTAJYNET5IwcyLuhkZ{FN~oCzynCj1iihL^WD zrUT4^-C-{52p4(vbx=dT3fsU2*vgoI`2=G&4PSW=GGiHx`Uuz(=0fH$Ghip^hdtm! z9$$jJs2_!$VRW2*o(Qj`J{(>Kr$a5U5b`lg_!`XorUoO8h9mGg7!z+ySC|H`f|Fn} ztb&?&Bh=2`hS$Kap*u0NsedAL;4mmpuo0&3!Ia5UTp6PVxpf}sf$=;gq{P&=Ig zd1R^}AG3xp2iCzv_`cVE0&0QhVG?v$9j3{K>US%2U?tRoYM>Te4+C8=j$&wl)6ju& z%&rg&fLU+^Bsyj(q>HJ64txp9W1m5J<{VTgk{Mm~@z8;lQ0+BP9&3Q|#CM(XKemZt z6Gcn_vcf4eA)4h6>GjsD76^#tekXQ1xkEy#y-j zcYE9i<&g%+u`~aKnm2G7;|h$+n0*NB3U7e3paysnwt!DVE$BrkSAGPQGv7jm;1{Ue z=s=@(+7Ief4T5@J0$Hx8>yMx&Isr9q3%0F=^oEN4EU13>z&1Mn>oFV}wnOdsAXIEVgIf7Z%se^uN_V#L*#)GMI&bS&P{NZ-=Mg7??w6qG29~1+W1wg1vBuSO+IShh5wWOX2-G z|DRz@reWO8HpzCvW3S?qu!wrQk=7%NJ^li>(Eh+E>w%=vcEQ`>LfU_Z z@>uyTc7xHZb`|yEFrf4QDTZ7zek>PB6n8cBQ9nxHS%Vog-X>c$RLr}w4c215fb(JJ ziS{>OIed_MJ=DZQCh;!Z4|&!62p@qX*zHpI1@tk$nL5QL*8#YJ`lMXk4^KhTz>Jz| z%mTO+D(la{r{G%R=7$-#*^oQ~lc@h4o`cPZ8`0sM+2k7z`IudN;S6&D242A!O(3-+ zrLtl=5#c5C*tcKUZ=vg*|y zjk9=s6yqBj*1|n`_Tm^e+g_n1knoy&VLx~X&V@fhg=R*+F&rRM3p>GY;XUvts123g zW$XK4H|pucRSTU8m4ttj{~5~+okQlrTBsOhFiRGE4-SLP3v6t2ptAfh)PUz;CQK@{ zr)3(fqP_+G0ORNJ#|Ugeq9_L@LwRx+B#P$G0Srx$USwll1s7943boTITw^%J9DsaG zQi=V;;}Lit^*9nhE?x_lz;+~x-U~vS%vtyzoL_2>VOklN9rfoS`Dg+cJY!_qxXma3t+F-EAja4ezCX9%>_taK~i$Z|J}=3+?eOhRZeN z_ZaPYP`Sv)cqLpzeLvg+M-tFPcoIGan=|^8a6KgdOkdn^6fkE z)nV8h{s5JXiL7pwwloqWiUzq)=T}9ips{3NyyI24#N10s)on-vZb4b-0i=ZtKq{K# zee@98hvXHN?r1PlSgw{!Rgx{-Tzd1jcCR5qY?u4S*$cbN4iMHp%|2g+Mq>9h5O6wL?xoSdKPs=DhH5my9%@nsf-m@(F>>tT7!n6)hHdQbU`D~P*o^%&_}Lif1+jn0d+vl z(4NqPS7b!DD=c>^3VhDEQInnGyz&ZPS@4zilTuQ8l&3hqdgRRUm(iQ{{Gvi%NkyMf zRBZdGq=LMXxjv_|+*jtf@A*sI;Trq2h&vKBaBi8ua)HyMT!ZGhkKL9wrbl_EV;?ro z+2nEP^Z2itwXqEvKlDVWn3!z8Q&~~Gz+nMpi~2auG=HU2Tv=Y>_!j!|o#Z0_+`^J% zXHJ>F*xgx?zskqMBH!JNO*7L zz$zyaemWAakA#C%BHmqN~M&5kcZCUHKY-pUrdp{VNl-#FrM!O7_#6zvGvHjO83AIjJ(`;tb#sA)0 z|HtyGBjJ6)(|0<}wcTLU`2NAjfNr6U19rs(r{u>DP<;Q#2Td3A+nx+g%)c@?B`r=P zq}v4goiTo6L&2F^ zE^~YAvO_ecX>bX%Ztm5#C8IFGf#8xmyM+F9du~E7dSQGV0mo-{8lsJ{+VDoFV9vtw F{{RhA2KN8} diff --git a/po/dz.po b/po/dz.po index e40d19b3..5b194798 100644 --- a/po/dz.po +++ b/po/dz.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2006-06-01 15:28+0530\n" "Last-Translator: Jurmey Rabgay \n" "Language-Team: dzongkha \n" @@ -20,220 +20,6 @@ msgstr "" "X-Poedit-Country: bhutan\n" "X-Poedit-SourceCharset: utf-8\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོན་ལུ་ བར་སྟོང་སྤྲོད་མ་ཚུགས།\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "རིམ་སྒྲིག་འཚོལ་བ་-མ་ཤེས་པའི་རྣམ་གྲངས་ '%s'(བདག་སྐྱོང་པ་བརྡ་བསྐུལ་འབད་)།\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "ཆོག་ཡིག་:" - -#, c-format -msgid "%s's Password: " -msgstr "%s's ཆོག་ཡིག་:" - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "ཆོག་ཡིག་ཡིག་སྣོད་ ཁ་ཕྱེ་མི་ཚུགས།\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོན་ལུ་ བར་སྟོང་སྤྲོད་མ་ཚུགས།\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "%s གི་དོན་ལུ་ རྒས་པའི་བརྡ་དོན་བསྒྱུར་བཅོས་འབད་དོ།\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: ཁྱོད་ཀྱི་ལག་ལེན་པའི་མིང་ གཏན་འབེབས་བཟོ་མི་ཚུགས།\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: གྲལ་ཐིག་ %d:ལག་ལེན་པ་ %sའཚོལ་མི་ཚུགས།\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: དྲན་ཚད་ལས་བརྒལ་བ།\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: ཡིག་སྣོད་ %sའདི་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: ནུས་མེད་ཁྱིམ་གྱི་སྣོད་ཐོ་ '%s'།\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།" - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།" - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: བསྐྱར་མིང་བཏགས་:%s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།" - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།" - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: ཡིག་སྣོད་ %sའདི་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: གྱིབ་མའི་ཡིག་སྣོད་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: བསྐྱར་མིང་བཏགས་:%s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: ཡིག་སྣོད་%s ཁ་ཕྱེ་མི་ཚུགས།\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "ཉེན་བརྡ་:མ་ཤེས་པའི་སྡེ་ཚན་%s\n" @@ -280,6 +66,11 @@ msgstr "ཊི་ཊི་ཝའི་ %s བསྒྱུར་བཅོས་ msgid "%s: failed to unlock %s\n" msgstr "%s: ས་སྒོ་ཚུ་རིང་དྲགས་པས།\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -287,6 +78,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "མཐའ་འཁོར་ལུད་སོང་བ།\n" @@ -389,9 +184,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: ཐུན་མོང་ ཡུ་ཨའི་ཌི་འཐོབ་མི་ཚུགས།\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོན་ལུ་ བར་སྟོང་སྤྲོད་མ་ཚུགས།\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "རིམ་སྒྲིག་འཚོལ་བ་-མ་ཤེས་པའི་རྣམ་གྲངས་ '%s'(བདག་སྐྱོང་པ་བརྡ་བསྐུལ་འབད་)།\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: པི་ཨེ་ཨེམ་ བདེན་བཤད་འཐུས་ཤོར་བྱུང་ཡོདཔ།\n" @@ -419,7 +221,7 @@ msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོ #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: ཡིག་སྣོད་ཁ་ཕྱེ་མི་ཚུགས།\n" #, fuzzy, c-format @@ -430,9 +232,21 @@ msgstr "%s: གྲལ་ཐིག་ %d: chown འཐུས་ཤོར་བྱ msgid "%s: write to %s failed: %s\n" msgstr "%s: གྲལ་ཐིག་ %d: chown འཐུས་ཤོར་བྱུང་ཡོདཔ།\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: གྲལ་ཐིག་ %d: chown འཐུས་ཤོར་བྱུང་ཡོདཔ།\n" + msgid "Too many logins.\n" msgstr "ནང་བསྐྱོད་མང་དྲགས་པ།\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s ནང་བསྐྱོད་: " + msgid "You have new mail." msgstr "ཁྱོད་ལུ་ཡིག་འཕྲིན་གསརཔ་ཅིག་འདུག" @@ -442,6 +256,14 @@ msgstr "ཡིག་འཕྲིན་མེད།" msgid "You have mail." msgstr "ཁྱོད་ལུ་ཡིག་འཕྲིན་འདུག" +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "བསྒྱུར་བཅོས་མེད།" @@ -454,9 +276,6 @@ msgstr "ཡི་གུ་རྐྱངམ་ཅིག་བསྒྱུར་བ msgid "too similar" msgstr "ཤིན་ཏུ་ཆ་འདྲ་བ།" -msgid "too simple" -msgstr "ཤིན་ཏུ་འཇམ་སམ།" - msgid "rotated" msgstr "བསྒྱིར་ཡོདཔ།" @@ -503,6 +322,13 @@ msgid "" "%s\n" msgstr "ཆོག་ཡིག་:པམ་སི་ཊཊི་()འཐུས་ཤོར་བྱུང་ཡོདཔ་(_s) འཛོལ་བ་ %d\n" +msgid "Password: " +msgstr "ཆོག་ཡིག་:" + +#, c-format +msgid "%s's Password: " +msgstr "%s's ཆོག་ཡིག་:" + #, c-format msgid "Incorrect password for %s.\n" msgstr "%s གི་དོན་ལུ་ བདེན་མེད་ཀྱི་ཆོག་ཡིག\n" @@ -527,17 +353,13 @@ msgstr "%s: ནུས་མེད་ཀྱི་ ཁྱིམ་གྱི་བ msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" #, c-format msgid "" @@ -552,6 +374,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "ཆོག་ཡིག་ཡིག་སྣོད་ ཁ་ཕྱེ་མི་ཚུགས།\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོན་ལུ་ བར་སྟོང་སྤྲོད་མ་ཚུགས།\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོན་ལུ་ བར་སྟོང་སྤྲོད་མ་ཚུགས།\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "%s གི་དོན་ལུ་ རྒས་པའི་བརྡ་དོན་བསྒྱུར་བཅོས་འབད་དོ།\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: ཁྱོད་ཀྱི་ལག་ལེན་པའི་མིང་ གཏན་འབེབས་བཟོ་མི་ཚུགས།\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: གྲལ་ཐིག་ %d:ལག་ལེན་པ་ %sའཚོལ་མི་ཚུགས།\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "'%s'ལུ་ སི་ཌི་འབད་མ་ཚུགས་\n" @@ -563,6 +486,10 @@ msgstr "སྣོད་ཐོ་མེད་ ཁྱིམ་དང་བཅས msgid "Cannot execute %s" msgstr "%sལག་ལེན་འཐབ་མི་ཚུགས།" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "ནུས་མེད་རྩ་བའི་སྣོད་ཐོ་ '%s'\n" @@ -571,6 +498,84 @@ msgstr "ནུས་མེད་རྩ་བའི་སྣོད་ཐོ་ '% msgid "Can't change root directory to '%s'\n" msgstr " '%s'ལུ་ རྩ་བའི་སྣོད་ཐོ་བསྒྱུར་བཅོས་འབད་མི་ཚུགས།\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: དྲན་ཚད་ལས་བརྒལ་བ།\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: ཡིག་སྣོད་ %sའདི་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: ནུས་མེད་ཁྱིམ་གྱི་སྣོད་ཐོ་ '%s'།\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།" + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།" + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: བསྐྱར་མིང་བཏགས་:%s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།" + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།" + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: ཡིག་སྣོད་ %sའདི་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: གྱིབ་མའི་ཡིག་སྣོད་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: བསྐྱར་མིང་བཏགས་:%s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: ཡིག་སྣོད་%s ཁ་ཕྱེ་མི་ཚུགས།\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: ལག་ལེན་པ་ %sའདི་ ད་ལྟོ་རང་ནང་བསྐྱོད་འབད་ཡི།\n" @@ -630,6 +635,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -655,12 +663,15 @@ msgstr "ཆོག་ཡིག་ནུས་མེད།" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "རྩིས་ཐོའི་དུས་ཡོལ་ཚེས་གྲངས་(ཝའི་ཝའི་ཝའི་ཝའི་-ཨེམ་ཨེམ་-ཌི་ཌི་)།" -msgid "Last password change\t\t\t\t\t: " -msgstr "མཇུག་གི་ཆོག་ཡིག་བསྒྱུར་བཅོས་\t\t\t\t\t: " - msgid "never" msgstr "ནམ་ཡང་" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "མཇུག་གི་ཆོག་ཡིག་བསྒྱུར་བཅོས་\t\t\t\t\t: " + msgid "password must be changed" msgstr "ཆོག་ཡིག་འདི་བསྒྱུར་བཅོས་འབད་དགོ" @@ -828,14 +839,6 @@ msgstr "%s: '%s' ནང་ལུ་ ཁྲིམས་འགལ་ཡིག་ msgid "%s: user '%s' does not exist\n" msgstr "%s: ལག་ལེན་པ་ %sའདི་ མེད།\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: ཨེན་ཨའི་ཨེསི་ ཞབས་ཏོག་སྤྱོད་མི་གུ་ ལག་ལེན་པ་ '%s' བསྒྱུར་བཅོས་འབད་མི་ཚུགས།\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' འདི་ ཞབས་ཏོག་སྤྱོད་མི་འདི་གི་དོན་ལུ་ ཨེན་ཨའི་ཨེསི་ ཨམ་ཨིན།\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "%sགི་དོན་ལུ་ ལག་ལེན་པའི་བརྡ་དོན་ བསྒྱུར་བཅོས་འབད་དོ།\n" @@ -864,6 +867,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: -a ཟུར་རྟགས་འདི་ -Gཟུར་རྟགས་དང་གཅིག་ཁར་རྐྱངམ་ཅིག་ཆོག\n" @@ -914,6 +921,15 @@ msgstr "" msgid "Login Shell" msgstr "ནང་བསྐྱོད་ཀྱི་ཤལ།" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: སྔོན་སྒྲིག་ཡིག་སྣོད་གསརཔ་ གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "ཁྱོད་ཀྱིས་ %sགི་དོན་ལུ་ ཤལ་བསྒྱུར་བཅོས་མི་འབདཝ་འོང་།\n" @@ -926,6 +942,10 @@ msgstr "%sགི་དོན་ལུ་ ནང་བསྐྱོད་ཤལ་ msgid "%s: Invalid entry: %s\n" msgstr "%s: ནུས་མེད་ཀྱི་ཐོ་བཀོད་:%s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s འདི་ནུས་མེད་ཀྱི་ཤལ་ཨིན།\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s འདི་ནུས་མེད་ཀྱི་ཤལ་ཨིན།\n" @@ -1136,9 +1156,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1151,6 +1168,10 @@ msgstr "ནུས་མེད་ལག་ལེན་པའི་མིང་ '% msgid "%s: '%s' is not a valid group name\n" msgstr "%s: %s འདི་ ནུས་ཅན་གྱི་སྡེ་ཚན་མིང་མེན་པས།\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: ཡིག་སྣོད་%s ཁ་ཕྱེ་མི་ཚུགས།\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "ནུས་མེད་སྡེཚན་གྱི་མིང་ '%s'\n" @@ -1193,14 +1214,6 @@ msgstr "%s: ཨེན་ཨའི་ཨེསི་ ཞབས་ཏོག་ས msgid "%s: group '%s' does not exist\n" msgstr "%s: སྡེ་ཚན་ %sམེད།\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: སྡེ་ཚན་ '%s' འདི་ ཨེན་ཨའི་ཨེསི་སྡེ་ཚན་ཨིན།\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %sའདི་ ཨེན་ཇི་ཨེསི་ ཨམ་ཨིན།\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: ལག་ལེན་པ་ %sའདི་ ཨེན་ཨའི་ཨེསི་ ལག་ལེན་པ་ཅིག་ཨིན།\n" @@ -1276,10 +1289,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "ནུས་མེད་སྡེཚན་གྱི་མིང་ '%s'\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: སྡེ་ཚན་ %s འདི་ ཨེན་ཇི་ཨེསི་ སྡེ་ཚན་ཨིན།\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: མ་ཤེས་པའི་ལག་ལེན་པ་%s\n" @@ -1394,7 +1403,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1488,10 +1497,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"utmpཐོ་བཀོད་མིན་འདུག ཁྱོད་ཀྱིས་ གནས་རིམ་དམའ་ཤོས་\"sh\"གི་ནང་ལས་ \"login\"ལག་ལེན་འཐབ་དགོ" - #, fuzzy, c-format msgid "" "\n" @@ -1525,14 +1530,6 @@ msgstr "ནང་བསྐྱོད་བདེན་མེད།" msgid "Cannot find user (%s)\n" msgstr "%s: གྲལ་ཐིག་ %d:ལག་ལེན་པ་ %sའཚོལ་མི་ཚུགས།\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s ནང་བསྐྱོད་: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: ཁ་སྤེལ་བ་འཐུས་ཤོར་:%s" @@ -1569,7 +1566,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1594,17 +1592,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: ས་སྒོ་ཚུ་རིང་དྲགས་པས།\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་ཐོ་'%s'།\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1638,14 +1632,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1666,6 +1659,10 @@ msgstr "%s: ནུས་མེད་ལག་ལེན་པའི་མིང msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'།\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s:གྲལ་ཐིག་%d: ནུས་མེད་གྲལ་ཐིག་\n" @@ -1686,6 +1683,10 @@ msgstr "%s: གྲལ་ཐིག་ %d: ཇི་ཨའི་ཌི་ གས msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: ལག་ལེན་པ་ %sའདི་ མེད།\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: བསྐྱར་མིང་བཏགས་:%s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: གྲལ་ཐིག་ %d: ཆོག་ཡིག་དུས་མཐུན་བཟོ་མི་ཚུགས།\n" @@ -1706,14 +1707,14 @@ msgstr "%s: གྲལ་ཐིག་ %d: chown འཐུས་ཤོར་བྱ msgid "%s: line %d: can't update entry\n" msgstr "%s: གྲལ་ཐིག་ %d: ཐོ་བཀོད་དུས་མཐུན་བཟོ་མི་ཚུགས།\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: ཁེ་དབང་(%s)ཚུ་བཀོག་ནིའི་འཐུས་ཤོར་བྱུང་ཡོདཔ།\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: %sགསར་བསྐྲུན་འབད་མི་ཚུགས།\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: ཁེ་དབང་(%s)ཚུ་བཀོག་ནིའི་འཐུས་ཤོར་བྱུང་ཡོདཔ།\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: སྡེ་ཚན་ཡིག་སྣོད་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n" @@ -1772,6 +1773,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "ཆོག་ཡིག་རྙིངམ་:" @@ -1787,6 +1791,11 @@ msgid "" "Please use a combination of upper and lower case letters and numbers.\n" msgstr "ཆོག་ཡིག་གསརཔ་བཙུགས་(%d གི་ཉུང་མཐའ་ %dཡིག་འབྲུའི་མང་མཐའ་)།\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: ས་སྒོ་ཚུ་རིང་དྲགས་པས།\n" + msgid "New password: " msgstr "ཆོག་ཡིག་གསརཔ་:" @@ -1828,6 +1837,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: མཛོད་གནས་ %sའདི་ རྒྱབ་སྐྱོར་མ་འབད་བས།\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1971,11 +1984,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2048,6 +2059,11 @@ msgstr "ཁྱོད་ ཟླ་%sལུ་ དབང་སྤྲོད་མ msgid "No passwd entry for user '%s'\n" msgstr "'རྩ་བ་'གི་དོན་ལུ་ ཆོག་ཡིག་ཐོ་བཀོད་མེད།" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: ཊར་མི་ནཱལ་ལས་གཡོག་བཀོལ་དགོ\n" @@ -2093,6 +2109,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2123,10 +2145,6 @@ msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབ msgid "%s: rename: %s: %s\n" msgstr "%s: བསྐྱར་མིང་བཏགས་:%s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: སྡེ་ཚན་ '%s' འདི་ ཨེན་ཨའི་ཨེསི་སྡེ་ཚན་ཨིན།\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: སྡེ་ཚན་མང་རབས་ཅིག་གསལ་བཀོད་འབད་ཡོདཔ་(མང་མཐའ་ %d)།\n" @@ -2236,6 +2254,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་ཐོ་'%s'།\n" @@ -2366,6 +2389,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "ཡིག་སྒྲོམ་ཡིག་སྣོད་གྱི་གནང་བ་ གཞི་སྒྲིག་འབད་དོ།" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "ཡིག་སྒྲོམ་ཡིག་སྣོད་ གསར་བསྐྲུན་འབད་དོ།" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "ཡིག་སྒྲོམ་ཡིག་སྣོད་ གསར་བསྐྲུན་འབད་དོ།" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2486,10 +2519,6 @@ msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱ msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: ལག་ལེན་པ་ %sའདི་ ཨེན་ཨའི་ཨེསི་ ལག་ལེན་པ་ཅིག་ཨིན།\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: ནུས་མེད་ཁྱིམ་གྱི་སྣོད་ཐོ་ '%s'།\n" @@ -2588,6 +2617,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2671,10 +2704,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: ཆོག་ཡིག་ཡིག་སྣོད་ དུས་མཐུན་བཟོ་མ་ཚུགས།\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: ཉེན་བརྡ་: %s འདི་ %s གིས་ བདག་དབང་བཟུངམ་མེན།\n" @@ -2780,8 +2821,9 @@ msgid "failed to stat edited file" msgstr "ཡིག་སྒྲོམ་གྱི་བསྐྱར་མིང་བཏགས་ནི་ལུ་ འཛོལ་བ།" #, fuzzy -msgid "failed to allocate memory" -msgstr "ཡིག་སྒྲོམ་བདག་པོ་སོར་ནི་ལུ་ འཐུས་ཤོར་བྱུང་ཡོདཔ།" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: ཡིག་སྣོད་ཁ་ཕྱེ་མི་ཚུགས།\n" #, fuzzy msgid "failed to create backup file" @@ -2795,6 +2837,49 @@ msgstr "%s: %sསོར་ཆུད་འབད་མ་ཚུགས་: %s (ཁ msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་ཐོ་'%s'།\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: ཨེན་ཨའི་ཨེསི་ ཞབས་ཏོག་སྤྱོད་མི་གུ་ ལག་ལེན་པ་ '%s' བསྒྱུར་བཅོས་འབད་མི་ཚུགས།\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' འདི་ ཞབས་ཏོག་སྤྱོད་མི་འདི་གི་དོན་ལུ་ ཨེན་ཨའི་ཨེསི་ ཨམ་ཨིན།\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: སྡེ་ཚན་ '%s' འདི་ ཨེན་ཨའི་ཨེསི་སྡེ་ཚན་ཨིན།\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %sའདི་ ཨེན་ཇི་ཨེསི་ ཨམ་ཨིན།\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: སྡེ་ཚན་ %s འདི་ ཨེན་ཇི་ཨེསི་ སྡེ་ཚན་ཨིན།\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: སྡེ་ཚན་ '%s' འདི་ ཨེན་ཨའི་ཨེསི་སྡེ་ཚན་ཨིན།\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: ལག་ལེན་པ་ %sའདི་ ཨེན་ཨའི་ཨེསི་ ལག་ལེན་པ་ཅིག་ཨིན།\n" + +#~ msgid "too simple" +#~ msgstr "ཤིན་ཏུ་འཇམ་སམ།" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "utmpཐོ་བཀོད་མིན་འདུག ཁྱོད་ཀྱིས་ གནས་རིམ་དམའ་ཤོས་\"sh\"གི་ནང་ལས་ \"login\"ལག་ལེན་འཐབ་དགོ" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་ཐོ་'%s'།\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "ཡིག་སྒྲོམ་བདག་པོ་སོར་ནི་ལུ་ འཐུས་ཤོར་བྱུང་ཡོདཔ།" + #~ msgid "Usage: id\n" #~ msgstr "ལག་ལེན་པ་: id\n" @@ -2810,10 +2895,6 @@ msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་ #~ msgid "%s: password expiry information changed.\n" #~ msgstr "ཆོག་ཡིག་དུས་ཡོལ་ཉེན་བརྡ།" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'\n" - #~ msgid "Username Port From Latest" #~ msgstr "ལག་ལེན་པའི་མིང་ འདྲེན་ལམ་ ལས་ མཇུག་མཐའ།" diff --git a/po/el.gmo b/po/el.gmo index a80aa79749c66252a55762a9a8fb70ac5d86f8b1..f74e04d3018a2f9162391edef9ebb91ca576caa7 100644 GIT binary patch delta 11489 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 aDC?w!Wd+uC`s7>E!QUyGwVNBJ<8kCat8k2E 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 !n?iD`tsfUhIg5I#a%hQaxvrXl4SoTIHC z@i^tHM0?8K!d!Ht_OP9x@(K|`JWIYG6R{_eNBnau%6Tuk6+N&8$7*|$*g~X|kHq(h zmx!N;Cd6gxzahF4cQyY&zSf;_~jWfZX@QBCtdoC5}u6eOM}niG$9%GWr)4dp)g zJF$my4Dm7L;zVWlxJO*1Fpk*CzCdCJv6Q$@1nW7}Hi&qQc-_s1xjseRQQ|}5Tk1~Z zJ z3gvo4VaoN1W5gfseu~Z?W^?|LAEvzA&W@?=U$w-9!~{=l*WR9#VHpz=(z9#!Dqu%P zSIvm_jLGo)_dd_4v~;SdACWvJA$3Abc68i>fbhg&siPA-6EhOhJ0jPOJzr;Q$y8tEC8o|fX=L2}yU z1a>ATOiD=hL}nyLX1_V*RzT*Yp+VUTX16XFI3X>~lQAY`TyjG8k-1-WXui%3iR|&$rFD$KyNT@$JohF?W`4kMBV4Y>#gTg>AmQz5~7weS31B%bnxfLNzy$z4Wt- zw$~Yj|JV5*U$$>gv~OGP^SN_!7y0&ixby+wV*9C^>C2%LJ5`zcB5m)ag9l;)t*RN# zJ)Y{mY<6z*eV9G-^Kv08XGYm28s*NTYKzmu95Xpi`Tx9Rj&4IYk-0R#d}hxd%Vxiq z*QRLZ\n" "Language-Team: Greek \n" @@ -21,230 +21,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: KBabel 1.10.2\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "η μέθοδος κρυπτογράφησης δεν υποστηρίζεται από το libcrypt? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "λάθος διαμόρφωση - δεν μπορεί να αναλυθεί η τιμή %s : '%s'" - -msgid "Could not allocate space for config info.\n" -msgstr "Αδυναμία δέσμευσης χώρου για πληροφορίες διαμόρφωσης.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"σφάλμα διαμόρφωσης - άγνωστο αντικείμενο '%s' (ειδοποιήστε το διαχειριστή)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: το nscd δεν τερμάτισε κανονικά (σήμα %d)\n" - -#, fuzzy, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: το ncsd τερμάτισε με κατάσταση εξόδου %d" - -msgid "Password: " -msgstr "Συνθηματικό: " - -#, c-format -msgid "%s's Password: " -msgstr "Του %s το Συνθηματικό: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "Αδυναμία εγκαθίδρυσης διεπαφής ελέγχου - ματαίωσης.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "Δεν μπορώ να δημιουργήσω διαχειριστή του SELinux\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "Η πολιτική του SELinux δεν διαχειρίζεται\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "Αδυναμία ανάγνωσης της αποθηκευμένης πολιτικής του SELinux\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "Αδυναμία δημιουργίας σύνδεση διαχείρισης του SELinux\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "Αδυναμία εκκίνησης συναλλαγής SELinux\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "Αδυναμία ανάκτησης του χρήστη SE για το %s\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "Αδυναμία ρύθμισης του πεδίου SE για το %s\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "Αδυναμία ρύθμισης του ονόματος SE για το χρήστη %s\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "Αδυναμία τροποποίησης της χαρτογράφησης σύνδεσης για το χρήστη %s\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Αδυναμία δημιουργίας χαρτογράφησης σύνδεσης SELinux για το χρήστη %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "Αδυναμία ρύθμισης του ονόματος χρήστη %s\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "Αδυναμία ρύθμισης του SELinux χρήστη %s\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "Αδυναμία προσθήκης χαρτογράφηση σύνδεσης για το χρήστη %s\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "Αδυναμία εκκίνησης της διαχείρισης SELinux\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "Αδυναμία δημιουργίας κλειδιού για το χρήστη SELinux\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "Ο SELinux χρήστης δεν μπορεί να επαληθευτεί\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "Αδυναμία τροποποίησης της χαρτογράφησης χρήστη SELinux\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "Αδυναμία προσθήκης της χαρτογράφησης χρήστη SELinux\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "Αδυναμία παράδοσης της συναλλαγής SELinux\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"Δεν έχει οριστεί χαρτογράφηση σύνδεσης για τον χρήστη %s, είναι ΟΚ εάν " -"χρησιμοποιηθεί η προκαθορισμένη χαρτογράφηση\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" -"Η χαρτογράφηση σύνδεσης για το χρήστη %s καθορίζεται από το πλαίσιο της " -"πολιτική και δεν μπορεί να διαγραφεί\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "Αδυναμία διαγραφής της χαρτογράφησης σύνδεσης για το χρήστη %s" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: δεν υπάρχει ελεύθερη μνήμη\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: Αδυναμία εκτέλεσης του stat %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: το %s δεν είναι ούτε κατάλογος ούτε συμβολικός σύνδεσμος\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: Αδυναμία ανάγνωσης του συμβολικού συνδέσμου %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Ύποπτα μεγάλος συμβολικός σύνδεσμος: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: Αδυναμία δημιουργίας καταλόγου %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: Αδυναμία αλλαγής ιδιοκτήτη του %s: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: Αδυναμία αλλαγής τρόπο λειτουργίας του %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: αποσύνδεση: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: Αδυναμία διαγραφής του καταλόγου %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: Αδυναμία μετονομασίας του %s σε %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: Αδυναμία διαγραφής %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: Αδυναμία δημιουργίας συμβολικού συνδέσμου %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: Αδυναμία αλλαγή ιδιοκτητών του %s: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: Αδυναμία εκτέλεσης του lstat %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "" -"%s: Προειδοποίηση, δεν υπάρχει tcb αρχείο σκιωδών συνθηματικών για το χρήστη " -"%s.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: Επείγον: το tcb αρχείο σκιωδών συνθηματικών του %s δεν φέρει το σύνηθες " -"st_nlink=1.\n" -"Ο λογαριασμός θα παραμείνει κλειδωμένος.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: Αδυναμία ανοίγματος αρχείου %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Προειδοποίηση: άγνωστη ομάδα %s\n" @@ -291,6 +67,11 @@ msgstr "Αδυναμία αλλαγής ιδιοκτήτη ή τρόπο λει msgid "%s: failed to unlock %s\n" msgstr "%s: Αποτυχία ξεκλειδώματος %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, c-format msgid "%s: " msgstr "%s: " @@ -298,6 +79,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "η μέθοδος κρυπτογράφησης δεν υποστηρίζεται από το libcrypt? (%s)\n" + msgid "Environment overflow\n" msgstr "Υπερχείλιση περιβάλλοντος\n" @@ -418,8 +203,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: αδυναμία λήψης μοναδικού UID (δεν υπάρχουν διαθέσιμα UID)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "λάθος διαμόρφωση - δεν μπορεί να αναλυθεί η τιμή %s : '%s'" + +msgid "Could not allocate space for config info.\n" +msgstr "Αδυναμία δέσμευσης χώρου για πληροφορίες διαμόρφωσης.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" +"σφάλμα διαμόρφωσης - άγνωστο αντικείμενο '%s' (ειδοποιήστε το διαχειριστή)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -451,7 +244,7 @@ msgstr "Αδυναμία ρύθμισης του ονόματος χρήστη % #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: αδυναμία ανοίγματος του αρχείου\n" #, fuzzy, c-format @@ -464,9 +257,22 @@ msgstr "%s: γραμμή %d: αποτυχία αλλαγής ιδιοκτήτη msgid "%s: write to %s failed: %s\n" msgstr "%s: γραμμή %d: αποτυχία αλλαγής ιδιοκτήτη %s (chown): %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: γραμμή %d: αποτυχία αλλαγής ιδιοκτήτη %s (chown): %s\n" + msgid "Too many logins.\n" msgstr "Πολλές είσοδοι στο σύστημα.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login: " + msgid "You have new mail." msgstr "Έχετε νέα γράμματα." @@ -476,6 +282,14 @@ msgstr "Κανένα γράμμα." msgid "You have mail." msgstr "Έχετε γράμματα." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: το nscd δεν τερμάτισε κανονικά (σήμα %d)\n" + +#, fuzzy, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: το ncsd τερμάτισε με κατάσταση εξόδου %d" + msgid "no change" msgstr "καμιά αλλαγή" @@ -488,9 +302,6 @@ msgstr "αλλαγές κεφαλαίων/πεζών μόνο" msgid "too similar" msgstr "αρκετά παρόμοιο" -msgid "too simple" -msgstr "πολύ απλό" - msgid "rotated" msgstr "κυλιόμενο" @@ -536,6 +347,13 @@ msgid "" "%s\n" msgstr "συνθηματικό: pam_start() απέτυχε, σφάλμα %d\n" +msgid "Password: " +msgstr "Συνθηματικό: " + +#, c-format +msgid "%s's Password: " +msgstr "Του %s το Συνθηματικό: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Εσφαλμένο συνθηματικό για %s.\n" @@ -561,18 +379,14 @@ msgstr "%s: διαδρομή chroot μη έγκυρη '%s'\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: αδυναμία προσπέλαση του καταλόγου chroot %s: %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: αδυναμία προσπέλαση του καταλόγου chroot %s: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "" "%s: αδυναμία αλλαγής του φαινομενικού γονικού καταλόγου (chroot) %s: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: αδυναμία προσπέλαση του καταλόγου chroot %s: %s\n" #, c-format msgid "" @@ -589,6 +403,112 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "Αδυναμία εγκαθίδρυσης διεπαφής ελέγχου - ματαίωσης.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "Δεν μπορώ να δημιουργήσω διαχειριστή του SELinux\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "Η πολιτική του SELinux δεν διαχειρίζεται\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "Αδυναμία ανάγνωσης της αποθηκευμένης πολιτικής του SELinux\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "Αδυναμία δημιουργίας σύνδεση διαχείρισης του SELinux\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "Αδυναμία εκκίνησης συναλλαγής SELinux\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "Αδυναμία ανάκτησης του χρήστη SE για το %s\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "Αδυναμία ρύθμισης του πεδίου SE για το %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "Αδυναμία ρύθμισης του ονόματος SE για το χρήστη %s\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "Αδυναμία τροποποίησης της χαρτογράφησης σύνδεσης για το χρήστη %s\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Αδυναμία δημιουργίας χαρτογράφησης σύνδεσης SELinux για το χρήστη %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "Αδυναμία ρύθμισης του ονόματος χρήστη %s\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "Αδυναμία ρύθμισης του SELinux χρήστη %s\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "Αδυναμία προσθήκης χαρτογράφηση σύνδεσης για το χρήστη %s\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "Αδυναμία εκκίνησης της διαχείρισης SELinux\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "Αδυναμία δημιουργίας κλειδιού για το χρήστη SELinux\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "Ο SELinux χρήστης δεν μπορεί να επαληθευτεί\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "Αδυναμία τροποποίησης της χαρτογράφησης χρήστη SELinux\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "Αδυναμία προσθήκης της χαρτογράφησης χρήστη SELinux\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "Αδυναμία παράδοσης της συναλλαγής SELinux\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"Δεν έχει οριστεί χαρτογράφηση σύνδεσης για τον χρήστη %s, είναι ΟΚ εάν " +"χρησιμοποιηθεί η προκαθορισμένη χαρτογράφηση\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" +"Η χαρτογράφηση σύνδεσης για το χρήστη %s καθορίζεται από το πλαίσιο της " +"πολιτική και δεν μπορεί να διαγραφεί\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "Αδυναμία διαγραφής της χαρτογράφησης σύνδεσης για το χρήστη %s" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Αδυναμία αλλαγής καταλόγου στον '%s'\n" @@ -600,6 +520,10 @@ msgstr "Χωρίς κατάλογο, εισαγωγή με ΜΗΤΡΙΚΟ_ΚΑΤ msgid "Cannot execute %s" msgstr "Αδυναμία εκτέλεσης %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Μη έγκυρος πρωταρχικός κατάλογος '%s'\n" @@ -608,6 +532,89 @@ msgstr "Μη έγκυρος πρωταρχικός κατάλογος '%s'\n" msgid "Can't change root directory to '%s'\n" msgstr "Αδυναμία αλλαγής του πρωταρχικού καταλόγου σε '%s'\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: δεν υπάρχει ελεύθερη μνήμη\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: Αδυναμία εκτέλεσης του stat %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: το %s δεν είναι ούτε κατάλογος ούτε συμβολικός σύνδεσμος\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: Αδυναμία ανάγνωσης του συμβολικού συνδέσμου %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: Ύποπτα μεγάλος συμβολικός σύνδεσμος: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: Αδυναμία δημιουργίας καταλόγου %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: Αδυναμία αλλαγής ιδιοκτήτη του %s: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: Αδυναμία αλλαγής τρόπο λειτουργίας του %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: αποσύνδεση: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: Αδυναμία διαγραφής του καταλόγου %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: Αδυναμία μετονομασίας του %s σε %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: Αδυναμία διαγραφής %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: Αδυναμία δημιουργίας συμβολικού συνδέσμου %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: Αδυναμία αλλαγή ιδιοκτητών του %s: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: Αδυναμία εκτέλεσης του lstat %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "" +"%s: Προειδοποίηση, δεν υπάρχει tcb αρχείο σκιωδών συνθηματικών για το χρήστη " +"%s.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: Επείγον: το tcb αρχείο σκιωδών συνθηματικών του %s δεν φέρει το σύνηθες " +"st_nlink=1.\n" +"Ο λογαριασμός θα παραμείνει κλειδωμένος.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: Αδυναμία ανοίγματος αρχείου %s: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: Ο χρήστης %s βρίσκεται στο σύστημα\n" @@ -689,6 +696,13 @@ msgstr "" " -R, --root ΚΑΤΑΛΟΓΟΣ_CHROOT κατάλογος στον οποίο να εφαρμοστεί " "chroot\n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" +" -R, --root ΚΑΤΑΛΟΓΟΣ_CHROOT κατάλογος στον οποίο να εφαρμοστεί " +"chroot\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -716,12 +730,15 @@ msgstr "Ανενεργό συνθηματικό" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Ημερομηνία Λήξης Λογαριασμού (ΧΧΧΧ-ΜΜ-ΗΗ)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Τελευταία αλλαγή συνθηματικού \t\t\t\t\t: " - msgid "never" msgstr "Ποτέ" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Τελευταία αλλαγή συνθηματικού \t\t\t\t\t: " + msgid "password must be changed" msgstr "το συνθηματικό πρέπει να αλλαχθεί" @@ -900,14 +917,6 @@ msgstr "%s: '%s' περιέχει μη έγκυρους χαρακτήρες\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: Ο χρήστης '%s' δεν υπάρχει\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: αδυναμία αλλαγής χρήστη '%s' στον εξυπηρετητή NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' είναι ο κύριος διακομιστής NIS γι'αυτόν τον εξυπηρετούμενο.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Αλλαγή πληροφοριών χρήστη για τον %s\n" @@ -949,6 +958,11 @@ msgstr "" " -s, --sha-rounds αριθμός κύκλων SHA για τους \n" " αλγόριθμους κρυπτογράφησης SHA*\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: η μέθοδος κρυπτογράφησης δεν υποστηρίζεται: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: η σημαία %s επιτρέπεται μόνο με τη σημαία %s\n" @@ -1001,6 +1015,16 @@ msgstr "" msgid "Login Shell" msgstr "Κέλυφος Εισόδου" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: Αδυναμία ανάκτησης μεγέθους του %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: αδυναμία δημιουργίας νέου αρχείου προκαθορισμένων ρυθμίσεων\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Δεν μπορείτε να αλλάξετε το φλοιό για το(ν) '%s'.\n" @@ -1013,6 +1037,11 @@ msgstr "Αλλαγή του φλοιού για τον %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Μη έγκυρη καταχώρηση: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: ο %s δεν είναι έγκυρος φλοιός.\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: ο %s δεν είναι έγκυρος φλοιός.\n" @@ -1262,13 +1291,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system δημιουργία λογαριασμού συστήματος\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" -" -R, --root ΚΑΤΑΛΟΓΟΣ_CHROOT κατάλογος στον οποίο να εφαρμοστεί " -"chroot\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1283,6 +1305,11 @@ msgstr "Μη έγκυρο όνομα χρήστη '%s'\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: Το '%s' δεν είναι έγκυρο όνομα ομάδας\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: Αδυναμία ανοίγματος αρχείου %s: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: Μη έγκυρο ID ομάδας '%s'\n" @@ -1327,14 +1354,6 @@ msgstr "%s: αδυναμία απομάκρυνσης της πρωταρχικ msgid "%s: group '%s' does not exist\n" msgstr "%s: Η ομάδα '%s' δεν υπάρχει\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: Η ομάδα '%s' είναι NIS ομάδα.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: Ο %s είναι ο κύριος διακομιστής NIS\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: Ο χρήστης '%s' είναι ήδη μέλος του '%s'\n" @@ -1434,10 +1453,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: μη έγκυρο όνομα ομάδας '%s'\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: Η ομάδα %s είναι NIS ομάδα\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: άγνωστος χρήστης %s\n" @@ -1565,7 +1580,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -a, --all προβολή των εγγραφών του faillog για όλους " @@ -1668,11 +1683,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: Μάλλον δεν είναι δυνατή η λειτουργία χωρίς ενεργό χρήστη root\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Δεν υπάρχει καταχώριση utmp. Πρέπει να εκτελέσετε \"login\" από το \"sh\" " -"του πιο χαμηλού επιπέδου" - #, c-format msgid "" "\n" @@ -1706,14 +1716,6 @@ msgstr "Διαδικασία εισόδου απέτυχε" msgid "Cannot find user (%s)\n" msgstr "Αδυναμία εύρεσης χρήστη (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s login: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: αποτυχία διχάλωσης: %s" @@ -1750,7 +1752,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1777,20 +1780,15 @@ msgstr "%s: αποτυχία απομάκρυνσης του %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: Αποτυχία ξεκλειδώματος %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: αποτυχία εύρεσης καταλόγου tcb %s\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: Αδυναμία δημιουργίας tcb καταλόγου για το χρήστη %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1823,14 +1821,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: Αδυναμία δημιουργίας tcb καταλόγου για το χρήστη %s\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1854,6 +1852,10 @@ msgstr "%s: μη έγκυρο ID χρήστη '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: μη έγκυρο όνομα χρήστη '%s'\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: γραμμή %d: μη έγκυρη γραμμή\n" @@ -1876,6 +1878,11 @@ msgstr "%s: γραμμή %d: αδυναμία δημιουργίας ομάδα msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: γραμμή %d: Ο χρήστης '%s' δεν υπάρχει στο %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: αποσύνδεση: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: γραμμή %d: αδυναμία ανανέωση συνθηματικού\n" @@ -1897,14 +1904,14 @@ msgstr "%s: γραμμή %d: αποτυχία αλλαγής ιδιοκτήτη msgid "%s: line %d: can't update entry\n" msgstr "%s: γραμμή %d: αδυναμία ανανέωσης καταχώρησης\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: αποτυχία προετοιμασίας της νέας εγγραφής %s '%s'\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: αδυναμία δημιουργίας του χρήστη\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: αποτυχία προετοιμασίας της νέας εγγραφής %s '%s'\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: αδυναμία ανανέωσης για το αρχείο ομάδων\n" @@ -1990,6 +1997,12 @@ msgstr "" "πριν\n" " την αλλαγή του συνθηματικού σε ΜΕΓ_ΗΜΕΡΕΣ\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" +" -l, --list προβολή πληροφοριών ηλικίας λογαριασμών\n" + msgid "Old password: " msgstr "Παλιό Συνθηματικό: " @@ -2011,6 +2024,11 @@ msgstr "" "Παρακαλώ χρησιμοποιήστε ένα συνδυασμό από κεφαλαία και μικρά γράμματα\n" "καθώς και αριθμούς.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: Πολύ μακριά πεδία\n" + msgid "New password: " msgstr "Νέο Συνθηματικό: " @@ -2055,6 +2073,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: η αποθήκη %s δεν υποστηρίζεται\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: μόνο ο root μπορεί να χρησιμοποιήσει την επιλογή -g/--group\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2213,11 +2236,9 @@ msgstr "%s: δυσλειτουργία σήματος\n" msgid "Session terminated, terminating shell..." msgstr "Συνεδρία τερματίστηκε, τερματισμός φλοιού..." -#, c-format msgid " ...killed.\n" msgstr " ...σκοτώθηκε.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2305,6 +2326,11 @@ msgstr "%s: Δεν έχετε άδεια για su τη δεδομένη στι msgid "No passwd entry for user '%s'\n" msgstr "Δεν υπάρχει καταχώρηση συνθηματικού για το χρήστη '%s'\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "Μη έγκυρο όνομα χρήστη '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: πρέπει να εκτελεστεί από τερματικό\n" @@ -2350,6 +2376,13 @@ msgstr "%s: το %s δημιουργήθηκε, αλλά δεν μπορεί ν msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: η %s διαμόρφωση στο %s θα αγνοηθεί\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: η %s διαμόρφωση στο %s θα αγνοηθεί\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2380,10 +2413,6 @@ msgstr "%s: Αδυναμία δημιουργίας συμβολικού συν msgid "%s: rename: %s: %s\n" msgstr "%s: μετονομασία: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: Η ομάδα '%s' είναι NIS ομάδα.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: Προσδιορίστηκαν υπερβολικές ομάδες (μεγ. %d).\n" @@ -2530,6 +2559,17 @@ msgstr "" " -Z, --selinux-user ΧΡΗΣΤΗΣ_SE χρήση συγκεκριμένου ΧΡΗΣΤΗΣ_SE για την " "χαρτογράφηση χρήστη SELinux\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user ΧΡΗΣΤΗΣ_SE χρήση συγκεκριμένου ΧΡΗΣΤΗΣ_SE για την " +"χαρτογράφηση χρήστη SELinux\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: Μη έγκυρος κατάλογος βάσης '%s'\n" @@ -2672,6 +2712,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Ρύθμιση αδειών του αρχείου mailbox" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Δημιουργία αρχείου mailbox" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Δημιουργία αρχείου mailbox" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2809,10 +2859,6 @@ msgstr "%s: Αδυναμία διαγραφής των περιεχομένων msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: Αδυναμία διαγραφής των αρχείων tcb για το χρήστη %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: Ο χρήστης %s είναι NIS χρήστης\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: %s ο αρχικός κατάλογος χρήστη (%s) δεν βρέθηκε\n" @@ -2948,6 +2994,16 @@ msgstr "" " -Z, --selinux-user ΧΡΗΣΤΗΣ_SE νέα χαρτογράφηση χρήστη SELinux για το " "λογαριασμό του χρήστη\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user ΧΡΗΣΤΗΣ_SE νέα χαρτογράφηση χρήστη SELinux για το " +"λογαριασμό του χρήστη\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -3047,12 +3103,26 @@ msgstr "" "%s: αποτυχία αντιγραφής της εγγραφής του lastlog από το χρήστη %lu στο " "χρήστη %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: αποτυχία αντιγραφής της εγγραφής του lastlog από το χρήστη %lu στο " +"χρήστη %lu: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: αποτυχία αντιγραφής της εγγραφής του faillog από το χρήστη %lu στο " "χρήστη %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: αποτυχία αντιγραφής της εγγραφής του faillog από το χρήστη %lu στο " +"χρήστη %lu: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: προειδοποίηση: Το %s δεν ανήκει στον %s\n" @@ -3155,8 +3225,10 @@ msgstr "αποτυχία αποσύνδεσης του προσωρινού αρ msgid "failed to stat edited file" msgstr "αποτυχία εκτέλεσης της εφαρμογής stat για το επεξεργασμένο αρχείο" -msgid "failed to allocate memory" -msgstr "αποτυχία κατανομής μνήμης" +#, fuzzy +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: αδυναμία ανοίγματος του αρχείου\n" msgid "failed to create backup file" msgstr "αποτυχία δημιουργίας αντίγραφου ασφαλείας" @@ -3169,6 +3241,51 @@ msgstr "%s: αδυναμία επαναφοράς %s: %s (οι αλλαγές ε msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: αποτυχία εύρεσης καταλόγου tcb %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: αδυναμία αλλαγής χρήστη '%s' στον εξυπηρετητή NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "" +#~ "%s: '%s' είναι ο κύριος διακομιστής NIS γι'αυτόν τον εξυπηρετούμενο.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: Η ομάδα '%s' είναι NIS ομάδα.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: Ο %s είναι ο κύριος διακομιστής NIS\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: Η ομάδα %s είναι NIS ομάδα\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: Η ομάδα '%s' είναι NIS ομάδα.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: Ο χρήστης %s είναι NIS χρήστης\n" + +#~ msgid "too simple" +#~ msgstr "πολύ απλό" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Δεν υπάρχει καταχώριση utmp. Πρέπει να εκτελέσετε \"login\" από το " +#~ "\"sh\" του πιο χαμηλού επιπέδου" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: αποτυχία εύρεσης καταλόγου tcb %s\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "αποτυχία κατανομής μνήμης" + #~ msgid "Usage: id\n" #~ msgstr "Χρήση: id\n" @@ -3184,10 +3301,6 @@ msgstr "%s: αποτυχία εύρεσης καταλόγου tcb %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: αλλαγή πληροφοριών λήξης συνθηματικού.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "Μη έγκυρο όνομα χρήστη '%s'\n" - #~ msgid "Username Port From Latest" #~ msgstr "Όνομα_Χρήστη Θύρα Από Τελευταία" diff --git a/po/es.gmo b/po/es.gmo index 4db21f5d241ae44f4ee6a812098ef3385ff8bcde..6950151b8f5a3ba5e5737da23baec73731ca01b1 100644 GIT binary patch delta 10425 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 delta 11084 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 diff --git a/po/es.po b/po/es.po index 58f87756..9d6795ae 100644 --- a/po/es.po +++ b/po/es.po @@ -32,7 +32,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.4.2\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2011-11-23 23:56+0100\n" "Last-Translator: Francisco Javier Cuadrado \n" "Language-Team: Debian l10n Spanish \n" @@ -42,226 +42,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Hay varias entradas con el nombre «%s» en %s. Por favor, corríjalo " -"utilizando pwck o grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "¿libcrypt no permite utilizar el método de cifrado? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "error de configuración, no se pudo procesar el valor %s: «%s»" - -msgid "Could not allocate space for config info.\n" -msgstr "No se pudo reservar espacio para la información de configuración.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"error de configuración, elemento «%s» desconocido (informe al " -"administrador)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Contraseña: " - -#, c-format -msgid "%s's Password: " -msgstr "Contraseña de %s: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "No se pudo abrir la interfaz de auditoría, abortando.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "No se pudo reservar espacio para la información de configuración.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Cambiando la información de la edad para %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: no se pudo determinar su nombre de usuario.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: línea %d: no se puede encontrar el usuario %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: sin memoria\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: no se pudo realizar «stat» a %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s no es ni un directorio ni un enlace simbólico.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: no se pudo leer el enlace simbólico %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: enlace simbólico sospechosamente largo: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: no se pudo crear el directorio %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: no se pudo cambiar el dueño de %s: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: no se pudo cambiar el modo de %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: unlink: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: no se pudo eliminar el directorio %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: no se pudo renombrar %s a %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: no se pudo eliminar %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s no se pudo crear el enlace simbólico %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: no se pudieron cambiar los dueños de %s: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: no se pudo realizar «lstat» a %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: aviso, el usuario %s no tiene un fichero «tcb shadow».\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: emergencia: el tcb oculto de %s no es un fichero normal con st_nlink=1.\n" -"La cuenta se queda bloqueada.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: no se pudo abrir %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Aviso: grupo %s desconocido\n" @@ -310,6 +90,13 @@ msgstr "" msgid "%s: failed to unlock %s\n" msgstr "%s: se produjo un fallo al desbloquear %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Hay varias entradas con el nombre «%s» en %s. Por favor, corríjalo " +"utilizando pwck o grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -317,6 +104,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "¿libcrypt no permite utilizar el método de cifrado? (%s)\n" + msgid "Environment overflow\n" msgstr "Desbordamiento de entorno\n" @@ -439,8 +230,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: no se pudo obtener un UID único (no hay más UID disponibles)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "error de configuración, no se pudo procesar el valor %s: «%s»" + +msgid "Could not allocate space for config info.\n" +msgstr "No se pudo reservar espacio para la información de configuración.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" +"error de configuración, elemento «%s» desconocido (informe al " +"administrador)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -470,7 +270,7 @@ msgstr "No se pudo reservar espacio para la información de configuración.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: no se puede abrir el fichero\n" #, fuzzy, c-format @@ -483,9 +283,22 @@ msgstr "%s: línea %d: chown %s falló: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: línea %d: chown %s falló: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: línea %d: chown %s falló: %s\n" + msgid "Too many logins.\n" msgstr "Demasiados accesos.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s nombre: " + msgid "You have new mail." msgstr "Tiene correo nuevo." @@ -495,6 +308,14 @@ msgstr "Sin correo." msgid "You have mail." msgstr "Tiene correo." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "sin cambios" @@ -507,9 +328,6 @@ msgstr "sólo cambios de mayúsculas/minúsculas" msgid "too similar" msgstr "demasiado similar" -msgid "too simple" -msgstr "demasiado simple" - msgid "rotated" msgstr "rotada" @@ -555,6 +373,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() falló, error %d\n" +msgid "Password: " +msgstr "Contraseña: " + +#, c-format +msgid "%s's Password: " +msgstr "Contraseña de %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Contraseña incorrecta para %s.\n" @@ -579,17 +404,13 @@ msgstr "%s: teléfono de casa incorrecto: «%s»\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: no se pudo crear el directorio %s: %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: no se pudo crear el directorio %s: %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: se produjo un fallo al crear el directorio tcb para %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: no se pudo crear el directorio %s: %s\n" #, c-format msgid "" @@ -606,6 +427,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "No se pudo abrir la interfaz de auditoría, abortando.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "No se pudo reservar espacio para la información de configuración.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "No se pudo reservar espacio para la información de configuración.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Cambiando la información de la edad para %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: no se pudo determinar su nombre de usuario.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: línea %d: no se puede encontrar el usuario %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Incapaz de cambiar el directorio a «%s»\n" @@ -617,6 +539,10 @@ msgstr "Sin directorio, accediendo con HOME=/" msgid "Cannot execute %s" msgstr "No se puede ejecutar %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Directorio raíz «%s» incorrecto\n" @@ -625,6 +551,86 @@ msgstr "Directorio raíz «%s» incorrecto\n" msgid "Can't change root directory to '%s'\n" msgstr "No se pudo cambiar el directorio raíz a «%s»\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: sin memoria\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: no se pudo realizar «stat» a %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s no es ni un directorio ni un enlace simbólico.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: no se pudo leer el enlace simbólico %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: enlace simbólico sospechosamente largo: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: no se pudo crear el directorio %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: no se pudo cambiar el dueño de %s: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: no se pudo cambiar el modo de %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: unlink: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: no se pudo eliminar el directorio %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: no se pudo renombrar %s a %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: no se pudo eliminar %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s no se pudo crear el enlace simbólico %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: no se pudieron cambiar los dueños de %s: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: no se pudo realizar «lstat» a %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: aviso, el usuario %s no tiene un fichero «tcb shadow».\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: emergencia: el tcb oculto de %s no es un fichero normal con st_nlink=1.\n" +"La cuenta se queda bloqueada.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: no se pudo abrir %s: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: el usuario %s está actualmente identificado en el sistema\n" @@ -706,6 +712,13 @@ msgstr "" " -R, --root DIR_CHROOT establece DIR_CHROOT como el directorio\n" " al cual hacer chroot\n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" +" -R, --root DIR_CHROOT establece DIR_CHROOT como el directorio\n" +" al cual hacer chroot\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -734,12 +747,15 @@ msgstr "Contraseña inactiva" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Fecha de caducidad de la cuenta (AAAA-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Último cambio de contraseña\t\t\t\t\t:" - msgid "never" msgstr "nunca" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Último cambio de contraseña\t\t\t\t\t:" + msgid "password must be changed" msgstr "se debe cambiar la contraseña" @@ -912,14 +928,6 @@ msgstr "%s: «%s» contiene caracteres ilegales\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: el usuario «%s» no existe\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: no se pudo cambiar el usuario «%s» en el cliente NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: «%s» es el NIS maestro para este cliente.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Cambiando la información de usuario para %s\n" @@ -960,6 +968,11 @@ msgstr "" " -s, --sha-rounds número de rondas SHA para los algoritmos\n" " de cifrado SHA*\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: método de cifrado no compatible: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: la opción %s sólo está permitida junto a la opción %s\n" @@ -1013,6 +1026,17 @@ msgstr "" msgid "Login Shell" msgstr "Consola de acceso" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: no se pudo conseguir el tamaño de %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "" +"%s: no se puede crear un nuevo fichero de preferencias predeterminadas\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "No debería cambiar la consola para «%s».\n" @@ -1025,6 +1049,11 @@ msgstr "Cambiando la consola de acceso para %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: entrada incorrecta: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s es una consola incorrecta.\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s es una consola incorrecta.\n" @@ -1270,9 +1299,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system crea una cuenta del sistema\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1287,6 +1313,11 @@ msgstr "nombre de usuario «%s» incorrecto\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: «%s» no es un nombre de grupo válido\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: no se pudo abrir %s: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: identificador de grupo «%s» incorrecto\n" @@ -1331,14 +1362,6 @@ msgstr "%s: no se pudo eliminar el grupo primario del usuario «%s»\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: el grupo «%s» no existe\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: el grupo «%s» es un grupo NIS\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s es el NIS maestro\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: el usuario «%s» ya es un miembro de «%s»\n" @@ -1434,10 +1457,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: nombre del grupo «%s» incorrecto\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: el grupo %s es un grupo NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: usuario desconocido %s\n" @@ -1564,7 +1583,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -a, --all muestra los registros de faillog para\n" @@ -1667,9 +1686,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: posiblemente no se puede trabajar sin el administrador\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "Sin entrada utmp. Debe ejecutar «login» desde el nivel «sh» más bajo" - #, c-format msgid "" "\n" @@ -1703,14 +1719,6 @@ msgstr "Identificación incorrecta" msgid "Cannot find user (%s)\n" msgstr "%s: línea %d: no se puede encontrar el usuario %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s nombre: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: se produjo un fallo en la llamada a fork: %s" @@ -1746,7 +1754,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1773,20 +1782,15 @@ msgstr "%s: se produjo un fallo al eliminar %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: se produjo un fallo al desbloquear %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: se produjo un fallo al crear el directorio tcb para %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1819,14 +1823,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: se produjo un fallo al crear el directorio tcb para %s\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1849,6 +1853,10 @@ msgstr "%s: identificador de usuario «%s» incorrecto\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nombre de usuario «%s» incorrecto\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: línea %d: línea incorrecta\n" @@ -1871,6 +1879,11 @@ msgstr "%s: línea %d: no se pudo crear el grupo\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: línea %d: el usuario «%s» no existe en %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: unlink: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: línea %d: no se puede actualizar la contraseña\n" @@ -1892,14 +1905,14 @@ msgstr "%s: línea %d: chown %s falló: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: línea %d: no se puede actualizar la entrada\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: se produjo un fallo al preparar la nueva %s entrada «%s»\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: no se pudo crear el usuario\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: se produjo un fallo al preparar la nueva %s entrada «%s»\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: no se puede actualizar el fichero de grupo\n" @@ -1980,6 +1993,13 @@ msgstr "" "días\n" " antes de cambiar la contraseña\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" +" -l, --list muestra la información de la edad de la " +"cuenta\n" + msgid "Old password: " msgstr "Contraseña antigua: " @@ -2000,6 +2020,11 @@ msgstr "" "de %d)\n" "Por favor, use una combinación de letras mayúsculas, minúsculas y números.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: campos demasiado largos\n" + msgid "New password: " msgstr "Nueva contraseña: " @@ -2043,6 +2068,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: repositorio %s no soportado\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: sólo el administrador puede utilizar la opción -g/--group\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2199,11 +2229,9 @@ msgstr "%s: funcionamiento incorrecto de la señal\n" msgid "Session terminated, terminating shell..." msgstr "Sesión finalizada, parando la consola ..." -#, c-format msgid " ...killed.\n" msgstr " ... finalizado.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ... esperando a que el hijo finalice.\n" @@ -2291,6 +2319,11 @@ msgstr "%s: no está autorizado a usar su en este momento\n" msgid "No passwd entry for user '%s'\n" msgstr "Sin entrada de contraseña para el administrador («root»)" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "nombre de usuario «%s» incorrecto\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: debe ejecutarse desde un terminal\n" @@ -2337,6 +2370,13 @@ msgstr "%s: se creó %s, pero no se pudo eliminar\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: se ignorará la configuración %s en %s\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: se ignorará la configuración %s en %s\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2371,10 +2411,6 @@ msgstr "%s no se pudo crear el enlace simbólico %s: %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: renombrar: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: el grupo «%s» es un grupo NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: demasiados grupos especificados (el máximo es %d).\n" @@ -2524,6 +2560,18 @@ msgstr "" "usuario\n" " de SELinux\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user USUARIO_SE utiliza el usuario indicado para el " +"usuario\n" +" de SELinux\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: directorio base «%s» incorrecto\n" @@ -2673,6 +2721,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Estableciendo los permisos del fichero del buzón de correo" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Creando el fichero del buzón de correo" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Creando el fichero del buzón de correo" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2805,10 +2863,6 @@ msgstr "%s: no se pudo eliminar el contenido de %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: no se pudieron eliminar los ficheros tcb para %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: el usuario %s es un usuario NIS\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: %s directorio personal (%s) no encontrado\n" @@ -2935,6 +2989,13 @@ msgstr "" " -Z, --selinux-user nuevo usuario de SELinux para la cuenta del\n" " usuario\n" +#, fuzzy +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user nuevo usuario de SELinux para la cuenta del\n" +" usuario\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -3030,12 +3091,26 @@ msgstr "" "%s: se produjo un fallo al copiar la entrada de lastlog del usuario %lu al " "usuario %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: se produjo un fallo al copiar la entrada de lastlog del usuario %lu al " +"usuario %lu: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: se produjo un fallo al copiar la entrada de faillog del usuario %lu al " "usuario %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: se produjo un fallo al copiar la entrada de faillog del usuario %lu al " +"usuario %lu: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: aviso: %s no pertenece a %s\n" @@ -3138,8 +3213,10 @@ msgstr "se produjo un fallo al borrar el fichero temporal" msgid "failed to stat edited file" msgstr "se produjo un fallo al realizar el «stat» del fichero editado" -msgid "failed to allocate memory" -msgstr "se produjo un fallo al reservar memoria" +#, fuzzy +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: no se puede abrir el fichero\n" msgid "failed to create backup file" msgstr "se produjo un fallo al crear la copia de seguridad del fichero" @@ -3152,6 +3229,49 @@ msgstr "%s: no se puede restaurar %s: %s (sus cambios están en %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: no se pudo cambiar el usuario «%s» en el cliente NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: «%s» es el NIS maestro para este cliente.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: el grupo «%s» es un grupo NIS\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s es el NIS maestro\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: el grupo %s es un grupo NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: el grupo «%s» es un grupo NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: el usuario %s es un usuario NIS\n" + +#~ msgid "too simple" +#~ msgstr "demasiado simple" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Sin entrada utmp. Debe ejecutar «login» desde el nivel «sh» más bajo" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "se produjo un fallo al reservar memoria" + #~ msgid "Usage: id\n" #~ msgstr "Modo de uso: id\n" @@ -3167,10 +3287,6 @@ msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: información de caducidad de la contraseña cambiada.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "nombre de usuario «%s» incorrecto\n" - #~ msgid "Username Port From Latest" #~ msgstr "Nombre Puerto De Último" diff --git a/po/eu.gmo b/po/eu.gmo index feb2c34a24dd2fd9cf2705fc34afb5071f8661bd..374fd649fe4699f60e81d136e02980769d42598c 100644 GIT binary patch delta 8766 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 E7tH!^>;M1& delta 9451 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 DeEUOD diff --git a/po/eu.po b/po/eu.po index 9c0558cb..767c2faf 100644 --- a/po/eu.po +++ b/po/eu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: eu\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2011-11-26 19:42+0100\n" "Last-Translator: Piarres Beobide \n" "Language-Team: Euskara \n" @@ -18,224 +18,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Pootle 1.2.1\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"'%s' izeneko sarrera anitz %s-en. Mesedez konpondu pwck edo grpck " -"erabiliaz.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "libcrypt-ek onartzen ez duen kriptografia metodoa? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "konfigurazio errorea - ezin da %s balioa analizatu: '%s'" - -msgid "Could not allocate space for config info.\n" -msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"konfigurazio errorea - %s item ezezaguna (eman honen berri " -"administratzaileari)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Pasahitza: " - -#, c-format -msgid "%s's Password: " -msgstr "%s (r)en pasahitza: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "Ezin da auditatzeko interfazea ireki - uzten.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "%s(r)en data informazioa aldatzen\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: Ezin da Erabiltzaile izena zehaztu.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: Ezin da Erabiltzaile izena zehaztu.\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: memoriarik ez\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: ezin da %s ezabatu\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s etxe-direktorioa (%s) ez dago\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: ezin da '%s' sarrera %s-tik kendu\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: ezin da %s direktorioa sortu\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "lastlog: Ezinda %s-ren tamaina eskuratu: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: abisua: ezin da %s ezabatu: %s\n" - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: berrizendatu: %s: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: ezin da %s direktorioa %s gisa izenez aldatu\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: ezin da %s direktorioa %s gisa izenez aldatu\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: abisua: ezin da %s ezabatu: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: ezin da %s direktorioa sortu\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "lastlog: Ezinda %s-ren tamaina eskuratu: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: ezin da %s ezabatu\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: `(%d lerroa, %s erabiltzailea) pasahitza ez da aldatu\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: berrizendatu: %s: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: ezin da %s ireki\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Abisua: %s talde ezezaguna\n" @@ -282,6 +64,13 @@ msgstr "Ezin da tty sarrera-estandar modu edo jabea aldatu: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: huts %s desblokeatzean\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"'%s' izeneko sarrera anitz %s-en. Mesedez konpondu pwck edo grpck " +"erabiliaz.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -289,6 +78,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "libcrypt-ek onartzen ez duen kriptografia metodoa? (%s)\n" + msgid "Environment overflow\n" msgstr "Inguruneak gainezka egin du\n" @@ -394,8 +187,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: ezin da UID bakarra lortu (ez dago UID erabilgarri gehiago)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "konfigurazio errorea - ezin da %s balioa analizatu: '%s'" + +msgid "Could not allocate space for config info.\n" +msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" +"konfigurazio errorea - %s item ezezaguna (eman honen berri " +"administratzaileari)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -423,9 +225,10 @@ msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n" msgid "%s: Could not set caps\n" msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: stpeprintf failed!\n" +msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n" #, fuzzy, c-format #| msgid "%s: line %d: chown %s failed: %s\n" @@ -437,9 +240,22 @@ msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n" + msgid "Too many logins.\n" msgstr "Gehiegizko saio hasierak.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s izena: " + msgid "You have new mail." msgstr "Mezu berria duzu." @@ -449,6 +265,14 @@ msgstr "Mezurik ez." msgid "You have mail." msgstr "Mezua duzu." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "aldaketarik gabe" @@ -461,9 +285,6 @@ msgstr "Maiuskulak/minuskula bakarrik aldatu da" msgid "too similar" msgstr "antzekoegia" -msgid "too simple" -msgstr "sinpleegia" - msgid "rotated" msgstr "aldirokoa" @@ -509,6 +330,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() huts egin du, errorea: %d\n" +msgid "Password: " +msgstr "Pasahitza: " + +#, c-format +msgid "%s's Password: " +msgstr "%s (r)en pasahitza: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "%s(r)en pasahitz okerra.\n" @@ -533,17 +361,13 @@ msgstr "%s: etxeko tlf baliogabea: '%s'\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: ezin da %s direktorioa sortu\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: ezin da %s direktorioa sortu\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: ezin da %s direktorioa sortu\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: ezin da %s direktorioa sortu\n" #, c-format msgid "" @@ -560,6 +384,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "Ezin da auditatzeko interfazea ireki - uzten.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "%s(r)en data informazioa aldatzen\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: Ezin da Erabiltzaile izena zehaztu.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: Ezin da Erabiltzaile izena zehaztu.\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Ezin da '%s'-ra direktorioa aldatu\n" @@ -571,6 +496,10 @@ msgstr "Direktoriorik ez, HOME=/ erabiliz saioa hasiko da" msgid "Cannot execute %s" msgstr "Ezin izan da %s exekutatu" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Baliogabeko erro direktorioa '%s'\n" @@ -579,6 +508,84 @@ msgstr "Baliogabeko erro direktorioa '%s'\n" msgid "Can't change root directory to '%s'\n" msgstr "Ezin da erro direktorioa '%s'-ra aldatu\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: memoriarik ez\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: ezin da %s ezabatu\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s etxe-direktorioa (%s) ez dago\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: ezin da '%s' sarrera %s-tik kendu\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: ezin da %s direktorioa sortu\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "lastlog: Ezinda %s-ren tamaina eskuratu: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: abisua: ezin da %s ezabatu: %s\n" + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: berrizendatu: %s: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: ezin da %s direktorioa %s gisa izenez aldatu\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: ezin da %s direktorioa %s gisa izenez aldatu\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: abisua: ezin da %s ezabatu: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: ezin da %s direktorioa sortu\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "lastlog: Ezinda %s-ren tamaina eskuratu: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: ezin da %s ezabatu\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: `(%d lerroa, %s erabiltzailea) pasahitza ez da aldatu\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: berrizendatu: %s: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: ezin da %s ireki\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: une honetan %s erabiltzaileak saioan sartuta dago\n" @@ -653,6 +660,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +#, fuzzy +#| msgid " -Q, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -r, --remove-password TALDEaren pasahitaz kendu\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -679,12 +691,15 @@ msgstr "Pasahitza ezgaitua" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Kontuaren iraungitze data (UUUU-HH-EE)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Azken pasahitz aldaketa\t\t\t\t\t: " - msgid "never" msgstr "Inoiz ere ez" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Azken pasahitz aldaketa\t\t\t\t\t: " + msgid "password must be changed" msgstr "Pasahitza aldatu egin behar da" @@ -856,14 +871,6 @@ msgstr "%s: '%s'(e)k karaktere baliogabeak ditu\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: '%s' erabiltzailea ez da existitzen\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: ezin da NIS bezeroko '%s' erabiltzailea aldatu.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' da bezero honen NIS nagusia.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "%s(r)en erabiltzaile informazioa aldatzen\n" @@ -903,6 +910,11 @@ msgstr "" " -s, --sha-rounds SHA* kriptografia algoritmoentzako\n" " SHA erronda kopurua\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: onartzen ez den kriptografia metodoa: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: %s bandera bakarrik %s banderarekin onartzen da\n" @@ -954,6 +966,16 @@ msgstr "" msgid "Login Shell" msgstr "Saio-hasierako shell-a" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: Ezinda %s-ren tamaina eskuratu: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: ezin da lehenespen fitxategi berria sortu\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Ez zenuke '%s'-(r)en shell-a aldatu behar.\n" @@ -966,6 +988,11 @@ msgstr "%s(r)en saio-hasierako shell-a aldatzen\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: baliogabeko sarrera: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s shell baliogabea da\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s shell baliogabea da\n" @@ -1205,11 +1232,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system sistema kontu bat sortu\n" -#, fuzzy -#| msgid " -Q, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -r, --remove-password TALDEaren pasahitaz kendu\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1224,6 +1246,10 @@ msgstr "%s erabiltzaile-izen baliogabea\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: '%s' ez da baliozko talde-izena\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: ezin da %s ireki\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: '%s' talde ID baliogabea\n" @@ -1269,14 +1295,6 @@ msgstr "%s: Ezin da '%s' erabiltzailearen talde nagusia kendu\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: '%s' taldea ez da existitzen\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: '%s' taldea NIS talde bat da\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s NIS nagusia da\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: '%s' erabiltzailea '%s' taldeko partaide da dagoeneko\n" @@ -1373,10 +1391,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: '%s' talde izen baliogabea\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: %s taldea NIS talde bat da\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: %s erabiltzaile ezezaguna\n" @@ -1502,7 +1516,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -a, --all erabiltzaile guztien faillog-en\n" @@ -1605,11 +1619,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: Ezingo du ziurrenik funtzionatu erro efektibo bat gabe\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Ez dago utmp sarrerarik. \"login\" \"sh\" maila baxuenetik exekutatu beharko " -"zenuke" - #, c-format msgid "" "\n" @@ -1643,14 +1652,6 @@ msgstr "Izen okerra" msgid "Cannot find user (%s)\n" msgstr "%s: Ezin da Erabiltzaile izena zehaztu.\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s izena: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: huts zatitzerakoan: %s" @@ -1687,7 +1688,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1714,17 +1716,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: huts %s desblokeatzean\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: oinarrizko '%s' direktorio baliogabea\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: ezin da %s direktorioa sortu\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1757,14 +1755,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: ezin da %s direktorioa sortu\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1787,6 +1784,10 @@ msgstr "%s: '%s' erabiltzaile ID baliogabea\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: '%s' erabiltzaile-izen baliogabea\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: %d lerroa: lerro baliogabea\n" @@ -1809,6 +1810,10 @@ msgstr "%s: %d lerroa: ezin da taldea sortu\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: %d lerroa: `%s' erabiltzailea ez da existitzen %s-en\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: berrizendatu: %s: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: %d lerroa: ezin da pasahitza eguneratu\n" @@ -1830,14 +1835,14 @@ msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: %d lerroa: ezin da sarrera eguneratu\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: huts %s sarrera berria prestatzean '%s'\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: ezin da erabiltzailea sortu\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: huts %s sarrera berria prestatzean '%s'\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: ezin da taldea sortu\n" @@ -1913,6 +1918,11 @@ msgstr "" " -x, --maxdays GEHI_EGUN ezarri pasahitz aldatu aurretik gehienezko\n" " egun kopurua GEHI_EGUN-era\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr " -l, --list kontu denbora informazioa bistarazi\n" + msgid "Old password: " msgstr "Pasahitz zaharra: " @@ -1932,6 +1942,11 @@ msgstr "" "Sartu pasahitz berria (gutxienez %d eta gehienez %d karaktere)\n" "Erabili maiuskulen, minuskulen eta zenbakien arteko konbinazioa.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: eremu luzegiak\n" + msgid "New password: " msgstr "Pasahitz berria: " @@ -1975,6 +1990,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: %s biltegia ez da onartzen\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: root-ek bakarrik erabili dezake -g/--group aukera\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2128,11 +2148,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2219,6 +2237,11 @@ msgstr "%s: Ez duzu orain su erabiltzeko baimenik\n" msgid "No passwd entry for user '%s'\n" msgstr "Ez dago 'root'-en pasahitzik" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "%s erabiltzaile-izen baliogabea\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: terminal batetik exekutatu behar da\n" @@ -2264,6 +2287,13 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: %s konfigurazioa %s-n dagoena alde batetara utziko da\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: %s konfigurazioa %s-n dagoena alde batetara utziko da\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2294,10 +2324,6 @@ msgstr "%s: ezin da %s direktorioa sortu\n" msgid "%s: rename: %s: %s\n" msgstr "%s: berrizendatu: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: taldea '%s' NIS talde bat da.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: talde gehiegi zehaztu dira (geh. %d).\n" @@ -2420,6 +2446,17 @@ msgstr "" " -Z, --selinux-user SEERAB erabili SEUSER zehatz bat SELinux " "erabiltzaile mapatzearentzat\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEERAB erabili SEUSER zehatz bat SELinux " +"erabiltzaile mapatzearentzat\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: oinarrizko '%s' direktorio baliogabea\n" @@ -2559,6 +2596,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Postakutxa fitxategi baimenak ezartzen" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Postakutxa fitxategia sortzen" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Postakutxa fitxategia sortzen" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2691,10 +2738,6 @@ msgstr "lastlog: Ezinda %s-ren tamaina eskuratu: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: ezin da '%s' sarrera %s-tik kendu\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: %s erabiltzailea NIS erabiltzaile bat da\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: %s etxe-direktorioa (%s) ez dago\n" @@ -2825,6 +2868,13 @@ msgstr "" " -Z, --selinux-user SELinux erabiltzaile mapatze berria " "erabiltzailearen kontuarentzat\n" +#, fuzzy +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SELinux erabiltzaile mapatze berria " +"erabiltzailearen kontuarentzat\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2913,12 +2963,26 @@ msgstr "" "%s: huts %lu erabiltzailearen lastlog sarrera %lu erabiltzailera kopiatzean: " "%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: huts %lu erabiltzailearen lastlog sarrera %lu erabiltzailera kopiatzean: " +"%s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: huts %lu erabiltzailearen faillog sarrera %lu erabiltzailera kopiatzean: " "%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: huts %lu erabiltzailearen faillog sarrera %lu erabiltzailera kopiatzean: " +"%s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: abisua: %s ez dago %s(r)en jabegoan\n" @@ -3022,9 +3086,8 @@ msgstr "%s: huts %s desblokeatzean\n" msgid "failed to stat edited file" msgstr "huts egin du postontzia izenez aldatzean" -#, fuzzy -msgid "failed to allocate memory" -msgstr "huts egin du postontzia jabez aldatzean" +msgid "asprintf(3) failed" +msgstr "" #, fuzzy msgid "failed to create backup file" @@ -3038,6 +3101,50 @@ msgstr "%s: ezin da %s leheneratu: %s (zure aldaketak %s(e)n daude)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: oinarrizko '%s' direktorio baliogabea\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: ezin da NIS bezeroko '%s' erabiltzailea aldatu.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' da bezero honen NIS nagusia.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: '%s' taldea NIS talde bat da\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s NIS nagusia da\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: %s taldea NIS talde bat da\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: taldea '%s' NIS talde bat da.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: %s erabiltzailea NIS erabiltzaile bat da\n" + +#~ msgid "too simple" +#~ msgstr "sinpleegia" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Ez dago utmp sarrerarik. \"login\" \"sh\" maila baxuenetik exekutatu " +#~ "beharko zenuke" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: oinarrizko '%s' direktorio baliogabea\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "huts egin du postontzia jabez aldatzean" + #~ msgid "Usage: id\n" #~ msgstr "Erabilera: id\n" @@ -3053,10 +3160,6 @@ msgstr "%s: oinarrizko '%s' direktorio baliogabea\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: pasahitz iraungitzea informazioa aldatua.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "%s erabiltzaile-izen baliogabea\n" - #~ msgid "Username Port From Latest" #~ msgstr "Erabiltzaile-izena Ataka Nondik Azkena" diff --git a/po/fi.gmo b/po/fi.gmo index 1130e2bee4ede45c6eca437ca1dd3e2087a99759..aedf0322d1f67835a64da743cf48c3e871241c27 100644 GIT binary patch delta 4385 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\n" "Language-Team: Finnish \n" @@ -16,222 +16,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "Asetustiedoille ei voi varata tilaa.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "asetusvirhe - tuntematon kohta \"%s\" (kerro ylläpidolle)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Salasana: " - -#, c-format -msgid "%s's Password: " -msgstr "Käyttäjän %s salasana: " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "Salasanatiedostoa ei voi avata.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Asetustiedoille ei voi varata tilaa.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Muutetaan käyttäjän %s vanhenemistietoja\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: Käyttäjätunnusta ei voi selvittää.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: rivi %d: käyttäjää %s ei löydy\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: muisti loppui\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: tiedostoa %s ei voi päivittää\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: virheellinen kotihakemisto \"%s\"\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: hakemistoa %s ei voi luoda\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: varoitus: ei voi poistaa tiedostoa " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: varoitus: ei voi poistaa tiedostoa " - -# Kannattaako tuota kääntää, siinä viitataan rename()-funktioon... -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: rename: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: varoitus: ei voi poistaa tiedostoa " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: hakemistoa %s ei voi luoda\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: varoitus: ei voi poistaa tiedostoa " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: tiedostoa %s ei voi päivittää\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: varjotiedostoa ei voi päivittää\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -# Kannattaako tuota kääntää, siinä viitataan rename()-funktioon... -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: rename: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: tiedostoa %s ei voi lukita\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Varoitus: tuntematon ryhmä %s\n" @@ -278,6 +62,11 @@ msgstr "Päätettä %s ei voi vaihtaa" msgid "%s: failed to unlock %s\n" msgstr "%s: kentät liian pitkiä\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -285,6 +74,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "Ympäristön ylivuoto\n" @@ -385,9 +178,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: ei saa ainutkertaista UID:tä\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "Asetustiedoille ei voi varata tilaa.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "asetusvirhe - tuntematon kohta \"%s\" (kerro ylläpidolle)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: PAM-todennus epäonnistui\n" @@ -415,7 +215,7 @@ msgstr "Asetustiedoille ei voi varata tilaa.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: tiedosta ei voi avata\n" #, fuzzy, c-format @@ -426,9 +226,21 @@ msgstr "%s: rivi %d: chown epäonnistui\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: rivi %d: chown epäonnistui\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: rivi %d: chown epäonnistui\n" + msgid "Too many logins.\n" msgstr "Liian monta sisäänkirjautumista.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s-tunnus: " + msgid "You have new mail." msgstr "Sinulle on uutta postia." @@ -438,6 +250,14 @@ msgstr "Ei postia." msgid "You have mail." msgstr "Sinulle on postia." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "ei muutoksia" @@ -450,9 +270,6 @@ msgstr "vain kirjainkoon muutoksia" msgid "too similar" msgstr "liian samankaltainen" -msgid "too simple" -msgstr "liian yksinkertainen" - msgid "rotated" msgstr "pyöräytetty" @@ -499,6 +316,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() epäonnistui, virhe %d\n" +msgid "Password: " +msgstr "Salasana: " + +#, c-format +msgid "%s's Password: " +msgstr "Käyttäjän %s salasana: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Väärä salasana käyttäjälle \"%s\".\n" @@ -523,17 +347,13 @@ msgstr "%s: virheellinen kotipuhelin: \"%s\"\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: hakemistoa %s ei voi luoda\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: hakemistoa %s ei voi luoda\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: hakemistoa %s ei voi luoda\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: hakemistoa %s ei voi luoda\n" #, c-format msgid "" @@ -548,6 +368,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "Salasanatiedostoa ei voi avata.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Asetustiedoille ei voi varata tilaa.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Asetustiedoille ei voi varata tilaa.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Muutetaan käyttäjän %s vanhenemistietoja\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: Käyttäjätunnusta ei voi selvittää.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: rivi %d: käyttäjää %s ei löydy\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Ei voi vaihtaa hakemistoon \"%s\"\n" @@ -559,6 +480,10 @@ msgstr "Ei hakemistoa, sisäänkirjaudutaan siten, että HOME=/" msgid "Cannot execute %s" msgstr "Ei voi suorittaa %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Virheellinen juurihakemisto \"%s\"\n" @@ -567,6 +492,86 @@ msgstr "Virheellinen juurihakemisto \"%s\"\n" msgid "Can't change root directory to '%s'\n" msgstr "Ei voi vaihtaa juurihakemistoksi \"%s\"\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: muisti loppui\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: tiedostoa %s ei voi päivittää\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: virheellinen kotihakemisto \"%s\"\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: hakemistoa %s ei voi luoda\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: varoitus: ei voi poistaa tiedostoa " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: varoitus: ei voi poistaa tiedostoa " + +# Kannattaako tuota kääntää, siinä viitataan rename()-funktioon... +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: rename: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: varoitus: ei voi poistaa tiedostoa " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: hakemistoa %s ei voi luoda\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: varoitus: ei voi poistaa tiedostoa " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: tiedostoa %s ei voi päivittää\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: varjotiedostoa ei voi päivittää\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +# Kannattaako tuota kääntää, siinä viitataan rename()-funktioon... +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: rename: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: tiedostoa %s ei voi lukita\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: käyttäjä %s on nyt sisäänkirjautuneena\n" @@ -626,6 +631,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -651,12 +659,15 @@ msgstr "Salasana pois käytöstä" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Tunnuksen vanhenemispäiväys (VVVV-KK-PP)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Edellinen salasanan vaihto\t\t\t\t\t: " - msgid "never" msgstr "ei koskaan" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Edellinen salasanan vaihto\t\t\t\t\t: " + msgid "password must be changed" msgstr "salasana täytyy vaihtaa" @@ -824,14 +835,6 @@ msgstr "%s: \"%s\" sisältää ei-sallittuja merkkejä\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: käyttäjää %s ei ole olemassa\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: ei voi vaihtaa käyttäjää \"%s\" NIS-asiakkaalla.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: \"%s\" on NIS-palvelin tälle asiakkaalle.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Muutetaan käyttäjän %s tietoja\n" @@ -860,6 +863,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: Valitsinta -a voi käyttää VAIN yhdessä valitsimen -G kanssa\n" @@ -910,6 +917,15 @@ msgstr "" msgid "Login Shell" msgstr "Sisäänkirjautumiskuori" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: uutta defaults-tiedostoa ei voi luoda\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Et voi muuttaa käyttäjän %s kuorta.\n" @@ -922,6 +938,10 @@ msgstr "Muutetaan käyttäjän %s sisäänkirjautumiskuorta\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Virheellinen tietue: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s on virheellinen kuori.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s on virheellinen kuori.\n" @@ -1132,9 +1152,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1147,6 +1164,10 @@ msgstr "virheellinen käyttäjätunnus \"%s\"\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: %s ei ole kelpo ryhmänimi\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: tiedostoa %s ei voi lukita\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "virheellinen ryhmänimi \"%s\"\n" @@ -1189,14 +1210,6 @@ msgstr "%s: ei voi vaihtaa käyttäjää \"%s\" NIS-asiakkaalla.\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: ryhmää %s ei ole olemassa\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: ryhmä \"%s\" on NIS-ryhmä.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: isäntä %s on NIS-palvelin\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: käyttäjä %s on NIS-käyttäjä\n" @@ -1272,10 +1285,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "virheellinen ryhmänimi \"%s\"\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: ryhmä %s on NIS-ryhmä\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: Tuntematon käyttäjä %s\n" @@ -1390,7 +1399,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1484,9 +1493,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "Ei utmp-tietuetta. Suorita \"login\" alimman tason kuoresta" - #, fuzzy, c-format msgid "" "\n" @@ -1520,14 +1526,6 @@ msgstr "Sisäänkirjautuminen epäonnistui" msgid "Cannot find user (%s)\n" msgstr "%s: rivi %d: käyttäjää %s ei löydy\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s-tunnus: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: fork-kutsu epäonnistui: %s" @@ -1565,7 +1563,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1590,17 +1589,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: kentät liian pitkiä\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: virheellinen perushakemisto \"%s\"\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: hakemistoa %s ei voi luoda\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1634,14 +1629,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: hakemistoa %s ei voi luoda\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1662,6 +1656,10 @@ msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: rivi %d: virheellinen rivi\n" @@ -1682,6 +1680,11 @@ msgstr "%s: rivi %d: GIDiä ei voi luoda\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: käyttäjää %s ei ole olemassa\n" +# Kannattaako tuota kääntää, siinä viitataan rename()-funktioon... +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: rename: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: rivi %d: salasanaa ei voi päivittää\n" @@ -1702,14 +1705,14 @@ msgstr "%s: rivi %d: chown epäonnistui\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: rivi %d: tietuetta ei voi päivittää\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: Oikeuksien pudottaminen epäonnistui (%s)\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: tiedostoa %s ei voi luoda\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: Oikeuksien pudottaminen epäonnistui (%s)\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: ryhmätiedostoa ei voi päivittää\n" @@ -1768,6 +1771,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "Vanha salasana: " @@ -1787,6 +1793,11 @@ msgstr "" "Syötä uusi salasana (vähintään %d ja korkeintaan %d merkkiä)\n" "Käytäthän salasanassa numeroita sekä pien- ja suuraakkosia.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: kentät liian pitkiä\n" + msgid "New password: " msgstr "Uusi salasana: " @@ -1827,6 +1838,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: tietolähdettä %s ei tueta\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1970,11 +1985,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2061,6 +2074,11 @@ msgstr "Sinulla ei ole lupaa asettua käyttäjäksi %s\n" msgid "No passwd entry for user '%s'\n" msgstr "Ei salasanatietuetta pääkäyttäjälle (\"root\")" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "virheellinen käyttäjätunnus \"%s\"\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: täytyy suorittaa päätteessä\n" @@ -2106,6 +2124,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2137,10 +2161,6 @@ msgstr "%s: hakemistoa %s ei voi luoda\n" msgid "%s: rename: %s: %s\n" msgstr "%s: rename: %s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: ryhmä \"%s\" on NIS-ryhmä.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: liian monta ryhmää määritelty (korkeintaan %d).\n" @@ -2250,6 +2270,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: virheellinen perushakemisto \"%s\"\n" @@ -2381,6 +2406,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Asetetaan postilaatikkotiedoston oikeudet" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Luodaan postilaatikkotiedosto" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Luodaan postilaatikkotiedosto" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2502,10 +2537,6 @@ msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: käyttäjä %s on NIS-käyttäjä\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: virheellinen kotihakemisto \"%s\"\n" @@ -2605,6 +2636,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2688,10 +2723,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: salasanatiedostoa ei voi päivittää\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: hakemistoa %s ei voi luoda\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: varoitus: tiedoston %s omistaja ei ole %s\n" @@ -2797,8 +2840,9 @@ msgid "failed to stat edited file" msgstr "postilaatikon uudelleennimeäminen epäonnistui" #, fuzzy -msgid "failed to allocate memory" -msgstr "postilaatikon omistajan vaihtaminen epäonnistui" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: tiedosta ei voi avata\n" #, fuzzy msgid "failed to create backup file" @@ -2813,6 +2857,48 @@ msgstr "" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: virheellinen perushakemisto \"%s\"\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: ei voi vaihtaa käyttäjää \"%s\" NIS-asiakkaalla.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: \"%s\" on NIS-palvelin tälle asiakkaalle.\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: ryhmä \"%s\" on NIS-ryhmä.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: isäntä %s on NIS-palvelin\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: ryhmä %s on NIS-ryhmä\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: ryhmä \"%s\" on NIS-ryhmä.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: käyttäjä %s on NIS-käyttäjä\n" + +#~ msgid "too simple" +#~ msgstr "liian yksinkertainen" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "Ei utmp-tietuetta. Suorita \"login\" alimman tason kuoresta" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: virheellinen perushakemisto \"%s\"\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "postilaatikon omistajan vaihtaminen epäonnistui" + #~ msgid "Usage: id\n" #~ msgstr "Käyttö: id\n" @@ -2828,10 +2914,6 @@ msgstr "%s: virheellinen perushakemisto \"%s\"\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Salasanan vanhenemisvaroitus" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "virheellinen käyttäjätunnus \"%s\"\n" - #~ msgid "Username Port From Latest" #~ msgstr "Käyttäjä Portti Mistä Viimeksi" diff --git a/po/fr.gmo b/po/fr.gmo index 06252defaf1d54a8b031cf451fb30ce6ba0af4f8..ab95a18e67a21b03b0c3a9741cbb8a105cd6886e 100644 GIT binary patch delta 18121 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 delta 16087 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 diff --git a/po/fr.po b/po/fr.po index 0df42e3a..19fd1e72 100644 --- a/po/fr.po +++ b/po/fr.po @@ -17,13 +17,13 @@ # useradd: Frédéric Delanoy, 2000. # Christian Perrier , 2009, 2012. # Thomas Blein , 2011, 2012, 2013, 2015. -# bubu , 2022 +# bubu , 2022, 2023 msgid "" msgstr "" "Project-Id-Version: shadow-man-pages 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" -"PO-Revision-Date: 2022-01-04 11:11+0100\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" +"PO-Revision-Date: 2023-04-26 20:04+0200\n" "Last-Translator: bubu \n" "Language-Team: French \n" "Language: fr\n" @@ -31,237 +31,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" - -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Plusieurs entrées nommées '%s' dans %s. Merci de réparer cela avec pwck ou " -"grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" -"la méthode de chiffrement n'est pas prise en charge par libcrypt ? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "erreur de paramétrage - imposible d'analyser la valeur de %s : '%s'" - -msgid "Could not allocate space for config info.\n" -msgstr "Impossible d'allouer de l'espace pour l'information de paramétrage.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"erreur de paramétrage - objet inconnu '%s' (avertir l'administrateur)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s : nscd ne s'est pas terminé normalement (signal %d)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s : nscd a fini avec le statut %d\n" - -msgid "Password: " -msgstr "Mot de passe :" - -#, c-format -msgid "%s's Password: " -msgstr "Mot de passe de %s :" - -msgid "Cannot open audit interface.\n" -msgstr "Impossible d'ouvrir l'interface d'inspection.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" -"%s : ne peut pas récupérer le contexte du processus SELinux précédent : %s\n" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage] : %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "Impossible de créer la prise en charge de la gestion par SELinux\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "La politique SELinux n'est pas prise en charge\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "Impossible de lire le dépot de politique de SELinux\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" -"Impossible d'établir la connexion avec la gestion de SELinux\n" -" \n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "Impossible de commencer la transaction SELinux\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "Impossible d'interroger seuser pour %s\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "Impossible de définir serange pour %s\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "Impossible de définir sename pour %s\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "Impossible de modifier le mappage de connexion pour %s\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Impossible de créer de mappage de connexion SELinux pour %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "Impossible de définir un nom pour %s\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "Impossible de définir un utilisateur SELinux pour %s\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "Impossible d'ajouter un mappage de connexion pour %s\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "Impossible d'initialiser la gestion SELinux\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "Impossible de créer la clé d'utilisateur SELinux\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "Impossible de vérifier l'utilisateur SELinux\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "Impossible de modifier le mappage d'utilisateur SELinux\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "Impossible d'ajouter le mappage d'utilisateur SELinux\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" -"Impossible de valider une transaction SELinux\n" -"\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"Le mappage de connexion n'est pas défini pour %s, OK si le mappage par " -"défaut a été utilisé\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" -"Le mappage de connexion pour %s est défini dans la politique et ne peut pas " -"être effacé\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "Impossible d'effacer le mappage de connexion pour %s" - -#, c-format -msgid "%s: out of memory\n" -msgstr "" -"%s : plus de mémoire\n" -"\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s : L'appel de stat sur %s a échoué : %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s : %s n'est ni un répertoire, ni un lien symbolique.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s : Impossible de lire le lien symbolique %s : %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s : Lien symbolique suspicieusement long : %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s : Impossible de créer le répertoire %s : %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s : Impossible de changer le propriétaire de %s : %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s : Impossible de changer le mode de %s : %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s : délier : %s : %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s : Impossible de supprimer le répertoire %s : %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s : Impossible de renommer %s en %s : %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s : Impossible de supprimer %s : %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s : Impossible de créer de lien symbolique %s : %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s : Impossible de changer les propriétaires de %s : %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s : lstat impossible %s : %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s : Attention, l'utilisateur %s n'a pas de fichier caché tcb.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s : Urgence : le fichier caché tcb de %s n'est pas un fichier régulier avec " -"st_nlink=1\n" -"Le compte est laissé vérouillé.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s : mkdir : %s : %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s : Impossible d'ouvrir %s : %s\n" +"X-Generator: Poedit 2.4.2\n" #, c-format msgid "Warning: unknown group %s\n" @@ -309,6 +79,13 @@ msgstr "Impossible de changer le propriétaire ou le mode d'entrée tty : %s" msgid "%s: failed to unlock %s\n" msgstr "%s : échec au déverrouillage de %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Plusieurs entrées nommées '%s' dans %s. Merci de réparer cela avec pwck ou " +"grpck.\n" + #, c-format msgid "%s: " msgstr "%s : " @@ -316,6 +93,11 @@ msgstr "%s : " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" +"la méthode de chiffrement n'est pas prise en charge par libcrypt ? (%s)\n" + msgid "Environment overflow\n" msgstr "Débordement de l'environnement\n" @@ -440,8 +222,16 @@ msgstr "" "Utilisateur disponibles)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "%s : Pas assez d'arguments pour former %u mappages\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "erreur de paramétrage - imposible d'analyser la valeur de %s : '%s'" + +msgid "Could not allocate space for config info.\n" +msgstr "Impossible d'allouer de l'espace pour l'information de paramétrage.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"erreur de paramétrage - objet inconnu '%s' (avertir l'administrateur)\n" #, c-format msgid "%s: Memory allocation failure\n" @@ -469,8 +259,9 @@ msgstr "" msgid "%s: Could not set caps\n" msgstr "%s : Impossible de définir les plafonds\n" -#, c-format -msgid "%s: snprintf failed!\n" +#, fuzzy, c-format +#| msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s : échec de snprintf !\n" #, c-format @@ -481,9 +272,22 @@ msgstr "%s : échec de l'ouverture de %s : %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s : échec de l'écriture sur %s : %s\n" +#, fuzzy, c-format +#| msgid "%s: open of %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s : échec de l'ouverture de %s : %s\n" + msgid "Too many logins.\n" msgstr "Trop de connexions.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login : " + msgid "You have new mail." msgstr "Vous avez un nouveau courriel." @@ -493,6 +297,14 @@ msgstr "Aucun courriel." msgid "You have mail." msgstr "Vous avez un courriel." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s : nscd ne s'est pas terminé normalement (signal %d)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s : nscd a fini avec le statut %d\n" + msgid "no change" msgstr "aucun changement" @@ -505,9 +317,6 @@ msgstr "changements de casse seulement" msgid "too similar" msgstr "trop similaire" -msgid "too simple" -msgstr "trop simple" - msgid "rotated" msgstr "pivoté" @@ -553,6 +362,13 @@ msgstr "" "%s : (utilisateur %s) pam_chauthtok() échec, erreur :\n" "%s\n" +msgid "Password: " +msgstr "Mot de passe :" + +#, c-format +msgid "%s's Password: " +msgstr "Mot de passe de %s :" + #, c-format msgid "Incorrect password for %s.\n" msgstr "Mot de passe incorrect pour %s.\n" @@ -569,26 +385,24 @@ msgstr "%s : l'option '%s' nécessite un argument\n" msgid "%s: failed to drop privileges (%s)\n" msgstr "%s : échec de la diminution de privilèges (%s)\n" -#, fuzzy, c-format -#| msgid "%s: invalid chroot path '%s'\n" +#, c-format msgid "%s: invalid chroot path '%s', only absolute paths are supported.\n" -msgstr "%s : chemin de chroot non valable '%s'\n" +msgstr "" +"%s : chemin de chroot non valable '%s', seuls les chemins absolus sont pris " +"en charge.\n" #, c-format msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s : Impossible d'accéder au répertoire chroot %s : %s\n" -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s : chdir impossible sur répertoire chroot %s : %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s : chroot impossible sur répertoire %s : %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: cannot chdir to chroot directory %s: %s\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s : chdir impossible sur répertoire chroot %s : %s\n" #, c-format msgid "" @@ -604,6 +418,118 @@ msgid "" "ENCRYPT_METHOD and the corresponding configuration for your selected hash " "method.\n" msgstr "" +"Impossible de générer un « sel » à partir du réglage \"%s\", vérifiez vos " +"réglages dans ENCRYPT_METHOD et la configuration correspondante à votre " +"méthode de hachage choisie.\n" + +msgid "Cannot open audit interface.\n" +msgstr "Impossible d'ouvrir l'interface d'inspection.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" +"%s : ne peut pas récupérer le contexte du processus SELinux précédent : %s\n" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage] : %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "Impossible de créer la prise en charge de la gestion par SELinux\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "La politique SELinux n'est pas prise en charge\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "Impossible de lire le dépot de politique de SELinux\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" +"Impossible d'établir la connexion avec la gestion de SELinux\n" +" \n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "Impossible de commencer la transaction SELinux\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "Impossible d'interroger seuser pour %s\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "Impossible de définir serange pour %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "Impossible de définir sename pour %s\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "Impossible de modifier le mappage de connexion pour %s\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Impossible de créer de mappage de connexion SELinux pour %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "Impossible de définir un nom pour %s\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "Impossible de définir un utilisateur SELinux pour %s\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "Impossible d'ajouter un mappage de connexion pour %s\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "Impossible d'initialiser la gestion SELinux\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "Impossible de créer la clé d'utilisateur SELinux\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "Impossible de vérifier l'utilisateur SELinux\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "Impossible de modifier le mappage d'utilisateur SELinux\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "Impossible d'ajouter le mappage d'utilisateur SELinux\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" +"Impossible de valider une transaction SELinux\n" +"\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"Le mappage de connexion n'est pas défini pour %s, OK si le mappage par " +"défaut a été utilisé\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" +"Le mappage de connexion pour %s est défini dans la politique et ne peut pas " +"être effacé\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "Impossible d'effacer le mappage de connexion pour %s" #, c-format msgid "Unable to cd to '%s'\n" @@ -618,6 +544,10 @@ msgstr "Pas de réperoire, connexion avec HOME=/" msgid "Cannot execute %s" msgstr "Impossible d'exécuter %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Répertoire root '%s' non valable\n" @@ -626,6 +556,89 @@ msgstr "Répertoire root '%s' non valable\n" msgid "Can't change root directory to '%s'\n" msgstr "Impossible de changer le répertoire root pour '%s'\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "" +"%s : plus de mémoire\n" +"\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s : L'appel de stat sur %s a échoué : %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s : %s n'est ni un répertoire, ni un lien symbolique.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s : Impossible de lire le lien symbolique %s : %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s : Lien symbolique suspicieusement long : %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s : Impossible de créer le répertoire %s : %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s : Impossible de changer le propriétaire de %s : %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s : Impossible de changer le mode de %s : %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s : délier : %s : %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s : Impossible de supprimer le répertoire %s : %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s : Impossible de renommer %s en %s : %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s : Impossible de supprimer %s : %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s : Impossible de créer de lien symbolique %s : %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s : Impossible de changer les propriétaires de %s : %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s : lstat impossible %s : %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s : Attention, l'utilisateur %s n'a pas de fichier caché tcb.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s : Urgence : le fichier caché tcb de %s n'est pas un fichier régulier avec " +"st_nlink=1\n" +"Le compte est laissé vérouillé.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s : mkdir : %s : %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s : Impossible d'ouvrir %s : %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s : l'utilisateur %s est actuellement connecté\n" @@ -704,6 +717,11 @@ msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" " -R, --root CHROOT_DIR répertoire dans lequel faire un chroot\n" +#, fuzzy +#| msgid " -P, --prefix PREFIX_DI directory prefix\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -P, --prefix PREFIX_DI préfixe de répertoire\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -732,12 +750,15 @@ msgstr "Mot de passe inactif" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Date de fin de validité du compte (YYYY-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Dernière modification du mot de passe\t\t\t\t\t :" - msgid "never" msgstr "jamais" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Dernière modification du mot de passe\t\t\t\t\t :" + msgid "password must be changed" msgstr "le mot de passe doit être changé" @@ -921,14 +942,6 @@ msgstr "%s : '%s' contient des caractères illégaux\n" msgid "%s: user '%s' does not exist\n" msgstr "%s : l'utilisateur '%s' n'existe pas\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s : impossible de changer l'utilisateur '%s' sur le client NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s : '%s' est le NIS maître pour ce client.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Modifier les informations associées à un utilisateur pour %s\n" @@ -959,17 +972,18 @@ msgstr "" " -m, --md5 chiffrer le mot de passe en clair avec\n" " l'algorithme MD5\n" -#, fuzzy -#| msgid "" -#| " -s, --sha-rounds number of rounds for the SHA or BCRYPT\n" -#| " crypt algorithms\n" msgid "" " -s, --sha-rounds number of rounds for the SHA, BCRYPT\n" " or YESCRYPT crypt algorithms\n" msgstr "" " -s, --sha-rounds nombre de tours pour les algorithmes de " "chiffrement\n" -" SHA ou BCRYPT\n" +" SHA ou BCRYPT ou YESCRYPT\n" + +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s : la méthode de chiffrement n'est pas prise en charge : %s\n" #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" @@ -1024,6 +1038,17 @@ msgstr "" msgid "Login Shell" msgstr "Interpréteur de commandes de connexion" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s : Impossible d'obtenir la taille de %s : %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file: %s\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "" +"%s : impossible de créer le nouveau fichier des valeurs par défaut : %s\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Vous ne devriez pas changer le shell pour '%s'.\n" @@ -1036,6 +1061,13 @@ msgstr "Changer l'interpréteur de commandes de connexion pour %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s : Entrée non valable : %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "" +"%s : %s est un interpréteur de commandes non valable\n" +"\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "" @@ -1291,25 +1323,23 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system créer un compte système\n" -#, fuzzy -#| msgid " -P, --prefix PREFIX_DIR directory prefix\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -P, --prefix PREFIX_DIR préfixe de répertoire\n" - -#, fuzzy -#| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" -msgstr " -l, --list lister les membres du groupe\n" +msgstr "" +" -U, --users USERS liste des utilisateurs membres de ce groupe\n" -#, fuzzy, c-format -#| msgid "invalid user name '%s'\n" +#, c-format msgid "Invalid member username %s\n" -msgstr "Nom d'utilisateur '%s' non valable\n" +msgstr "Nom de membre utilisateur '%s' non valable\n" #, c-format msgid "%s: '%s' is not a valid group name\n" msgstr "%s : '%s' n'est pas un nom de groupe valable\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s : Impossible d'ouvrir %s : %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s : IDentifiant de groupe '%s' non valable\n" @@ -1357,16 +1387,6 @@ msgstr "" msgid "%s: group '%s' does not exist\n" msgstr "%s : le groupe '%s' n'existe pas\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s : le groupe '%s' est un groupe NIS\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "" -"%s : %s est le NIS maître\n" -"\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s : l'utilisateur '%s' est déjà membre de '%s'\n" @@ -1427,23 +1447,16 @@ msgstr "%s : votre nom de groupe ne correspond pas à votre nom utilisateur\n" msgid "%s: only root can use the -g/--group option\n" msgstr "%s : seul root peut utiliser l'option -g/--group\n" -#, fuzzy -#| msgid "" -#| " -a, --append append the user to the supplemental " -#| "GROUPS\n" -#| " mentioned by the -G option without " -#| "removing\n" -#| " the user from other groups\n" msgid "" " -a, --append append the users mentioned by -U option to " "the group \n" " without removing existing user members\n" msgstr "" -" -a, --append ajouter l'utilisateur au GROUPS " -"supplémentaire\n" -" mentionné par l'option -G sans " -"supprimer\n" -" l'utilisateur des autres groupes\n" +" -a, --append ajouter les utilisateurs mentionnés par " +"l'option -U dans le groupe \n" +" sans supprimer les membres utilisateurs " +"existant\n" +"\n" msgid " -g, --gid GID change the group ID to GID\n" msgstr " -g, --gid GID changer l'IDentifiant de groupe en GID\n" @@ -1468,10 +1481,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s : nom de groupe '%s' non valable\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s : le groupe %s est un groupe NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s : utilisateur inconnu %s\n" @@ -1509,6 +1518,8 @@ msgstr " -s, --sort trier les entrées par UID\n" msgid "" " -S, --silence-warnings silence controversial/paranoid warnings\n" msgstr "" +" -S, --silence-warnings silence controversé/avertissements " +"paranoïaques\n" #, c-format msgid "%s: -s and -r are incompatible\n" @@ -1597,8 +1608,12 @@ msgstr "" " -b, --before DAYS afficher uniquement les enregistrements de " "journaux plus vieux que DAYS\n" +#, fuzzy +#| msgid "" +#| " -C, --clear clear lastlog record of an user (usable " +#| "only with -u)\n" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -C, --clear nettoyer l'enregistrement du dernier journal " @@ -1624,10 +1639,9 @@ msgstr "" " -u, --user LOGIN afficher le dernier enregistrement de " "journal du LOGIN spécifié\n" -#, fuzzy, c-format -#| msgid "Username Port Latest" +#, c-format msgid "Username Port From%*sLatest\n" -msgstr "Nom d'utilisateur Port Dernier" +msgstr "Nom d'utilisateur Port Provenance%*sDernier\n" msgid "Username Port Latest" msgstr "Nom d'utilisateur Port Dernier" @@ -1707,11 +1721,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s : Ne pourra peut-être pas fonctionner sans racine effective\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Pas d'entrée utmp. Vous devez exécuter (exec) \"login\" depuis le plus bas " -"niveau \"sh\"" - #, c-format msgid "" "\n" @@ -1745,14 +1754,6 @@ msgstr "Login incorrect" msgid "Cannot find user (%s)\n" msgstr "Impossible de trouver l'utilisateur (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s login : " - #, c-format msgid "%s: failure forking: %s" msgstr "%s : échec de la création d'un processus enfant : %s" @@ -1786,9 +1787,13 @@ msgstr "Utilisation : logoutd\n" msgid "%s: gid range [%lu-%lu) -> [%lu-%lu) not allowed\n" msgstr "%s : éventail de GID [%lu-%lu)-> [%lu-%lu) non autorisé\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "usage: %s [ " +#| " ] ... \n" msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" "utilisation : %s [ " " ] ... \n" @@ -1815,21 +1820,21 @@ msgstr "" "%s : Echec de la politique %s setgroups : %s\n" " \n" -#, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s : Impossible d'ouvrir le répertoire proc de la cible %u\n" - -#, c-format -msgid "%s: Could not stat directory for target %u\n" +#, fuzzy, c-format +#| msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s : Impossible de statuer sur le répertoire de la cible %u\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " +#| "st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" -"%s : La cible %u appartient à un utilisateur différent : uid :%lu pw_uid :" -"%lu st_uid :%lu, gid :%lu pw_gid :%lu st_gid :%lu\n" +"%s : Le processus cible %u appartient à un utilisateur différent : uid :%lu " +"pw_uid:%lu st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgid "Usage: newgrp [-] [group]\n" msgstr "Utilisation : newgrp [-] [group]\n" @@ -1860,24 +1865,24 @@ msgstr "trop de groupes\n" msgid "%s: uid range [%lu-%lu) -> [%lu-%lu) not allowed\n" msgstr "%s : gamme d'uid [%lu-%lu) -> [%lu-%lu) non autorisés\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "usage: %s [ " +#| " ] ... \n" msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" "utilisation : %s [ " " ] ... \n" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" -"%s : Le processus cible %u appartient à un utilisateur différent : uid :%lu " -"pw_uid:%lu st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" +#, fuzzy, c-format +#| msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s : Impossible de statuer sur le répertoire de la cible %u\n" -#, fuzzy msgid " -b, --badname allow bad names\n" -msgstr " -b, --badname autoriser de mauvais noms\n" +msgstr " -b, --badname autoriser les mauvais noms\n" msgid " -r, --system create system accounts\n" msgstr " -r, --system créer des comptes système\n" @@ -1891,10 +1896,14 @@ msgstr "" msgid "%s: invalid user ID '%s'\n" msgstr "%s : IDentification d'utilisateur '%s' non valable\n" -#, fuzzy, c-format -#| msgid "%s: invalid user name '%s'\n" +#, c-format msgid "%s: invalid user name '%s': use --badname to ignore\n" -msgstr "%s : nom d'utilisateur '%s' non valable\n" +msgstr "" +"%s : nom d'utilisateur '%s' non valable ; utilisez --badname pour l'ignorer\n" + +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" #, c-format msgid "%s: line %d: invalid line\n" @@ -1918,16 +1927,20 @@ msgstr "%s : ligne %d : impossible de créer le groupe\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s : ligne %d : l'utilisateur '%s' n'existe pas dans %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s : délier : %s : %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "" "%s : ligne %d : impossible de mettre à jour le fichier des mots de passe - " "password -\n" -#, fuzzy, c-format -#| msgid "%s: line %d: mkdir %s failed: %s\n" +#, c-format msgid "%s: line %d: homedir must be an absolute path\n" -msgstr "%s : ligne %d : échec mkdir %s : %s\n" +msgstr "%s : ligne %d : homedir doit être un chemin absolu\n" #, c-format msgid "%s: line %d: mkdir %s failed: %s\n" @@ -1941,14 +1954,14 @@ msgstr "%s : ligne %d : échec de chown %s : %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s : ligne %d : impossible de mettre à jour l'entrée\n" -#, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s : la préparation de la nouvelle entrée %s a échoué\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s : impossible de trouver une gamme utilisateur subordonnée\n" +#, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s : la préparation de la nouvelle entrée %s a échoué\n" + #, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s : impossible de trouver la gamme de groupe subordonné\n" @@ -2034,6 +2047,13 @@ msgstr "" "de changer le mot de passe\n" " à MAX_DAYS\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" +" -l, --list afficher les informations sur l'âge des " +"comptes\n" + msgid "Old password: " msgstr "Ancien mot de passe :" @@ -2056,6 +2076,11 @@ msgstr "" "Utilisez une combinaison de lettres minuscules et majuscules et des " "chiffres.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s : champs trop longs\n" + msgid "New password: " msgstr "Nouveau mot de passe :" @@ -2081,10 +2106,10 @@ msgstr "Le mot de passe de %s ne peut pas être changé.\n" msgid "The password for %s cannot be changed yet.\n" msgstr "Le mot de passe de %s ne peut pas encore être changé.\n" -#, fuzzy, c-format -#| msgid "%s: shadow passwords required for -e\n" +#, c-format msgid "%s: malformed password data obtained for user %s\n" -msgstr "%s : mots de passe cachés « shadow passwords » nécessaires pour -e\n" +msgstr "" +"%s : données incorrectes de mot de passe obtenues pour l'utilisateur %s\n" #, c-format msgid "" @@ -2102,6 +2127,11 @@ msgstr "" "%s : le dépot %s n'est pas pris en charge\n" " \n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s : seul root peut utiliser l'option -g/--group\n" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -2161,10 +2191,10 @@ msgstr "entrée de fichier de mots de passe non valable " msgid "duplicate password entry" msgstr "entrée de mot de passe dupliqué" -#, fuzzy, c-format -#| msgid "invalid user name '%s'\n" +#, c-format msgid "invalid user name '%s': use --badname to ignore\n" -msgstr "Nom d'utilisateur '%s' non valable\n" +msgstr "" +"Nom d'utilisateur '%s' non valable ; utilisez --badname pour l'ignorer\n" #, c-format msgid "invalid user ID '%lu'\n" @@ -2262,11 +2292,9 @@ msgstr "%s : dysfonctionnement du signal\n" msgid "Session terminated, terminating shell..." msgstr "Session terminée, fin de l'interpréteur de commande ...." -#, c-format msgid " ...killed.\n" msgstr " ... tué.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ... attente de la fin du processus enfant.\n" @@ -2317,10 +2345,13 @@ msgstr "" #, c-format msgid "Password field is empty, this is forbidden for all accounts.\n" msgstr "" +"Le champ Mot de Passe est vide, cela est interdit pour tous les comptes.\n" #, c-format msgid "Password field is empty, this is forbidden for super-user.\n" msgstr "" +"Le champ Mot de Passe est vide, cela est interdit pour le super-" +"utilisateur.\n" #, c-format msgid "You are not authorized to su %s\n" @@ -2343,6 +2374,11 @@ msgstr "%s : Vous n'avez pas les autorisations superutilisateur\n" msgid "No passwd entry for user '%s'\n" msgstr "Pas d'entrée de mot de passe pour l'utilisateur '%s'\n" +#, fuzzy, c-format +#| msgid "Invalid member username %s\n" +msgid "Overlong user name '%s'\n" +msgstr "Nom de membre utilisateur '%s' non valable\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s : doit être lancé depuis un terminal\n" @@ -2388,15 +2424,21 @@ msgstr "%s : %s a été créé, mais n'a pas pu être supprimé\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s : le paramétrage %s dans %s sera ignoré \n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s : le paramétrage %s dans %s sera ignoré \n" + #, c-format msgid "%s: cannot create new defaults file: %s\n" msgstr "" "%s : impossible de créer le nouveau fichier des valeurs par défaut : %s\n" -#, fuzzy, c-format -#| msgid "%s: cannot create new defaults file\n" +#, c-format msgid "%s: cannot create directory for defaults file\n" -msgstr "%s : impossible de créer un nouveau fichier des valeurs par défaut\n" +msgstr "%s : impossible de créer répertoire pour les fichiers par défaut\n" #, c-format msgid "%s: cannot create new defaults file\n" @@ -2418,18 +2460,13 @@ msgstr "%s : Impossible de créer un fichier de sauvegarde (%s) : %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s : renommer : %s : %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s : le groupe '%s' est un groupe NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s : trop de groupes sont spécifiés (max %d).\n" -#, fuzzy, c-format -#| msgid "%s: Out of memory. Cannot update %s.\n" +#, c-format msgid "%s: Out of memory. Cannot find group '%s'.\n" -msgstr "%s : Plus de mémoire libre. Mise à niveau impossible %s.\n" +msgstr "%s : Plus de mémoire libre. Impossible de trouver le groupe.'%s'.\n" #, c-format msgid "" @@ -2445,7 +2482,6 @@ msgstr "" "\n" "Options :\n" -#, fuzzy msgid " --badname do not check for bad names\n" msgstr " --badname ne pas vérifier les mauvais noms\n" @@ -2491,6 +2527,8 @@ msgid "" " -F, --add-subids-for-system add entries to sub[ud]id even when adding a " "system user\n" msgstr "" +" -F, --add-subids-for-system ajouter des entrées comme sous-[ud]id même " +"lors de l'ajout d'un utilisateur système\n" msgid "" " -g, --gid GROUP name or ID of the primary group of the new\n" @@ -2573,6 +2611,17 @@ msgstr "" " -Z, --selinux-user SEUSER utiliser un SEUSER spécifique pour le " "mappage de l'utilisateur SELinux\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEUSER utiliser un SEUSER spécifique pour le " +"mappage de l'utilisateur SELinux\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s : répertoire de base '%s' non valable\n" @@ -2615,39 +2664,31 @@ msgstr "%s : -Z ne peut pas être utilisé avec --prefix\n" msgid "%s: -Z requires SELinux enabled kernel\n" msgstr "%s : -Z nécessite un noyau avec SELinux activé\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to open the faillog file for UID %lu: %s\n" -msgstr "" -"%s : échec de la réinitialisation de l'entrée de faillog de l'UID %lu : %s\n" +msgstr "%s : échec d'ouverture du fichier faillog de l'UID %lu : %s\n" #, c-format msgid "%s: failed to reset the faillog entry of UID %lu: %s\n" msgstr "" "%s : échec de la réinitialisation de l'entrée de faillog de l'UID %lu : %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to close the faillog file for UID %lu: %s\n" -msgstr "" -"%s : échec de la réinitialisation de l'entrée de faillog de l'UID %lu : %s\n" +msgstr "%s : échec de la fermeture du fichier faillog de l'UID %lu : %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to open the lastlog file for UID %lu: %s\n" -msgstr "" -"%s : échec de la réinitialisation de l'entrée de lastlog de l'UID %lu:%s\n" +msgstr "%s : échec d'ouveture du fichier lastlog de l'UID %lu:%s\n" #, c-format msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n" msgstr "" "%s : échec de la réinitialisation de l'entrée de lastlog de l'UID %lu:%s\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to close the lastlog file for UID %lu: %s\n" -msgstr "" -"%s : échec de la réinitialisation de l'entrée de lastlog de l'UID %lu:%s\n" +msgstr "%s : échec de fermeture du fichier lastlog de l'UID %lu:%s\n" #, c-format msgid "%s: failed to reset the tallylog entry of user \"%s\"\n" @@ -2696,8 +2737,7 @@ msgstr "%s : attention  : échec de chown sur '%s' : %m\n" msgid "%s: warning: chmod on `%s' failed: %m\n" msgstr "%s : attention : échec de chmod sur '%s' : %m\n" -#, fuzzy, c-format -#| msgid "%s: warning: chown on `%s' failed: %m\n" +#, c-format msgid "%s: warning: chown on '%s' failed: %m\n" msgstr "%s : attention  : échec de chown sur '%s' : %m\n" @@ -2706,12 +2746,11 @@ msgid "%s: cannot reset SELinux file creation context\n" msgstr "" "%s : impossible de réinitialiser le contexte de création du fichier SELinux\n" -#, fuzzy, c-format -#| msgid "%s: cannot set SELinux context for home directory %s\n" +#, c-format msgid "%s: cannot set SELinux context for mailbox file %s\n" msgstr "" -"%s : impossible de définir le contexte SELinux pour le répertoire personnel " -"%s\n" +"%s : impossible de définir le contexte SELinux pour le fichier boîte à " +"lettre %s\n" msgid "Creating mailbox file" msgstr "Création du fichier mailbox - boîte au lettres" @@ -2725,14 +2764,28 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Indiquez les permissions du fichier mailbox" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Création du fichier mailbox - boîte au lettres" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Création du fichier mailbox - boîte au lettres" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" +"%s attention: l'uid de %s, %d, est plus grand que SYS_UID_MAX %d\n" +"\n" #, c-format msgid "" "%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n" msgstr "" +"%s attention: l'uid de %s, %d, est en dehors de la plage UID_MIN %d et " +"UID_MAX %d .\n" #, c-format msgid "%s: user '%s' already exists\n" @@ -2783,18 +2836,16 @@ msgstr "" "%s: attention : le répertoire personnel %s existe déjà.\n" "%s: Aucun fichier du répertoire skel n'y sera copié.\n" -#, fuzzy -#| msgid "" -#| " -f, --force force removal of files,\n" -#| " even if not owned by user\n" msgid "" " -f, --force force some actions that would fail " "otherwise\n" " e.g. removal of user still logged in\n" " or files, even if not owned by the user\n" msgstr "" -" -f, --force forcer la suppression de fichiers,\n" -" même ceux qui n'appartiennent pas à " +" -f, --force forcer des actions qui échoueraient sinon\n" +" par exemple, supprimer un utilisateur encore " +"connecté\n" +" ou des fichiers, même si n'appartenant pas à " "l'utilisateur\n" msgid " -r, --remove remove home directory and mail spool\n" @@ -2861,10 +2912,6 @@ msgstr "%s : Impossible de supprimer le contenu de %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s : Impossible de supprimer les fichiers tcb de %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s : l'utilisateur %s est un utilisateur NIS\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s : %s le répertoire personnel (%s) n'a pas été trouvé\n" @@ -2963,21 +3010,14 @@ msgstr "" " -p, --password PASSWORD utiliser un mot de passe chiffré pour le " "nouveau mot de passe\n" -#, fuzzy -#| msgid "" -#| " -a, --append append the user to the supplemental " -#| "GROUPS\n" -#| " mentioned by the -G option without " -#| "removing\n" -#| " the user from other groups\n" msgid "" " -r, --remove remove the user from only the supplemental " "GROUPS\n" " mentioned by the -G option without removing\n" " the user from other groups\n" msgstr "" -" -a, --append ajouter l'utilisateur au GROUPS " -"supplémentaire\n" +" -r, --remove supprimer l'utilisateur uniquement du " +"GROUPS supplémentaire\n" " mentionné par l'option -G sans " "supprimer\n" " l'utilisateur des autres groupes\n" @@ -3009,6 +3049,16 @@ msgstr "" " -Z, --selinux-user SEUSER nouveau mappage d'utilisateur SELinux pour le " "compte utilisateur\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUSER nouveau mappage d'utilisateur SELinux pour le " +"compte utilisateur\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -3023,10 +3073,9 @@ msgstr "" msgid "%s: user '%s' already exists in %s\n" msgstr "%s : l'utilisateur '%s' existe déjà dans %s\n" -#, fuzzy, c-format -#| msgid "%s: home directory \"%s\" must be mounted on BTRFS\n" +#, c-format msgid "%s: homedir must be an absolute path\n" -msgstr "%s : le répertoire home \"%s\" doit être monté en BTRFS\n" +msgstr "%s : homedir doit être un chemin absolu\n" #, c-format msgid "%s: invalid subordinate uid range '%s'\n" @@ -3042,7 +3091,7 @@ msgstr "%s : pas d'options\n" #, c-format msgid "%s: %s and %s are mutually exclusive flags\n" -msgstr "" +msgstr "%s: %s et %s sont des drapeaux mutuellement exclusifs\n" #, c-format msgid "%s: the -L, -p, and -U flags are exclusive\n" @@ -3095,16 +3144,13 @@ msgstr "" msgid "%s: cannot rename directory %s to %s\n" msgstr "%s : impossible de renommer le répertoire %s en %s\n" -#, fuzzy, c-format -#| msgid "" -#| "%s: The previous home directory (%s) was not a directory. It is not " -#| "removed and no home directories are created.\n" +#, c-format msgid "" "%s: The previous home directory (%s) does not exist or is inaccessible. Move " "cannot be completed.\n" msgstr "" -"%s : Le répertoire personnel (%s) précédent n'était pas un répertoire. Il " -"n'est pas supprimé et aucun répertoire personnel ne sera créé. \n" +"%s : Le répertoire personnel (%s) précédent n'existe pas ou est " +"inaccessible. Aucun transfert ne peut aboutir. \n" #, c-format msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" @@ -3112,12 +3158,26 @@ msgstr "" "%s : la copie de l'entrée lastlog de l'utilisateur %lu à l'utilisateur %lu a " "échoué : %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s : la copie de l'entrée lastlog de l'utilisateur %lu à l'utilisateur %lu a " +"échoué : %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s : échec à copier l'entrée de faillog de l'utilisateur %lu vers " "l'utilisateur %lu : %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s : échec à copier l'entrée de faillog de l'utilisateur %lu vers " +"l'utilisateur %lu : %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s : avertissement : %s n'appartient pas à %s\n" @@ -3223,8 +3283,10 @@ msgstr "impossible de délier le fichier scratch" msgid "failed to stat edited file" msgstr "impossible de statuer sur le fichier édité" -msgid "failed to allocate memory" -msgstr "impossible d'allouer de la mémoire" +#, fuzzy +#| msgid "%s: snprintf failed!\n" +msgid "asprintf(3) failed" +msgstr "%s : échec de snprintf !\n" msgid "failed to create backup file" msgstr "échec à la création d'un fichier de sauvegarde" @@ -3239,6 +3301,67 @@ msgstr "" "%s : impossible de trouver le répertoire tcb pour %s\n" "\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s : impossible de changer l'utilisateur '%s' sur le client NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s : '%s' est le NIS maître pour ce client.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s : le groupe '%s' est un groupe NIS\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "" +#~ "%s : %s est le NIS maître\n" +#~ "\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s : le groupe %s est un groupe NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s : le groupe '%s' est un groupe NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s : l'utilisateur %s est un utilisateur NIS\n" + +#, c-format +#~ msgid "%s: Not enough arguments to form %u mappings\n" +#~ msgstr "%s : Pas assez d'arguments pour former %u mappages\n" + +#~ msgid "too simple" +#~ msgstr "trop simple" + +#, c-format +#~ msgid "Unable to obtain random bytes.\n" +#~ msgstr "Impossible d'avoir des octets aléatoires.\n" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Pas d'entrée utmp. Vous devez exécuter (exec) \"login\" depuis le plus " +#~ "bas niveau \"sh\"" + +#, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s : Impossible d'ouvrir le répertoire proc de la cible %u\n" + +#, c-format +#~ msgid "" +#~ "%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +#~ "%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" +#~ msgstr "" +#~ "%s : La cible %u appartient à un utilisateur différent : uid :%lu pw_uid :" +#~ "%lu st_uid :%lu, gid :%lu pw_gid :%lu st_gid :%lu\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "impossible d'allouer de la mémoire" + #~ msgid "Usage: id\n" #~ msgstr "Utilisation : id\n" diff --git a/po/gl.gmo b/po/gl.gmo index 3ac54b858ce5388189e72d45a1bcf8f8645ad158..7e4a52fc64e847b2a77d502822a1719a492a1e36 100644 GIT binary patch delta 4381 zcmYk;4^&q59mnzSLl5A86#rl#aH-S~1w|1t70N#(1|~DoETLHCoX#P(9R9fuTg-|y zQOZIkn`>D)@X4hjS|)XNHn;L5XRS_it!@3;+15Iq+9KWi^W2}E{SKe!^}F}E&%O8e z{r&FMvrVCMjUoU2#PCj|y-r4uo8rv+hs@UZ(_XW-fo6TN9Y^6=w}H8;3q7 z;fr`RcHwaR*louon(36Iun$heUi{2v(7B5p#qNs(n85a7jK?nI9Cijr;vb!{gUyoJ z&O+^d8S3pgEP8J$lxZ6+O!w1N*0S78=zLsjB9 zj>Qk$b^^oj*v>=kuRv93Giu~7pl;|@^zbh@1LL?mx;7iBzEvhue_f!K9V+QAXXldbkU91IJM3e;>zSm=&%8=b&!%h7r`CX|Y?` z(SR#)B3?ibGpVz_FTvheg~hlWwTcfR=eADNiQhqfYJbNJ?9IICLRqNeim(80M?F=| zJ{`@;KGcDSa5BE(wlBKv!Rf)OE^#hKRcsmZ7+E9g!p+E&X%U=)r%_MC*BFcayx>L> zQ5E#F>1dG@p-NwkOtY;+jc^C*aoLOd{w#7X`vf(DJ`9tt4a3oxk2+r^YQ*(OF>DX& zg2z$k{Vh^i-`=64AN&(p*p|qKDw2ts>jKmT7osk(26aO%sJZ_g>bQ?lCk`|59wwkh zJ{~nSg{T3PJC~!@pVdb@X1h@rID#IYNB%5Co%QA#iCPP}sFB==g?Jn4xF=B;I)R$X zw@}Cb6;;t5)D#V6MQT8~n8x+3oQ@8tLH*z%x83SIiYnz<)DQoG4Aus)oio! z7obj9jav1qunyOv=Kgcki{&E5V?PSz>vz?1j6{;Ug{dIw-*`blWjhe&HP>V6l zKW$oEDL4}+V-eP&O4xzZ@dKxq&0CS}rKl;}f!vF=p)U9y@@HT1p{W?-=L97yL(Sbf z)DL�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\n" "Language-Team: Galician \n" @@ -16,222 +16,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "Non se puido reservar espacio para a información de configuración.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"erro de configuración - elemento \"%s\" descoñecido (avise ao " -"administrador)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Contrasinal: " - -#, c-format -msgid "%s's Password: " -msgstr "Contrasinal de %s: " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "Non se pode abrir o ficheiro de contrasinais.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Non se puido reservar espacio para a información de configuración.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "A cambiar a información de caducidade de %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: Non se pode determinar o seu nome de usuario.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: liña %d: non se pode atopar o usuario %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: memoria esgotada\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: non se pode actualizar o ficheiro %s\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: directorio inicial \"%s\" non válido\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: non se pode crear o directorio %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: aviso: non se pode eliminar " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: aviso: non se pode eliminar " - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: rename: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: aviso: non se pode eliminar " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: non se pode crear o directorio %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: aviso: non se pode eliminar " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: non se pode actualizar o ficheiro %s\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: non se pode actualizar o ficheiro shadow\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: rename: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: non se pode abrir o ficheiro %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Aviso: grupo %s descoñecido\n" @@ -278,6 +62,11 @@ msgstr "Non se puido cambiar o tty %s" msgid "%s: failed to unlock %s\n" msgstr "%s: campos longos de máis\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -285,6 +74,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "Desbordamento nas variables de ambiente\n" @@ -385,9 +178,18 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: non se pode obter un UID único\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "Non se puido reservar espacio para a información de configuración.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"erro de configuración - elemento \"%s\" descoñecido (avise ao " +"administrador)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: a autenticación con PAM fallou\n" @@ -415,7 +217,7 @@ msgstr "Non se puido reservar espacio para a información de configuración.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: non se pode abrir o ficheiro\n" #, fuzzy, c-format @@ -426,9 +228,21 @@ msgstr "%s: liña %d: a chamada a chown fallou\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: liña %d: a chamada a chown fallou\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: liña %d: a chamada a chown fallou\n" + msgid "Too many logins.\n" msgstr "Entrou demasiadas veces.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login: " + msgid "You have new mail." msgstr "Ten novo correo." @@ -438,6 +252,14 @@ msgstr "Non hai correo." msgid "You have mail." msgstr "Ten correo." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "ningún cambio" @@ -450,9 +272,6 @@ msgstr "só cambia maiúsculas/minúsculas" msgid "too similar" msgstr "semellantes de máis" -msgid "too simple" -msgstr "simple de máis" - msgid "rotated" msgstr "rotado" @@ -499,6 +318,13 @@ msgid "" "%s\n" msgstr "passwd: a chamada a pam_start() fallou, erro %d\n" +msgid "Password: " +msgstr "Contrasinal: " + +#, c-format +msgid "%s's Password: " +msgstr "Contrasinal de %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Contrasinal incorrecto para %s.\n" @@ -523,17 +349,13 @@ msgstr "%s: teléfono da casa non válido: \"%s\"\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: non se pode crear o directorio %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: non se pode crear o directorio %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: non se pode crear o directorio %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: non se pode crear o directorio %s\n" #, c-format msgid "" @@ -548,6 +370,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "Non se pode abrir o ficheiro de contrasinais.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Non se puido reservar espacio para a información de configuración.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Non se puido reservar espacio para a información de configuración.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "A cambiar a información de caducidade de %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: Non se pode determinar o seu nome de usuario.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: liña %d: non se pode atopar o usuario %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Non se puido cambiar a \"%s\"\n" @@ -559,6 +482,10 @@ msgstr "Non hai un directorio, éntrase con HOME=/" msgid "Cannot execute %s" msgstr "Non se pode executar %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Directorio raíz \"%s\" non válido\n" @@ -567,6 +494,84 @@ msgstr "Directorio raíz \"%s\" non válido\n" msgid "Can't change root directory to '%s'\n" msgstr "Non se pode cambiar o directorio raíz a \"%s\"\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: memoria esgotada\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: non se pode actualizar o ficheiro %s\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: directorio inicial \"%s\" non válido\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: non se pode crear o directorio %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: aviso: non se pode eliminar " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: aviso: non se pode eliminar " + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: rename: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: aviso: non se pode eliminar " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: non se pode crear o directorio %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: aviso: non se pode eliminar " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: non se pode actualizar o ficheiro %s\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: non se pode actualizar o ficheiro shadow\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: rename: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: non se pode abrir o ficheiro %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: o usuario %s está conectado\n" @@ -626,6 +631,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -651,12 +659,15 @@ msgstr "Contrasinal inactivo" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Data de caducidade da conta (AAAA-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Último cambio de contrasinal\t\t\t\t: " - msgid "never" msgstr "nunca" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Último cambio de contrasinal\t\t\t\t: " + msgid "password must be changed" msgstr "debe cambiarse o contrasinal" @@ -824,14 +835,6 @@ msgstr "%s: \"%s\" contén caracteres non válidos\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: o usuario %s non existe\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: non se pode cambiar o usuario \"%s\" no cliente NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: \"%s\" é o mestre NIS deste cliente.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "A cambiar a información de usuario de %s\n" @@ -860,6 +863,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: o modificador -a SÓ se admite co modificador -G\n" @@ -910,6 +917,15 @@ msgstr "" msgid "Login Shell" msgstr "Intérprete de ordes" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: non se pode crear o novo ficheiro de valores por defecto\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Non pode cambiar o intérprete de ordes de %s.\n" @@ -922,6 +938,10 @@ msgstr "A cambiar o intérprete de ordes de %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Entrada non válida: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s non é un intérprete de ordes válido.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s non é un intérprete de ordes válido.\n" @@ -1132,9 +1152,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1147,6 +1164,10 @@ msgstr "nome de usuario \"%s\" non válido\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: %s non é un nome de grupo válido\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: non se pode abrir o ficheiro %s\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "nome de grupo \"%s\" non válido\n" @@ -1189,14 +1210,6 @@ msgstr "%s: non se pode cambiar o usuario \"%s\" no cliente NIS.\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: o grupo %s non existe\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: o grupo \"%s\" é un grupo NIS.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s é o mestre NIS\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: o usuario %s é un usuario NIS\n" @@ -1272,10 +1285,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "nome de grupo \"%s\" non válido\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: o grupo %s é un grupo NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: usuario %s descoñecido\n" @@ -1390,7 +1399,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1484,11 +1493,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Non hai unha entrada en utmp. Debe executar \"login\" dende o \"sh\" de " -"nivel máis baixo" - #, fuzzy, c-format msgid "" "\n" @@ -1522,14 +1526,6 @@ msgstr "Entrada incorrecta" msgid "Cannot find user (%s)\n" msgstr "%s: liña %d: non se pode atopar o usuario %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s login: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: fallo ao lanzar o proceso: %s" @@ -1566,7 +1562,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1591,17 +1588,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: campos longos de máis\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: directorio base \"%s\" non válido\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: non se pode crear o directorio %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1635,14 +1628,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: non se pode crear o directorio %s\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1663,6 +1655,10 @@ msgstr "%s: nome de usuario \"%s\" non válido\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nome de usuario \"%s\" non válido\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: liña %d: liña non válida\n" @@ -1683,6 +1679,10 @@ msgstr "%s: liña %d: non se pode crear o GID\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: o usuario %s non existe\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: rename: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: liña %d: non se pode actualizar o contrasinal\n" @@ -1703,14 +1703,14 @@ msgstr "%s: liña %d: a chamada a chown fallou\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: liña %d: non se pode actualizar a entrada\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: non se puido deixar os privilexios (%s)\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: non se pode crear %s\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: non se puido deixar os privilexios (%s)\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: non se pode actualizar o ficheiro de grupos\n" @@ -1769,6 +1769,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "Contrasinal antigo: " @@ -1788,6 +1791,11 @@ msgstr "" "Introduza o novo contrasinal (mínimo de %d, máximo de %d caracteres)\n" "Empregue unha combinación de maiúsculas, minúsculas e números.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: campos longos de máis\n" + msgid "New password: " msgstr "Novo contrasinal: " @@ -1828,6 +1836,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: non se soporta o repositorio %s\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1971,11 +1983,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2048,6 +2058,11 @@ msgstr "Non está autorizado para facer su %s\n" msgid "No passwd entry for user '%s'\n" msgstr "Non hai unha entrada de contrasinal para \"root\"" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "nome de usuario \"%s\" non válido\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: débese executar dende un terminal\n" @@ -2093,6 +2108,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2123,10 +2144,6 @@ msgstr "%s: non se pode crear o directorio %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: rename: %s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: o grupo \"%s\" é un grupo NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: especificáronse grupos de máis (máximo %d).\n" @@ -2236,6 +2253,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: directorio base \"%s\" non válido\n" @@ -2367,6 +2389,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "A estabrecer os permisos do ficheiro da caixa do correo" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "A crear o ficheiro da caixa do correo" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "A crear o ficheiro da caixa do correo" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2488,10 +2520,6 @@ msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: o usuario %s é un usuario NIS\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: directorio inicial \"%s\" non válido\n" @@ -2592,6 +2620,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2675,10 +2707,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: non se pode actualizar o ficheiro de contrasinais\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: non se pode crear o directorio %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: aviso: %s non pertence a %s\n" @@ -2784,8 +2824,9 @@ msgid "failed to stat edited file" msgstr "non se puido cambiar o nome da caixa do correo" #, fuzzy -msgid "failed to allocate memory" -msgstr "non se puido cambiar o propietario da caixa do correo" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: non se pode abrir o ficheiro\n" #, fuzzy msgid "failed to create backup file" @@ -2799,6 +2840,50 @@ msgstr "%s: non se pode restaurar %s: %s (os seus cambios están en %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: directorio base \"%s\" non válido\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: non se pode cambiar o usuario \"%s\" no cliente NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: \"%s\" é o mestre NIS deste cliente.\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: o grupo \"%s\" é un grupo NIS.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s é o mestre NIS\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: o grupo %s é un grupo NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: o grupo \"%s\" é un grupo NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: o usuario %s é un usuario NIS\n" + +#~ msgid "too simple" +#~ msgstr "simple de máis" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Non hai unha entrada en utmp. Debe executar \"login\" dende o \"sh\" de " +#~ "nivel máis baixo" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: directorio base \"%s\" non válido\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "non se puido cambiar o propietario da caixa do correo" + #~ msgid "Usage: id\n" #~ msgstr "Emprego: id\n" @@ -2814,10 +2899,6 @@ msgstr "%s: directorio base \"%s\" non válido\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Aviso de caducidade de contrasinal" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "nome de usuario \"%s\" non válido\n" - #~ msgid "Username Port From Latest" #~ msgstr "Usuario Porto Desde Última" diff --git a/po/he.po b/po/he.po index 6c819f55..a7b9a196 100644 --- a/po/he.po +++ b/po/he.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2004-07-21 23:59+0300\n" "Last-Translator: Lior Kaplan \n" "Language-Team: Hebrew \n" @@ -18,220 +18,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "שגיאת הגדרות - רכיב לא ידוע '%s' (הודע למנהל)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "סיסמה: " - -#, c-format -msgid "%s's Password: " -msgstr "הסיסמה של %s: " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "לא יכול לפתוח את קובץ הסיסמאות.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "שנה מידע הזדקות בשביל %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: לא יכול לנעול קובץ צל\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "ספרית שורש לא חוקית \"%s\"\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: לא יכול לנעול קובץ צל\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: לא יכול לנעול קובץ צל\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: לא יכול לפתוח קובץ צל\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "אזהרה: קבוצה לא מוכרת %s\n" @@ -278,6 +64,11 @@ msgstr "לא יכול לשנות tty %s" msgid "%s: failed to unlock %s\n" msgstr "%s: שדות ארוכים מידי\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "passwd: %s\n" @@ -285,6 +76,10 @@ msgstr "passwd: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "הצפת סביבה\n" @@ -381,9 +176,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: שם לא חוקי: \"%s\"\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "שגיאת הגדרות - רכיב לא ידוע '%s' (הודע למנהל)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: זיהוי PAM נכשל\n" @@ -408,9 +210,9 @@ msgstr "לא יכול להקצות מקום בשביל מידע על הקונפ msgid "%s: Could not set caps\n" msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: stpeprintf failed!\n" +msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" #, fuzzy, c-format msgid "%s: open of %s failed: %s\n" @@ -420,9 +222,19 @@ msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" + msgid "Too many logins.\n" msgstr "יותר מידי כניסות למערכת.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" + msgid "You have new mail." msgstr "יש לך דואר חדש." @@ -432,6 +244,14 @@ msgstr "אין דואר." msgid "You have mail." msgstr "יש לך דואר." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "" @@ -444,9 +264,6 @@ msgstr "" msgid "too similar" msgstr "" -msgid "too simple" -msgstr "" - msgid "rotated" msgstr "" @@ -490,6 +307,13 @@ msgid "" "%s\n" msgstr "" +msgid "Password: " +msgstr "סיסמה: " + +#, c-format +msgid "%s's Password: " +msgstr "הסיסמה של %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "" @@ -514,17 +338,13 @@ msgstr "%s: מספר טלפון בבית לא חוקי: \"%s\"\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "ספרית שורש לא חוקית \"%s\"\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" #, c-format msgid "" @@ -539,6 +359,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "לא יכול לפתוח את קובץ הסיסמאות.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "שנה מידע הזדקות בשביל %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, fuzzy, c-format msgid "Unable to cd to '%s'\n" msgstr "לא יכול לבצע cd ל-\"%s\"\n" @@ -550,6 +471,10 @@ msgstr "אין ספריה, נכנס למערכת עם HOME=/" msgid "Cannot execute %s" msgstr "לא יכול להריץ %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, fuzzy, c-format msgid "Invalid root directory '%s'\n" msgstr "ספרית שורש לא חוקית \"%s\"\n" @@ -558,6 +483,84 @@ msgstr "ספרית שורש לא חוקית \"%s\"\n" msgid "Can't change root directory to '%s'\n" msgstr "לא יכול לשנות ספרית שורש ל-\"%s\"\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: לא יכול לנעול קובץ צל\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "ספרית שורש לא חוקית \"%s\"\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: לא יכול לנעול קובץ צל\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: לא יכול לנעול קובץ צל\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: לא יכול לפתוח קובץ צל\n" + #, fuzzy, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: שם לא חוקי: \"%s\"\n" @@ -616,6 +619,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -641,14 +647,17 @@ msgstr "סיסמה לא פעילה" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "תאריך תוקף חשבון (YYYY-MM-DD)" -#, fuzzy -msgid "Last password change\t\t\t\t\t: " -msgstr "שינוי סיסמה אחרון (YYYY-MM-DD)" - #, fuzzy msgid "never" msgstr "אף פעם" +msgid "future" +msgstr "" + +#, fuzzy +msgid "Last password change\t\t\t\t\t: " +msgstr "שינוי סיסמה אחרון (YYYY-MM-DD)" + msgid "password must be changed" msgstr "" @@ -819,14 +828,6 @@ msgstr "%s: \"%s\" מכיל תווים לא חוקיים\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: שם לא חוקי: \"%s\"\n" -#, fuzzy, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "" - #, c-format msgid "Changing the user information for %s\n" msgstr "משנה מידע בשביל המשתמש %s\n" @@ -855,6 +856,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "" @@ -905,6 +910,14 @@ msgstr "" msgid "Login Shell" msgstr "מעטפת כניסה למערכת" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" + +#, fuzzy, c-format +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "אינך רשאי לשנות את המעטפת בשביל %s.\n" @@ -917,6 +930,10 @@ msgstr "משנה מעטפת כניסה למערכת בשביל %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: רשומה לא חוקית: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s היא מעטפת לא חוקית.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s היא מעטפת לא חוקית.\n" @@ -1125,9 +1142,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1139,6 +1153,10 @@ msgstr "%s: שם לא חוקי: \"%s\"\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: שם לא חוקי: \"%s\"\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: לא יכול לפתוח קובץ צל\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: שם לא חוקי: \"%s\"\n" @@ -1181,14 +1199,6 @@ msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: שם לא חוקי: \"%s\"\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: שם לא חוקי: \"%s\"\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "" @@ -1264,10 +1274,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: שם לא חוקי: \"%s\"\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "" - #, c-format msgid "%s: unknown user %s\n" msgstr "" @@ -1386,7 +1392,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1475,9 +1481,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" - #, c-format msgid "" "\n" @@ -1509,12 +1512,6 @@ msgstr "" msgid "Cannot find user (%s)\n" msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" - #, c-format msgid "%s: failure forking: %s" msgstr "" @@ -1549,7 +1546,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1573,17 +1571,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: שדות ארוכים מידי\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "ספרית שורש לא חוקית \"%s\"\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "ספרית שורש לא חוקית \"%s\"\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1617,14 +1611,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "ספרית שורש לא חוקית \"%s\"\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1644,6 +1637,10 @@ msgstr "%s: שם לא חוקי: \"%s\"\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: שם לא חוקי: \"%s\"\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "" @@ -1664,6 +1661,10 @@ msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: שורה %d: משתמש לא מוכר %s\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "" @@ -1684,14 +1685,14 @@ msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" msgid "%s: line %d: can't update entry\n" msgstr "" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: לא יכול לנעול קובץ צל\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: לא יכול לנעול קובץ צל\n" @@ -1750,6 +1751,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "" @@ -1765,6 +1769,11 @@ msgid "" "Please use a combination of upper and lower case letters and numbers.\n" msgstr "" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: שדות ארוכים מידי\n" + msgid "New password: " msgstr "" @@ -1802,6 +1811,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1948,11 +1961,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2011,6 +2022,10 @@ msgstr "" msgid "No passwd entry for user '%s'\n" msgstr "" +#, fuzzy, c-format +msgid "Overlong user name '%s'\n" +msgstr "%s: שם לא חוקי: \"%s\"\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "" @@ -2054,6 +2069,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format msgid "%s: cannot create new defaults file: %s\n" msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות\n" @@ -2082,10 +2103,6 @@ msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות\n" msgid "%s: rename: %s: %s\n" msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "" @@ -2195,6 +2212,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, fuzzy, c-format msgid "%s: invalid base directory '%s'\n" msgstr "ספרית שורש לא חוקית \"%s\"\n" @@ -2322,6 +2344,12 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "" +msgid "Synchronize mailbox file" +msgstr "" + +msgid "Closing mailbox file" +msgstr "" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2434,10 +2462,6 @@ msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "ספרית שורש לא חוקית \"%s\"\n" @@ -2535,6 +2559,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2617,10 +2645,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: לא יכול לעדכן קובץ סיסמאות\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "ספרית שורש לא חוקית \"%s\"\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "" @@ -2718,7 +2754,7 @@ msgstr "%s: שדות ארוכים מידי\n" msgid "failed to stat edited file" msgstr "" -msgid "failed to allocate memory" +msgid "asprintf(3) failed" msgstr "" msgid "failed to create backup file" @@ -2732,6 +2768,18 @@ msgstr "" msgid "%s: failed to find tcb directory for %s\n" msgstr "ספרית שורש לא חוקית \"%s\"\n" +#, fuzzy, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: שם לא חוקי: \"%s\"\n" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "ספרית שורש לא חוקית \"%s\"\n" + #~ msgid "Usage: id\n" #~ msgstr "שימוש: id\n" diff --git a/po/hu.gmo b/po/hu.gmo index f3ff5f44b553a082305337e705731811361eecd9..d07b7e89f5acd53fa6d3a55f4a165ad7ffdeff5a 100644 GIT binary patch delta 4385 zcmYk<3v`cl9LMqRf9+!CvYU-DdnhuCF=1@B)!0lfk>3914U%%)1KmX@3u{D10jw2Gy zbj!}z6nkM4er5$!ZsbI%`(i7$?n4^&z(_8W@#K}q0X0J3QoZmxB%6m z6_|`$F(3D14xYsf+P7@Jy@V4Zup`by-Ea+R1P#~)KSDKl9(8?MD>DxZQ6sKGHTVE> ziLJvSxC1>ri)}ESUaF&g`ADUG8&1W;Ntlj{^aXB0b*KT`;}`DydDL~OT;ySIR0qmY z9jw8&xC-_A9q8c)sF`iV0T{*Tg3P8BQ_)Dv`S5TmW??OACidcG_@z5;$uK;Qd!x>m zqh@FUYUJBc9Xfy>evJhfP4B4MAY}HfGL89H19x&lQ@R%Eob5x6;3Ie8Z|?hOPExfj z)Sf6o-Eb^wbIw2y*P=SG2X+5b*cBt$;Tmu@s-su7WByqd8^ei3csusOM)WX~dDizs zFczz@6su9YcqejiYe3!jB=S@H2|Hjc>!yaXP}dbSK^)#HrC~W5W9Z5vZV6ZzCZIU9?)Zc_G zv&}}0a3$(-c?$LYapYe118M|K875Ur!Ar3(>VB1|5zj{^!`7o3+>5&JF=S?gc9M#I z@C&lBEs+DwNG58n`=J^fjcQ;fszd8gYyU3ly6;gpj%49IY>66q57g2Wq6RR^S&iC% zHa}c3dlJ>aF7)sV{qM{3?qkgc&9oIW|qo(pW>W4oggS8fHd0pQVW3UvNL>qx@8=H<%Sc}@c zt5F@TNB*-zd<3nL$G#D9EqCx8XS*x zs2lu@`auf6)*i@1b#MYQX;y=@ZJSV!+X;7k2Gwu|z0}BykyADm)$w3GpZei()Q#1B zJx(6#hk2-mDp8wlF6s@o67~2ULv{E&)ZPd%O;oKt>h~j21DoZJ*P~|iATqF^eM&_= zi@4l>?7E{mGy*l^`%qK90oAdeFd1W5H;uds9A7 zv5lVpd@9VYm7}I^A!;vdMBV5J(ntFp)xf2F{SFR9T|WaK#9F)pQ*!+!8;g2u=V2VK z!&`6*w#0a*F^%@kqoU_I54G0Uqo!=3JO3hT367&0ID;BNum1j$lwcCa6{wC*bH^Kz zKHDyAj=wn1p=K;DkNMXZ1yr>5Ls2)Lf&~~v^>iOb<1y5de2DS*7iy;B^8Jo4;tzO`xC1~=gl+#jT(8#lee|6xzm6km&KsK!}`9XQ_R zJcgRNUs2b0ywd-DDe8W=p@%C_Z@Lg><4NR|W3k2l_rY8$TFY^mfz_CfOE40*U<=%i z%$n_W{*Btz{RjF}TY_qMCZ^#Ns5O2SSzSATdYb-0&1}}7@b7~*fQmL@84krU7(f-S zwTN}`vViZ;}3s-L@X;JgpVy81llB-}+7kUDaRTqpymuxjD`vI(^jgZJ=pkkk;BZ6umpPxOdn z5|uYd6LLFInMmr%tt5jSCKr>!KD!z6~V;lqD`?n2(U;eUjd<84GmkD1Ejz)_@@bRsX4sbmRJS*G<5kvnxn zX-#I4r^qz&47r7LAnS?BYH}UPA!Xzd5>r>gtoqLMh430-@op4hKS4r@nVl zD6ef}RA_pK_$HxcnZ=QHr@M^`Rdp{4gidA;j;Jf?)gm-Cr#v$BRiDh5P({Hfv313R Ghy4o@fwfrx delta 5074 zcmZwK4Rp`f9mnw-A|XTw@f@y5M39gavyh6Yhp1;otCU3klJHOdk^es}srsumjB3$% zsK>3N37ov5v-4o++;XDCAtu6ql`(2Fy=uEwHh<2wK2_cGWNvTI0s+CZ2St-v0J<` z?QuNzKo54n)o%Sw)FVH_7`%o}jR~513WYS>aZikGV@w?NX&8+jqz_Yu9WjV0xYhLx z_N9IsJ7IiV=X^T0qdpZ|;sVqFmmoi81HXpSzu7|}i-ud+2iqku8_dIGEW{*Sh3a@8 zYG%L0UU(P79n+hxPe+SWP?_+fI^Kfn_#lqO^Vo&{O&n*{VPCX34mHy<w(24w0Hmw*+f=A$|&LW^sWzRdyD7w;-+ z!1bt!{0)a;6g#j7{hLt~)X@Uen!bR#;WboB-$t#~ho~9VBm2pGcNS;q)l)rY8U6BW;71z(^R0=a0@aSv)gUI zgc`t~P|t0a=6oMoqb87p+G{hh87@pC|9Vgr4O)U1Q6G@C_-=$T@1ZiXsE_mEScyxi zAH)&Zmy2_;0<}bkQ3Jh%%IH1Rg!C6m9e2YP*dNtzPCEI|rI1g9J{)T>7I&d$@Q&Ml z6g7~G$mGmTWDF)MgO3kpp)xTG2jU7;Mo*wR`~o$QJE(z1^>e-(U4s*AoHQ?o_rP+%!@f>O(!9?B( zJ!qioY}5m4P@85SYUG!(H{L}iZ`$(N)9aass?S9Y`j~#IZj>R3Q=LYXk=s}_7 zV@`^*P#w*1tw43K+I2rFb)R4|ev7(4d8G5eF=(m#Fa_6RKRk|n{LJsrV#28KQU=W+ z3f*WJjfq%{kywK*aSgJ}W~=LG*qnO%(N1c6U{C6kQA@ZOwZ^r`zBIc~Z`E&5nQc18 zxxW*}>izFYK^+aiaX11a@I|7A(DAfG_&0B#sdMX0KK$8M^)*6ky^CN!o8?3@!S^V9 zXy05URujjF=Lz*6PM=2lF`=30NOCZ1@d={ZtvA9I#3AAcQB1IR!w285@PFe}nMF)j zfx{BY*i2#pp+ifdBdC=BzvCQ@Z$5NlDdiu!^~+d5=#`!4wynhHh$h67Zrdu?6F7y~ zNNji8#3X0_-?ix7)vi83{D9CarDH5{ir7GCjrR~IiH2h@g*9%)g9jT?X=p;n+zG377b%H|7$X-1_l`^?#d&MZ`X08ZnvJPjn!3d_a^D0pcY>$9STah$Jo$ zIxZ2h#4_SMF^ABxh1fy7ql$a1$90-oHiaT$E>TLfAVv^6GKrrNDa5Np9`On>fY8yI z7)cCQg=0Q(C0ycK=?en~)p7KCOD6LI=MAwpn@?wvz@_Q<6_G_;C%_ zq_@2mF{rrGS5;x@otq27r^78VCdHp^os$iHK6E;CKjB8>7^gwc51r{46*bIfs{&;e zmH|{Q$*}e*UzIJZ@&~MEv1gu53QsS|&ad>9g=gmVJ?G)1*Ym8$Ym@vXNuj!K@l6u~ zKA-iMmQ{E?COmSD!&^JNYn#wtQhP?WaQZCcPBIeL_vz%h%E-g5)>BgAsitY6a^a_( z5i06CD&mpwmGeE`k^+BqdEFb{x{xjRl-aVnP?67HcOXzw5THp3ckc9*XVlKkXd60_ zp4}*$40(!|IQjGYDtwgzCq)Ils?%&zia*KDbDIDAvW(iR{o5YtKRq(qy+1T;KyLKJ z38m%p{7$|KJqtKhUANay(neJU0tNmehVLdUJwVy(DK799&_nr>g2F=UuP!YQTsR!g iT6$q!$eR&bHsteWEdzBYz3Sgz?Ww$QxOV!;3I73d_kiI5 diff --git a/po/hu.po b/po/hu.po index 2f658bfe..d0164466 100644 --- a/po/hu.po +++ b/po/hu.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2007-11-25 20:56+0100\n" "Last-Translator: SZERVÁC Attila \n" "Language-Team: Hungarian \n" @@ -16,220 +16,6 @@ msgstr "" "X-Poedit-Country: HUNGARY\n" "X-Generator: KBabel 1.11.2\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "Sikertelen helyfoglalás a beállítási infónak.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "beállítási hiba - ismeretlen '%s' elem (értesítsd a rendszergazdát)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Jelszó: " - -#, c-format -msgid "%s's Password: " -msgstr "%s jelszava: " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "A jelszófájl nem nyitható meg.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Sikertelen helyfoglalás a beállítási infónak.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "%s elévülési információinak módosítása\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: A felhasználóneved megállapítása sikertelen\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: %d. sor: nem találom e felhasználót: %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: a memória elfogyott\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: %s fájl nem frissíthető\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: érvénytelen saját könyvtár: \"%s\"\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: %s könyvtár nem hozható létre\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: figyelem: nem törölhető: " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: figyelem: nem törölhető: " - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: átnevezés: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: figyelem: nem törölhető: " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: %s könyvtár nem hozható létre\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: figyelem: nem törölhető: " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: %s fájl nem frissíthető\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: nem tudom frissíteni a \"shadow\" fájlt\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: átnevezés: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: %s fájl nem nyitható meg\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Figyelem: ismeretlen %s csoport\n" @@ -276,6 +62,11 @@ msgstr "Nem lehet a következő terminálra váltani: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: túl hosszú mezők\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -283,6 +74,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "Környezeti túlcsordulás\n" @@ -380,9 +175,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: nem kérhető le egyedi felhasználói azonosító\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "Sikertelen helyfoglalás a beállítási infónak.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "beállítási hiba - ismeretlen '%s' elem (értesítsd a rendszergazdát)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: PAM hitelesítési hiba\n" @@ -410,7 +212,7 @@ msgstr "Sikertelen helyfoglalás a beállítási infónak.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: nem tudom megnyitni a fájlt\n" #, fuzzy, c-format @@ -421,9 +223,21 @@ msgstr "%s: %d. sor: chown sikertelen\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: %d. sor: chown sikertelen\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: %d. sor: chown sikertelen\n" + msgid "Too many logins.\n" msgstr "Túl sok bejelentkezés\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s bejelentkezés: " + msgid "You have new mail." msgstr "Új leveled érkezett" @@ -433,6 +247,14 @@ msgstr "Nincs leveled" msgid "You have mail." msgstr "Levelek kiolvasva" +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "nem változott" @@ -445,9 +267,6 @@ msgstr "csak változások esetén" msgid "too similar" msgstr "túl hasonló" -msgid "too simple" -msgstr "túl egyszerű" - msgid "rotated" msgstr "fordított" @@ -494,6 +313,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() sikertelen, hibakód: %d\n" +msgid "Password: " +msgstr "Jelszó: " + +#, c-format +msgid "%s's Password: " +msgstr "%s jelszava: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Hibás jelszó ehhez: %s.\n" @@ -518,17 +344,13 @@ msgstr "%s: érvénytelen otthoni telefonszám: \"%s\"\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: %s könyvtár nem hozható létre\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: %s könyvtár nem hozható létre\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: %s könyvtár nem hozható létre\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: %s könyvtár nem hozható létre\n" #, c-format msgid "" @@ -543,6 +365,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "A jelszófájl nem nyitható meg.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Sikertelen helyfoglalás a beállítási infónak.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Sikertelen helyfoglalás a beállítási infónak.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "%s elévülési információinak módosítása\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: A felhasználóneved megállapítása sikertelen\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: %d. sor: nem találom e felhasználót: %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "nem lehet könyvtárat váltani ide: \"%s\"\n" @@ -554,6 +477,10 @@ msgstr "Ismeretlen könyvtár, bejelentkezés így: HOME=/" msgid "Cannot execute %s" msgstr "%s nem futtatható" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Érvénytelen gyökérkönyvtár: \"%s\"\n" @@ -562,6 +489,84 @@ msgstr "Érvénytelen gyökérkönyvtár: \"%s\"\n" msgid "Can't change root directory to '%s'\n" msgstr "Nem lehet a gyökérkönyvtárba váltani: \"%s\"\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: a memória elfogyott\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: %s fájl nem frissíthető\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: érvénytelen saját könyvtár: \"%s\"\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: %s könyvtár nem hozható létre\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: figyelem: nem törölhető: " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: figyelem: nem törölhető: " + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: átnevezés: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: figyelem: nem törölhető: " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: %s könyvtár nem hozható létre\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: figyelem: nem törölhető: " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: %s fájl nem frissíthető\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: nem tudom frissíteni a \"shadow\" fájlt\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: átnevezés: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: %s fájl nem nyitható meg\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: %s felhasználó most be van jelentkezve\n" @@ -621,6 +626,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -646,12 +654,15 @@ msgstr "Inaktív jelszó" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Hozzáférés elévülési dátum (ÉÉÉÉ-HH-NN)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Utolsó jelszóváltás\t\t\t\t\t: " - msgid "never" msgstr "soha" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Utolsó jelszóváltás\t\t\t\t\t: " + msgid "password must be changed" msgstr "jelszóváltás kötelező" @@ -819,14 +830,6 @@ msgstr "%s: \"%s\" illegális karaktereket tartalmaz\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: %s felhasználó nem létezik\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: `%s' felhasználó nem módosítható NIS kliensen.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: `%s' a NIS mester ehhez a klienshez.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "%s felhasználói információinak cseréje\n" @@ -855,6 +858,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: -a kapcsoló CSAK -G-vel megy\n" @@ -905,6 +912,15 @@ msgstr "" msgid "Login Shell" msgstr "Bejelentkező héj" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: nem tudom létrehozni az új defaults fájlt\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Nem módosíthatod %s parancsértelmezőjét.\n" @@ -917,6 +933,10 @@ msgstr "Bejelentkező héj ehhez: %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Érvénytelen bejegyzés: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s érvénytelen héj.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s érvénytelen héj.\n" @@ -1127,9 +1147,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1142,6 +1159,10 @@ msgstr "érvénytelen '%s' felhasználó név\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: %s rossz csoport név\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: %s fájl nem nyitható meg\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "érvénytelen csoportnév: `%s'\n" @@ -1184,14 +1205,6 @@ msgstr "%s: `%s' felhasználó nem módosítható NIS kliensen.\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: %s csoport nem létezik\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: a(z) \"%s\" csoport egy NIS csoport.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s a NIS mester\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: %s egy NIS felhasználó\n" @@ -1267,10 +1280,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "érvénytelen csoportnév: `%s'\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: %s egy NIS csoport\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: ismeretlen %s felhasználó\n" @@ -1385,7 +1394,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1479,11 +1488,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Nincs utmp bejegyzés. Futtasd a \"login\"-t a legalacsonyabb szintű \"sh\"-" -"ból." - #, fuzzy, c-format msgid "" "\n" @@ -1517,14 +1521,6 @@ msgstr "Hibás bejelentkezés" msgid "Cannot find user (%s)\n" msgstr "%s: %d. sor: nem találom e felhasználót: %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s bejelentkezés: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: hiba a következő indításakor: %s" @@ -1561,7 +1557,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1586,17 +1583,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: túl hosszú mezők\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: %s könyvtár nem hozható létre\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1630,14 +1623,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: %s könyvtár nem hozható létre\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1658,6 +1650,10 @@ msgstr "%s: érvénytelen '%s' felhasználónév\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: érvénytelen '%s' felhasználónév\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: %d. sor: érvénytelen sor\n" @@ -1678,6 +1674,10 @@ msgstr "%s: %d. sor: GID létrehozása sikertelen\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: %s felhasználó nem létezik\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: átnevezés: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: %d. sor: jelszó frissítése sikertelen\n" @@ -1698,14 +1698,14 @@ msgstr "%s: %d. sor: chown sikertelen\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: %d. sor: nem tudom frissíteni a bejegyzést\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: a jogosultságok eldobása meghiúsult (%s)\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: %s létrehozása sikertelen\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: a jogosultságok eldobása meghiúsult (%s)\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: nem tudom frissíteni a csoport fájlt\n" @@ -1764,6 +1764,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "Régi jelszó: " @@ -1783,6 +1786,11 @@ msgstr "" "Add meg az új jelszót (minimum %d, maximum %d karakter)\n" "Biztonság: kérlek használj vegyesen Nagy és kisbetűket és számokat.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: túl hosszú mezők\n" + msgid "New password: " msgstr "Új jelszó: " @@ -1823,6 +1831,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: %s tár nem támogatott\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1966,11 +1978,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2058,6 +2068,11 @@ msgstr "Nem vagy jogosult ehhez: su %s\n" msgid "No passwd entry for user '%s'\n" msgstr "Nincs 'root' jelszó bejegyzés" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "érvénytelen '%s' felhasználó név\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: terminálból kell futnia\n" @@ -2103,6 +2118,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2133,10 +2154,6 @@ msgstr "%s: %s könyvtár nem hozható létre\n" msgid "%s: rename: %s: %s\n" msgstr "%s: átnevezés: %s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: a(z) \"%s\" csoport egy NIS csoport.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: túl sok csoport van megadva (max %d).\n" @@ -2246,6 +2263,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n" @@ -2377,6 +2399,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "A postafiókfájl jogosultságainak beállítása" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Postafiókfájl létrehozása" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Postafiókfájl létrehozása" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2498,10 +2530,6 @@ msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: %s egy NIS felhasználó\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: érvénytelen saját könyvtár: \"%s\"\n" @@ -2600,6 +2628,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2682,10 +2714,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: a jelszófájl frissítése sikertelen\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: %s könyvtár nem hozható létre\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: figyelem: %s tulajdonosa nem %s\n" @@ -2791,8 +2831,9 @@ msgid "failed to stat edited file" msgstr "a postafiók átnevezése sikertelen" #, fuzzy -msgid "failed to allocate memory" -msgstr "a postafiók tulajdonosának váltása sikertelen" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: nem tudom megnyitni a fájlt\n" #, fuzzy msgid "failed to create backup file" @@ -2806,6 +2847,50 @@ msgstr "%s: nem tudom visszaállítani %s-t: %s (módosításaid itt vannak: %s) msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: `%s' felhasználó nem módosítható NIS kliensen.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: `%s' a NIS mester ehhez a klienshez.\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: a(z) \"%s\" csoport egy NIS csoport.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s a NIS mester\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: %s egy NIS csoport\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: a(z) \"%s\" csoport egy NIS csoport.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: %s egy NIS felhasználó\n" + +#~ msgid "too simple" +#~ msgstr "túl egyszerű" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Nincs utmp bejegyzés. Futtasd a \"login\"-t a legalacsonyabb szintű " +#~ "\"sh\"-ból." + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "a postafiók tulajdonosának váltása sikertelen" + #~ msgid "Usage: id\n" #~ msgstr "Használat: id\n" @@ -2821,10 +2906,6 @@ msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Jelszó elévülési figyelmeztetés" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "érvénytelen '%s' felhasználó név\n" - #~ msgid "Username Port From Latest" #~ msgstr "Felhasználónév Port Innen Legutóbb" diff --git a/po/id.gmo b/po/id.gmo index e97d8d19c708e917bfdc6f3bd0b279276e58ce6f..d9fd654850d77f2e768b9cebac2469b7ab090128 100644 GIT binary patch delta 3813 zcmY+_3rv<(9LMp)P2>`SAR;QhAc=A-@sglOqNx~G-c!5~np)mS1w^e^ML{tQL?cbj z8)_QP_BxYQGfT5{WlNVEI<2gP)aFvxTrT_mcn{5<@qa((JkRr<%m1A7vTez^BIlLX z-kS_pEzyBk>0?YI-t^~#t0Ksl0Ib9=xDBV^Nle4oR>maZ6l{y@urtHGjMGF>$m2$weNc|PYc`=T)?f(M;^TN6Bk@;T*TZn?U63)EbksnyF$||+ zKP<)+Jc^yL5o77!__a1Bh8xMK4o09xUW8q-0@Yz1#^MEZ;C<9gBSYOC_D6L%7Kh<1 zbl_3cdlymd{Eh7~oR?$h-=t7*;26}*3o#u_kv_~x)POFc18-vjhO}`HI2{wIPqp<5 z)O$zm{fnrHc#|f+YLZX`%0#Dw!gLD#u?*Ycm&hQ^kEo2?Ma?{tyehRBd}s#aQ12~3 z&8!T`s@a8V=Ll-ge2Wgehw3<-*{I#L2=X6KA(tDP=~~nXw__Q)um|>~H3!Z^CSxkl z5BH)r(_z$rK1Q{35u@>URC|GpPS2w;71L3hx+s$TE9E8J(2G^r8~5A#Ra?J{+FS{= zBGXVA$wGFqnTt9-MaaH18?g`8px(cNK6nfHGk5qb)vdgNM+8b*P!vqn4l%HK7OAFdEhO60Jj!_MIk=f`bR;sLgQ@ z^+RzEHS)`tfq$UZKH1^U&>&>eW)kwqEJpe=TTmISL%sjKtv8@j@4?2<`yDYx=Rci- zUd%;bEJXgy8+@q29jLWCj@opmP^mwM+QpYpyWE4ks^hMxb_Sr1X%=dr1*pBT0oBfK z44{8gOF`$i4p(^?^P3(}pUn=_5-h^GxC7I%6}|Su;i!hoQRjOfYG&VAZ=*U4W^`Jr zXl#Lrn2bHpsRwx!bdKksM!wwE*Pwpew;|iXoW&=w5jE3xj82(LL9O{v)G5lrftZi| z@d#>Z?_e)%%V_2BuH?Tbg%WOPZH{3)UO;8!A!?+F-Q4$cP%|#I?nZ6O&oCS7QQwQB zk?uGewS=Xp<646x#hgL@%MtvQYz^fqij32H+VC!5@%4r~!;by;yGD ziX_Dx!eG3NO8G6+9tdSU(l812y_x8Ti&2?diJHiM)RKOR9d!P$Qcx-$phg(Mj?^)W zMIEO+)J#^OX8u01&&)@t)c$1a-o4!QWYnG-f&MrXHGl=EeyTAHT^L3G<|_(Xo9n2C z1KAn+FV!0zn2+kH5`*vvs=+T%4P8fN-~nn6gp)pPx?ZT6jM3*4X`IWPZ`QVJiPggVwfd74;7D1$E$;e<}gON1^R zw_;)*v5pu=Xb=t}L+d|>c=THENM#mfjWn0gFP3ICig<(gfY?kZbGqIo+7TOwenj(i zz!tXQMq7T>s{WgfT_q~j&DZM`77}FAEVnnSFoBpsyiKrQo31H*MiW|VUBiiIiA{u- zZ4aUS6G;>iTZq{Nm(#rIE;Q}PY|0~Ty*sWa_7Mk(sYC(Md<|tzr!^ zjc7p>63-JH7B1%hT2sOOqqB>0EU}izxA#Y&erU8~b?qiP5!$%yBeRGYODL7?i7-M} zqMN28$B(M1ASM$t?fp#LsxM8qHc5MBe*e45sO=!~hgzh*`G%M4bX=L2s~{oR%T=5Fr;n?#XKu@?ob=3p0Z>VD5&!@I delta 4216 zcmYk-3vg7`9mny%2_X<65J*A@sF#Eg62c=`FoeJokt!)*TLc4WVIh|!u-RR9vq2ik zQY)er1Vn5F0=A(PT8h-rDN|daGY;)Itq*FojvZ^q$5d;jWuV9uX8Qf@9*Sr3zn^m- zdmjID?#-*~yE~Kb4(YSoD9;lkiKAI&=dkWZ4wTPx%~ZXNV=!xw*>bGHTHK1`@wYe( zFJdVU9BfvE)u{6Z9DrfW!A|UFmb6ExtmMLWcjG+LhF!&M9GGXupA~Qzj^$W}^;nF} z?))JvACT!cI%O>+kL2Z!l=FUXc77Ms6597b^IEt z;R{%a#XPMU&p{2e5w~C)-ijB|!wPy~($;|eaRq9Vtw9Yafof+bj>3be_Rc8(df*){ zOv6j4-CoT_rG5tL!TC59SGx0O-1#xoX8X{20hN(V7M$H}V^M2g&4K-F3vd=L#~OS# zNkt93jam42qz(HFm9m_h(tBbgD#ZaLId(5d2 z6R3&)3AGd-AQMX3rF6vx@sxg8?z|nb?IdYJzWKQkDNuQOAX}qK?Y3FHXh@IL%#eLA}>; z%*HM5d^@Ux9@PJW)2Pk$8BW9j^s1THp)$D$wFlOYCI5Q8y0|bKci~KY3z?i1R+vq} zT4xl$#Q7oAQoVzfcnOu65>7PWyHVG>IA~x;oM%v*^nIL%S1ZXsledO(=?2zeHRtiV3S7^Z{xKN|~O1AHWV=inrnG=wW|mqb07y0T{r6 zI1fF&|4XT8M4hM%>_j#AB5ELS<8)NsZiG6_!@E$MYAM!W95vIUr~$l$dhUudmyJVm z&BMXC0L%3LFQ=kSu^H#$0j$N3Q4Nfql71bhqEa{u^RWrF#v4#ewHK93Unf)6z(_C89`6OidZ9b}_F4W8p zqf+}S>iPFj8OWy7W>Oqn4%$d2y_!j{K|A%!LAc8kL%($nx6@r~&>9m7!rQ zsP0#x)^Iv%kIcn-T!uHGN*lq?EJzF^o+ln7RE7|nh+3_`QZ}DZ@lwb1K^>_)OthqG ze7muc*g|NAyNN->vxG7?n^1Y0_&)KFPF&GajU=MP1MXTf>?#?!fM_RJ?o`>y@f(CP zF`U>)D4oj*&7OT_-z8K!39a$>2tFxxFQKxX$Rh3{77;3U5Q_=6hvt91e8p9tM3ye~ zjqY~Wojgi1Xzo?uV@zpQe#rFavOoXla8 zyLcaFx_Sq$APy2w5Gu1$NB(a+^HHDdW}<-@L8$a2zDleo^vze9LPUscLa*#Lf|9gH z)0Nb5kE<7B5mD{VuhE~%cZh(yQ10C7OyHM^zQi$N2l2%c;-n98H!+hKqb<9dipqgB zwzqd%?zD`&*0|T+;(H6`F7(=h@peDf`|H71Gln(CB8jM17WcRxOx;ag={+&DJ0mB3 zAra@{S%s^!0ue9K-WK)zaC>aS1kYO%NqB9Ec)RC6;IHyZLXqayaEZ4%7HLa$6^g9) zxf$|1{E$}?Zz<_LIHDjsr#%w!;;n7bkl%Z<$reLhq4VfJIJlv8Vd)2MMetBF91w#oh?l<|dmS8xzYwPsc F{{z!2\n" "Language-Team: Debian Indonesia \n" @@ -15,221 +15,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"Kesalahan konfigurasi - item tidak dikenal '%s' (beritahu administrator)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Kata sandi:" - -#, c-format -msgid "%s's Password: " -msgstr "Kata sandi dari %s:" - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "Tidak dapat membuka berkas kata sandi.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Mengubah informasi umur akun untuk %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: Tidak dapat menentukan nama pengguna anda.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: baris %d: tak menemukan pengguna %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: kehabisan memori\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: tidak dapat memperbaharui berkas %s\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: direktori rumah `%s' tak sah\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: tak dapat membuat direktori %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: perhatian: tak dapat menghapus " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: perhatian: tak dapat menghapus " - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: ubah nama: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: perhatian: tak dapat menghapus " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: tak dapat membuat direktori %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: perhatian: tak dapat menghapus " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: tidak dapat memperbaharui berkas %s\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: tak dapat memperbaharui berkas shadow\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: ubah nama: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: tidak dapat membuka berkas %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Peringatan: grup tidak dikenal %s\n" @@ -276,6 +61,11 @@ msgstr "Tidak dapat mengubah tts %s" msgid "%s: failed to unlock %s\n" msgstr "%s: ruas terlalu panjang\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -283,6 +73,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "Lingkungan overflow\n" @@ -380,9 +174,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: tidak bisa mendapatkan UID yang unik\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"Kesalahan konfigurasi - item tidak dikenal '%s' (beritahu administrator)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: Otentikasi PAM gagal\n" @@ -409,7 +211,7 @@ msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: tidak dapat membuka berkas\n" #, fuzzy, c-format @@ -420,9 +222,21 @@ msgstr "%s: baris %d: chown gagal\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: baris %d: chown gagal\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: baris %d: chown gagal\n" + msgid "Too many logins.\n" msgstr "Terlalu banyak login.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login: " + msgid "You have new mail." msgstr "Anda memiliki surat baru." @@ -432,6 +246,14 @@ msgstr "Tidak ada surat." msgid "You have mail." msgstr "Anda memiliki surat." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "tak ada perubahan" @@ -444,9 +266,6 @@ msgstr "hanya perubahan huruf besar/kecil" msgid "too similar" msgstr "terlalu mirip" -msgid "too simple" -msgstr "terlalu sederhana" - msgid "rotated" msgstr "pernah dipakai" @@ -493,6 +312,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() gagal, kesalahan nomor %d\n" +msgid "Password: " +msgstr "Kata sandi:" + +#, c-format +msgid "%s's Password: " +msgstr "Kata sandi dari %s:" + #, c-format msgid "Incorrect password for %s.\n" msgstr "Kata sandi tidak tepat untuk %s\n" @@ -517,17 +343,13 @@ msgstr "%s: telepon rumah tidak sah: \"%s\"\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: tak dapat membuat direktori %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: tak dapat membuat direktori %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: tak dapat membuat direktori %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: tak dapat membuat direktori %s\n" #, c-format msgid "" @@ -542,6 +364,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "Tidak dapat membuka berkas kata sandi.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Mengubah informasi umur akun untuk %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: Tidak dapat menentukan nama pengguna anda.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: baris %d: tak menemukan pengguna %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, fuzzy, c-format msgid "Unable to cd to '%s'\n" msgstr "Tidak dapat cd ke \"%s\"\n" @@ -553,6 +476,10 @@ msgstr "Tidak terdapat direktori, masuk dengan HOME=/" msgid "Cannot execute %s" msgstr "Tidak dapat menjalankan %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, fuzzy, c-format msgid "Invalid root directory '%s'\n" msgstr "Direktori root tidak sah \"%s\"\n" @@ -561,6 +488,84 @@ msgstr "Direktori root tidak sah \"%s\"\n" msgid "Can't change root directory to '%s'\n" msgstr "Tidak dapat mengubah direktori root ke \"%s\"\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: kehabisan memori\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: tidak dapat memperbaharui berkas %s\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: direktori rumah `%s' tak sah\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: tak dapat membuat direktori %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: perhatian: tak dapat menghapus " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: perhatian: tak dapat menghapus " + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: ubah nama: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: perhatian: tak dapat menghapus " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: tak dapat membuat direktori %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: perhatian: tak dapat menghapus " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: tidak dapat memperbaharui berkas %s\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: tak dapat memperbaharui berkas shadow\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: ubah nama: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: tidak dapat membuka berkas %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: pengguna %s saat ini sedang login\n" @@ -620,6 +625,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -645,12 +653,15 @@ msgstr "Kata Sandi Tak-aktif" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Waktu Kadaluarsa Akun (TTTT-MM-HH)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Penggantian kata sandi terakhir\t\t\t\t\t: " - msgid "never" msgstr "tak pernah" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Penggantian kata sandi terakhir\t\t\t\t\t: " + msgid "password must be changed" msgstr "password mesti diubah" @@ -818,14 +829,6 @@ msgstr "%s: \"%s\" berisi karakter-karakter ilegal\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: pengguna %s tak ada\n" -#, fuzzy, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: tidak dapat mengubah pengguna '%s' pada klien NIS.\n" - -#, fuzzy, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: `%s' merupakan master NIS untuk klien ini.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Mengubah informasi pengguna dari %s\n" @@ -854,6 +857,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: -a hanya diperbolehkan dengan -G\n" @@ -904,6 +911,15 @@ msgstr "" msgid "Login Shell" msgstr "Login Shell" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: tak dapat membuat berkas-berkas bawaan yang baru\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Anda tidak boleh mengubah shell untuk %s.\n" @@ -916,6 +932,10 @@ msgstr "Mengubah login shell untuk %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Entri tidak sah: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s merupakan shell yang tidak sah.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s merupakan shell yang tidak sah.\n" @@ -1126,9 +1146,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1141,6 +1158,10 @@ msgstr "nama pengguna tak sah '%s'\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: nama grup %s tidak sah\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: tidak dapat membuka berkas %s\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "nama grup `%s' tidak sah\n" @@ -1183,14 +1204,6 @@ msgstr "%s: tidak dapat mengubah pengguna '%s' pada klien NIS.\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: grup %s tidak ada\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: grup `%s' merupakan grup NIS.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s merupakan master NIS\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: pengguna %s merupakan pengguna NIS\n" @@ -1266,10 +1279,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "nama grup `%s' tidak sah\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: grup %s merupakan sebuah grup NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: pengguna %s tak dikenal\n" @@ -1384,7 +1393,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1478,10 +1487,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Tanpa entri utmp. Anda mesti menjalankan \"login\" dari level terendah \"sh\"" - #, fuzzy, c-format msgid "" "\n" @@ -1515,14 +1520,6 @@ msgstr "Login tidak tepat" msgid "Cannot find user (%s)\n" msgstr "%s: baris %d: tak menemukan pengguna %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s login: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: gagal membuat proses: %s" @@ -1559,7 +1556,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1584,17 +1582,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: ruas terlalu panjang\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: direktori awal `%s' tak sah\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: tak dapat membuat direktori %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1628,14 +1622,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: tak dapat membuat direktori %s\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1656,6 +1649,10 @@ msgstr "%s: nama pengguna `%s' tak sah\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nama pengguna `%s' tak sah\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: baris %d: baris tidak sah\n" @@ -1676,6 +1673,10 @@ msgstr "%s: baris %d: tak dapat membuat GID\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: pengguna %s tak ada\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: ubah nama: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: baris %d: tak dapat memperbaharui kata sandi\n" @@ -1696,14 +1697,14 @@ msgstr "%s: baris %d: chown gagal\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: baris %d: tak dapat memperbaharui entri\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: gagal membuang hak (%s)\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: tak dapat membuat %s\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: gagal membuang hak (%s)\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: tidak dapat memperbaharui berkas grup\n" @@ -1762,6 +1763,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "Kata sandi lama: " @@ -1781,6 +1785,11 @@ msgstr "" "Masukkan password baru (minimim %d, maksimum %d karakter)\n" "Mohon gunakan kombinasi huruf besar, huruf kecil dan angka.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: ruas terlalu panjang\n" + msgid "New password: " msgstr "kata sandi baru: " @@ -1821,6 +1830,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: repositori %s tidak didukung\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1964,11 +1977,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2043,6 +2054,11 @@ msgstr "Anda tak diperbolehkan untuk su %s\n" msgid "No passwd entry for user '%s'\n" msgstr "Tak ada entri kata sandi untuk 'root'" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "nama pengguna tak sah '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: mesti dijalankan dari sebuah terminal\n" @@ -2088,6 +2104,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2118,10 +2140,6 @@ msgstr "%s: tak dapat membuat direktori %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: ubah nama: %s" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: grup `%s' merupakan grup NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: grup yang diberikan terlalu banyak (maks %d).\n" @@ -2231,6 +2249,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, fuzzy, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: direktori awal `%s' tak sah\n" @@ -2360,6 +2383,12 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "" +msgid "Synchronize mailbox file" +msgstr "" + +msgid "Closing mailbox file" +msgstr "" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2480,10 +2509,6 @@ msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: pengguna %s merupakan pengguna NIS\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: direktori rumah `%s' tak sah\n" @@ -2582,6 +2607,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2664,10 +2693,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: tidak dapat memperbaharui berkas kata sandi\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: tak dapat membuat direktori %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: perhatian %s tak dimiliki oleh %s\n" @@ -2773,8 +2810,9 @@ msgid "failed to stat edited file" msgstr "gagal mengubah nama kotak-surat" #, fuzzy -msgid "failed to allocate memory" -msgstr "gagal mengganti pemilik kotak-surat" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: tidak dapat membuka berkas\n" #, fuzzy msgid "failed to create backup file" @@ -2788,6 +2826,50 @@ msgstr "%s: tidak dapat mengembalikan %s: %s (perubahan ada dalam %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: direktori awal `%s' tak sah\n" +#, fuzzy, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: tidak dapat mengubah pengguna '%s' pada klien NIS.\n" + +#, fuzzy, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: `%s' merupakan master NIS untuk klien ini.\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: grup `%s' merupakan grup NIS.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s merupakan master NIS\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: grup %s merupakan sebuah grup NIS\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: grup `%s' merupakan grup NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: pengguna %s merupakan pengguna NIS\n" + +#~ msgid "too simple" +#~ msgstr "terlalu sederhana" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Tanpa entri utmp. Anda mesti menjalankan \"login\" dari level terendah " +#~ "\"sh\"" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: direktori awal `%s' tak sah\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "gagal mengganti pemilik kotak-surat" + #~ msgid "Usage: id\n" #~ msgstr "Penggunaan: id\n" @@ -2803,10 +2885,6 @@ msgstr "%s: direktori awal `%s' tak sah\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Peringatan Kadaluarsanya Kata Sandi" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "nama pengguna tak sah '%s'\n" - #~ msgid "Username Port From Latest" #~ msgstr "Nama pengguna Port Dari Terakhir" diff --git a/po/it.gmo b/po/it.gmo index 7b883cd7ae9981d9191cc15209532bee99b8d070..8a5679f5b5913eb7b7264a26b05394a9fbc8446b 100644 GIT binary patch delta 4768 zcmZwJc~Di?0mt#fzN2CQSG>q#goqGD5n0?25o3*Fj7r6=ZIXrY zO&T?zA+?nk8=D2=u9!`262~+qt=ddyj7^$pr!&kzzrS}69slSZfA4e7UC(weesjq0 z+KYakn=yfnhV42TK>i$TOp2c|`=Yehn9LYsA}|Y6F&`^%Ddyr?9EM#OkHdN!lY~Xs z2cNX{^%zOL3B%Egp~iSj8->N}xL^;YJzz`^>e(2AMc4};!4#~pZo+=lTWtM2#!7TgO1=-o^RSHI2gv!zLMgp z!S}HM?;&k9!{{!{#}uO;G#@n;wWtwnLLOn-Q0LvS$L|ef{AsM|&G>1NWuR_24z=3n zp@X%k1{^>=;5??`UDQa#Gc3MEhAbOXh&4DH>+k~{fsZ-v{kEXaYw=JBqi_m~@iOZ5 z=uNlP;shLxxu^$KSvMh_H+ztO<~ToUz^AC|?&25>Wj^)#PC!lNbkunZa1?r~?T%ON zj+3Z{{2TQe70_+@2x>^nk@wcrq8hLTdtx)@;0e_E-(nEzA~h%&HNu0DTbq%{)OgGs z3R*Osw@2DBs7ZvKX9 zNFehYuJ=EVg61L-b-`%V4d{L@n2Er_Z;dz za3pHZi&58=qei?6J(|O<6x6fB$bvQ(?FnC@F3?if1##Bls3Dz#x^5|IHrTnb-V+!p44u)wY`$IAq{~8K;8LV(Tj$<)kxZ9ILR1apOdb$$n zgxQUn)6*D=SFAU1JM~)_j>|LMhOI$0d^>6lG-5U$_E69bZ=!k#9*B&}eN#-|9!*Czu7M z4rJpHo^L8B%)mNS%dew)@*h;s;+R17ycjhiRj8irzO&F2&*VlTR<9?V7uSE5?F2Up^0+<>`-?gyt0)zePYniw*Ug@~p2 zEY8Kg*p6!GZ7jnsOu(}7jDIYJ>hbP_H=`cdf_?B~REzH+qiuRka9_JpjG;ac2Vx~M z&1NgA$7gK)OMH}iA9~jlpR%q-jp(+C9=Bz0utOtp6?KE)N$y-Hp&qmtgKz~V;%Zcn z_M<*TCr~}QjSdDBx$l26@+mOGaS&FZ-ZGCp-mHRp){1d>7uA4($!>!j)G9B-B&@Z* zf+^H5p?dZY?1lQsZT3$Z`- zI@ALXqNeN;>VaR_-zKA)JW!FqTc^<3Paej z4s~J^YUr+@7MK1ogg^r7yi`ob=@@{kP*boDwT5<}7ULO=zz)>?LZ-X-AB7I}MHt5O z&3X!amd!R)%T8i6-oi-yCu(hUVIIbP&lo@aCAoilfl8s>@j7za|28e+3$~_vEFn9I zo^RgK51Z!o{!I(#6j?*olDCL1$RHYe^}c~@B0)so2yMS1%_^`>Br}MHK9_WFUJ3=e z-Gg?|L-fOSC>Vl4+!S`-H+)GL`(n?%a#B z$PY*r@jS!Nt3(U%Akp?bX(8)Wv0EE1C6h=#*+V`hb4W6Ik=(z1Xe)Yy=G}MT9OVeo zN{*@jbMHI&6y->w4~yP?ZDlUL|E+AHe2Kh5-XqJ&+oY0cJ4E)AYvgz2D%n7^>09t5 zIZhJDd=jehPo(e|aR{%f?+*|7J|d4}lqzh?$Qkl`QcHe9o+G` z+cvW^h5X1Kd{izXPmq18*zLDi)Lp^dWS6ZE!gP{Fo+Xoswrymg_fE_h|Aw5{67SL2 zv3}mz_#}VtioPv@-mwXOA>OqqJ43zwGL{B5?0$HGH)X_rKX2#ATmIh6oVS9!Q3aoc OdNYf^3vU=PGylKX0P7?G delta 5442 zcmZYC33OD|0mktg2oSPBf?)|uxCCNYLLfx;ugfNWu@ zR6)RnMJ+H|pcI7wO2JxGN|8;w(Bc6VPfL%qp#6XIUOXIqC*S<;ee>qNyS;~gx;g6R zD^Z~B8Jl8Fe%%6FVH)P4Ix-Xc z<3`koFJVi(h3Zf$C-u9oXmK)XhC*1M`(^9|{RI@|$MaXjk!G7Ra$6%;J)Lfz=JTfdI#X?!DRB<+zu zGmH;4I1Mc>LoL~E?16_+?c7GTi%DS=8ek?`9DthH!p6+Mrf@AMw1x*z^{eg$ar90X zc1DW@sOuJ?rg$%E#x7tp{08Z>Nn)7lcqUpLg*|a5GAU*cvOmqKROVkdyut~sQ8eAw z)U-l6Z~CAvoP_#*Ch7(oP@8fus=;HZr{gkOjOIffNJq6l1Y4sYH6xo)9e*=KfemUZ za1NfwB{-VlDU-l_>$)tgiT!a9=Aj;^4X6%p#m;ybb)#FZG4zH>HI0xaO&3%L zLK7+Ihkope%Tdq!3DlZ?jJohI*a`pR*4r{2s`o{8WG?D4JL-A{`7@vM!EP#yRN>*@J78O|oFkNlZ_eCS3qP#su_>?^Yi)sd5^8(u&y$yL<#|3f{F zsq9S6Tu0Pi8G!1@W5^}uX;epdV2bX4k%BI~g=#plmDAHks2Ryct>rM($R@kaLj7)~ z>rT`Sj-$mJ$ZDB{*3PRp8`a^SsDX^bP%jFF6!Z>%4fTVws2hHVTKhPjLH*F8ro0ns zEk~k8=0hGJv%>v;H|qN1ZvBGmzfdz8&oivwwajGxHFbkIp&!h^8u$!qmp+GTcsEwV zQ&) z_ac9086WJ=kU2_$SvS{FYnsCAOD~QdsJ$@-C*We#nqEdV7~RGBHy{%=wc}AE45CK9 z2DKO7LS28>{r(PeW7B}QU51|jz7+I>$5CG_K~3dew|)t=2dZ~7hGjK5sQ1BC)QuOQ zZnO>6@sn5=zrrzCm1)z=Jcv5K6jN|BHsk*000pi!7m)pB>N1}_u|KN55Y@mw*T18d zs9q0e2D-TBqn?&!sNd~GU3VTeu>YcFq6LkQ!r>Uw2wtMl1P`M|co8)N@x7dx>5LlT zIBbYdpgOc3Eq;LY@ftQp)7#k-O;AfX5j8XOk?m!+VLv?AoB3A{8}@M;%0=~b63)gY zxDbCp+BOUOIwL-Y+AB9O0TXGh1XEE{y9(9Ooj4AUV=AWfcb1?FHlv=`Kjhr7gcA)o zu?f}VFtY6C9O^ku9N;{5O;Iz|0ojLU6l%mv-TJFIn)+o-#C8K6d!uG_G^%6sP&2VH zL_rOl#zA-unSIlqN*(lLHC%w|@lsR+yHIbk6R44Wixv|HJMWEb)O#Qoo1zahaE1H* z+o%DC-lI^D!fjMX5{EcFYm3_T`Pdv+y6(et>gP}+yn{)YFw}XBo1!+~2u#L#s3ls1 zTAD4W4j)817&7N6(1wW_=8S9%-cP*<8{s7sI|*Mb?9NNic2sN zm!me*i>OU`2IDY>ov8MbQSJ9bi^W(IS7C^MC(H{Jw8kG|Exd{G_ycNh#Pb@fjmXFK(V@qg_m3$ie)2rw(D%(VK@1rvWHcuXm{(VPJT}= zs>1O!S*HTWK;k3wRdJ88_zcN(>vM1}>EqV5DWl!;OSp_oCt*@~|H%J>zr~3UiH^6) z6~a?f0n_EZOQfV@U75gqSW-v5+SkL>Ca z%1y~TWFZ+wj*vf*Hsmr15-)jz==hvGM)Z_SBp(rN=!b}oB65~=A>~BJpGhN){{afm zkqe{~`5n>mu7g>M{m4|eJ`IPHTyl_nOv*?TqNAEa46OUv#)HSzm%&vU*Pk4ip#RXJCplFrB2T; zp60Q^fTz?(e&;WaG*@}erMlTwI!!C}2TN>vK#k@{zK)!UHR*wF*7>sXp7(qmuHIl@ zbgXki?T24)T&G4azYUfZl~_7ZIycMOhx|cX6bzJE&m2#IP4oGud5hC*VX40;GBTfk zwudi$o>?BBO$$s<3-52fE+)3j@3#SOQHjqJ9-8TiPCmB7dVTjygL+n8)V)D@Mf+i` zD|V*`Dh}D7USmrb^2{L3`+uB~8rj>US{M1JdJDY;`K2D~%LtayQ;&7q2n2oZwYphW z`H>DO;k_L$RVnY-F)5K71dExDU`dHzUzfM*SpR1y!_RiCsFuKWZo^y`&gp(LW>B6d z5C|6M+gbhsmV+tEvI7F1X+baDsMsBu7X~pk-{;G>f$1Kf&rbDPpO<;@`E7~!*g-ob dKM?ST)B68AwpLlGU!4eem?CdMdGg3!{|Cz?v8ez6 diff --git a/po/it.po b/po/it.po index f54f0878..cb379b7d 100644 --- a/po/it.po +++ b/po/it.po @@ -25,7 +25,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2008-03-27 14:40+0100\n" "Last-Translator: Danilo Piazzalunga \n" "Language-Team: Italian \n" @@ -35,224 +35,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Più di una voce chiamata «%s» in %s. Correggere il problema con pwck o " -"grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "metodo di cifratura non supportato da libcrypt? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"errore di configurazione: oggetto «%s» sconosciuto (avvisare " -"l'amministratore)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Password: " - -#, c-format -msgid "%s's Password: " -msgstr "Password di %s: " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "Impossibile aprire il file delle password.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Modifica delle informazioni sulla durata dell'account di %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: impossibile determinare il proprio nome utente.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: riga %d: impossibile trovare l'utente %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: memoria esaurita\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: impossibile aggiornare il file %s\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: directory home «%s» non valida\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: impossibile rinominare la directory %s in %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: impossibile creare la directory %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: attenzione: impossibile rimuovere " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: attenzione: impossibile rimuovere " - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: rename: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: impossibile rinominare la directory %s in %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: impossibile rinominare la directory %s in %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: attenzione: impossibile rimuovere " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: impossibile creare la directory %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: attenzione: impossibile rimuovere " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: impossibile aggiornare il file %s\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: impossibile aggiornare il file shadow\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: rename: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: impossibile aprire il file %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Attenzione: gruppo «%s» sconosciuto\n" @@ -299,6 +81,13 @@ msgstr "Impossibile cambiare i permessi al device %s" msgid "%s: failed to unlock %s\n" msgstr "%s: lunghezza dei campi eccessiva\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Più di una voce chiamata «%s» in %s. Correggere il problema con pwck o " +"grpck.\n" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -306,6 +95,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "metodo di cifratura non supportato da libcrypt? (%s)\n" + msgid "Environment overflow\n" msgstr "Dimensione dell'ambiente eccessiva\n" @@ -406,9 +199,18 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "Impossibile ottenere un UID univoco (nessun UID disponibile)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"errore di configurazione: oggetto «%s» sconosciuto (avvisare " +"l'amministratore)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: autenticazione PAM non riuscita\n" @@ -436,7 +238,7 @@ msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: impossibile aprire il file\n" #, fuzzy, c-format @@ -447,10 +249,22 @@ msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n" + # NdT: Riferito al numero massimo di accessi concorrenti per un utente. msgid "Too many logins.\n" msgstr "Troppi accessi.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login: " + msgid "You have new mail." msgstr "C'è nuova posta." @@ -460,6 +274,14 @@ msgstr "Nessun messaggio di posta." msgid "You have mail." msgstr "C'è la solita posta." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "nessuna modifica" @@ -472,9 +294,6 @@ msgstr "cambiano solo maiuscole/minuscole" msgid "too similar" msgstr "simile alla precedente" -msgid "too simple" -msgstr "troppo semplice" - msgid "rotated" msgstr "rotazione" @@ -521,6 +340,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() ha restituito l'errore %d\n" +msgid "Password: " +msgstr "Password: " + +#, c-format +msgid "%s's Password: " +msgstr "Password di %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Password sbagliata per %s\n" @@ -545,17 +371,13 @@ msgstr "%s: telefono di casa «%s» non valido\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: impossibile creare la directory %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: impossibile creare la directory %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: impossibile creare la directory %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: impossibile creare la directory %s\n" #, c-format msgid "" @@ -572,6 +394,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "Impossibile aprire il file delle password.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Modifica delle informazioni sulla durata dell'account di %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: impossibile determinare il proprio nome utente.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: riga %d: impossibile trovare l'utente %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Impossibile spostarsi nella directory «%s»\n" @@ -583,6 +506,10 @@ msgstr "Directory non presente, accesso con HOME=/" msgid "Cannot execute %s" msgstr "Impossibile eseguire %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Directory root «%s» non valida\n" @@ -591,6 +518,84 @@ msgstr "Directory root «%s» non valida\n" msgid "Can't change root directory to '%s'\n" msgstr "Impossibile cambiare la directory root in «%s»\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: memoria esaurita\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: impossibile aggiornare il file %s\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: directory home «%s» non valida\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: impossibile rinominare la directory %s in %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: impossibile creare la directory %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: attenzione: impossibile rimuovere " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: attenzione: impossibile rimuovere " + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: rename: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: impossibile rinominare la directory %s in %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: impossibile rinominare la directory %s in %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: attenzione: impossibile rimuovere " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: impossibile creare la directory %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: attenzione: impossibile rimuovere " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: impossibile aggiornare il file %s\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: impossibile aggiornare il file shadow\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: rename: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: impossibile aprire il file %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: l'utente %s è attualmente collegato\n" @@ -658,6 +663,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -683,12 +691,15 @@ msgstr "Inattività della password" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Data di scadenza dell'account (AAAA-MM-GG)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Ultimo cambio della password\t\t\t\t: " - msgid "never" msgstr "mai" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Ultimo cambio della password\t\t\t\t: " + msgid "password must be changed" msgstr "la password deve essere cambiata" @@ -857,14 +868,6 @@ msgstr "%s: «%s» contiene caratteri non ammessi\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: l'utente «%s» non esiste\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: impossibile modificare l'utente «%s» sul client NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: «%s» è il NIS master per questo client.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Modifica delle informazioni relative all'utente %s\n" @@ -902,6 +905,11 @@ msgstr "" " -s, --sha-rounds il numero di passaggi SHA per gli\n" " algoritmi di cifratura SHA*\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: metodo di cifratura «%s» non supportato\n" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: è permesso usare il flag %s solo con il flag %s\n" @@ -952,6 +960,15 @@ msgstr "" msgid "Login Shell" msgstr "Shell di login" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: impossibile rinominare la directory %s in %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: impossibile creare il nuovo file dei valori predefiniti\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Non è permesso cambiare la shell di %s.\n" @@ -964,6 +981,10 @@ msgstr "Cambio della shell di login di %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: voce «%s» non valida\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s non è una shell valida.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s non è una shell valida.\n" @@ -1187,9 +1208,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1202,6 +1220,10 @@ msgstr "nome utente «%s» non valido\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: %s non è un nome di gruppo valido\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: impossibile aprire il file %s\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: nome di gruppo «%s» non valido\n" @@ -1246,14 +1268,6 @@ msgstr "" msgid "%s: group '%s' does not exist\n" msgstr "%s: gruppo «%s» inesistente\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: il gruppo «%s» è un gruppo NIS.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s è il NIS master\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: l'utente %s è un utente NIS\n" @@ -1335,10 +1349,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: nome di gruppo «%s» non valido\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: il gruppo «%s» è un gruppo NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: utente «%s» sconosciuto\n" @@ -1456,7 +1466,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1551,9 +1561,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "Nessuna voce utmp. Eseguire «login» dalla shell di livello più basso" - #, fuzzy, c-format msgid "" "\n" @@ -1587,14 +1594,6 @@ msgstr "Login non corretto" msgid "Cannot find user (%s)\n" msgstr "%s: riga %d: impossibile trovare l'utente %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s login: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: impossibile eseguire fork(): %s" @@ -1632,7 +1631,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1657,17 +1657,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: lunghezza dei campi eccessiva\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: directory di base «%s» non valida\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: impossibile creare la directory %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1700,14 +1696,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: impossibile creare la directory %s\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1728,6 +1723,10 @@ msgstr "%s: nome utente «%s» non valido\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nome utente «%s» non valido\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: riga %d: riga non valida\n" @@ -1750,6 +1749,10 @@ msgstr "%s: riga %d: impossibile creare il gruppo\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: l'utente «%s» non esiste\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: rename: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: riga %d: impossibile aggiornare la password\n" @@ -1770,14 +1773,14 @@ msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: riga %d: impossibile aggiornare la voce\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: impossibile abbandonare i privilegi (%s)\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: impossibile creare l'utente\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: impossibile abbandonare i privilegi (%s)\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: impossibile aggiornare il file dei gruppi\n" @@ -1845,6 +1848,9 @@ msgstr "" " -s, --sha-rounds il numero di passaggi SHA per gli\n" " algoritmi di cifratura SHA*\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "Vecchia password: " @@ -1864,6 +1870,11 @@ msgstr "" "Inserire la nuova password (minimo %d caratteri, massimo %d)\n" "Utilizzare una combinazione di lettere maiuscole, minuscole e numeri.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: lunghezza dei campi eccessiva\n" + msgid "New password: " msgstr "Nuova password: " @@ -1907,6 +1918,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: repository %s non supportato\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -2051,11 +2066,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2142,6 +2155,11 @@ msgstr "Non si è autorizzati a diventare %s\n" msgid "No passwd entry for user '%s'\n" msgstr "Manca una voce per «root» nel file delle password" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "nome utente «%s» non valido\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: si deve avviare da un terminale\n" @@ -2187,6 +2205,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2217,10 +2241,6 @@ msgstr "%s: impossibile creare la directory %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: rename: %s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: il gruppo «%s» è un gruppo NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: troppi gruppi specificati (max %d).\n" @@ -2348,6 +2368,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: directory di base «%s» non valida\n" @@ -2479,6 +2504,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Impostazione dei permessi del file della casella di posta" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Creazione del file della casella di posta" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Creazione del file della casella di posta" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2605,10 +2640,6 @@ msgstr "%s: impossibile rinominare la directory %s in %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: impossibile rinominare la directory %s in %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: l'utente %s è un utente NIS\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: directory home «%s» non valida\n" @@ -2724,6 +2755,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, fuzzy, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2811,10 +2846,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: impossibile aggiornare il file delle password\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: impossibile creare la directory %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: attenzione: %s non appartiene a %s\n" @@ -2923,8 +2966,9 @@ msgid "failed to stat edited file" msgstr "impossibile rinominare la casella di posta" #, fuzzy -msgid "failed to allocate memory" -msgstr "impossibile cambiare il proprietario della casella di posta" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: impossibile aprire il file\n" #, fuzzy msgid "failed to create backup file" @@ -2939,6 +2983,49 @@ msgstr "" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: directory di base «%s» non valida\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: impossibile modificare l'utente «%s» sul client NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: «%s» è il NIS master per questo client.\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: il gruppo «%s» è un gruppo NIS.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s è il NIS master\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: il gruppo «%s» è un gruppo NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: il gruppo «%s» è un gruppo NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: l'utente %s è un utente NIS\n" + +#~ msgid "too simple" +#~ msgstr "troppo semplice" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Nessuna voce utmp. Eseguire «login» dalla shell di livello più basso" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: directory di base «%s» non valida\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "impossibile cambiare il proprietario della casella di posta" + #~ msgid "Usage: id\n" #~ msgstr "Uso: id\n" @@ -2954,10 +3041,6 @@ msgstr "%s: directory di base «%s» non valida\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Avviso di scadenza della password" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "nome utente «%s» non valido\n" - #~ msgid "Username Port From Latest" #~ msgstr "Nome utente Porta Da Ultimo accesso" diff --git a/po/ja.gmo b/po/ja.gmo index ad97665f5e42a1e8e17a8c8f679aeee0614d0af7..9a3c5ba680a85bd035db6be4673b2397ea1398a0 100644 GIT binary patch delta 11684 zcmZA72Y4058piQCAwWU`gwRXiKp>Qm(4>bDLhrqIDbf^BK>9&ILX{FC9RvZ9szgx) zq*s+HN)?f=Czhs#no_YEwc`P{##%2KLtB%A4eVms*A%;{pW+bjgPGutE?0MVa8{}({T_!KR(Jg9=KJ|1C1vU5%8Kh|xZ%5=q zUFb0;U=4<&cH>d`15}4AkkG`8MXJmW)C@gAb+|UY=h|jIj>1!@0X0r!{x!9;7_NH$ zJ&wl~Ty+MXK;@n5*eSe#Z<6Ps*CTKaYAQ2wUv$A%s9Us{Kim~_6^CMOcB+0FYAu{Z z&3HrupY6#Yh7nE0W~_i0a2RHxcbcI|s1Y1RbvOf8RecN8RKAOv@>9s|HJP|C37CkQ zkx8ib`%yC-OfS@dcprt96lS5O`U-LvOe8m6_o^rAg3C}RxP>$^F&upvN2B(4Xl~cc zD%6bKz&zNS`H#eL7>X+~3^!v@^zC*#t~=8(6FZ(^5C+q`moXewKOD2-1PsJEm=RMj z8!p2b+=9jMGUms0t&EAqLYM=aVPQT0y(p;R+o%IKxcod8Cx4C_LGjkcl*Y!G4@aW* zCu1Spfx6H|W3r5VxUj?OD`Jrt4ylkL<$yYf;prLXX#Q z)CIPpI&utk53iyZb9A*cP!V;a9;j730dwLSR7ZB8I(`zf<3m)3Gj+4|F<6egbvNeU ze~+k8Pd6a%7;_BsVAk$-s!L!#@|LIz4ni-^MV)vnYH^;$S{Ts7S_gH{r=V`xdQ`hJ zsPh|NPy43I>uiqN@iuBEmb-i#>K>m!o#+v2q~4e98?Ykk4L1QR<6+c$;W=tx4SQMp zp$3qIwb8ecf|tU5%!}E2+o_L6bs!Nn@=jO)hocwgVFae4+MU88cn5XC&_1?48g<^< zsPbVabXf2Cg z@-C>3jl&YS9!ugG)X4uqt(km-Y=_FAFNKQQ6z1c3)KtFqs=XC+Q1|Q;m!Ed|Lzm}x z%|4D*P*dLvy*M3po(&j}-(W2a9c&kAGt>;E3}*hdI1W*vDf$ru@DJ1sJi?+FF~luK z3?}b{S_8dN$4x-Bn~z@Hj_SY#)S7vUS}VDETSa3v)C~0<%KU3;XH!uIw_rBBg1VP! zsCyXrx^0&qwMeU@PS727p{Z{Fdenf9p=RVddNJe;dt7PMz*@L`gpWcgDi*sP2T=$9 zf_jX?huNN&Lye>j>Rt{;U1%nT<66vt+fi@A<2VwpV-j{9Zok;vKreaT5w@ML8ihnE zTA-#j8SCRR%!D^kQ+*%xVhMfIUa*d{J*qd1$vQ1Ke-z*MY+M^H2I+|@^ovh~$b9ef?L;1|xLsI_wrwH7X75Sr0;CWBEOErDTJ z7pv&`Z%08VnvLmkIjZNYQEOojYVn-L-1sNv!OUaq3`Jpi@^YyCy-{mwENa9{F+Z+D zt(gPp#a}Uu>zgcN?IJ6L+EEF$O50;`oP_GY2Gog;qaMqjQ5_5#XFHM)b?=Lz7ISsf zaRV_IzJpr4Yfx+JDEc&2w<*ZXr! z@+DXZx1rj7hnlHpm>0`UVE)yx@dP`9zUU<%in=B9@D*H%TIIoS*(ol7I^j!L5WBeg zF{tw;J2#`+9Yrsup=Ka_qCH=wiS#6tiiT8ZirS&3@Kw~*PQr4S;yjEs$sc0@tUAel zvuTGq@nlp-*P#~k4%GQhqSnk!)N#+T5Ek%Fwj+o`?dXg}a3ty$EJ01xKIbLW8hD60 zVffp2#L*Z*UJsjKZ`6f9MlH(2sP;-F~o`OzT4Ev%kJQHc>GwUd*XD2Wt-gfzY)Kd^V)y_;s z)N|Vkb-`Y!6Tga$aTJ!ugIE$Dpw3%hnq31Gaf*jGAqG)@eY$?o;Qs$gK_|M0y0=fT z9#)^hYZ)hEUyPV(-(-_fx9UsOQ*jXoW9Tftq~KWWjNf4!EdP!*31^dE!VWlyq$Srk z2UWn_bC@RVk2>%GCScyV^cp*%^3SmcK1Q|gG>>-$eu}Lzb21;n*c0iSxr;0pGitsa z;4{>5@hQxIGYX3+^uXJA2OGZ2KS;5{0v;{gi#@R5Lc6$psN=qN=3itxFaQ&&--nuk z^h}?>BiNGsE^6fQOYALMu!Q;VLB%yH8epBJ_P|;AJNX^tKXZARJz(^5J2Qt+Q<;B- z?Z^gfLH;*3#K!O05vHKddmou~Q+1_1&k&$drWvBQCYU*phZ+pBDHPW9^ z2UK0nXFX2Dni#Ui9^V*s3(jB{j9$z4J)DZnzRC9i|9ZmBsJ!bs`=OWSqcDYvN*~&u z@4`Cd8Q0tTCfJ<(3~FSN8|(#NMP2YuREL{xpjdA2lPy;=OYS)9_ zXh6OL6m&r5E%t;1Q9JgdMjrZ+owClT4t(J9G;Bp)<74}AJO|a0bEu~vW~)6e3G0)e zL9LDasdi?&S$*as3R)BapKt=6&(7GI{G(58!@zBJ%GzNS>VL+H82Oof3_D^z@)1}D z=VEr;i(z;cGvQ6lf@#ePmmkC$=%QXSe^V+EQ@LA#UeZHQ&AfSlCQvi z7_!TLoDM^^|G;?;>yih5X}_{H#{}{uR0ofs2H@Gv{nwPmQYeqzuqw{QV)zvn#59b@ zus!zIuI5;jd^%RfEvOUU!b<4fYk#n4kG05WVhkR~<@gk}mX_>e{u3zN*k`9CYQOzg zX>U~hI;??rP$wvUz`o1dqB<}R)$vuR6P|SzI%wYY=MDa+11__)ozG$BQ_jLR{bMqEG}cyB+4dJ)k10VIQo5i%}yw zgW>o$mc`5$?8xG=D0x5ZfU__HZ=#M1yl7`I8g=X5MW04~!BvD^vL8NeFoF6-=+%BK zfKN~($#dCuxB*rrABd%J4c5Vvu0H1v_C?ej)h-3Scmg%E_kUpib?+mu*cVHC=R7P) z{WlnokFYLQ`q3`Zv8cy!Hx|ZQs162S!F8_NjOoHAAaW_xu8CYBS!j-wAu*K=Q-b8Y|qiw<-yv$@gFY-bFnn_fXfV zcFV4%{yqxXsF;PC!W9^W$FK&bVH}oWSaJ}Szz;DIPh)M&dB?tbJEBH52Q}gYm>>T{ z%}}@*2BG634?yItGXtt$3w9YzK80-9@JX6gGDg!U3&}TP#t;` zb)Frr{sF3EF~8dL_QYa({*x&bXUBHb0asm~hZ|UmJOOp!KupFJxE3qiV>a*t>bUy% z?Uawle&p*hD`ro#?~_Q>Q?nNJRBgwedj5Z-pheW;fjzqU4kq7;5?^y|K zK;8s%VhU=CH(*aZj7eDX4|@wfMlIr>Fd7U0Y3rL}Jl8klDZGNaFgF%^Xy5TQP>ZJn zHo?wV5Z7S>9!7OA=#jmb30Q~xHO!5v7>r+`X80_sqyL~flJ_s>KY~JC3c82AFdI(6 zR=5zo_zT8h=wth_Sq&?Y*T=><1{3ixYNj&%Z5MGVOdxNGm2n}WCry}-= zZO{{SZx*3$$#K+$?xUu#=u_LS7plWcunK;OI?p4Qm-@%n_rku^FU4w@?wOsTc;_Vj z5}_SOTt&L)_W5ss*{PrGT!^ezvk|rGPh$-XFdqN&pMaX;ji`=)i{bbXD`K$6fXDxiE{p0&Gt^X1!>afh#$g&(!q{{k|KjU|HOV(Se?wg`Hqhh$W>X8* z(PkKn<54rY33a}!s9WYMnBL?6;?NV-U<)?KYp6w1A%n-i2D)QO@(HLH%X(D%i>MQ3 z&1gH+1a;w=F5ii|&{LP!46-BlAv5MPt0}0#*H~I73buJ1>cl>rfICqmsgcR!e?<>M zbzmK8rY<>ig?Rk`aA|?6UxDiQdCZ6DLOuSk_XV-Cp8qHc8c{dQfU_|_zKeS7wqjF! zj%wF5v&aA2&Un-FaymzWik;u!YGOTQUh&4m1s}UMMezq>1oi*Foui@>p^s<1 z6))0m8}W$PO|Gp!^PS%7t7WX77#9{7S`HVmgt_?WC>Ydx-gnT#wF7S3iMrdLo7V zAEF&)Z7~+Jh&mn`GnCM~L)+_=wPhkwiJIgos_<`&|2x;<9aq&A-yrh4`W5&AId541 z7m$khJNXm0f1UGX%;CzJ7~OW-v?tfMp$)`H%J1Z<#JlY4P4pt>DEuvGPx-&sH)C}WmD;X4^^;6T zTV;0Q=j7w?Z>*0kT)R%ruc>=T`8n3YaYRlxsC<;KQJ>l62mHUkQlU*Blc5Bk6DCpz zQP%tVAEF4kwn*Z>zhwX1g?N|$ifxE5h^nrAVSJnXC{82h5m~wTE_{zT=3)H76nYY? zX_!PDATAL9-L|to$o1Mw`A2px!yB&A66Yt*7raTE?k;(o@)e>Up-i3<~$Y0 z@CTwT@nXwLp^Qsj!7a4=nJ7X0LL4S8Q9l-&5yM>D&A6Xj+Xv3(&eqiJr5sPJBz)-^ z)f*H}6Z%%GttZimm`GhZ_J2!x7V#5#NuobxeH+sD3z3~RUs115H-qa5Z4;a}V*nJo zQun^AFRuH)&+R?_q7~L53jW{0KJq-S?lor?+UX1HD)NJlJkaT-E`ahG z{0*Dv{(nMYF>!*>7VT7dl>V?~b9J{V|K-YEur5)@<%ii9NBL!Ji}i`BlwZN2n1fk* zu?12tK>an1N?Q+NJduZ3Nh~K$6557a{J-VDM0vD3rX1x&%D0F_$^o2ooojoXx|>8e z@fLMEZ~(R>uDUit>(6B5z}YIWwIHg|SX(pVBVrJFU;LPuOZ-IW`}_^+za<(GSvbcL z>RuyWCC`g%iAjVmvVgiZ*q+!=Xv+}5t_tipL{b@_VQqX@d)cNF^U1aSj-`p~L?7}T z{#yGlq5_noh#u_gjDf^dq8jmHdqm+c;skNtRW8x}uSwF11Jj5dlw*l6DTfe+T*DXK zr0_bim3=|P$HY6t9U=>%tqbuUvE1d|ogJt-3X zB|k!hke{|y|NebO{XOCVH4}+Ul(o&k6*!0pq&yEJ+`c3yRsPM_>O~2&6AOs zjXV73fC|(tA{r9esShQZP!6SY!zkCKe4WToTp{idBZ)rg*8+T zAPy3v$;-J$Rq!nNC6~WSxjN<9#9qpmF$lHQB3>fbR+Jb{xh#=^a(Ut_;(^;w(f`}R zTb^(g?Y57d$%?|W@}{ngNh+3{*!odw-!>7MQnz#~nm+Y@ud<%h?tQKVr*<6tAVX^Z z5r@*J4jFqdICa#N3W0&c-{|vt^3tRRsp)3iEt?v?bG9e-`mXF*lOOGgO`fwOL+YE~ z#090^Jo|+wHRHL{SyI#8nwKg0{vUy<`_iTbCr3QVnq1~-hScLvg2O(08sZ5E`Yc-x I&q&Yz0EySkXTkP2TCrHfLTZug)s8FkF#!Q4HYSvE@o6?F|T8dJehN{+HwMwn3 zY8AgK9Y(2^>gE4>|IX>X{*TAK-^cyrc|PZRzTfXz-*4jHJ9TA-85=TquLfmUU^q&p zGo~1p$z#kV%9VmuYs~b@#$>@67=ZII8_vhlxB^4)F!sh@us%kF8AH)b#e%pU)&3L? z#rxRa7_aGBg~n8@#}W7kHo-wvjY+_D*c6LbGp087L7iWOt?@FB!rWg3D2PMS7_zT#uviHolI1SPxC*CDa3h`Jp8mimZ~^h9mKotM5*4wHH>P zX68<7ukA@gdQp*ziC6>IVbahdcZ@}jS9YE^Tw#WKdOVX zP!HIK*BB?E=Jw&FzWhWQ60?HgRdx7bhbfnT`C4qU>}(k&iknP z@SesLz_FMU-$IRGIchTOnu_NX+r7e{GEyi;&MpJ$MV2z%Nis{OhaCzeZZ5 zm%TxK)F$bL4RJQ=0mo4txsKKGF?z7#Yjy_Op+-I$b-z`p-F*o2<891`&rk!%+nd08 zy}kCqkyPl!2&{$+U49Hpkl#hVMJ7idySANBQ$7s+BSbxL3wrPZYDONRHfy22_B+$U zISsYfj(aKSMt4vR3$Vb2uo>3ESDo`*{V~*xTzB~s)LIAixA&=!8fkyz8)e2|F+7C& zGG4JdT_ph zwtY1$PTmRCZUhGF{hv-j9oXPboIu_92I_*p(St<>*^V?oPvXic?Dl0 z{{{8Fmmg|7+yiz0aab1Dy816Li07L-6tw1Mn4QYPsNGo=J=h#|!)UCC3sE;Zh`RA@ zm*=OK}l3GmlW$7f!U#Y3ik*1_Mwdnv9x} z_t1k!P#6A)8d=~dn^#3mVP{mm7j@kSs7-td)$w0Y1IhWiUDEQXrD=(Jo_7ER^>`xY z!?!U%uE8<58>eBd(e^K+J?J6-4b?7)MoqCCYKn(pD;$M^xCe{kF|30>pq^K3tY5FG zLP49YDQfC_qdJm=x^N-Z!;df<{))NqG3s^8GR}UQTcWO;g|%@7YDO-(`e&{_?|9q6 zwwP1z|2%(zzui!qXe(+@q+u5P8a1WYQ5`iC?4MA@F`P6E>tY=0x8#SI5qDxy+=JR1 zm(jl@SdcvD8@%>B--J-mR5ixx*cR2`4bOQy7Tbx3AdZ8YcLUp7DYHb^#c6Vpgg_BVaSc}?}d$9!GK+Rad zBx?w^CXYZZ!F*H)K102}K2&|aB<5cg4U%kw7}VO%cdo`F;l|s*T!$>MLl2Pu&eAEp$IzLCXyMZ1IoNQ;H zBI<@6Fgx}`%}^X_2B)HCb{ST~&CYAsm^{ck#crxjSec4AERFA?ZhQc>t1qB#_!Abw z=U5C2O|>&q3k#EXK@B7hb$$*8;|2`D)2McjoZej1>}DvBx^WBC$X`S4jj`Ac7oj@v z18Q^rg=!x(-C7Z~shXpfst@YHlTb6V3U&Rbm>IvsQmmBunu2=#7iPr5Gwg??Bx)wg zqk0~RdSD{zZFm#Q;u6$@_o3QdLA6Ua(>|yuDld(C8ycc!W-#W~`#*(3Rw@>vZoC2m zaU(|HPSkJ7^t0@5$Ev6s_P|g~z^MVoEX6G3!Ef6CrlcZfBd?5F>w4G{$KpG<9|!V$ z({qmf!W~5Q>~GXtQFt!vh;6Yueu_OY-&?$rIKp`ZIc18x?f)l)S&uK1r=Mr-f<4IB zqOMDqYCl|E(c6oP#jfHH>_c8>zP(^Eb|rs^Q5dm+R|=QoY^<=5ZvyT_jj-V&d))+V zPksseV8~)NE>1%RZALEP4_kb`g!%77;Z^2Cn`{s2!oa20?x+rYh)vNfvop{P{T)G# zw8Fb~3q~U^fZ30l z$~J554Q8NbAkT+(%7!4zYmOqTWxB27qk_Mp@}=wTZ^J4Z*p%dn*an|sb8NBE*3ZNa zRGf;yjPhus_9@n!O5 z&b!!+Jp5y>=k;8IQRH`b+ICGp(TuVF^C{HjM7dq|9}s=982KVBg4?kQp258M9CKsd zPwjW24CW-Sf<3U2t6zcz$yZ|r+>M#>0P6bV7{T++HxwFS$Y=IL6OHQWJPgJk(Suoc z+m2R1O=W+VZ^Ur&n=TL8WB)ShjZLY47dzlJEQeM1+W&5;J9?{9v4DaHk77@}g~PDf zK0cGU1*>DB{r1BY;hcaisNaNj@F9j{#RImZF<6QG1Jn$jL)|CcLHoh0b&&ZlOGO+N zC2#>Y!tGceA7U8{J7gaag<7gvSQ`&xO?-+?u#oobQbda1v(6-LC#P zHYWcWc~eaV?{WJ}yaglhA=W@|<1cJa6VRguSQ@{?j`%wk!4{`&yFSik7)kxts2hizu`@Ij zhmyaGl`+eg_I#8jQvP__4F-IXg3x&_4of%lU_>5jQ$- zJ38383#(Hfc)`9sFQEq12OHvK)W{F`>skLt6q2bZe9>OG4EvLxL4CPud}T*83$=^? zz)Bc$$=)amtC3H`nz##J!@F1uBfqvwl7b%c^{9@YME!+r9#K%wYF@S%j6^+PEov<< zphoo6d1Kv!;DvKUK7=^fv5p2#g=#yy*d%}t^J#=6$X$Z_NYjh6S(Mza>YY1~dn?M|NCg{k5i^@9oG3 zpz?RHIbOwZEPc&R-2f~`J_XgWm8cG%!+Q7#D`1uD_WB;E`sLUHFT1?t4ST=tH@tRg z$5Ek8u?g$rb!Rc39Z^?oM12zKM*FcTX8OUtu5GXs`AAd;Q}H%##k;uVrd{IcKic~p zLCx4bF9ofk=a%h2Bx(wiP;0mW8{jwC1PgFiZK`gl>*k=Q_%j@c`F^sW?(rB!ehal^ z4Su$N{U%~M@)g(?y{jnbL3gn<7XQWmi=_!xAdkWjoQN;s2iOpOPS3CQmr5_xj7-I5 zcpUYK&T+>MtT}4LW3VW$LuSfrj!+1t;s#d6K;}yisEaLe6zWF1QM>yghGE%zcGGso za^#7qJ@GCE;}@ulAe3{J+^xY%5fUVo^6ZD$`3$ZVrL~W|d zf7lyzz-r{U|U{;xl)m z!V|mOd*UGK-@$^I?l1ehpa^Oc)xvgI7faw249C@22XCU5wD?nI6C;dfXb-p#fMN-$JeFX3T?Uu@m~xgSG!fWXUu;%g=JKz$KRo*IRA5NE38gF7Il6jYKeY8Elpt);D1m9Y(yT1YPT8H;UBRs zW(^4N-=`@mALZQar7)0+TUa04rwi~;(G2HlRDIs`w!S?!AWy}-c*g0&vgCha6)c`1 z!2h~N;xO`As7?JRs^cXy2KYbS-X;`kQPCMS^)qn`uE8?+N~Qq+5{yT6WC?0bFQ7iH z=`siSU)P3Mn|v&`#;w>GpE&Dfu@4-JTB6xVNBR4og5Kxjs5N_x4Y5+z0RNf|!ASCr zsPlhe2Mh}g@b8g{=pkQ^Ani5?0D-2eb*bRNtaHQYe?5v3Aa>*q-N`{jMTcZaacD zScLin%#3qTn`$9yWT!C`K1VHCraS@u*Dx40Q*o$vdoUl~MJ-+WAlrdP&N1lKnten; zH~I-R(u{cn{GZ;+7*3vuC2gbwzS|G18?xpD$E6DjX-IfFF|h|{*INv8Zd zafJK`mLtBStnbJE0Q-D@(>&?eWR&!Q;WJ>i(r`WAB3`BZ4N;i#SwbHt9l_MiwnhKX zspNereTr-w|Iyc}eFry5bB*$13W^qV|D~;zSfNkoq&|<@;i`Q_%Vqr#ut+o8jNbYU<{Zwf%REEmWj_ zCB;v0H1QebHbfzN+W+$^KbI5RIj>`Z#r`=?xh?z8UzLO2@-Z+!({MPZBcFo$6xVVW zQ}q8|GSYJ{nsNm7*(l$q+>P=RVix6{#2b|FqK@w=>$pz%{3SkK)U_mvq~rO#{^l=E ztiiQ}jz?IY=t<=;ydCn`QNDDIk)xxmnPA%5VPPCqMfT7M>(EyQQ}8JUrT*jUpxl5w*1~Q zbBRdeM;e?Yej{?y@qO-sbr|H@AIIO+Qyrz;=w`V57c4;C5|>|gjxE zSWF=r5hGtXcZ>3`#2{h{!7oPhJ8_$K{`C*1aDxgRYlsht2qheQsXy<|wI~0SxJLe* z7^wyvpAh;D*O9nNy?zb9<2qSBP`8`$ZKT>nQUZ*St?T&R=7H)TOSW>WLVl5clzqKM*!k z5l-m1hrKZq4H~;T)z5b2>6Cxfc~x?3pgxM|PI)*EbL~bs-*O(scC@*RCtO_*&Hqs1 z#p4ml7FThThF?+UZwvE`=tpEEN>G;x|Al|MwlCwy#6#jF=L!--C=bQKSe@`NsJ&>Y z`-q5qNeM?@Vg#|9c*=>du?y-rMhqbSbooy$1NRcKw7I83x4 zjuHPH7hEA3KcK!B@iFlwc{Tijh;eP+q^zR}v6OhMNemR*Cv&6VcM)G|B6^dUKxwxyO^6;Ogtdh(Sx#%yv{VrHC*`=~D* zq7Jc*$VQYSTGQ?vzJg^@M;Xd-#4O?^B7w+F?+OwbY?DUjIE6jLR9oTy)!Co&Od4l( zb(gRdxsE>04mc!jN2OI|b0!Xs_Ox#k<%#W^kQg1G)~-|ffY8vg389`L37-Fd&NDDB zo+|45#|()co*0(aCaQE`iNSq`4~q7TN{Ej4_^*o_?!VtZZC>kDJ!7`M{;EOoaid10 zP3+e+puC>wPXkTag!;B25O%Bfxm>3u5Nf;74A|^U*%=CKI zO3n6<#h3D)FL{?Qd7m$3w=Zd}FKLM#N!bKXYM!TsQumw)OgpU_!b zQb!)hpIY*GU}}R?1=5C|=$@sBy}us5)t9nC%~KZH4yT?ypEqsKx%~kJZJYnrpy>ZR zSMqrN)bI;g)84pnE@wVB2-h2X`?Pw#4+B#x-^rRuYZUEC-FBc*+V^+nX3gSXCtuQr z)KY(zsLnwDSseQBUkVS?^5e2eKkS*~OWEj4S)zU?&GIGBxcxpeIW_g{C;8K2|16n1 xwb$t~J7;AMNS`I|%{Ld{+CHCE@FmUhCGDkPQn#HdzUbSm0sR)`$Q|(H{{Y}L$%g;{ diff --git a/po/ja.po b/po/ja.po index 0baf30b2..5b66342e 100644 --- a/po/ja.po +++ b/po/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.5\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2012-05-21 02:52+0900\n" "Last-Translator: NAKANO Takeo \n" "Language-Team: Japanese \n" @@ -17,225 +17,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"'%s' というエントリが %s に複数あります。pwck か grpck で修正してください。\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "暗号化手法が libcrypt によってサポートされていない? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "設定エラー - %s の値 '%s' を正しく解釈できません" - -msgid "Could not allocate space for config info.\n" -msgstr "設定情報用の空き容量が確保できませんでした。\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "設定エラー: 不明な項目 '%s' (管理者に連絡してください)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscd は正常に終了しませんでした (シグナル %d)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: nscd はステータス %d で終了しました\n" - -msgid "Password: " -msgstr "パスワード: " - -#, c-format -msgid "%s's Password: " -msgstr "%s のパスワード: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "audit インターフェースを開けません - 終了します。\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "SELinux の管理ハンドルを作成できません\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "SELinux ポリシーが管理されていません\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "SELinux のポリシー保存領域を読めません\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "SELinux の管理接続が確立できません\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "SELinux のトランザクションを開始できません\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "%s の seuser の問い合わせができません\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "%s の serange を設定できません\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "%s の sename を設定できません\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "%s のログインマッピングを修正できません\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "%s の SELinux ログインマッピングを生成できません\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "%s の名前を設定できません\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "%s の SELinux ユーザを設定できません\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "%s のログインマッピングを追加できません\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "SELinux の管理を初期化できません\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "SELinux のユーザキーを生成できません\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "この SELinux ユーザを検証できません\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "SELinux のユーザマッピングを修正できません\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "SELinux のユーザマッピングを追加できません\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "SELinux のトランザクションをコミットできません\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"%s のログインマッピングが定義されていません。デフォルトのマッピングを\n" -"用いたならば OK です。\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "%s のログインマッピングはポリシーで定義されており、削除できません\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "%s のログインマピングを削除できません" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: メモリが足りません\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: %s の状態を取得できません: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s はディレクトリでもシンボリックリンクでもありません\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: シンボリックリンク %s を読めません: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: シンボリックリンクが長すぎるようです: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: ディレクトリ %s を作成できません: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: %s の所有者を変更できません: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: : %s のモードを変更できません: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: アンリンク: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: ディレクトリ %s を削除できません: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: %s の名前を %s に変更できません: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: %s を削除できません: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: シンボリックリンク %s を作成できません: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: %s の所有者を変更できません: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: %s を lstat できません: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: 警告: ユーザ %s には tcb shadow ファイルがありません\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: 緊急事態: %s の tcb shadow が st_nlink=1 の通常ファイルではありません。\n" -"アカウントはロックされたままになります。\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: %s を開けません: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "警告: 不明なグループ %s\n" @@ -282,6 +63,12 @@ msgstr "tty stdin の所有者かモードを変更できません: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: %s がアンロックできませんでした\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"'%s' というエントリが %s に複数あります。pwck か grpck で修正してください。\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -289,6 +76,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "暗号化手法が libcrypt によってサポートされていない? (%s)\n" + msgid "Environment overflow\n" msgstr "環境変数領域のオーバーフロー\n" @@ -406,8 +197,15 @@ msgstr "" "%s: 他と重ならないユーザ ID を取得できません (利用できる UID がありません)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "設定エラー - %s の値 '%s' を正しく解釈できません" + +msgid "Could not allocate space for config info.\n" +msgstr "設定情報用の空き容量が確保できませんでした。\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "設定エラー: 不明な項目 '%s' (管理者に連絡してください)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -437,9 +235,10 @@ msgstr "%s の名前を設定できません\n" msgid "%s: Could not set caps\n" msgstr "%s の名前を設定できません\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: stpeprintf failed!\n" +msgstr "%s: %d 行: chown %s が失敗しました: %s\n" #, fuzzy, c-format #| msgid "%s: line %d: chown %s failed: %s\n" @@ -451,9 +250,22 @@ msgstr "%s: %d 行: chown %s が失敗しました: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: %d 行: chown %s が失敗しました: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: %d 行: chown %s が失敗しました: %s\n" + msgid "Too many logins.\n" msgstr "ログイン試行数が制限を越えました。\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login: " + msgid "You have new mail." msgstr "新しいメールがあります。" @@ -463,6 +275,14 @@ msgstr "メールはありません。" msgid "You have mail." msgstr "メールがあります。" +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscd は正常に終了しませんでした (シグナル %d)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: nscd はステータス %d で終了しました\n" + msgid "no change" msgstr "変更されていません" @@ -475,9 +295,6 @@ msgstr "大文字小文字しか変更されていません" msgid "too similar" msgstr "似すぎています" -msgid "too simple" -msgstr "単純すぎます" - msgid "rotated" msgstr "循環になっています" @@ -523,6 +340,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() にエラー %d で失敗しました\n" +msgid "Password: " +msgstr "パスワード: " + +#, c-format +msgid "%s's Password: " +msgstr "%s のパスワード: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "%s のパスワードが正しくありません。\n" @@ -548,17 +372,13 @@ msgstr "%s: chroot のパス'%s' が不正です\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: chroot ディレクトリ%s にアクセスできません: %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: chroot ディレクトリ%s にアクセスできません: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: ディレクトリ %s に chroot できませんでした: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: chroot ディレクトリ%s にアクセスできません: %s\n" #, c-format msgid "" @@ -575,6 +395,110 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "audit インターフェースを開けません - 終了します。\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "SELinux の管理ハンドルを作成できません\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "SELinux ポリシーが管理されていません\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "SELinux のポリシー保存領域を読めません\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "SELinux の管理接続が確立できません\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "SELinux のトランザクションを開始できません\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "%s の seuser の問い合わせができません\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "%s の serange を設定できません\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "%s の sename を設定できません\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "%s のログインマッピングを修正できません\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "%s の SELinux ログインマッピングを生成できません\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "%s の名前を設定できません\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "%s の SELinux ユーザを設定できません\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "%s のログインマッピングを追加できません\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "SELinux の管理を初期化できません\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "SELinux のユーザキーを生成できません\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "この SELinux ユーザを検証できません\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "SELinux のユーザマッピングを修正できません\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "SELinux のユーザマッピングを追加できません\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "SELinux のトランザクションをコミットできません\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"%s のログインマッピングが定義されていません。デフォルトのマッピングを\n" +"用いたならば OK です。\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "%s のログインマッピングはポリシーで定義されており、削除できません\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "%s のログインマピングを削除できません" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "'%s' へディレクトリを変更できません\n" @@ -586,6 +510,10 @@ msgstr "ディレクトリがありません。HOME=/ としてログインし msgid "Cannot execute %s" msgstr "%s を実行できません" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "ルートディレクトリ '%s' は不正です\n" @@ -594,6 +522,86 @@ msgstr "ルートディレクトリ '%s' は不正です\n" msgid "Can't change root directory to '%s'\n" msgstr "ルートディレクトリを '%s' へ変更できません\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: メモリが足りません\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: %s の状態を取得できません: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s はディレクトリでもシンボリックリンクでもありません\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: シンボリックリンク %s を読めません: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: シンボリックリンクが長すぎるようです: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: ディレクトリ %s を作成できません: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: %s の所有者を変更できません: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: : %s のモードを変更できません: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: アンリンク: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: ディレクトリ %s を削除できません: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: %s の名前を %s に変更できません: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: %s を削除できません: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: シンボリックリンク %s を作成できません: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: %s の所有者を変更できません: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: %s を lstat できません: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: 警告: ユーザ %s には tcb shadow ファイルがありません\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: 緊急事態: %s の tcb shadow が st_nlink=1 の通常ファイルではありません。\n" +"アカウントはロックされたままになります。\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: %s を開けません: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: ユーザ %s は現在ログイン中です\n" @@ -666,6 +674,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root CHROOT_DIR chroot するディレクトリ\n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -R, --root CHROOT_DIR chroot するディレクトリ\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -693,12 +706,15 @@ msgstr "パスワード無効日数" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "アカウント期限切れ日付 (YYYY-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "最終パスワード変更日\t\t\t\t:" - msgid "never" msgstr "なし" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "最終パスワード変更日\t\t\t\t:" + msgid "password must be changed" msgstr "パスワードは変更しなければなりません" @@ -869,14 +885,6 @@ msgstr "%s: '%s' には利用できない文字が含まれています\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: ユーザ '%s' は存在しません\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: NIS クライアントではユーザ '%s' を変更できません。\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' がこのクライアントの NIS マスターです。\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "%s のユーザ情報を変更中\n" @@ -915,6 +923,11 @@ msgid "" msgstr "" " -s, --sha-rounds SHA* 暗号化アルゴリズムの SHA ラウンド回数\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: サポートされていない暗号化手法です: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: %s フラグは %s フラグと共に指定する必要があります\n" @@ -965,6 +978,16 @@ msgstr " -s, --shell SHELL ユーザのシェルを新たに SHELL msgid "Login Shell" msgstr "ログインシェル" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: %s のサイズを取得できませんでした: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: 新しいデフォルトファイルを作れません\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "あなたは '%s' のシェルを変更できません。\n" @@ -977,6 +1000,11 @@ msgstr "%s のログインシェルを変更中\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: 不正なエントリ: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s はシェルに指定できません\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s はシェルに指定できません\n" @@ -1216,11 +1244,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system システムアカウントを作成します\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -R, --root CHROOT_DIR chroot するディレクトリ\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1235,6 +1258,11 @@ msgstr "ユーザ名 '%s' は不正です\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: '%s' はグループ名として正しくありません\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: %s を開けません: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: '%s' はグループ ID として正しくありません\n" @@ -1278,14 +1306,6 @@ msgstr "%s: ユーザ '%s' のプライマリグループは削除できませ msgid "%s: group '%s' does not exist\n" msgstr "%s: グループ '%s' は存在しません\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: グループ '%s' は NIS グループです\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s が NIS マスターです\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: ユーザ '%s' はすでに '%s' のメンバーです\n" @@ -1381,10 +1401,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s '%s' はグループ名として正しくありません\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: グループ %s は NIS のグループです\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: ユーザ %s は不明です\n" @@ -1512,7 +1528,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr " -a, --all 全ユーザの faillog 記録を表示する\n" @@ -1609,11 +1625,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: おそらく実効 root がないと動作できません\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"utmp にエントリがありません。\"login\" を \"sh\" の最低レベルから行う必要があ" -"ります" - #, c-format msgid "" "\n" @@ -1647,14 +1658,6 @@ msgstr "ログインが違います" msgid "Cannot find user (%s)\n" msgstr "ユーザが見つかりません (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s login: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: fork に失敗しました: %s" @@ -1691,7 +1694,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1717,20 +1721,15 @@ msgstr "%s: %s を削除できませんでした\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: %s がアンロックできませんでした\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: %s の tcb ディレクトリが見付かりませんでした\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: %s の tcb ディレクトリの作成に失敗しました\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1763,14 +1762,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: %s の tcb ディレクトリの作成に失敗しました\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1794,6 +1793,10 @@ msgstr "%s: '%s' はユ−ザ ID に使えません\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: '%s' はユーザ名に使えません\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: %d 行: 不正な行です\n" @@ -1816,6 +1819,11 @@ msgstr "%s: %d 行: グループを作成できません\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: %d 行: ユーザ '%s' は %s に存在しません\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: アンリンク: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: %d 行: パスワードを更新できません\n" @@ -1837,14 +1845,14 @@ msgstr "%s: %d 行: chown %s が失敗しました: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: %d 行: エントリを更新できません\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: %s の新しいエントリ '%s' を準備できませんでした。\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: ユーザを作成できません\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: %s の新しいエントリ '%s' を準備できませんでした。\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: グループを作成できません\n" @@ -1916,6 +1924,11 @@ msgstr "" " -x, --maxdays MAX_DAYS パスワードが変更できる期間の最長日数を\n" " MAX_DAYS に変更する\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr " -l, --list アカウントの経時情報を表示する\n" + msgid "Old password: " msgstr "古いパスワード: " @@ -1935,6 +1948,11 @@ msgstr "" "新しいパスワードを入れてください (最低 %d 文字、最高 %d 文字)\n" "大文字・小文字・数字を混ぜて使うようにしてください。\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: 入力内容が長過ぎます\n" + msgid "New password: " msgstr "新しいパスワード: " @@ -1978,6 +1996,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: レポジトリ %s はサポートしていません\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: -g/--group オプションは root のみが指定できます\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2130,11 +2153,9 @@ msgstr "%s: シグナルが異常です\n" msgid "Session terminated, terminating shell..." msgstr "セッションが終了しました。シェルを終了しています..." -#, c-format msgid " ...killed.\n" msgstr " ...kill されました。\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...子プロセスの終了を待ちます。\n" @@ -2220,6 +2241,11 @@ msgstr "%s: あなたは現時点では su する権限がありません\n" msgid "No passwd entry for user '%s'\n" msgstr "ユーザ '%s' のパスワードエントリがありません\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "ユーザ名 '%s' は不正です\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: 端末から実行してください\n" @@ -2265,6 +2291,13 @@ msgstr "%s: %s を作成しましたが、削除できません\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%1$s: %3$s 中の設定 %2$s は無視されます\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%1$s: %3$s 中の設定 %2$s は無視されます\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2295,10 +2328,6 @@ msgstr "%s: バックアップファイル (%s) を作成できません: %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: ファイル名変更: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: グループ '%s' は NIS グループです。\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: 指定したグループ数が多すぎます (最大 %d 個)。\n" @@ -2425,6 +2454,17 @@ msgstr "" " -Z, --selinux-user SEUSER SELinux のユーザマッピングに指定した\n" " SEUSER を使う\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEUSER SELinux のユーザマッピングに指定した\n" +" SEUSER を使う\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: ベースディレクトリ '%s' は不正です\n" @@ -2567,6 +2607,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "メールボックスファイルの許可属性を設定します" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "メールボックスファイルを作成します" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "メールボックスファイルを作成します" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2697,10 +2747,6 @@ msgstr "%s: %s の内容を削除できませんでした: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: %s の tcb ファイルを削除できません: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: ユーザ %s は NIS ユーザです\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: %s のホームディレクトリ (%s) がありません\n" @@ -2827,6 +2873,16 @@ msgstr "" " -Z, --selinux-user このユーザアカウントへの新規 SELinux\n" " ユーザマッピング\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user このユーザアカウントへの新規 SELinux\n" +" ユーザマッピング\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2921,11 +2977,23 @@ msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" "%s: ユーザ %lu の lastlog エントリをユーザ %lu にコピーできませんでした: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: ユーザ %lu の lastlog エントリをユーザ %lu にコピーできませんでした: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: ユーザ %lu の faillog エントリをユーザ %lu にコピーできませんでした: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: ユーザ %lu の faillog エントリをユーザ %lu にコピーできませんでした: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: 警告: %s は %s の所有ではありません\n" @@ -3024,8 +3092,8 @@ msgstr "スクラッチファイルを削除できませんでした" msgid "failed to stat edited file" msgstr "編集したファイルの状態を取得できませんでした" -msgid "failed to allocate memory" -msgstr "メモリ割当に失敗しました" +msgid "asprintf(3) failed" +msgstr "" msgid "failed to create backup file" msgstr "バックアップファイルを作成できませんでした" @@ -3038,6 +3106,50 @@ msgstr "%s: %s を復旧できませんでした: %s (あなたの変更は %s msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: %s の tcb ディレクトリが見付かりませんでした\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: NIS クライアントではユーザ '%s' を変更できません。\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' がこのクライアントの NIS マスターです。\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: グループ '%s' は NIS グループです\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s が NIS マスターです\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: グループ %s は NIS のグループです\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: グループ '%s' は NIS グループです。\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: ユーザ %s は NIS ユーザです\n" + +#~ msgid "too simple" +#~ msgstr "単純すぎます" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "utmp にエントリがありません。\"login\" を \"sh\" の最低レベルから行う必要" +#~ "があります" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: %s の tcb ディレクトリが見付かりませんでした\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "メモリ割当に失敗しました" + #~ msgid "Usage: id\n" #~ msgstr "使い方: id\n" @@ -3053,10 +3165,6 @@ msgstr "%s: %s の tcb ディレクトリが見付かりませんでした\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: パスワード期限切れ情報を変更しました\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "ユーザ名 '%s' は不正です\n" - #~ msgid "Username Port From Latest" #~ msgstr "ユーザ名 ポート 場所 最近のログイン" diff --git a/po/ka.gmo b/po/ka.gmo index 69e7f5e1fdd6030fe846d12d3a3505433481308e..eac263d2ccaa3573d2bf00e25dd63e7a69d24961 100644 GIT binary patch delta 17314 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 UO1Z77|L0fCc+VfV)k&}a0l9(G3IG5A delta 16413 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 Vrz*s3LZNHJxyspfpQ%+I{{^8ujer0E diff --git a/po/ka.po b/po/ka.po index ab04107e..d3adc182 100644 --- a/po/ka.po +++ b/po/ka.po @@ -1,14 +1,14 @@ # Shadow-utils translation to Georgian. -# Copyright (C) YEAR Free Software Foundation, Inc. +# Copyright (C) 2024 Free Software Foundation, Inc. # This file is distributed under the same license as the shadow-utils package. -# Temuri Doghonadze , 2022. +# Temuri Doghonadze , 2022-2024. # msgid "" msgstr "" "Project-Id-Version: shadow-utils\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" -"PO-Revision-Date: 2022-08-22 02:33+0200\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" +"PO-Revision-Date: 2024-02-08 06:13+0100\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian <(nothing)>\n" "Language: ka\n" @@ -16,226 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.1.1\n" - -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "%s ბევრჯერაა ნახსენები %s-ში. ჩაასწორეთ pwck-ით ან grpck-ით.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "crypt-ის მეთოდი არაა მხარდაჭერილი libcrypt-ის მიერ? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" -"კონფიგურაციის შეცდომა - %s-ის მნიშვნელობის დამუშავება შეუძლებელია: '%s'" - -msgid "Could not allocate space for config info.\n" -msgstr "კონფიგურაციის ინფორმაციისთვის სივრცის გამოყოფა შეუძლებელია.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"კონფიგურაციის შეცდომა - უცნობი ჩანაწერი '%s' (შეატყობინეთ ადმინისტრატორს)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscd ნორმალურად არ დასრულებულა (სიგნალი %d)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: nscd გამოვიდა სტატუსით %d\n" - -msgid "Password: " -msgstr "პაროლი: " - -#, c-format -msgid "%s's Password: " -msgstr "%s-ის პაროლი: " - -msgid "Cannot open audit interface.\n" -msgstr "აუდიტის ინტერფეისის გახსნის შეცდომა.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "%s: SELinux-ის პროცესის წინა კონტექსტის მიღების შეცდომა: %s\n" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "SELinux-ის მართვის დამმუშავებლის შექმნა შეუძლებელია\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "SELinux-ის პოლიტიკა მართული არაა\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "SELinux-ის პოლიტიკის საცავის წაკითხვა შეუძლებელია\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "SELinux-ის მართვის შეერთების შექმნა შეუძლებელია\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "SELinux-ის ტრანზაქციის დაწყების შეცდომა\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "%s-ის გამოთხოვა seuser-დან შეუძლებელია\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "%s-სთვის serange-ის დაყენება შეუძლებელია\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "%s-სთვის sename-ის დაყენება შეუძლებელია\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "მომხმარებლის სახელის ბმების ჩასწორება %s-სთვის შეუძლებელია\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "%s-ზე SELinux-ის მომხმარებლის სახელის ბმის შექმნა შეუძლებელია\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "%s-სთვის სახელის დაყენების შეცდომა\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "%s-სთვის SELinux-ის მომხმარებლის დაყენების შეცდომა\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "%s-სთვის მომხმარებლის სახელის ბმის შექმნის შეცდომა\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "SELinux-ის მართვის ინიციალიზაციის შეცდომა\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "SELinux-ის მომხმარებლის გასაღების შექმნის შეცდომა\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "SELinux-ის მომხმარებლის შემოწმების შეცდომა\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "SELinux-ის მოხმარებლების ბმების შეცვლს შეცდომა\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "SELinux-ის მომხმარებლის ბმის დამატების შეცდომა\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "SELinux-ის ტრანზაქციის გადაცემის შეცდომა\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"მომხმარებლის სახელის ბმა %s-თვის განსაზღვრული არაა. OK, თუ ნაგულისხმები ბმა " -"იქნა გამოყენებული\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "მომხმარებლის სახელი %s პოლიტიკაშია გაწერილი. მისი წაშლა შეუძლებელია\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "მომხმარებლის სახელის ბმის წაშლა %s-სთვის შეუძლებელია" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: არასაკმარისი მეხსიერება\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: %s-ის აღმოჩენის შეცდომა: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s არც საქაღალდეა, არც სიმბმული.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: სიმბმულის წაკითხვის შეცდომა %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: საეჭვოდ გრძელი სიმბმული %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s საქაღალდის (%s) შექმნის შეცდომა: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: %s-ის მფლობელის შეცვლის შეცდომა: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: %s-ის რეჟიმის შეცვლის შეცდომა: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: წაშლა: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: საქაღალდის (%s) წაშლის შეცდომა: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: %s-ის სახელის %s-მდე გადარქმევა შეუძლებელია: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: %s-ის წაშლა შეუძლებელია: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: სიმბმულის (%s) შექმნის შეცდომა: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: %s-ის მფლობელების შეცვლის შეცდომა: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: %s-ის lstat-ის შეცდომა: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: გაფრთხილება: მომხმარებელს (%s) tcb shadow ფაილი არ გააჩნია.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: გადაუდებელი შემთხვევა: %s tcb ჩრდილი არ არის რეგულარული ფაილი st_nlink=1-" -"ით.\n" -"ანგარიში ჩაკეტილია.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: %s-ის გახსნის შეცდომა: %s\n" +"X-Generator: Poedit 3.3.2\n" #, c-format msgid "Warning: unknown group %s\n" @@ -283,6 +64,11 @@ msgstr "TTY-იდან stdin-ის მფლობელისა და რ msgid "%s: failed to unlock %s\n" msgstr "%s: %s-ის განბლოკვის შეცდომა\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "%s ბევრჯერაა ნახსენები %s-ში. ჩაასწორეთ pwck-ით ან grpck-ით.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -290,6 +76,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "crypt-ის მეთოდი არაა მხარდაჭერილი libcrypt-ის მიერ? (%s)\n" + msgid "Environment overflow\n" msgstr "გარემო გადავსებულია\n" @@ -406,8 +196,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: უნიკალური UID-ის მიღების შეცდომა (ხელმისაწვდომი UID-ების გარეშე)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "%s: არასაკმარისი არგუმენტები %u ბმის ჩამოსაყალიბებლად\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "" +"კონფიგურაციის შეცდომა - %s-ის მნიშვნელობის დამუშავება შეუძლებელია: '%s'" + +msgid "Could not allocate space for config info.\n" +msgstr "კონფიგურაციის ინფორმაციისთვის სივრცის გამოყოფა შეუძლებელია.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"კონფიგურაციის შეცდომა - უცნობი ჩანაწერი '%s' (შეატყობინეთ ადმინისტრატორს)\n" #, c-format msgid "%s: Memory allocation failure\n" @@ -434,8 +233,8 @@ msgid "%s: Could not set caps\n" msgstr "%s: caps-ების დაყენების შედომა\n" #, c-format -msgid "%s: snprintf failed!\n" -msgstr "%s: snprintf -ის შეცდომა!\n" +msgid "%s: stpeprintf failed!\n" +msgstr "%s: stpeprintf ჩავარდა!\n" #, c-format msgid "%s: open of %s failed: %s\n" @@ -445,9 +244,21 @@ msgstr "%s: %s -ის გახსნის შეცდომა: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: %s-ში ჩაწერის შეცდომა: %s\n" +#, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: %s-ის დახურვა ჩავარდა: %s\n" + msgid "Too many logins.\n" msgstr "მეტისმეტად ბევრი შესვლა.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s მომხმარებლის სახელი: " + msgid "You have new mail." msgstr "თქვენთვის წერილია." @@ -457,6 +268,14 @@ msgstr "ახალი ელფოსტის გარეშე." msgid "You have mail." msgstr "თქვენ გაქვთ ფოსტა." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscd ნორმალურად არ დასრულებულა (სიგნალი %d)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: nscd გამოვიდა სტატუსით %d\n" + msgid "no change" msgstr "ცვლილებების გარეშე" @@ -469,9 +288,6 @@ msgstr "მხოლოდ სიმბოლოების ზომა" msgid "too similar" msgstr "ძალიან ჰგავს" -msgid "too simple" -msgstr "ძალიან მარტივია" - msgid "rotated" msgstr "შემობრუნებული" @@ -517,6 +333,13 @@ msgstr "" "%s: (მომხმარებელი %s) pam_chauthtok() -ის შეცდომა:\n" "%s\n" +msgid "Password: " +msgstr "პაროლი: " + +#, c-format +msgid "%s's Password: " +msgstr "%s-ის პაროლი: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "არასწორი პაროლი %s-სთვის.\n" @@ -542,17 +365,13 @@ msgstr "" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: chroot საქაღალდის (%s) წვდომის შეცდომა: %s\n" -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: chroot საქაღალდეზე (%s) chdir-ის შეცდომა: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: საქაღალდეზე (%s) chroot-ი შეუძლებელია: %s\n" #, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "შემთხვევითი ბაიტების მიღების შეცდომა.\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: chroot საქაღალდეში (%s) chdir-ის შეცდომა: %s\n" #, c-format msgid "" @@ -572,6 +391,107 @@ msgstr "" "პარამეტრები ENCRYPT_METHOD-ში და შესაბამის კონფიგურაციაში თქვენს მიერ " "არჩეული ჰეშის მეთოდისთვის.\n" +msgid "Cannot open audit interface.\n" +msgstr "აუდიტის ინტერფეისის გახსნის შეცდომა.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "%s: SELinux-ის პროცესის წინა კონტექსტის მიღების შეცდომა: %s\n" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "SELinux-ის მართვის დამმუშავებლის შექმნა შეუძლებელია\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "SELinux-ის პოლიტიკა მართული არაა\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "SELinux-ის პოლიტიკის საცავის წაკითხვა შეუძლებელია\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "SELinux-ის მართვის შეერთების შექმნა შეუძლებელია\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "SELinux-ის ტრანზაქციის დაწყების შეცდომა\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "%s-ის გამოთხოვა seuser-დან შეუძლებელია\n" + +#, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "%s-სთვის serange-ის %s-ზე დაყენება შეუძლებელია\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "%s-სთვის sename-ის დაყენება შეუძლებელია\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "მომხმარებლის სახელის ბმების ჩასწორება %s-სთვის შეუძლებელია\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "%s-ზე SELinux-ის მომხმარებლის სახელის ბმის შექმნა შეუძლებელია\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "%s-სთვის სახელის დაყენების შეცდომა\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "%s-სთვის SELinux-ის მომხმარებლის დაყენების შეცდომა\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "%s-სთვის მომხმარებლის სახელის ბმის შექმნის შეცდომა\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "SELinux-ის მართვის ინიციალიზაციის შეცდომა\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "SELinux-ის მომხმარებლის გასაღების შექმნის შეცდომა\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "SELinux-ის მომხმარებლის შემოწმების შეცდომა\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "SELinux-ის მოხმარებლების ბმების შეცვლს შეცდომა\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "SELinux-ის მომხმარებლის ბმის დამატების შეცდომა\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "SELinux-ის ტრანზაქციის გადაცემის შეცდომა\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"მომხმარებლის სახელის ბმა %s-თვის განსაზღვრული არაა. OK, თუ ნაგულისხმები ბმა " +"იქნა გამოყენებული\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "მომხმარებლის სახელი %s პოლიტიკაშია გაწერილი. მისი წაშლა შეუძლებელია\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "მომხმარებლის სახელის ბმის წაშლა %s-სთვის შეუძლებელია" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "საქაღალდის %s-ზე შეცვლა შეუძლებელია\n" @@ -583,6 +503,10 @@ msgstr "საქაღალდე არ არსებობს. შევ msgid "Cannot execute %s" msgstr "%s-ის შესრულების შეცდომა" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "მიღწეულია ქვესისტემის მაქსიმალური სიღრმე\n" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "%s არასწორი root საქაღალდეა\n" @@ -591,6 +515,87 @@ msgstr "%s არასწორი root საქაღალდეა\n" msgid "Can't change root directory to '%s'\n" msgstr "Root საქაღალდის %s-ზე შეცვლა შეუძლებელია\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: არასაკმარისი მეხსიერება\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: %s-ის აღმოჩენის შეცდომა: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s არც საქაღალდეა, არც სიმბმული.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: სიმბმულის წაკითხვის შეცდომა %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: საეჭვოდ გრძელი სიმბმული %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s საქაღალდის (%s) შექმნის შეცდომა: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: %s-ის მფლობელის შეცვლის შეცდომა: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: %s-ის რეჟიმის შეცვლის შეცდომა: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: წაშლა: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: საქაღალდის (%s) წაშლის შეცდომა: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: %s-ის სახელის %s-მდე გადარქმევა შეუძლებელია: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: %s-ის წაშლა შეუძლებელია: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: სიმბმულის (%s) შექმნის შეცდომა: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: %s-ის მფლობელების შეცვლის შეცდომა: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: %s-ის lstat-ის შეცდომა: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: გაფრთხილება: მომხმარებელს (%s) tcb shadow ფაილი არ გააჩნია.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: გადაუდებელი შემთხვევა: %s tcb ჩრდილი არ არის რეგულარული ფაილი st_nlink=1-" +"ით.\n" +"ანგარიში ჩაკეტილია.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: %s-ის გახსნის შეცდომა: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: მომხმარებელი %s ამჟამად შემოსულია\n" @@ -661,6 +666,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root CHROOT_DIR საქაღალდე chroot-ისთვის\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -P, --prefix PREFIX_DIR პრეფიქსი საქაღალდე\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -689,12 +697,15 @@ msgstr "პაროლი არააქტიურია" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "ანგარიშის ვადის თარიღი (წწწწ-თთ-დდ)" -msgid "Last password change\t\t\t\t\t: " -msgstr "პაროლის ბოლო ცვლილება\t\t\t\t\t: " - msgid "never" msgstr "არასოდეს" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "პაროლის ბოლო ცვლილება\t\t\t\t\t: " + msgid "password must be changed" msgstr "საჭიროა პაროლის შეცვლა" @@ -870,14 +881,6 @@ msgstr "%s: '%s' არასწორ სიმბოლოებს შეი msgid "%s: user '%s' does not exist\n" msgstr "%s: მომხმარებელი \"%s\" არ არსებობს\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: მომხმარებლის '%s' შეცვლა NIS კლიენტზე შეუძლებელია.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' NIS-ის მთავარი სერვერია ამ კლიენტისთვის.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "%s-ის მომხმარებლის ინფორმაციის ცვლილება\n" @@ -913,6 +916,10 @@ msgstr "" " -s, --sha-rounds წრეების რიცხვი SHA, BCRYPT\n" " და YESCRYPT დაშიფვრის ალგორითმებისთვის\n" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "%s: დაშიფვრის მეთოდი აღწერილი არაა\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: ალამი %s მხოლოდ ალამ %s -სთან ერთადაა ნებადართული\n" @@ -965,6 +972,14 @@ msgstr "" msgid "Login Shell" msgstr "შესვლს გარსი" +#, c-format +msgid "Cannot parse shell files: %s" +msgstr "ვერ დავამუშავე გარსის ფაილები: %s" + +#, c-format +msgid "Cannot evaluate entries in shell files: %s" +msgstr "გარსის ფაილების ჩანაწერების შეფასება შეუძლებელია: %s" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "%s-ის გარსის შეცვლა არ შეგიძლიათ.\n" @@ -977,6 +992,10 @@ msgstr "%s-ის გარსის შეცვლა\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: არასწორი ჩანაწერი: %s\n" +#, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: გაფრთხილება: %s არასწორი გარსია\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s არასწორი გარსია\n" @@ -1222,9 +1241,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system სისტემური ანგარიშის შექმნა\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -P, --prefix PREFIX_DI პრეფიქსი საქაღალდე\n" - msgid " -U, --users USERS list of user members of this group\n" msgstr " -U, --users USERS ამ ჯგუფის წევრების სია\n" @@ -1236,6 +1252,10 @@ msgstr "წევრის არასწორი მომხმარებ msgid "%s: '%s' is not a valid group name\n" msgstr "%s: %s ჯგუფის სწორ სახელს არ წარმოადგენს\n" +#, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: %s-ის გახსნის შეცდომა: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: ჯგუფის არასწორი ID '%s'\n" @@ -1281,14 +1301,6 @@ msgstr "%s: მომხმარებელის '%s' ძირითად msgid "%s: group '%s' does not exist\n" msgstr "%s: ჯგუფი '%s' არ არსებობს\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: ჯგუფი '%s' NIS ჯგუფია\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s NIS-ის მთავარია\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: მომხმარებელი '%s' უკვე წარმოადგენს '%s'-ის წევრს\n" @@ -1384,10 +1396,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: არასწორი ჯგუფის სახელი \"%s\"\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: ჯგუფი '%s' NIS ჯგუფია\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: უცნობი მომხმარებელი %s\n" @@ -1516,7 +1524,7 @@ msgstr "" "ჩანაწერების ჩვენება\n" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -C, --clear მომხმარებლის lastlog ჩანაწერის გასუფთავება " @@ -1622,11 +1630,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: root-ის უფლებებით ალბათ ვერ ვიმუშავებ\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"\"utmp\"-ის ჩანაწერი არ არსებობს. \"login\"-ი \"sh\"-ის უმდაბლესი დონიდან " -"უნდა გაუშვათ" - #, c-format msgid "" "\n" @@ -1660,14 +1663,6 @@ msgstr "მომხმარებლის სახელი არასწ msgid "Cannot find user (%s)\n" msgstr "მომხმარებლის (%s) პოვნა შეუძლებელია\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s მომხმარებლის სახელი: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: განტოტვის შეცდომა: %s" @@ -1704,10 +1699,11 @@ msgstr "%s: gid -ის დიაპაზონი [%lu-%lu) -> [%lu-%lu) დ #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" -"გამოყენება: %s <რაოდენობა> [ " -"<რაოდენობა> ] ... \n" +"გამოყენება: %s [] <რაოდენობა> [ " +" <რაოდენობა> ] ... \n" #, c-format msgid "%s: kernel doesn't support setgroups restrictions\n" @@ -1730,20 +1726,16 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: setgroups-ის შეცდომა %s პოლიტიკა: %s\n" #, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: proc საქაღალდის გახსნის შეცდომა სამიზნისთვის %u\n" - -#, c-format -msgid "%s: Could not stat directory for target %u\n" -msgstr "%s: საქაღალდის აღმოჩენის შეცდომა სამიზნისთვის: %u\n" +msgid "%s: Could not stat directory for process\n" +msgstr "%s: საქაღალდის აღმოჩენის შეცდომა პროცესისთვის\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" -"%s: სამიზნე %u სხვა მომხმარებლისაა: uid:%lu pw_uid:%lu st_uid:%lu, gid:%lu " -"pw_gid:%lu st_gid:%lu\n" +"%s: სამიზნე პროცესის მფლობელი სხვა მომხმარებელია: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgid "Usage: newgrp [-] [group]\n" msgstr "გამოყენება: newgrp [-] [ჯგუფი]\n" @@ -1775,18 +1767,15 @@ msgstr "%s: uid -ის დიაპაზონი [%lu-%lu) -> [%lu-%lu) დ #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -"გამოყენება: %s <რაოდენობა> [ " -"<რაოდენობა> ] ... \n" +"გამოყენება: %s [|fd:] <რაოდენობა> [ " +" <რაოდენობა> ] ... \n" #, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" -"%s: სამიზნე პროცესი %u სხვა მომხმარებლითაა გაშვებული: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: საქაღალდის აღმოჩენის შეცდომა სამიზნე პროცესისთვის\n" msgid " -b, --badname allow bad names\n" msgstr " -b, --badname სახელების სისწორე არ შემოწმდება\n" @@ -1807,6 +1796,10 @@ msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "" "%s: მომხმარებლის არასწორი სახელი '%s': დასაიგნორებლად გამოიყენეთ --badname\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "%s: მიაწოდეთ '--crypt-method', წრეების რაოდენობამდე\n" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: ხაზი %d: არასწორი ხაზი\n" @@ -1829,6 +1822,10 @@ msgstr "%s: ხაზი %d: ჯგუფის შექმნა შეუძ msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: ხაზი %d: მომხმარებელი '%s' %s-ში არ არსებობს\n" +#, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: ხაზი %d: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: ხაზი %d: პაროლის განახლება შეუძლებელია\n" @@ -1849,14 +1846,14 @@ msgstr "%s: ხაზი %d: chown %s -ის შეცდომა: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: ხაზი %d: ჩანაწერის განახლების შეცდომა\n" -#, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: ახალი %s ჩანაწერის მომზადების შეცდომა\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: დაქვემდებარებული მომხმარებლის დიაპაზონის პოვნა შეუძლებელია\n" +#, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: ახალი %s ჩანაწერის მომზადების შეცდომა\n" + #, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: დაქვემდებარებული ჯგუფის დიაპაზონის პოვნა შეუძლებელია\n" @@ -1934,6 +1931,9 @@ msgstr "" "რაოდენობის \n" " MAX_DAYS-ზე დაყენება\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr " -s, --stdin ახალი კოდების stdin-დან წაკითხვა\n" + msgid "Old password: " msgstr "ძველი პაროლი: " @@ -1953,6 +1953,11 @@ msgstr "" "შეიყვანეთ ახალი პაროლი (მინიმუმ %d, მაქსიმუმ %d სიმბოლო)\n" "გამოიყენეთ დიდი და პატარა ასოებისა და რიცხვების კომბინაცია.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: ველები ძალიან გრძელია\n" + msgid "New password: " msgstr "ახალი პაროლი: " @@ -1995,6 +2000,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: მხარდაუჭერელი რეპოზიტორია: %s\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" +"%s: --stdin/-s პარამეტრის გამოყენება, მხოლოდ, root მომხმარებელს შეუძლია\n" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -2148,11 +2158,9 @@ msgstr "%s: სიგნალის გაუმართაობა\n" msgid "Session terminated, terminating shell..." msgstr "სესია გაწყდა. გარსის დასრულება...." -#, c-format msgid " ...killed.\n" msgstr " ...მოკლულია.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ... ველოდები შვილი პროცესების დასრულებას.\n" @@ -2229,6 +2237,10 @@ msgstr "%s: su-ის ავტორიზაცია ამჟამად msgid "No passwd entry for user '%s'\n" msgstr "Passwd ფაილში მომხმარებლისთვის \"%s\" ჩანაწერი არ არსებობს\n" +#, c-format +msgid "Overlong user name '%s'\n" +msgstr "მეტისმეტად გრძელი მომხმარებლის სახელი '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: ტერმინალიდან გაშვება აუცილებელია\n" @@ -2274,6 +2286,15 @@ msgstr "%s: %s შეიქმნა, მაგრამ ვერ ვშლი\ msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: %s-ის კონფიგურაცია %s-ში იგნორირებული იქნება\n" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" +"%s: '%s'-ის კონფიგურაციას %s-ში არასწორი ჯგუფი აქვს. არასწორი ჯგუფების " +"გამოტოვება\n" +"\n" + #, c-format msgid "%s: cannot create new defaults file: %s\n" msgstr "%s: ნაგულისხმები მნიშვნელობების შემცველი ფაილის შექმნის შეცდომა; %s\n" @@ -2304,10 +2325,6 @@ msgstr "%s: მარქაფის ფაილის (%s) შექმნი msgid "%s: rename: %s: %s\n" msgstr "%s: გადარქმევა: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: ჯგუფი '%s' NIS ჯგუფია.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: მითითებულია მეტისმეტად ბევრი ჯგუფი (მაქს %d).\n" @@ -2374,6 +2391,8 @@ msgid "" " -F, --add-subids-for-system add entries to sub[ud]id even when adding a " "system user\n" msgstr "" +" -F, --add-subids-for-system ჩანაწერების დამატება sub[ud]id-ში სისტემური " +"მომხმარებლის დამატების დროსაც კი\n" msgid "" " -g, --gid GROUP name or ID of the primary group of the new\n" @@ -2442,8 +2461,15 @@ msgid "" " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user " "mapping\n" msgstr "" -" -Z, --selinux-user SEUSER SELinux -ის მომხმარებელთან ბმისთვის " -"მითითებული SEUSER -ის გამოყენება\n" +" -Z, --selinux-user SEUSER მითითებული SEUSER -ის გამოყენება SELinux-ის " +"მომხმარებლის ასახვისთვის\n" + +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" --selinux-user SERANGE მითითებული MLS შუალედის გამოყენება SELinux-ის " +"მომხმარებლის ასახვისთვის\n" #, c-format msgid "%s: invalid base directory '%s'\n" @@ -2576,6 +2602,12 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "საფოსტო ყუთის ფაილის წვდომების დაყენება" +msgid "Synchronize mailbox file" +msgstr "საფოსტო ყუთის ფაილის სინქრონიზაცია" + +msgid "Closing mailbox file" +msgstr "საფოსტო ყუთის ფაილის დახურვა" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2706,10 +2738,6 @@ msgstr "%s: %s-ის შემცველობის წაშლის შ msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: %s-ის tcb ფაილების წაშლის შეცდომა: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: მომხმარებელი %s NIS მომხმარებელია\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: %s -ის საწყისი საქაღალდე (%s) ვერ ვიპოვე\n" @@ -2841,6 +2869,12 @@ msgstr "" " -Z, --selinux-user SEUSER ანგარიშის SELinux -ის მითითებულ " "მომხმარებელზე მიბმა\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" --selinux-range SERANGE ახალი SELinux MLS შუალედი მომხმარებლის " +"ანგარიშისთვის\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2919,16 +2953,13 @@ msgstr "%s: ძველი საწყისი საქაღალდის msgid "%s: cannot rename directory %s to %s\n" msgstr "%s: საქაღალდის სახელის %s-დან %s-ზე გადარქმევის შეცდომა\n" -#, fuzzy, c-format -#| msgid "" -#| "%s: The previous home directory (%s) was not a directory. It is not " -#| "removed and no home directories are created.\n" +#, c-format msgid "" "%s: The previous home directory (%s) does not exist or is inaccessible. Move " "cannot be completed.\n" msgstr "" -"%s: წინა საწყისი საქაღალდე (%s) საქაღალდეს არ წარმოადგენდა, ამიტომ ის არ " -"წაშლილა და არც საქაღალდე შექმნილა.\n" +"%s: წინა საწყისი საქაღალდე (%s) არ არსებობს ან ხელმისაწვდომი არაა. გადატანის " +"დასრულება შეუძლებელია.\n" #, c-format msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" @@ -2936,12 +2967,24 @@ msgstr "" "%s: lastlog-ის ჩანაწერის ერთი მომხმარებლიდან (%lu) მეორეზე (%lu) კოპირების " "შეცდომა: %s\n" +#, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: lastlog-ის ჩანაწერის ერთი მომხმარებლიდან (%ju) მეორეზე (%ju) კოპირების " +"შეცდომა: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: faillog -ის ჩანაწერის ერთი მომხმარებლიდან (%lu) მეორეზე (%lu) კოპირების " "შეცდომა: %s\n" +#, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: faillog -ის ჩანაწერის ერთი მომხმარებლიდან (%ju) მეორეზე (%ju) კოპირების " +"შეცდომა: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: გაფრთხილება: %s-ის მფლობელი %s არაა\n" @@ -3042,8 +3085,8 @@ msgstr "მონახაზის ფაილის წაშლის შე msgid "failed to stat edited file" msgstr "რედაქტირებული ფაილის აღმოჩენა შეუძლებელია" -msgid "failed to allocate memory" -msgstr "მეხსიერების გამოყოფის შეცდომა" +msgid "asprintf(3) failed" +msgstr "asprintf(3) ჩავარდა" msgid "failed to create backup file" msgstr "მარქაფის ფაილის შექმნის შეცდომა" @@ -3055,3 +3098,62 @@ msgstr "%s: %s-ის აღდგენის შეცდომა: %s (თქ #, c-format msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: %s-სთვის tcb საქაღალდის პოვნის შეცდომა\n" + +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: მომხმარებლის '%s' შეცვლა NIS კლიენტზე შეუძლებელია.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' NIS-ის მთავარი სერვერია ამ კლიენტისთვის.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: ჯგუფი '%s' NIS ჯგუფია\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s NIS-ის მთავარია\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: ჯგუფი '%s' NIS ჯგუფია\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: ჯგუფი '%s' NIS ჯგუფია.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: მომხმარებელი %s NIS მომხმარებელია\n" + +#, c-format +#~ msgid "%s: Not enough arguments to form %u mappings\n" +#~ msgstr "%s: არასაკმარისი არგუმენტები %u ბმის ჩამოსაყალიბებლად\n" + +#~ msgid "too simple" +#~ msgstr "ძალიან მარტივია" + +#, c-format +#~ msgid "Unable to obtain random bytes.\n" +#~ msgstr "შემთხვევითი ბაიტების მიღების შეცდომა.\n" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "\"utmp\"-ის ჩანაწერი არ არსებობს. \"login\"-ი \"sh\"-ის უმდაბლესი " +#~ "დონიდან უნდა გაუშვათ" + +#, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: proc საქაღალდის გახსნის შეცდომა სამიზნისთვის %u\n" + +#, c-format +#~ msgid "" +#~ "%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +#~ "%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" +#~ msgstr "" +#~ "%s: სამიზნე %u სხვა მომხმარებლისაა: uid:%lu pw_uid:%lu st_uid:%lu, gid:" +#~ "%lu pw_gid:%lu st_gid:%lu\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "მეხსიერების გამოყოფის შეცდომა" diff --git a/po/kk.gmo b/po/kk.gmo index fd80ba355bfd69b70c250c2581a96a72b3a187bc..83542cf2a2010c866cf5947d8496fecc484683a7 100644 GIT binary patch delta 12257 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 K3nN?}*Z%>)x\n" "Language-Team: Kazakh \n" @@ -18,226 +18,6 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.11\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"'%s' атындағы %s ішінде бірнеше жазба бар. Оны pwck не grpck көмегімен " -"дұрыстаңыз.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "шифрлеу тәсіліне libcrypt-тан қолдау жоқ па? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "баптаулар қатесі - %s мәнін талдау мүмкін емес: '%s'" - -msgid "Could not allocate space for config info.\n" -msgstr "Баптауларды жүктеу үшін орын жоқ.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "баптау қатесі - белгісіз элемент '%s' (администраторға хабарласыңыз)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscd өз жұмысын дұрыс аяқтаған жоқ (%d сигналымен)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: nscd %d қалып-күймен өз жұмысын аяқтады\n" - -msgid "Password: " -msgstr "Пароль: " - -#, c-format -msgid "%s's Password: " -msgstr "%s пайдаланушының паролі: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "Аудит интерфейсін ашу мүмкін емес - шығу.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "SELinux басқарушы ұстағышын жасау мүмкін емес\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "SELinux саясаты басқарылып жатқан жоқ\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "SELinux саясаттарын сақтау қорын оқу сәтсіз\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "SELinux басқарушы байланысын орнату мүмкін емес\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "SELinux әрекетін бастау мүмкін емес\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "seuser %s үшін сұрау сәтсіз\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "%s үшін serange орнату мүмкін емес\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "%s үшін sename орнату мүмкін емес\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "%s үшін тіркелгі сәйкестігін түзету мүмкін емес\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "%s үшін SELinux тіркелгі сәйкестігін жасау мүмкін емес\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "%s үшін атын орнату мүмкін емес\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "%s үшін SELinux пайдаланушысын орнату мүмкін емес\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "%s үшін тіркелгі сәйкестігін қосу мүмкін емес\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "SELinux басқаруын іске қосу мүмкін емес\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "SELinux пайд.-шы кілтін жасау мүмкін емес\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "SELinux пайдаланушысын тексеру мүмкін емес\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "SELinux пайд. сәйкестігін түзету мүмкін емес\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "SELinux пайд. сәйкестігін қосу мүмкін емес\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "SELinux әрекетін іске асыру мүмкін емес\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"%s үшін тіркелгі сәйкестігі анықталмаған, бастапқы сәйкестк қолданылған " -"болса ОК\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "%s үшін тіркелгі сәйкестігі саясатта анықталған, өшіруге мүмкін емес\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "%s үшін тіркелгі сәйкестігін өшіру мүмкін емес" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: жады жеткіліксіз\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: %s табылмады: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s бума да, сілтеме де емес.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: %s символдық сілтемесін оқу мүмкін емес: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Күдіктілі ұзын символдық сілтеме: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: %s бумасын жасау мүмкін емес: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: %s үшін иені ауыстыру мүмкін емес: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: %s үшін режимді ауыстыру мүмкін емес: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: unlink: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: %s бумасын өшіру мүмкін емес: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: %s атын %s етіп орнату мүмкін емес: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: %s өшіру мүмкін емес: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: %s символдық сілтемесін жасау мүмкін емес: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: %s үшін иелерді өзгерту мүмкін емес: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: lstat %s мүмкін емес: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: Ескерту, %s пайдаланушысында tcb shadow файлы жоқ.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: Төтенше жағдай: %s үшін tcb shadow қалыпты, st_nlink=1, файл емес.\n" -"Тіркелгі блокталған күйінде қалдырылады.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: %s ашу мүмкін емес: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Ескерту: белгісіз топ %s\n" @@ -284,6 +64,13 @@ msgstr "Терминал иесін не рұқстатын өзгерту мү msgid "%s: failed to unlock %s\n" msgstr "%s: %s босату сәтсіз\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"'%s' атындағы %s ішінде бірнеше жазба бар. Оны pwck не grpck көмегімен " +"дұрыстаңыз.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -291,6 +78,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "шифрлеу тәсіліне libcrypt-тан қолдау жоқ па? (%s)\n" + msgid "Environment overflow\n" msgstr "Орындалу орта айнымалыларының шектен көп саны\n" @@ -404,8 +195,15 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: Ерекше жүйелік UID алу мүмкін емес (бос UID-тар қалмады)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "баптаулар қатесі - %s мәнін талдау мүмкін емес: '%s'" + +msgid "Could not allocate space for config info.\n" +msgstr "Баптауларды жүктеу үшін орын жоқ.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "баптау қатесі - белгісіз элемент '%s' (администраторға хабарласыңыз)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -435,9 +233,10 @@ msgstr "%s үшін атын орнату мүмкін емес\n" msgid "%s: Could not set caps\n" msgstr "%s үшін атын орнату мүмкін емес\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: stpeprintf failed!\n" +msgstr "%s: жол %d: chown %s сәтсіз: %s\n" #, fuzzy, c-format #| msgid "%s: line %d: chown %s failed: %s\n" @@ -449,9 +248,22 @@ msgstr "%s: жол %d: chown %s сәтсіз: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: жол %d: chown %s сәтсіз: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: жол %d: chown %s сәтсіз: %s\n" + msgid "Too many logins.\n" msgstr "Жүйеге кірудің шектен көп талап саны.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s пайдаланушы аты: " + msgid "You have new mail." msgstr "Сізде жаңа пошта бар." @@ -461,6 +273,14 @@ msgstr "Пошта жоқ." msgid "You have mail." msgstr "Сізде пошта бар." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscd өз жұмысын дұрыс аяқтаған жоқ (%d сигналымен)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: nscd %d қалып-күймен өз жұмысын аяқтады\n" + msgid "no change" msgstr "өзгерістер жоқ" @@ -473,9 +293,6 @@ msgstr "өзгерістер тек таңбалардың регистрінд msgid "too similar" msgstr "өте ұқсас" -msgid "too simple" -msgstr "өте оңай" - msgid "rotated" msgstr "аударылған" @@ -521,6 +338,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() ішіндегі %d қатесі\n" +msgid "Password: " +msgstr "Пароль: " + +#, c-format +msgid "%s's Password: " +msgstr "%s пайдаланушының паролі: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "%s үшін қате пароль.\n" @@ -546,17 +370,14 @@ msgstr "%s: '%s' chroot жолы қате\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: %s chroot бумасына қатынау мүмкін емес: %s\n" -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: %s chroot бумасына өту (chdir) мүмкін емес: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: %s бумасына chroot жасау мүмкін емес: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: cannot chdir to chroot directory %s: %s\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: %s chroot бумасына өту (chdir) мүмкін емес: %s\n" #, c-format msgid "" @@ -573,6 +394,110 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "Аудит интерфейсін ашу мүмкін емес - шығу.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "SELinux басқарушы ұстағышын жасау мүмкін емес\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "SELinux саясаты басқарылып жатқан жоқ\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "SELinux саясаттарын сақтау қорын оқу сәтсіз\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "SELinux басқарушы байланысын орнату мүмкін емес\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "SELinux әрекетін бастау мүмкін емес\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "seuser %s үшін сұрау сәтсіз\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "%s үшін serange орнату мүмкін емес\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "%s үшін sename орнату мүмкін емес\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "%s үшін тіркелгі сәйкестігін түзету мүмкін емес\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "%s үшін SELinux тіркелгі сәйкестігін жасау мүмкін емес\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "%s үшін атын орнату мүмкін емес\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "%s үшін SELinux пайдаланушысын орнату мүмкін емес\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "%s үшін тіркелгі сәйкестігін қосу мүмкін емес\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "SELinux басқаруын іске қосу мүмкін емес\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "SELinux пайд.-шы кілтін жасау мүмкін емес\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "SELinux пайдаланушысын тексеру мүмкін емес\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "SELinux пайд. сәйкестігін түзету мүмкін емес\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "SELinux пайд. сәйкестігін қосу мүмкін емес\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "SELinux әрекетін іске асыру мүмкін емес\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"%s үшін тіркелгі сәйкестігі анықталмаған, бастапқы сәйкестк қолданылған " +"болса ОК\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "%s үшін тіркелгі сәйкестігі саясатта анықталған, өшіруге мүмкін емес\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "%s үшін тіркелгі сәйкестігін өшіру мүмкін емес" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "'%s' бумасына ауысу мүмкін емес\n" @@ -584,6 +509,10 @@ msgstr "Бума табылмады, HOME=/ бумасына кіру орынд msgid "Cannot execute %s" msgstr "%s орындау мүмкін емес" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "'%s' түбірлік бумасы қате\n" @@ -592,6 +521,86 @@ msgstr "'%s' түбірлік бумасы қате\n" msgid "Can't change root directory to '%s'\n" msgstr "Түбірлік бумасын '%s' мәніне ауыстыру мүмкін емес\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: жады жеткіліксіз\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: %s табылмады: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s бума да, сілтеме де емес.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: %s символдық сілтемесін оқу мүмкін емес: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: Күдіктілі ұзын символдық сілтеме: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: %s бумасын жасау мүмкін емес: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: %s үшін иені ауыстыру мүмкін емес: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: %s үшін режимді ауыстыру мүмкін емес: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: unlink: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: %s бумасын өшіру мүмкін емес: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: %s атын %s етіп орнату мүмкін емес: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: %s өшіру мүмкін емес: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: %s символдық сілтемесін жасау мүмкін емес: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: %s үшін иелерді өзгерту мүмкін емес: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: lstat %s мүмкін емес: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: Ескерту, %s пайдаланушысында tcb shadow файлы жоқ.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: Төтенше жағдай: %s үшін tcb shadow қалыпты, st_nlink=1, файл емес.\n" +"Тіркелгі блокталған күйінде қалдырылады.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: %s ашу мүмкін емес: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: %s пайдаланушысы қазір жүйеге кіріп тұр\n" @@ -670,6 +679,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root CHROOT_DIR chroot үшін бума\n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -R, --root CHROOT_DIR chroot үшін бума\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -697,12 +711,15 @@ msgstr "Тіркелгіні күн өткенде сөндіру (күн сан msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Тіркелгінің мерзімі аяқталатын күні (ЖЖЖЖ-АА-КК)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Парольді соңғы ауыстыру\t\t\t\t\t: " - msgid "never" msgstr "ешқашан" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Парольді соңғы ауыстыру\t\t\t\t\t: " + msgid "password must be changed" msgstr "пароль өзгертілу керек" @@ -876,14 +893,6 @@ msgstr "%s: '%s' құрамында қате таңбалар бар\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: пайдаланушы '%s' жоқ болып тұр\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: NIS клиентінде '%s' пайдаланушыны ауыстыруға мүмкін емес.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' - бұл клиент үшін NIS сервері.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "%s үшін пайдаланушы ақпаратын өзгерту\n" @@ -923,6 +932,11 @@ msgstr "" " -s, --sha-rounds SHA* тектес алгоритмдер үшін SHA\n" " раундтар саны\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: қолдауы жоқ шифрлеу тәсілі: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: %s жалаушасын тек %s жалаушасымен бірге қолдануға болады\n" @@ -974,6 +988,16 @@ msgstr "" msgid "Login Shell" msgstr "Қоршам" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: %s өлшемін алу мүмкін емес: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: жаңа defaults файлын жасау мүмкін емес\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Сіз '%s' үшін қоршамды өзгерте алмайсыз.\n" @@ -986,6 +1010,11 @@ msgstr "%s үшін қоршамды өзгерту\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Қате мән: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s дұрыс қоршам емес\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s дұрыс қоршам емес\n" @@ -1229,11 +1258,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system жүйелік тіркелгіні жасау\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -R, --root CHROOT_DIR chroot үшін бума\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1248,6 +1272,11 @@ msgstr "қате пайдаланушы аты '%s'\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: '%s' дұрыс топ аты емес\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: %s ашу мүмкін емес: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: қате топ ID-і '%s'\n" @@ -1292,14 +1321,6 @@ msgstr "%s: '%s' пайдаланушының басты тобын өшіру msgid "%s: group '%s' does not exist\n" msgstr "%s: '%s' тобы жоқ болып тұр\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: '%s' тобы NIS тобы болып тұр\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s қазір NIS сервері болып тұр\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: '%s' пайдаланушысы '%s' тобының мүшесі болып тұр\n" @@ -1395,10 +1416,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: қате топ аты '%s'\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: %s тобы NIS тобы болып тұр\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: белгісіз пайдаланушы %s\n" @@ -1524,8 +1541,12 @@ msgstr "" " -b, --before КҮН мерзімі КҮНнен үлкен ғана lastlog жазбаларын " "көрсету\n" +#, fuzzy +#| msgid "" +#| " -C, --clear clear lastlog record of an user (usable " +#| "only with -u)\n" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -C, --clear пайдаланушының lastlog жазбасын тазарту (тек " @@ -1629,11 +1650,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: Эффективті root-сыз жұмыс істемеуі мүмкін\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Utmp жазбасы жоқ. Сізге exec \"login\" командасын бірінші деңгейден \"sh\" " -"қосу керек" - #, c-format msgid "" "\n" @@ -1667,14 +1683,6 @@ msgstr "Жүйеге кіру орындалмады" msgid "Cannot find user (%s)\n" msgstr "Пайдаланушыны табу мүмкін емес (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s пайдаланушы аты: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: үрдісті бастау қатесі: %s" @@ -1710,7 +1718,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1736,20 +1745,15 @@ msgstr "%s: %s өшіру сәтсіз аяқталды\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: %s босату сәтсіз\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: %s үшін tcb бумасын табу сәтсіз\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: %s үшін tcb бумасын жасау мүмкін емес\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1782,14 +1786,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: %s үшін tcb бумасын жасау мүмкін емес\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1813,6 +1817,10 @@ msgstr "%s: пайдаланушы ID-і '%s' қате\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: '%s' пайдаланушы аты қате\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: жол %d: жол қате\n" @@ -1834,6 +1842,11 @@ msgstr "%s: жол %d: топты жасау мүмкін емес\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: жол %d: '%s' пайдаланушысы %s ішінде жоқ\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: unlink: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: жол %d: парольді жаңарту мүмкін емес\n" @@ -1855,14 +1868,14 @@ msgstr "%s: жол %d: chown %s сәтсіз: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: жол %d: жазбаны жаңарту мүмкін емес\n" -#, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: жаңа %s жазбасын дайындау сәтсіз аяқталды\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: бағынышты пайдаланушы ауқымын табу мүмкін емес\n" +#, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: жаңа %s жазбасын дайындау сәтсіз аяқталды\n" + #, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: бағынышты топ ауқымын табу мүмкін емес\n" @@ -1942,6 +1955,12 @@ msgstr "" "етілген күн санын\n" " MAX_DAYS мәніне орнату\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" +" -l, --list тіркелгінің жұмыс уақыты ақпаратын көрсету\n" + msgid "Old password: " msgstr "Ағымдағы пароль:" @@ -1961,6 +1980,11 @@ msgstr "" "Жаңа парольді енгізіңіз (минимум %d, максимум %d белгі болсын)\n" "Парольді бас, кіші әріптер және сандарды араластыра қолданып құраңыз.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: жолдар өте ұзын\n" + msgid "New password: " msgstr "Жаңа пароль:" @@ -2003,6 +2027,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: %s репозиторийіне қолдау жоқ\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: тек root -g/--group опциясын қолдана алады\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2156,11 +2185,9 @@ msgstr "%s: сигнал ақаулығы\n" msgid "Session terminated, terminating shell..." msgstr "Сессия тоқтатылды, қоршамды тоқтату..." -#, c-format msgid " ...killed.\n" msgstr " ...өлтірілді.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...ұрпақ үрдістің тоқтатылуын күту.\n" @@ -2248,6 +2275,11 @@ msgstr "%s: Сізде қазір su жасау үшін құқығыңыз жо msgid "No passwd entry for user '%s'\n" msgstr "'%s' пайд.-сы үшін passwd жазбасы жоқ\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "қате пайдаланушы аты '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: терминалда орындалуы керек\n" @@ -2293,6 +2325,13 @@ msgstr "%s: %s жасалды, бірақ оны өшіру мүмкін еме msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: %s баптауы, ол %s ішінде, есепке алынбайды\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: %s баптауы, ол %s ішінде, есепке алынбайды\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2323,10 +2362,6 @@ msgstr "%s: Қор көшірме файлын жасау мүмкін емес msgid "%s: rename: %s: %s\n" msgstr "%s: атын ауыстыру: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: '%s' тобы NIS тобы болып тұр.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: шектен көп топ саны көрсетілген (максимум %d).\n" @@ -2459,6 +2494,17 @@ msgstr "" " -Z, --selinux-user SEUSER SELinux пайдаланушы сәйкестігі үшін " "көрсетілген SEUSER қолдану\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEUSER SELinux пайдаланушы сәйкестігі үшін " +"көрсетілген SEUSER қолдану\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: '%s' негізгі бумасы қате\n" @@ -2601,6 +2647,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Пошта файлына рұқсаттарды орнату" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Пошта файлын құру" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Пошта файлын құру" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2730,10 +2786,6 @@ msgstr "%s: %s құрамасын өшіру мүмкін емес: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: %s үшін tcb файлдарын өшіру мүмкін емес: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: %s қазір NIS пайдаланушысы болып тұр\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: %s үшін үй бумасы (%s) табылмады\n" @@ -2868,6 +2920,16 @@ msgstr "" " -Z, --selinux-user SEUSER пайдаланушы тіркелгісі үшін жаңа SELinux " "сәйкестігі\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUSER пайдаланушы тіркелгісі үшін жаңа SELinux " +"сәйкестігі\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2960,11 +3022,23 @@ msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" "%s: %lu пайд.-нан %lu пайдаланушысына lastlog жазбасын көшіру сәтсіз: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: %lu пайд.-нан %lu пайдаланушысына lastlog жазбасын көшіру сәтсіз: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: %lu пайд.-нан %lu пайдаланушысына faillog жазбасын көшіру сәтсіз: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: %lu пайд.-нан %lu пайдаланушысына faillog жазбасын көшіру сәтсіз: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: ескерту: %s қазір %s иелігінде емес\n" @@ -3067,8 +3141,8 @@ msgstr "scratch файлын жою сәтсіз" msgid "failed to stat edited file" msgstr "түзетілген файлды табу сәтсіз" -msgid "failed to allocate memory" -msgstr "жадыны бөлу сәтсіз" +msgid "asprintf(3) failed" +msgstr "" msgid "failed to create backup file" msgstr "резервті көшірме файлын жасау сәтсіз" @@ -3081,6 +3155,50 @@ msgstr "%s: %s қайтару мүмкін емес: %s (сіздің өзгер msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: %s үшін tcb бумасын табу сәтсіз\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: NIS клиентінде '%s' пайдаланушыны ауыстыруға мүмкін емес.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' - бұл клиент үшін NIS сервері.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: '%s' тобы NIS тобы болып тұр\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s қазір NIS сервері болып тұр\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: %s тобы NIS тобы болып тұр\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: '%s' тобы NIS тобы болып тұр.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: %s қазір NIS пайдаланушысы болып тұр\n" + +#~ msgid "too simple" +#~ msgstr "өте оңай" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Utmp жазбасы жоқ. Сізге exec \"login\" командасын бірінші деңгейден " +#~ "\"sh\" қосу керек" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: %s үшін tcb бумасын табу сәтсіз\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "жадыны бөлу сәтсіз" + #~ msgid "Usage: id\n" #~ msgstr "Қолданылуы: id\n" @@ -3096,10 +3214,6 @@ msgstr "%s: %s үшін tcb бумасын табу сәтсіз\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: пароль мерзімі туралы ақпарат өзгертілді.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "қате пайдаланушы аты '%s'\n" - #~ msgid "Username Port From Latest" #~ msgstr "Пайдаланушы Порт Қайдан Соңғы" diff --git a/po/km.gmo b/po/km.gmo index 3c97d7c609fddd946125eda85d61290d64c7795f..d5f3d5ec4497ab425cbb9096c628df7a26c7492f 100644 GIT binary patch delta 3841 zcmXxm2~bs49LMoL34&=NxFNVaL=AC46kJjfQ4w&@FbxfPnueOW<(?0hG%E}vMJ3BU z*HPzbIu)&IP0M8Im}8CF>X=PaIhNzt*!TDD;ST@zIp=WSJ?H$-IT!YP7xu~5VS&rB z;Tw$W5Ye1i6=8NAf4`p(uJZb3b#Xlw;Z|&l|6vj~jy9`@y-;7t!6+PsetgWeS0g|6 zDIbw|5o62(c9lX~8vb_1H86{(o{4H7hfOem^l2MW1K5p?up0Z|H`o=Ud1@=n#y053 z*0=`sy!{x5XEB-n?K%Z@7#r(-p%eP3Ka85;TvUgZs16TfKAu7!MmIEThFwqt%}3o| zj6Ph1EpUr#KZzR9S!_xFcGLYLmZ$5+6!c*(Y5*mu0hVC`?nOP|6#DQQl01uQY}Oa! zkg?eq)J#jzhbyoH?nGtcD-3j`aLYBcX81npxv2IMOva5!AND?KKQ`j9ylG_;dAK2gQx*~iR$1l zOu?qytQlvc23mm3$)@2NEOqrLI;lgwB@V{qc=E4ZJBtR5YzgWVRAM3?Lp|_<`~3~< zMLm+6bt?L!Qa=oJ-vsQAb6kC&tG|cZytka;bfSqj3{cQ<>4`nDKkCNC7=de%@7T+z z%p5?ieKjhjSCJ&xZPY|!*g##eIqLT#P^V!kYQSsIhZXoB298nC1HVUgbPxHlgqB{1 zy-=wfg1WC5S$126nt2tH6gzBQ0?*M?G+} z^B8KRU!h(!|DpyI?(+s1kNv23MD2|ksJ&2*T9Tc}SnMP!Q{SS#|7WNkFssc%tDzM} zVg~YKefiKAi%^?p8LETlQJeB0Dy8R8oAHWkk04EYPDj*nOGj46CL-@BdlvP)by%1F zZ4(6@w_Uh7jAMdI@pN`bI`tK(2c4i7&GaW!hLRYCQkjXG=`iff{eDyi)|0kTxC=GV ze^3Lxk25_HlQB?4VJ!uIXV>u+jA`$^yLTaDu}IF?NKC=;xCB4Ni?{)|GrF)QFNLq7zF4~-?|)p4rI?zUUB76lL=# z8P8w^1`-FDHXOri6qmiaJO=LiGn&T9p!aUjf~9BqQ02N4l2jB zI2z;mVDdH-yWnxWfxlu2e#5A=iTkio^#0g^&)|o+0(*?{Ci*s()4!#&!^-e9>Vc!# zIb_jR;avOzJ7Ly1FH^7eK zYtvLxC`Fs#{g1aCw^RKAbqZGUbOvuXk%M7*MP}b&DXPQq6TJZ)M~=2#LuITnHzO)1PTz6810ZxQ$|Xx?vw~!e8)RTsGOuL~rt|l$PK-cmg0Zz^UGVj$oYb!xX%YJ2B}=^3SFWUE1Bd2|a-R>^@>1p$t4lXh2Hq>%<#G z3~`7UOz7y=B{T_5D3Z`#(A9w`B{blgD~dvMB8UF1J&{b*T#G1Zy>-nd+7Vi&G@>=Z zvf6XRK|)t6kI-jhS03QpgBx9WEAAln5wl#I`VajtwgKz8MzNn*O!OySCTgy(uCN*V zxH8!c{m;nWgyleM!5QLTDZS{gx*_p8wNuv{k)dk5-E5e`J@jtFque<;N delta 4763 zcmajhd2m(b8OQNAKm@{?umljpAreSJjA2K}hG8)*%2v<^r;Fv$&BWD{;!WJe_z zFhsZ!1Ben@;fg@5EsGVL&Nu}}BQjJ@vDlVr2L@ZLFw=g2=iET0fAmbA`+3iM&V85X zecuab&xh^56z2OwRI}}d>nPEk_$b_%n^@S253ZDU#;Dj2XJZ;h<8FKuk78@Qh!J=V zTi{KcgFl4oXSFwmqRGeRxELdi@tH~rU8$(TIIItO0h74@9=l;2Z|iv`cE7|%UQERk*dPCieK8@*m>&2O?1dE=OaG>Zf*Sr1yWmxf$Ghls+`;`qCR)^cP%~eP z>i8X0$ER^DHlQ*YOQkx@KnrK1CR&M_Kn+IIzd0Ow;S+p>`@iY|w&)QQz-KZx#+gEy1&xhWY4Yl4d^z&HMyfcmb8NTd2(RpjR!$ zDAau^T38*bKY_~FHDv6j9gS%qy-)+oKnv$$I<7%w;!GFvPqxfuD%9{z)Y?Szl(tMN zY9>=r@0FmQuR(S2HnP0tBjnF~!AEbrffh#dk_Ipo)&5LO#8s$?AL>T_HR6+0kS+5$ zuEXo0`!afO$^8Z#gMQR5zl8jmYkX*}oAA*Sd!X7IfqFg-pTJVoDXK>;!Ew}k=X?|f zQ@9+e=*YtAJ^{76b3%GiGhcx^UUis>^*9v&hI+p@8zmeEp$0G}Dj{ z#Wp9Yn@p&Z0W}6Dp&(QSY^}++Cl7 z%D@;T$v!ik0`Hho)EZVH4@^C3U}up(bAb=d@D^(AnvieJq*KVpP~RIBG6yx#WvCyh zI@EyPMGf#{%+UG&l7co#7lx^ZQ&DU443Y#h50$Fbs0Mb0?vI4-e}~Pfw~?mIUr^s` zMWfm~iKzAm@}bT7EGnZujH7?EDfHkls-Z7Y$L|WVElg_`o*zMzfNF3Us)3QH3{6BG z&l$Kgj3q%%u8F0$f!sfVYOk1dWMB;{Q(vJ^Dg6fp&A1tdIGHbWMP=ft1Y;)Q3{;1Q zP{-&*$geSn`|w2f--h{E!TrZblO~m3t8gC9!P`i3%ugBZL|mRk{%2D7l!|lM_c3F( z<9B!pHzt!V9RE0F+=nYMCB>M9cm#)GuYUZj;%uCXS5TQ9)StoQQS@Ns0Aq4-5$byv z2k_Pp6gm#%%woGi%o-=5UaY}Ico#L$a?a*RJdabb^AKZ}-~ybC-{A8&gfp3kbvOoF z@gq=!Q?M5Qj>qt2AH(oc7(JXbitpnxY@5ozRJak%b2!id>u8zfls=r-HK|UX_heua5Yw964NKU z<`CxN*Z2ZHHOl>^`weQX|Ap#s=4jR%&!8V;m`yew!3FB#E`>5G@)$)PUcwhKi?`O} zNj!-mM zOf{ay2Hb}=tZ%APoH@SiLhXKszAY49V&T5~nLe1<8%)vZ12;0J(LsrRjVuKCGeALqJ&GQ*U zw#+dq$gYWGSbCuVt8pLx3e(B2GI0l$(ge2d2Uv?SIOBQ#kAO>&Khvzx9Z(5&(R-MP z$5HQJ#X4-_D>8;n>RbtYY8EdOuMs;5GUyD51UQ!l*@;+5DD_&;{={-Z*Eph*=uNyw z1c}Crq&b6JjZ29*g83W6$#6#92lo+9C9*2_E++2$M}tf{|G4zH_ry)LPLQsL2qx#u z`W-ALlwn=Hh%_QzH}2(gjtm>qOdtk?YQ>IFd3VTRA=`!AjM^Keg!YCm?U{wd5#4YN zBn}c)#5zK!D4N(pG$S_Mn<_Ugi6@EiL<^$vT0tSH@dnq2%KPyVVl1IG9YeGy8n1K; zKPQ@pD!SvSPf3HxfsQAw*9?mwr%YI3@Q(yImV_GV!8Y<@{{NQf@^wAviS7 z?%#^th>k=Qp(Fb)p^aNhj3ziB&i|-=uT#)fPDBvl#4KVv5g^tQC4{aFVlnXskw}ar zvWeD&t`USqJWA9P`VGk=bnzqW?0Dyf4-S_8-S8O>fO(wQLu3&;cCQe+W)g>pi9{P> z6>)%wBo+{Z2tU!6SVR1R(Df4W7LlSGuC6XW`rO9dGUvQdSVYtiO^L?qVG3^&nZ#7$ z!K*D5dqb6zWN=H{!m!AKGOIk_V?CWc#VX1zEBBQ8Z?v1-r%zm2AM1Y}S@XT6yiNVw z!U9imd2%qdeNXByv0s)jqhYeeik-3uhd&nV#SrI(Ol=TQxjq0 z%7$6)!^S@U>v6DkhlZvRZiU(pUg%sBp5e7B%8N=Y22i>r*|MJVR#-(9W#yJ$S=Xib@JS!MfP0@aR=` z;Foq_ogH}pkCmJ3K($@FQp5E3j{j|s({I?dJKVXsuei^7(V2<=)W|NwovICd-44{+ zwHxigaXa95ntIKyt+E3f?Al5@u*<3O)3{x`jVN-B z&J^xH<<_a$*4U@!=rmK6J~qlfIV~!gG?Ly|7>*t}o4^k2AscpJr!ysHaKAzSh{Ue` zPqSjO8@GfV*ukr&lbIOcjtsU6z%v?|1opW*G_~\n" "Language-Team: Khmer \n" @@ -22,220 +22,6 @@ msgstr "" "X-Generator: KBabel 1.11.2\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "មិន​អាច​បម្រុង​ទុក​ទំហំ​សម្រាប់​ព័ត៌មាន​​កំណត់​រចនាសម្ព័ន្ធទេ​ ។\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "កំហុស​ការ​កំណត់​រចនាសម្ព័ន្ធ​ - មិន​ស្គាល់​ធាតុ '%s' (ជូន​ដំណឹង​អ្នក​គ្រប់គ្រង​)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "ពាក្យ​សម្ងាត់​ ៖ " - -#, c-format -msgid "%s's Password: " -msgstr "ពាក្យសម្ងាត់​របស់ %sសម្ងាត់ ៖ " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "មិនអាច​បើក​ឯកសារ​ពាក្យសម្ងាត់​បានឡើយ ។\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "មិន​អាច​បម្រុង​ទុក​ទំហំ​សម្រាប់​ព័ត៌មាន​​កំណត់​រចនាសម្ព័ន្ធទេ​ ។\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "ការផ្លាស់​ប្តូរ​ព័ត៌មាន​ចាស់​សម្រាប់​ %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s ៖ មិន​អាចកំណត់​ឈ្មោះ​អ្នកប្រើ​របស់​អ្នក​បាន​ទេ ។\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s ៖ បន្ទាត់​ %d ៖ មិន​អាច​រក​អ្នកប្រើ​ %s ឃើញឡើយ\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s ៖ អស់​សតិ​\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s ៖ មិនអាច​ធ្វើឲ្យឯកសារ %s ទាន់សម័យ​បានទេ\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s ៖ ថត​ផ្ទះ​មិន​ត្រឹមត្រូវ​ '%s'\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s ៖ មិនអាចប្ដូរឈ្មោះ​ថត​ %s ទៅ​ជា​ %s បានឡើយ\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s  ៖ ការព្រមាន​ ៖ មិន​អាច​យកចេញបានឡើយ " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s  ៖ ការព្រមាន​ ៖ មិន​អាច​យកចេញបានឡើយ " - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s ៖​ ប្តូរ​ឈ្មោះ​ ៖ %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s ៖ មិនអាចប្ដូរឈ្មោះ​ថត​ %s ទៅ​ជា​ %s បានឡើយ\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s ៖ មិនអាចប្ដូរឈ្មោះ​ថត​ %s ទៅ​ជា​ %s បានឡើយ\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s  ៖ ការព្រមាន​ ៖ មិន​អាច​យកចេញបានឡើយ " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s  ៖ ការព្រមាន​ ៖ មិន​អាច​យកចេញបានឡើយ " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s ៖ មិនអាច​ធ្វើឲ្យឯកសារ %s ទាន់សម័យ​បានទេ\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s ៖ មិនអាច​ធ្វើឲ្យឯកសារស្រមោល​ទាន់សម័យបានឡើយ​\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s ៖​ ប្តូរ​ឈ្មោះ​ ៖ %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s ៖ មិនអាច​បើក​ឯកសារ​ %s បានទេ\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "ការ​ព្រមាន ៖ មិន​ស្គាល់​ក្រុម %s\n" @@ -286,6 +72,11 @@ msgstr "មិន​អាច​ប្តូរ​ tty %s បានឡើយ" msgid "%s: failed to unlock %s\n" msgstr "%s ៖ វាល គឺ​វែងវែងពេក​\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "%s ៖ %s\n" @@ -293,6 +84,10 @@ msgstr "%s ៖ %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "​លើស​ចំណុះ​បរិស្ថាន\n" @@ -393,9 +188,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s ៖ មិនអាចយក​ UID ដែលមានតែមួយ​បានទេ\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "មិន​អាច​បម្រុង​ទុក​ទំហំ​សម្រាប់​ព័ត៌មាន​​កំណត់​រចនាសម្ព័ន្ធទេ​ ។\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "កំហុស​ការ​កំណត់​រចនាសម្ព័ន្ធ​ - មិន​ស្គាល់​ធាតុ '%s' (ជូន​ដំណឹង​អ្នក​គ្រប់គ្រង​)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s ៖ PAM ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវបាន​បរាជ័យ​\n" @@ -423,7 +225,7 @@ msgstr "មិន​អាច​បម្រុង​ទុក​ទំហំ​ #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s ៖ មិន​អាច​បើក​​ឯកសារ​បានទេ\n" #, fuzzy, c-format @@ -434,9 +236,21 @@ msgstr "%s ៖ បន្ទាត់​ %d ៖ chown បានបរាជ័ msgid "%s: write to %s failed: %s\n" msgstr "%s ៖ បន្ទាត់​ %d ៖ chown បានបរាជ័យ​\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s ៖ បន្ទាត់​ %d ៖ chown បានបរាជ័យ​\n" + msgid "Too many logins.\n" msgstr "ចូល​ច្រើន​ពេក​ ។\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s ចូល​ ៖ " + msgid "You have new mail." msgstr "អ្នក​មានសំបុត្រ​ថ្មី​ ។​" @@ -446,6 +260,14 @@ msgstr "គ្មាន​សំបុត្រ​​​ទេ​ ។" msgid "You have mail." msgstr "អ្នក​មាន​សំបុត្រ ។" +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "គ្មាន​​ផ្លាស់ប្តូរ​ " @@ -458,9 +280,6 @@ msgstr "ករណី​បាន​តែ​ប្តូរ​" msgid "too similar" msgstr "ស្រដៀងគ្នា​ពេក" -msgid "too simple" -msgstr "ធម្មតា​ពេក" - msgid "rotated" msgstr "បានបង្វិល​" @@ -507,6 +326,13 @@ msgid "" "%s\n" msgstr "ពាក្យ​សម្ងាត់​ ៖ pam_start() បាន​បរាជ័យ​, កំហុស​ %d\n" +msgid "Password: " +msgstr "ពាក្យ​សម្ងាត់​ ៖ " + +#, c-format +msgid "%s's Password: " +msgstr "ពាក្យសម្ងាត់​របស់ %sសម្ងាត់ ៖ " + #, c-format msgid "Incorrect password for %s.\n" msgstr "ពាក្យ​សម្ងាត់​មិន​ត្រឹមត្រូវ​សម្រាប់​ %s ។\n" @@ -531,17 +357,13 @@ msgstr "%s ៖ លេខ​ទូរស័ព្ទនៅផ្ទះ​មិ msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" #, c-format msgid "" @@ -556,6 +378,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "មិនអាច​បើក​ឯកសារ​ពាក្យសម្ងាត់​បានឡើយ ។\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "មិន​អាច​បម្រុង​ទុក​ទំហំ​សម្រាប់​ព័ត៌មាន​​កំណត់​រចនាសម្ព័ន្ធទេ​ ។\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "មិន​អាច​បម្រុង​ទុក​ទំហំ​សម្រាប់​ព័ត៌មាន​​កំណត់​រចនាសម្ព័ន្ធទេ​ ។\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "ការផ្លាស់​ប្តូរ​ព័ត៌មាន​ចាស់​សម្រាប់​ %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s ៖ មិន​អាចកំណត់​ឈ្មោះ​អ្នកប្រើ​របស់​អ្នក​បាន​ទេ ។\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s ៖ បន្ទាត់​ %d ៖ មិន​អាច​រក​អ្នកប្រើ​ %s ឃើញឡើយ\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "មិន​អាច​​ cd ចូលទៅ​ '%s' បានទេ\n" @@ -567,6 +490,10 @@ msgstr "គ្មាន​ថត​ ការចូល​ជាមួយ​ HOME msgid "Cannot execute %s" msgstr "មិន​អាចប្រតិបត្តិ​ %s បានទេ" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "ថត​ root មិន​ត្រឹមត្រូវ​ '%s'\n" @@ -575,6 +502,84 @@ msgstr "ថត​ root មិន​ត្រឹមត្រូវ​ '%s'\n" msgid "Can't change root directory to '%s'\n" msgstr "មិន​អាច​ប្តូរ​ថត root ទៅ​ '%s'បាន​ទេ​\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s ៖ អស់​សតិ​\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s ៖ មិនអាច​ធ្វើឲ្យឯកសារ %s ទាន់សម័យ​បានទេ\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s ៖ ថត​ផ្ទះ​មិន​ត្រឹមត្រូវ​ '%s'\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s ៖ មិនអាចប្ដូរឈ្មោះ​ថត​ %s ទៅ​ជា​ %s បានឡើយ\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s  ៖ ការព្រមាន​ ៖ មិន​អាច​យកចេញបានឡើយ " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s  ៖ ការព្រមាន​ ៖ មិន​អាច​យកចេញបានឡើយ " + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s ៖​ ប្តូរ​ឈ្មោះ​ ៖ %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s ៖ មិនអាចប្ដូរឈ្មោះ​ថត​ %s ទៅ​ជា​ %s បានឡើយ\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s ៖ មិនអាចប្ដូរឈ្មោះ​ថត​ %s ទៅ​ជា​ %s បានឡើយ\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s  ៖ ការព្រមាន​ ៖ មិន​អាច​យកចេញបានឡើយ " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s  ៖ ការព្រមាន​ ៖ មិន​អាច​យកចេញបានឡើយ " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s ៖ មិនអាច​ធ្វើឲ្យឯកសារ %s ទាន់សម័យ​បានទេ\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s ៖ មិនអាច​ធ្វើឲ្យឯកសារស្រមោល​ទាន់សម័យបានឡើយ​\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s ៖​ ប្តូរ​ឈ្មោះ​ ៖ %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s ៖ មិនអាច​បើក​ឯកសារ​ %s បានទេ\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s ៖ បច្ចុប្បន្ន ​អ្នក​ប្រើ​ %s បាន​ចូលហើយ​\n" @@ -634,6 +639,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -660,13 +668,16 @@ msgstr "ពាក្យ​សម្ងាត់​អសកម្ម​" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "កាលបរិច្ឆេទ​ការផុត​កំណត់របស់​​គណនី​ (YYYY-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "ការប្តូរ​ពាក្យ​សម្ងាត់​លើកចុង​ក្រោយ​\t\t\t\t\t ៖ " - #, fuzzy msgid "never" msgstr "កុំ\n" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "ការប្តូរ​ពាក្យ​សម្ងាត់​លើកចុង​ក្រោយ​\t\t\t\t\t ៖ " + #, fuzzy msgid "password must be changed" msgstr "ពាក្យ​សម្ងាត់​ត្រូវ​តែ​ប្តូរ​\n" @@ -835,14 +846,6 @@ msgstr "%s ៖ '%s' មាន​តួអក្សរ​មិន​ត្រ msgid "%s: user '%s' does not exist\n" msgstr "%s ៖ មិនទាន់មានអ្នក​ប្រើ​ %s ទេ​\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s ៖ មិនអាចផ្លាស់​​ប្តូរ​អ្នក​ប្រើបានទេ​ '%s' លើ​ម៉ាស៊ីន​ភ្ញៀវ NIS បានទេ ។\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s ៖ '%s' ជាមេ​ NIS សម្រាប់​ម៉ាស៊ីន​ភ្ញៀវ​នេះ​ ។\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "កំពុងផ្លាស់​​ប្តូរ​ព័ត៌មាន​អ្នកប្រើ​សម្រាប់​ %s\n" @@ -871,6 +874,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: ទង់ -a គឺត្រូវបានអនុញ្ញាត​បានតែជាមួយទង់ -G ប៉ុណ្ណោះ\n" @@ -921,6 +928,15 @@ msgstr "" msgid "Login Shell" msgstr "សែលចូល" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s ៖ មិនអាចប្ដូរឈ្មោះ​ថត​ %s ទៅ​ជា​ %s បានឡើយ\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s ៖ មិន​អាច​បង្កើត​ឯកសារ​លំនាំ​ដើម​ថ្មី​បានឡើយ​\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "អ្នក​មិនអាច​​ប្តូរ​សែល​សម្រាប់​ %s បានទេ ។\n" @@ -933,6 +949,10 @@ msgstr "កំពុង​ផ្លាស់ប្ដូរ​សែល​ចូ msgid "%s: Invalid entry: %s\n" msgstr "%s ៖ ធាតុបញ្ចូល​​មិន​ត្រឹមត្រូវ​ ៖ %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s គឺជា​សែល​មិន​ត្រឹមត្រូវ​ ។\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s គឺជា​សែល​មិន​ត្រឹមត្រូវ​ ។\n" @@ -1143,9 +1163,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1158,6 +1175,10 @@ msgstr "ឈ្មោះ​អ្នក​ប្រើ​មិន​ត្រឹ msgid "%s: '%s' is not a valid group name\n" msgstr "%s  ៖ %s ជា​ឈ្មោះ​ក្រុម​មិន​ត្រឹមត្រូវ​\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s ៖ មិនអាច​បើក​ឯកសារ​ %s បានទេ\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "ឈ្មោះ​ក្រុម​ '%s' មិនត្រឹមត្រូវ\n" @@ -1200,14 +1221,6 @@ msgstr "%s ៖ មិនអាចផ្លាស់​​ប្តូរ​អ msgid "%s: group '%s' does not exist\n" msgstr "%s ៖ មិនមានក្រុម​ %sឡើយ​\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s ៖ ក្រុម​ '%s' គឺជាក្រុម​ NIS ។\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s ៖ %s គឺជា​មេ NIS\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s ៖ អ្នកប្រើ​ %s គឺជា​អ្នក​​ប្រើ​ NIS\n" @@ -1283,10 +1296,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "ឈ្មោះ​ក្រុម​ '%s' មិនត្រឹមត្រូវ\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s ៖ ក្រុម​ %s គឺជា​ក្រុម NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s ៖ មិន​ស្គាល់​អ្នកប្រើ​ %s\n" @@ -1405,7 +1414,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1502,9 +1511,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "គ្មាន​ធាតុ​ utmp ឡើយ ។ អ្នក​ត្រូវ​ប្រតិបត្តិ​ \"login\" ពី​កម្រិត​ទាប​បំផុត​ \"sh\"" - #, fuzzy, c-format msgid "" "\n" @@ -1538,14 +1544,6 @@ msgstr "ចូល​មិន​ត្រឹមត្រូវ​" msgid "Cannot find user (%s)\n" msgstr "%s ៖ បន្ទាត់​ %d ៖ មិន​អាច​រក​អ្នកប្រើ​ %s ឃើញឡើយ\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s ចូល​ ៖ " - #, c-format msgid "%s: failure forking: %s" msgstr "%s ៖ ការចែកជាពីរវិធី​​បានបរាជ័យ​ ៖ %s" @@ -1583,7 +1581,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1608,17 +1607,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s ៖ វាល គឺ​វែងវែងពេក​\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s  ៖ ថត​មូលដ្ឋាន​មិន​ត្រឹមត្រូវ​ '%s'\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1652,14 +1647,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1680,6 +1674,10 @@ msgstr "%s ៖ឈ្មោះ​អ្នក​ប្រើ​មិន​ត msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s ៖ឈ្មោះ​អ្នក​ប្រើ​មិន​ត្រឹមត្រូវ​ '%s'\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s ៖ បន្ទាត់​ %d ៖ បន្ទាត់​មិន​ត្រឹមត្រូវ​\n" @@ -1700,6 +1698,10 @@ msgstr "%s ៖ បន្ទាត់​ %d ៖ មិន​អាច​បង msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s ៖ មិនទាន់មានអ្នក​ប្រើ​ %s ទេ​\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s ៖​ ប្តូរ​ឈ្មោះ​ ៖ %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s ៖ បន្ទាត់​ %d ៖ មិន​អាច​ធ្វើ​ឲ្យ​ពាក្យ​សម្ងាត់​ទាន់សម័យ​បានឡើយ​\n" @@ -1720,14 +1722,14 @@ msgstr "%s ៖ បន្ទាត់​ %d ៖ chown បានបរាជ័ msgid "%s: line %d: can't update entry\n" msgstr "%s ៖ បន្ទាត់​ %d ៖ មិនអាចធ្វើឲ្យ​ធាតុបញ្ចូល​ទាន់សម័យបានឡើយ\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s ៖ បរាជ័យ​ក្នុងការ​ទម្លាក់​សិទ្ធ (%s)\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s ៖ មិន​អាច​បង្កើត​ %s បានឡើយ\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s ៖ បរាជ័យ​ក្នុងការ​ទម្លាក់​សិទ្ធ (%s)\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s ៖ មិនអាច​ធ្វើឲ្យ​ឯកសារក្រុម​ទាន់សម័យបានទេ​\n" @@ -1786,6 +1788,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "ពាក្យ​សម្ងាត់​ចាស់ ៖ " @@ -1805,6 +1810,11 @@ msgstr "" "បញ្ចូល​ពាក្យ​សម្ងាត់​ថ្មី​ (តួអក្សរ​​អប្បបរមានៃ​ %d អតិបរមានៃ %d)\n" "សូម​ប្រើ​អក្សរ​ធំ​ អក្សរ​តូច​ ​និង លេខ​ចូល​គ្នា​ ។\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s ៖ វាល គឺ​វែងវែងពេក​\n" + msgid "New password: " msgstr "ពាក្យ​សម្ងាត់​ថ្មី​ ៖ " @@ -1847,6 +1857,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s ៖ ឃ្លាំង​ %s មិន​បាន​គាំទ្រឡើយ​\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1994,11 +2008,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2071,6 +2083,11 @@ msgstr "អ្នកគ្មាន​ការ​អនុញ្ញាតឲ្ msgid "No passwd entry for user '%s'\n" msgstr "គ្មាន​ធាតុ​ពាក្យ​សម្ងាត់​សម្រាប់ 'root'​ ឡើយ\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "ឈ្មោះ​អ្នក​ប្រើ​មិន​ត្រឹមត្រូវ​ '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s ៖ ត្រូវ​តែ​រត់​ពី ស្ថានីយមួយ\n" @@ -2119,6 +2136,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2149,10 +2172,6 @@ msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s ប msgid "%s: rename: %s: %s\n" msgstr "%s ៖​ ប្តូរ​ឈ្មោះ​ ៖ %s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s ៖ ក្រុម​ '%s' គឺជាក្រុម​ NIS ។\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s ៖ ក្រុម​ដែលបានបញ្ជាក់​ច្រើនពេក​ (អតិ​ %d) ។\n" @@ -2262,6 +2281,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s  ៖ ថត​មូលដ្ឋាន​មិន​ត្រឹមត្រូវ​ '%s'\n" @@ -2391,6 +2415,16 @@ msgstr "រក​ក្រុម​​ 'សំបុត្រ​' មិន​ msgid "Setting mailbox file permissions" msgstr "ការកំណត់​សិទ្ធ​លើ​ឯកសារ​ប្រអប់​សំបុត្រ​" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "កំពុង​បង្កើត​ឯកសារ​ប្រអប់​សំបុត្រ​" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "កំពុង​បង្កើត​ឯកសារ​ប្រអប់​សំបុត្រ​" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2508,10 +2542,6 @@ msgstr "%s ៖ មិនអាចប្ដូរឈ្មោះ​ថត​ %s msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s ៖ មិនអាចប្ដូរឈ្មោះ​ថត​ %s ទៅ​ជា​ %s បានឡើយ\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s ៖ អ្នកប្រើ​ %s គឺជា​អ្នក​​ប្រើ​ NIS\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s ៖ ថត​ផ្ទះ​មិន​ត្រឹមត្រូវ​ '%s'\n" @@ -2610,6 +2640,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2692,10 +2726,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s ៖ មិនអាច​ធ្វើឲ្យ​ឯកសារ​ពាក្យ​សម្ងាត់​ទាន់សម័យ​បានទេ\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s ៖ មិន​​អាច​បង្កើត​ថត​ %s បានឡើយ\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s ៖ ការព្រមាន ៖​ %s មិនត្រូវបានទទួល​យក​ដោយ %s ឡើយ\n" @@ -2801,8 +2843,9 @@ msgid "failed to stat edited file" msgstr "​បរាជ័យ​ក្នុងការប្ដូរឈ្មោះប្រអប់" #, fuzzy -msgid "failed to allocate memory" -msgstr "បរាជ័យ​ក្នុងការ​ផ្លាស់ប្ដូរ​ម្ចាស់​ប្រអប់សំបុត្រ" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s ៖ មិន​អាច​បើក​​ឯកសារ​បានទេ\n" #, fuzzy msgid "failed to create backup file" @@ -2816,6 +2859,48 @@ msgstr "%s ៖ មិន​អាច​ស្តារ %s ៖ %s (ការប msgid "%s: failed to find tcb directory for %s\n" msgstr "%s  ៖ ថត​មូលដ្ឋាន​មិន​ត្រឹមត្រូវ​ '%s'\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s ៖ មិនអាចផ្លាស់​​ប្តូរ​អ្នក​ប្រើបានទេ​ '%s' លើ​ម៉ាស៊ីន​ភ្ញៀវ NIS បានទេ ។\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s ៖ '%s' ជាមេ​ NIS សម្រាប់​ម៉ាស៊ីន​ភ្ញៀវ​នេះ​ ។\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s ៖ ក្រុម​ '%s' គឺជាក្រុម​ NIS ។\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s ៖ %s គឺជា​មេ NIS\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s ៖ ក្រុម​ %s គឺជា​ក្រុម NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s ៖ ក្រុម​ '%s' គឺជាក្រុម​ NIS ។\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s ៖ អ្នកប្រើ​ %s គឺជា​អ្នក​​ប្រើ​ NIS\n" + +#~ msgid "too simple" +#~ msgstr "ធម្មតា​ពេក" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "គ្មាន​ធាតុ​ utmp ឡើយ ។ អ្នក​ត្រូវ​ប្រតិបត្តិ​ \"login\" ពី​កម្រិត​ទាប​បំផុត​ \"sh\"" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s  ៖ ថត​មូលដ្ឋាន​មិន​ត្រឹមត្រូវ​ '%s'\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "បរាជ័យ​ក្នុងការ​ផ្លាស់ប្ដូរ​ម្ចាស់​ប្រអប់សំបុត្រ" + #~ msgid "Usage: id\n" #~ msgstr "របៀបប្រើ​ ៖ លេខសម្គាល់\n" @@ -2831,10 +2916,6 @@ msgstr "%s  ៖ ថត​មូលដ្ឋាន​មិន​ត្រឹ #~ msgid "%s: password expiry information changed.\n" #~ msgstr "ការព្រមាន​ការផុត​កំណត់​នៃ​ពាក្យ​សម្ងាត់​" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "ឈ្មោះ​អ្នក​ប្រើ​មិន​ត្រឹមត្រូវ​ '%s'\n" - #, fuzzy #~ msgid "Username Port From Latest" #~ msgstr "ឈ្មោះ​អ្នក​ប្រើ ច្រក ពី ចុង​ក្រោយ​បំផុត\n" diff --git a/po/ko.gmo b/po/ko.gmo index 0257fe815a0583a4b6bb788f15a10f1abf1ae877..36e1e529389cb629a3569e46fa4e785ddebff6b5 100644 GIT binary patch delta 6274 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 F{tq_G-N^s| diff --git a/po/ko.po b/po/ko.po index 9c0c3a88..1ca8a818 100644 --- a/po/ko.po +++ b/po/ko.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2009-04-19 21:32+0900\n" "Last-Translator: Changwoo Ryu \n" "Language-Team: Korean \n" @@ -18,222 +18,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"이름이 '%s'인 항목이 %s 안에 여러 개 있습니다. pwck 혹은 grpck 명령으로 이 문" -"제를 바로잡으십시오.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "libcrypt가 지원하지 않는 암호화 방법? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "설정 정보를 위한 공간을 확보할 수 없습니다.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "설정 오류 - 알 수 없는 항목 '%s'(관리자에게 알리시기 바랍니다)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "암호: " - -#, c-format -msgid "%s's Password: " -msgstr "%s의 암호: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "검증 인터페이스를 열 수 없습니다. 중지합니다.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "설정 정보를 위한 공간을 확보할 수 없습니다.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "%s의 사용기한 정보를 바꿉니다\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: 사용자 이름을 인식할 수 없습니다.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: 사용자 이름을 인식할 수 없습니다.\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: 메모리 부족\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: '%s'을(를) 삭제할 수 없습니다\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: 홈 디렉터리 '%s'은(는) 잘못되었습니다\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: '%s' 항목을 %s에서 제거할 수 없습니다\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "lastlog: %s의 크기를 읽을 수 없습니다: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: 경고: %s을(를) 제거할 수 없습니다: %s" - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: 이름 다시 설정: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: 디렉터리 %s의 이름을 %s(으)로 바꿀 수 없습니다\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: 디렉터리 %s의 이름을 %s(으)로 바꿀 수 없습니다\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: 경고: %s을(를) 제거할 수 없습니다: %s" - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "lastlog: %s의 크기를 읽을 수 없습니다: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: '%s'을(를) 삭제할 수 없습니다\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: %d번 줄: '%s' 사용자가 없습니다\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: 이름 다시 설정: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: %s을(를) 열 수 없습니다\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "경고: 알 수 없는 그룹(%s)\n" @@ -280,6 +64,13 @@ msgstr "TTY 표준 입력의 소유자 혹은 모드를 바꿀 수 없습니다: msgid "%s: failed to unlock %s\n" msgstr "%s: %s의 잠금을 푸는데 실패했습니다\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"이름이 '%s'인 항목이 %s 안에 여러 개 있습니다. pwck 혹은 grpck 명령으로 이 문" +"제를 바로잡으십시오.\n" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -287,6 +78,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "libcrypt가 지원하지 않는 암호화 방법? (%s)\n" + msgid "Environment overflow\n" msgstr "환경 변수 오버플로우\n" @@ -386,9 +181,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: 유일한 UID를 얻을 수 없습니다 (UID가 남아 있지 않습니다)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "설정 정보를 위한 공간을 확보할 수 없습니다.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "설정 오류 - 알 수 없는 항목 '%s'(관리자에게 알리시기 바랍니다)\n" + #, fuzzy, c-format #| msgid "%s: Authentication failure\n" msgid "%s: Memory allocation failure\n" @@ -415,9 +217,9 @@ msgstr "설정 정보를 위한 공간을 확보할 수 없습니다.\n" msgid "%s: Could not set caps\n" msgstr "설정 정보를 위한 공간을 확보할 수 없습니다.\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: stpeprintf failed!\n" +msgstr "%s: %d번 줄: chown 실패했습니다\n" #, fuzzy, c-format msgid "%s: open of %s failed: %s\n" @@ -427,9 +229,21 @@ msgstr "%s: %d번 줄: chown 실패했습니다\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: %d번 줄: chown 실패했습니다\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: %d번 줄: chown 실패했습니다\n" + msgid "Too many logins.\n" msgstr "로그인 횟수가 너무 많음.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s 로그인: " + msgid "You have new mail." msgstr "새 메일이 도착하였습니다." @@ -439,6 +253,14 @@ msgstr "메일 없습니다." msgid "You have mail." msgstr "메일이 있습니다." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "바뀐 점이 없습니다" @@ -451,9 +273,6 @@ msgstr "대소문자만 바뀌었습니다" msgid "too similar" msgstr "너무 비슷합니다" -msgid "too simple" -msgstr "너무 간단합니다" - msgid "rotated" msgstr "순서만 순환되었습니다" @@ -499,6 +318,13 @@ msgid "" "%s\n" msgstr "암호: pam_start() 실패했습니다, 오류 %d\n" +msgid "Password: " +msgstr "암호: " + +#, c-format +msgid "%s's Password: " +msgstr "%s의 암호: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "'%s'의 암호가 맞지 않습니다.\n" @@ -523,17 +349,13 @@ msgstr "%s: 잘못된 집 전화번호: '%s'\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" #, c-format msgid "" @@ -550,6 +372,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "검증 인터페이스를 열 수 없습니다. 중지합니다.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "설정 정보를 위한 공간을 확보할 수 없습니다.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "설정 정보를 위한 공간을 확보할 수 없습니다.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "%s의 사용기한 정보를 바꿉니다\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: 사용자 이름을 인식할 수 없습니다.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: 사용자 이름을 인식할 수 없습니다.\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "'%s' 디렉터리로 이동할 수 없습니다\n" @@ -561,6 +484,10 @@ msgstr "디렉터리 없음, 루트 디렉터리(/)로 로그인합니다" msgid "Cannot execute %s" msgstr "%s을(를) 실행할 수 없습니다" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "루트 디렉터리 '%s'이(가) 잘못되었습니다\n" @@ -569,6 +496,84 @@ msgstr "루트 디렉터리 '%s'이(가) 잘못되었습니다\n" msgid "Can't change root directory to '%s'\n" msgstr "루트 디렉터리를 '%s'(으)로 바꿀 수 없습니다\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: 메모리 부족\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: '%s'을(를) 삭제할 수 없습니다\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: 홈 디렉터리 '%s'은(는) 잘못되었습니다\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: '%s' 항목을 %s에서 제거할 수 없습니다\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "lastlog: %s의 크기를 읽을 수 없습니다: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: 경고: %s을(를) 제거할 수 없습니다: %s" + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: 이름 다시 설정: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: 디렉터리 %s의 이름을 %s(으)로 바꿀 수 없습니다\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: 디렉터리 %s의 이름을 %s(으)로 바꿀 수 없습니다\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: 경고: %s을(를) 제거할 수 없습니다: %s" + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "lastlog: %s의 크기를 읽을 수 없습니다: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: '%s'을(를) 삭제할 수 없습니다\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: %d번 줄: '%s' 사용자가 없습니다\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: 이름 다시 설정: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: %s을(를) 열 수 없습니다\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: %s 사용자는 현재 로그인한 상태 입니다\n" @@ -630,6 +635,9 @@ msgstr " -s, --sha-rounds SHA* 암호화 알고리즘의 SHA 라 msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -655,12 +663,15 @@ msgstr "암호를 사용할 수 없음" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "계정 만료 날짜 (YYYY-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "마지막으로 암호를 바꾼 날\t\t\t\t\t:" - msgid "never" msgstr "안함" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "마지막으로 암호를 바꾼 날\t\t\t\t\t:" + msgid "password must be changed" msgstr "암호를 바꿔야 합니다" @@ -828,14 +839,6 @@ msgstr "%s: '%s'에 사용할 수 없는 글자가 들어 있습니다\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: '%s' 사용자가 없습니다\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: NIS 클라이언트에서 '%s' 사용자를 바꿀 수 없습니다.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s'이(가) 현재의 클라이언트의 NIS 마스터입니다.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "%s의 사용자의 정보를 바꿉니다\n" @@ -869,6 +872,11 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr " -s, --sha-rounds SHA* 암호화 알고리즘의 SHA 라운드 수\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: 지원하지 않는 암호화 방법: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: %s 플래그는 %s 플래그와 함께 사용해야 합니다\n" @@ -919,6 +927,15 @@ msgstr "" msgid "Login Shell" msgstr "로그인 쉘" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "lastlog: %s의 크기를 읽을 수 없습니다: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: 새로운 기본값 파일을 만들 수 없습니다\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "'%s'의 쉘을 바꿀 수 없습니다.\n" @@ -931,6 +948,10 @@ msgstr "%s의 로그인 쉘을 변경하고 있습니다\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: 부적절한 입력: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s은(는) 사용할 수 없는 쉘입니다.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s은(는) 사용할 수 없는 쉘입니다.\n" @@ -1147,9 +1168,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1162,6 +1180,10 @@ msgstr "올바르지 않은 사용자 이름 '%s'\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: '%s'은(는) 사용할 수 없는 그룹 이름입니다\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: %s을(를) 열 수 없습니다\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "'%s' `%s' 그룹 ID는 쓸 수 없습니다\n" @@ -1204,14 +1226,6 @@ msgstr "%s: '%s' 사용자의 주요 그룹을 제거할 수 없습니다\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: '%s' 그룹이 없습니다\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: '%s' 그룹은 NIS 그룹입니다\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s은(는) NIS 마스터입니다\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: '%s' 사용자는 이미 '%s'의 멤버입니다\n" @@ -1289,10 +1303,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: '%s' 그룹 이름은 쓸 수 없습니다\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: %s 그룹은 NIS 그룹입니다\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: 알 수 없는 사용자 %s\n" @@ -1408,7 +1418,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1502,10 +1512,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"UTMP 항목이 없습니다. 가장 낮은 \"sh\"에서 \"login\"을 실행해야 합니다." - #, fuzzy, c-format msgid "" "\n" @@ -1539,14 +1545,6 @@ msgstr "로그인이 맞지 않습니다" msgid "Cannot find user (%s)\n" msgstr "%s: 사용자 이름을 인식할 수 없습니다.\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s 로그인: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: fork 실패: %s" @@ -1582,7 +1580,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1609,17 +1608,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: %s의 잠금을 푸는데 실패했습니다\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: 기본 디렉터리 '%s' 잘못되었습니다\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1652,14 +1647,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1680,6 +1674,10 @@ msgstr "%s: 사용할 수 없는 사용자 ID '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: 쓸 수 없는 사용자 이름 '%s'\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: %d번 줄: 올바른 줄이 아닙니다\n" @@ -1702,6 +1700,10 @@ msgstr "%s: %d번 줄: 그룹을 만들 수 없습니다\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: %d번 줄: `%s' 사용자가 %s 안에 없습니다\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: 이름 다시 설정: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: %d번 줄: 암호를 업데이트 할 수 없습니다\n" @@ -1722,14 +1724,14 @@ msgstr "%s: %d번 줄: chown 실패했습니다\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: %d번 줄: 입력값을 업데이트 할 수 없습니다\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: 새 %s 항목 '%s'을(를) 준비하는데 실패했습니다\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: 사용자를 만들 수 없습니다\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: 새 %s 항목 '%s'을(를) 준비하는데 실패했습니다\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: 그룹을 만들 수 없습니다\n" @@ -1791,6 +1793,9 @@ msgid "" " change to MAX_DAYS\n" msgstr " -s, --sha-rounds SHA* 암호화 알고리즘의 SHA 라운드 수\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "예전 암호: " @@ -1810,6 +1815,11 @@ msgstr "" "새 암호를 입력하십시오(최소 %d, 최대 %d 글자)\n" "영어 대소문자와 숫자를 조합하여 사용하십시오.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: 입력범위가 너무 깁니다\n" + msgid "New password: " msgstr "새 암호: " @@ -1852,6 +1862,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: %s 저장소는 지원하지 않습니다\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: root만 -g/--group 옵션을 쓸 수 있습니다\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -1996,11 +2011,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2086,6 +2099,11 @@ msgstr "%s: 현재 su 명령을 실행할 권한이 없습니다\n" msgid "No passwd entry for user '%s'\n" msgstr "'루트'에 대한 암호 파일 입력값이 없음" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "올바르지 않은 사용자 이름 '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: 터미널에서 받드시 실행되어야 합니다\n" @@ -2131,6 +2149,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2161,10 +2185,6 @@ msgstr "%s: 디렉터리 %s을(를) 만들 수 없습니다\n" msgid "%s: rename: %s: %s\n" msgstr "%s: 이름 다시 설정: %s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: '%s' 그룹은 NIS 그룹입니다.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: 그룹이 너무 많이 명시되었습니다 (최대 %d).\n" @@ -2281,6 +2301,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: 기본 디렉터리 '%s' 잘못되었습니다\n" @@ -2418,6 +2443,16 @@ msgstr "'mail' 그룹이 없습니다. 사용자의 메일함 파일을 0600 모 msgid "Setting mailbox file permissions" msgstr "메일함의 파일 권한을 설정 중" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "메일함 파일을 만드는 중" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "메일함 파일을 만드는 중" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2538,10 +2573,6 @@ msgstr "lastlog: %s의 크기를 읽을 수 없습니다: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: '%s' 항목을 %s에서 제거할 수 없습니다\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: %s 사용자는 NIS 사용자 입니다\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: 홈 디렉터리 '%s'은(는) 잘못되었습니다\n" @@ -2647,6 +2678,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2732,12 +2767,25 @@ msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" "%s: 사용자 %lu의 최근 기록 항목을 사용자 %lu에 복사하는데 실패했습니다: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: 사용자 %lu의 최근 기록 항목을 사용자 %lu에 복사하는데 실패했습니다: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: 사용자 %lu의 로그인 실패 기록 항목을 사용자 %lu에 복사하는데 실패했습니" "다: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: 사용자 %lu의 로그인 실패 기록 항목을 사용자 %lu에 복사하는데 실패했습니" +"다: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: 경고: %s은(는) %s이(가) 소유하고 있지 않습니다\n" @@ -2843,9 +2891,8 @@ msgstr "%s: %s의 잠금을 푸는데 실패했습니다\n" msgid "failed to stat edited file" msgstr "메일함의 이름을 바꾸는 데 실패했습니다" -#, fuzzy -msgid "failed to allocate memory" -msgstr "메일함 소유자를 바꾸는 데 실패했습니다" +msgid "asprintf(3) failed" +msgstr "" #, fuzzy msgid "failed to create backup file" @@ -2859,6 +2906,49 @@ msgstr "%s: %s을(를) 복구할 수 없습니다: %s (바뀐 사항은 %s에 msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: 기본 디렉터리 '%s' 잘못되었습니다\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: NIS 클라이언트에서 '%s' 사용자를 바꿀 수 없습니다.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s'이(가) 현재의 클라이언트의 NIS 마스터입니다.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: '%s' 그룹은 NIS 그룹입니다\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s은(는) NIS 마스터입니다\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: %s 그룹은 NIS 그룹입니다\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: '%s' 그룹은 NIS 그룹입니다.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: %s 사용자는 NIS 사용자 입니다\n" + +#~ msgid "too simple" +#~ msgstr "너무 간단합니다" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "UTMP 항목이 없습니다. 가장 낮은 \"sh\"에서 \"login\"을 실행해야 합니다." + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: 기본 디렉터리 '%s' 잘못되었습니다\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "메일함 소유자를 바꾸는 데 실패했습니다" + #~ msgid "Usage: id\n" #~ msgstr "사용법: id\n" @@ -2874,10 +2964,6 @@ msgstr "%s: 기본 디렉터리 '%s' 잘못되었습니다\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "암호 사용만료 예고" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "올바르지 않은 사용자 이름 '%s'\n" - #~ msgid "Username Port From Latest" #~ msgstr "사용자이름 포트 어디서 최근정보" diff --git a/po/nb.gmo b/po/nb.gmo index 47a73aea45fb1cc5d196bec89fe423791dbe5374..748bda5f5308efe9c3703e6631f88ea92f87d057 100644 GIT binary patch delta 12249 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 delta 13190 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\n" "Language-Team: Norwegian Bokmål \n" @@ -24,231 +24,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.7.5\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Det ligger flere oppføringer med navnet «%s» i %s. Korriger dette med pwck " -"eller grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "har du et libcrypt som ikke støtter crypt-metoden? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "oppsettsfeil – klarte ikke å tolke %s-verdi: «%s»" - -msgid "Could not allocate space for config info.\n" -msgstr "Klarte ikke å tildele plass til oppsettsinformasjon.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "oppsettsfeil - element «%s» er ukjent (kontakt administrator)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscd avsluttet ikke normallt (signal %d)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: nscd avsluttet med status %d\n" - -msgid "Password: " -msgstr "Passord: " - -#, c-format -msgid "%s's Password: " -msgstr "%s's Passord: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "Klarte ikke å åpne kontrollgrensesnitt – avbryter.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "Klarte ikke å lage SELinux-styringshåndtak\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "SELinux-regler blir ikke håndtert\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "Klarte ikke å lese SELinux-regler\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "Klarte ikke å sette opp SELinux-styringstilkobling\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "Klarte ikke å begynne SELinux-transaksjon\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "Klarte ikke spørre seuser om %s\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "Klarte ikke endre serange for %s\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "Klarte ikke endre sename for %s\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "Klarte ikke å endre brukerkobling for %s\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Klarte ikke å lage SELinux-brukerkobling for %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "Klarte ikke å endre navn på %s\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "Klarte ikke å endre SELinux-brukernavn for %s\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "Klarte ikke legge til brukerkobling for %s\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "Klarte ikke å starte opp SELinux-styringsverktøy\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "Klarte ikke å lage SELinux-brukernøkkel\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "Klarte ikke å bekrefte SELinux-bruker\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "Klarte ikke å endre SELinux-brukerkobling\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "Klarte ikke å legge til SELinux brukeravbildning\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "Klarte ikke å utføre SELinux-transaksjon\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"Brukerkobling for %s er ikke definert, OK hvis forvalgt kobling ble brukt\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "Brukerkobling for %s er definert i regelsett, og kan ikke slettes\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "Klarte ikke å slette brukerkobling for %s" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: minnet er fullt\n" - -# , c-format -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: Klarte ikke å utføre stat på %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s er hverken en mappe eller symbolsk lenke.\n" - -# , c-format -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: Klarte ikke å lese symbolsk lenke %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Mistenkelig lang symlenke: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: Klarte ikke å opprette mappa %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: Klarte ikke å gi %s ny eier: %s\n" - -# , c-format -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: Klarte ikke å endre modus for %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: avlenk: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: Klarte ikke å slette mappa %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: Klarte ikke å endre navn på %s til %s: %s\n" - -# , c-format -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: Klarte ikke å fjerne %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: Klarte ikke å lage symbolsk lenke %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: Klarte ikke å gi %s ny eier: %s\n" - -# , c-format -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: Klarte ikke å kjøre lstat for %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: Advarsel: bruker %s har ingen tcb-skyggefil.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: Kritisk: %s' tcb-skygge er ikke en vanlig fil med st_nlink=1.\n" -"Kontoen forblir låst.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -# , c-format -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: Klarte ikke å åpne %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Advarsel: ukjent gruppe %s\n" @@ -297,6 +72,13 @@ msgstr "Klarte ikke å endre eier eller rettigheter til tty stdin: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: klarte ikke å låse opp %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Det ligger flere oppføringer med navnet «%s» i %s. Korriger dette med pwck " +"eller grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -304,6 +86,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "har du et libcrypt som ikke støtter crypt-metoden? (%s)\n" + msgid "Environment overflow\n" msgstr "Miljøet er fullt\n" @@ -430,8 +216,15 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: Fant ikke entydig UID (ingen flere UID-er tilgjengelig)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "oppsettsfeil – klarte ikke å tolke %s-verdi: «%s»" + +msgid "Could not allocate space for config info.\n" +msgstr "Klarte ikke å tildele plass til oppsettsinformasjon.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "oppsettsfeil - element «%s» er ukjent (kontakt administrator)\n" # , c-format #, fuzzy, c-format @@ -464,7 +257,7 @@ msgstr "Klarte ikke å endre navn på %s\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: klarte ikke å åpne fil\n" #, fuzzy, c-format @@ -477,9 +270,22 @@ msgstr "%s: linje %d: chown %s mislyktes: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: linje %d: chown %s mislyktes: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: linje %d: chown %s mislyktes: %s\n" + msgid "Too many logins.\n" msgstr "For mange innlogginger.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login: " + msgid "You have new mail." msgstr "Du har fått ny e-post." @@ -489,6 +295,14 @@ msgstr "Ingen e-post." msgid "You have mail." msgstr "Du har ulest e-post." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscd avsluttet ikke normallt (signal %d)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: nscd avsluttet med status %d\n" + msgid "no change" msgstr "ingen endring" @@ -501,9 +315,6 @@ msgstr "bare endring i store/små bokstaver" msgid "too similar" msgstr "for likt" -msgid "too simple" -msgstr "for enkelt" - msgid "rotated" msgstr "rotert" @@ -549,6 +360,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() mislyktes, feil %d\n" +msgid "Password: " +msgstr "Passord: " + +#, c-format +msgid "%s's Password: " +msgstr "%s's Passord: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Feil passord for «%s».\n" @@ -574,17 +392,14 @@ msgstr "%s: chroot-sti «%s» er ugyldig\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: fikk ikke tilgang til chroot-mappe %s: %s\n" -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: klarte ikke å bytte mappe til chroot-mappe %s: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: klarte ikke å utføre chroot med %s: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: cannot chdir to chroot directory %s: %s\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: klarte ikke å bytte mappe til chroot-mappe %s: %s\n" #, c-format msgid "" @@ -601,6 +416,109 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "Klarte ikke å åpne kontrollgrensesnitt – avbryter.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "Klarte ikke å lage SELinux-styringshåndtak\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "SELinux-regler blir ikke håndtert\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "Klarte ikke å lese SELinux-regler\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "Klarte ikke å sette opp SELinux-styringstilkobling\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "Klarte ikke å begynne SELinux-transaksjon\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "Klarte ikke spørre seuser om %s\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "Klarte ikke endre serange for %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "Klarte ikke endre sename for %s\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "Klarte ikke å endre brukerkobling for %s\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Klarte ikke å lage SELinux-brukerkobling for %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "Klarte ikke å endre navn på %s\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "Klarte ikke å endre SELinux-brukernavn for %s\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "Klarte ikke legge til brukerkobling for %s\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "Klarte ikke å starte opp SELinux-styringsverktøy\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "Klarte ikke å lage SELinux-brukernøkkel\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "Klarte ikke å bekrefte SELinux-bruker\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "Klarte ikke å endre SELinux-brukerkobling\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "Klarte ikke å legge til SELinux brukeravbildning\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "Klarte ikke å utføre SELinux-transaksjon\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"Brukerkobling for %s er ikke definert, OK hvis forvalgt kobling ble brukt\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "Brukerkobling for %s er definert i regelsett, og kan ikke slettes\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "Klarte ikke å slette brukerkobling for %s" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Klarte ikke å bytte mappe til «%s»\n" @@ -612,6 +530,10 @@ msgstr "Hjemmemappe mangler. Logger inn med HOME=/" msgid "Cannot execute %s" msgstr "Klarte ikke å kjøre %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Rotmappe «%s» er ugyldig\n" @@ -620,6 +542,92 @@ msgstr "Rotmappe «%s» er ugyldig\n" msgid "Can't change root directory to '%s'\n" msgstr "Klarte ikke å endre rotmappe til «%s»\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: minnet er fullt\n" + +# , c-format +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: Klarte ikke å utføre stat på %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s er hverken en mappe eller symbolsk lenke.\n" + +# , c-format +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: Klarte ikke å lese symbolsk lenke %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: Mistenkelig lang symlenke: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: Klarte ikke å opprette mappa %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: Klarte ikke å gi %s ny eier: %s\n" + +# , c-format +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: Klarte ikke å endre modus for %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: avlenk: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: Klarte ikke å slette mappa %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: Klarte ikke å endre navn på %s til %s: %s\n" + +# , c-format +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: Klarte ikke å fjerne %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: Klarte ikke å lage symbolsk lenke %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: Klarte ikke å gi %s ny eier: %s\n" + +# , c-format +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: Klarte ikke å kjøre lstat for %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: Advarsel: bruker %s har ingen tcb-skyggefil.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: Kritisk: %s' tcb-skygge er ikke en vanlig fil med st_nlink=1.\n" +"Kontoen forblir låst.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +# , c-format +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: Klarte ikke å åpne %s: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: brukeren %s er pålogget\n" @@ -691,6 +699,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root CHROOT_MAPPE mappe som skal brukes til chroot\n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -R, --root CHROOT_MAPPE mappe som skal brukes til chroot\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -718,12 +731,15 @@ msgstr "Inaktivt passord" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Utløpsdato for konto (YYYY-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Forrige endring av passord\t\t\t\t\t: " - msgid "never" msgstr "aldri" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Forrige endring av passord\t\t\t\t\t: " + msgid "password must be changed" msgstr "passordet må endres" @@ -902,14 +918,6 @@ msgstr "%s: «%s» inneholder ugyldige tegn\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: bruker «%s» finnes ikke\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: klarte ikke å endre bruker «%s» på NIS-klient.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: «%s» er NIS-sjef for denne klienten.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Endrer brukerinformasjon for %s\n" @@ -950,6 +958,11 @@ msgid "" msgstr "" " -s, --sha-rounds antall SHA-runder for kryptering med SHA*\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: krypteringsmetoden %s støttes ikke på dette systemet\n" + # , c-format #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" @@ -1007,6 +1020,16 @@ msgstr "" msgid "Login Shell" msgstr "Innloggingsskall" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: Fant ikke størrelse på %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: klarte ikke å opprette ny forvalg-fil\n" + # , c-format #, c-format msgid "You may not change the shell for '%s'.\n" @@ -1020,6 +1043,12 @@ msgstr "Endrer innloggingsskall for %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Ugyldig inntasting: %s\n" +# , c-format +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s er et ugyldig skall\n" + # , c-format #, c-format msgid "%s: %s is an invalid shell\n" @@ -1270,11 +1299,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system lag en systemkonto\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -R, --root CHROOT_MAPPE mappe som skal brukes til chroot\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1290,6 +1314,12 @@ msgstr "ugyldig brukernavn «%s»\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: «%s» er et ugyldig gruppenavn\n" +# , c-format +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: Klarte ikke å åpne %s: %s\n" + # , c-format #, c-format msgid "%s: invalid group ID '%s'\n" @@ -1339,15 +1369,6 @@ msgstr "%s: klarte ikke å fjerne hovedgruppe for bruker «%s».\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: gruppa «%s» finnes ikke\n" -# , c-format -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: gruppe «%s» er en NIS-gruppe\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s er NIS-sjef\n" - # , c-format #, c-format msgid "%s: user '%s' is already a member of '%s'\n" @@ -1449,10 +1470,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: ugyldig gruppenavn «%s»\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: gruppa %s er en NIS-gruppe\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: ukjent bruker %s\n" @@ -1581,8 +1598,12 @@ msgstr "" " -b, --before DAGER skriv ut bare lastlog-poster eldre enn " "DAGER\n" +#, fuzzy +#| msgid "" +#| " -C, --clear clear lastlog record of an user (usable " +#| "only with -u)\n" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -C, --clear tøm lastlog-oppføring for en bruker (krever " @@ -1681,9 +1702,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: Kan umulig virke uten effektiv root\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "Ingen oppføring i utmp. Du må kjøre «login» fra «sh» på laveste nivå" - #, c-format msgid "" "\n" @@ -1717,14 +1735,6 @@ msgstr "Ugyldig innlogging" msgid "Cannot find user (%s)\n" msgstr "Fant ikke bruker (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s login: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: mislykket utspalting: %s" @@ -1760,7 +1770,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1790,20 +1801,15 @@ msgstr "%s: klarte ikke å fjerne %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: klarte ikke å låse opp %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: fant ikke tcb-mappe for %s\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: Klarte ikke opprette tcb-mappe for %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1839,14 +1845,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: Klarte ikke opprette tcb-mappe for %s\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1871,6 +1877,10 @@ msgstr "%s: ugyldig bruker-ID «%s»\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: ugyldig brukernavn «%s»\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: linje %d: ugyldig linje\n" @@ -1897,6 +1907,11 @@ msgstr "%s: linje %d: klarte ikke å lage ny gruppe\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: linje %d: bruker «%s» finnes ikke i %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: avlenk: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: linje %d: klarte ikke å oppdatere passord\n" @@ -1920,13 +1935,13 @@ msgstr "%s: linje %d: klarte ikke å oppdatere oppføring\n" # , c-format #, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: klarte ikke å lage ny %s-oppføring\n" +msgid "%s: can't find subordinate user range\n" +msgstr "%s: fant ikke underordnet bruker-rekkevidde\n" # , c-format #, c-format -msgid "%s: can't find subordinate user range\n" -msgstr "%s: fant ikke underordnet bruker-rekkevidde\n" +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: klarte ikke å lage ny %s-oppføring\n" #, c-format msgid "%s: can't find subordinate group range\n" @@ -1997,6 +2012,11 @@ msgstr "" " -x, --maxdays DAGER endre maksimalt antall dager før passord\n" " må endres til DAGER\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr " -l, --list vis aldringsinformasjon for konto\n" + msgid "Old password: " msgstr "Gammelt passord: " @@ -2017,6 +2037,11 @@ msgstr "" "Skriv inn det nye passordet (minst %d, høyst %d tegn)\n" "Bruk en kombinasjon av store og små bokstaver, og tall.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: feltene er for lange\n" + msgid "New password: " msgstr "Nytt passord: " @@ -2061,6 +2086,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: ikke støtte for lager %s\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: bare root kan bruke valget -g/--group\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2219,11 +2249,9 @@ msgstr "%s: funksjonsfeil ved signal\n" msgid "Session terminated, terminating shell..." msgstr "Økt avsluttet, avslutter skall ..." -#, c-format msgid " ...killed.\n" msgstr " … drept.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ... venter på at barneprosess avslutter.\n" @@ -2312,6 +2340,11 @@ msgstr "%s: Du har ikke adgang til å su på den tiden\n" msgid "No passwd entry for user '%s'\n" msgstr "Ingen oppføring for bruker «%s» i passordfil\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "ugyldig brukernavn «%s»\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: må kjøres fra en terminal\n" @@ -2357,6 +2390,13 @@ msgstr "%s: %s ble opprettet, men ikke fjernet\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: oppsettet for %s i %s blir ignorert\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: oppsettet for %s i %s blir ignorert\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2387,10 +2427,6 @@ msgstr "%s: Klarte ikke å lage sikkerhetskopi-fil (%s): %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: gi nytt navn: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: gruppe «%s» er en NIS-gruppe.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: for mange grupper (maks %d).\n" @@ -2528,6 +2564,17 @@ msgstr "" " -Z, --selinux-user SEBRUKER bruk en bestemt bruker SEBRUKER for " "SELinux brukeravbildning\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEBRUKER bruk en bestemt bruker SEBRUKER for " +"SELinux brukeravbildning\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: ugyldig basismappe «%s»\n" @@ -2670,6 +2717,16 @@ msgstr "Fant ikke gruppa «mail». Oppretter e-postkassefil med modus 0600.\n" msgid "Setting mailbox file permissions" msgstr "Endrer rettigheter for e-postkassefil" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Lager e-postkassefil" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Lager e-postkassefil" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2811,10 +2868,6 @@ msgstr "%s: Klarte ikke å fjerne innhold fra %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: Klarte ikke å fjerne tcb-filer for %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: bruker %s er en NIS-bruker\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: fant ikke hjemmemappe for %s (%s)\n" @@ -2944,6 +2997,16 @@ msgstr "" " -Z, --selinux-user SEUSER ny SELinux brukeravbildning for " "brukerkontoen\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUSER ny SELinux brukeravbildning for " +"brukerkontoen\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -3039,12 +3102,26 @@ msgstr "" "%s: klarte ikke å kopiere lastlog-oppføring for bruker %lu til bruker %lu: " "%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: klarte ikke å kopiere lastlog-oppføring for bruker %lu til bruker %lu: " +"%s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: klarte ikke å kopiere faillog-oppføring for bruker %lu til bruker %lu: " "%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: klarte ikke å kopiere faillog-oppføring for bruker %lu til bruker %lu: " +"%s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: advarsel: %s er ikke eid av %s\n" @@ -3152,8 +3229,10 @@ msgstr "klarte ikke å avlenke kladdfil" msgid "failed to stat edited file" msgstr "klarte ikke å kjøre «stat» på redigert fil" -msgid "failed to allocate memory" -msgstr "klarte ikke å tildele minne" +#, fuzzy +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: klarte ikke å åpne fil\n" msgid "failed to create backup file" msgstr "klarte ikke å lage sikkerhetskopi-fil" @@ -3166,6 +3245,50 @@ msgstr "%s: klarte ikke å gjenopprette %s: %s (endringer ligger i %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: fant ikke tcb-mappe for %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: klarte ikke å endre bruker «%s» på NIS-klient.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: «%s» er NIS-sjef for denne klienten.\n" + +# , c-format +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: gruppe «%s» er en NIS-gruppe\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s er NIS-sjef\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: gruppa %s er en NIS-gruppe\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: gruppe «%s» er en NIS-gruppe.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: bruker %s er en NIS-bruker\n" + +#~ msgid "too simple" +#~ msgstr "for enkelt" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Ingen oppføring i utmp. Du må kjøre «login» fra «sh» på laveste nivå" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: fant ikke tcb-mappe for %s\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "klarte ikke å tildele minne" + #~ msgid "Usage: id\n" #~ msgstr "Bruk: id\n" @@ -3181,10 +3304,6 @@ msgstr "%s: fant ikke tcb-mappe for %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: informasjon om utløp av passord er endret.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "ugyldig brukernavn «%s»\n" - #~ msgid "Username Port From Latest" #~ msgstr "Brukernavn Port Fra Sist" diff --git a/po/ne.gmo b/po/ne.gmo index 55de882ec3f709f8020b05aaf5747297faa23823..001ac2fd974c73753411ff2f576648ab04a5569f 100644 GIT binary patch delta 4393 zcmYk;3s4o;9mnziMG#aF1OY{qiztd%AQ)6c9#ND>RHzRkiB_VfK8hr$Nm|ri18Jeg zv?_|ln1rUWrWO8oz*qN$zl1!7nGHD&h8BO~A?QWf(@pnJx?A^P2 zUc0#EPrmMte1R*mp}UOo7D*K3j>&l z2QdxL;}HDZYlp;|>5}Q#A17c0KeHk#OF2;HeQ^MzX&=LIJda$%evhN^s%Kc7SrY9` z)bW{^fb}>KTTmU^frIe?PQ_l##oL&|{VkhsM{%GEN8)jvvMpegM{I%lU) zBe>+9_?7p4Uk*~WOw^v3iMrrI)aG1^e(Xeb;0@IEui!WgWru6P*{F_AOJ@FA7JGmL zt+)m!;0^R+2J@`%E3qHeVHvJQ?cyWIwXFwr;mgQR?eCb1{a82MC=+#F3FhM>)Kk?F zprSQ-33cKToQQ9G?XSIdT#CD^D?MvbGqw_WjOnGAaY zb;FaW>wbXDY``v4(GUKGY;23Ap&7|Qt#v-?hVxN3SdZ$^UewxOK%MtF>cXKcydR@c zBhNuCO)+W!b3Iq1_MbI76|?72H#m-dyoUTUAM>m?*J#vU$VH8$9E3(Wo3{hi(Jthlo#P{*HT)YDu4y;DFNQM>>QE`_!izBzA3=>^J8F}? zin?$w>N@YD-Uolg4xd>FF9pp=X9h1f?8a!0$BkolX{Ti}|1DHP`IXkD4V@lh8SQhp z1|#_k6Nyczz0ry~e>dL5*HBBcKg<372@I$GXUxV=u@U2GY{FKYfnhn!|7I%p=P-@< zK59z8#!?*2!Ah*f5AbDd$93$$S`6o9u@N7}Rd@xPu>4-$s(2O`V0fPU%3X{a@N+m9 zQvy8f3#qI{&b9YYuTq=D)G}2WIGN@IK9~%vN6k>DXAe%J{TI{{jpFU1Jy4B0z7}=e zW9Y{(Py-z>g_jrx3aKoo@(OCIq6*wMR3R>;{UjFShggU)Q(1qUgY?a=q4v%YzSM|| za1A!&6Zj=I;))`-eHp80S94K15U?&P4ICIy;{JVZ!r8Q6M|CXhKHiSF8rNbJ!-~Vr z_$2N``e2dVT^*{x8hi>hlOLn5?_)h5#K(|J*?U;4=Rb;_P{)B4_%ObM+O6Yex;@^G zEwm%pk=)C+BFkqNumZ!%xu}m(;R)KOIrtrHV&mw%%b0-C_wxv2I%)v7a4Pq=s9Els zRwA=(4XCv_fNX4wXF9Z5rsLz-fx2Mi9QVzahPqJ^w&8kYJJ=nsJ(2kyMY|WZRG*** z*uR?j*M%CX)M6WE<8|DLvEO$8Z0^TM+80q%cNOo!RC=`t=OL?ThwuUX5)-j}p4ppN zhs!W|zWX$6#$?);<}?2bsQjA)8gT`U6?haM$7B|=33s4w7{%3fqhh=l1E>xhML!N= z#}36@)QD$c7B*rtcHvJkjnT6FcBGd1XXD#V4mdw#hj5O~!gSn+6Y+gqf_)xxU4|=Z zpG9Wb#?y;UxB(xFeLiIGS z&b?6+GFW>TAHh_1ELCg868tM_lV&U>SdZ*8>p`H?sI*ddJAbM=e*;hkW43| z$UZWZ1isJ5??@9-=_Y-NHi_0xn@Hs}i6Co;3d?O>WEDvv=SdpbLHdx{M9UgQSZC*d z)$tfZ4v~|D5^$dDXWWMK|F;p;#}Mt>_2e-53DI*KPVOW5zahH6^^ifNjhrGXIWBiUd#OEjx8**nYG!%IR%4u3pXjOgN*>wZ zwX;2!;#jgvPvRLWon#()m8iVw;{3f=wSoA_O0t)zRFia~mzK&KWN>iyp!|^buDFU| z!r(|>a8CSrU$8py!#=@+VK>5pjj1sa!L1o(;qA9_{t+zB4e1knJ1;A&Jz_#saB0Dw ch~T`^+?e(=6+?mz3%*Kd4;GJX-&^1CU;f$SvH$=8 delta 5257 zcmaLZ33OD|9mnw-62dMJAZ$r^EFpv?tO5oC39E!13^cSrSOyZvMiy3KSfoVR9SCI+ zTAV~ckl+*wvZNB!3Y1EzwZ%fG1&+s~J++E0JyP56@4XkzIkvqg|M}c|-O31F^?On)|g36jcI_Bu`|xZ+4vkL;(hFa?IMh6iQ};& zdaxBf@0JgvntU7U<1MUfjMv;HGna~w+zYAAjA=|c4eOu>>BHn;YxH6)?scui?vx*3 z8;oe~T&sCqb_=xb{w%>q}7Wm!i(lDO7t^sKb0m>u-?>W1TdBSX2jN zuq)=FX1)(K;uFYro6EQfe}{cBgLSuX7wYTL1YvWnefG(ky@;2(se2UtF#uRim;!rb9#y&U}b$tyo2UCig$QiWs z{9h&$N5wtl&op2k)KLPmx+WFXVJ52Km8d1&h`N72>M6N|I<)Vj_WS{=Lrq)lTc`m& zjXDFXQ0LF=CZmQc(8BYmng0Q`N1vc(@U?3s2SgntxQ;<}Fdr@4g7j@ppx$^lQ3Jk< zn#e;Ois78Vj`VLvkx@sBP^@SHvOL_#gS8t+bbQd{K=4%}|oho-0rB%#jQ46KKX<5_<-R7{1oU>)iOvIR>+j5&u|nMvJ@S%CAfG4)q5 zNclE5Z@}~X0%?neCO89~j-x5B!W^tZZAI^%&KVhkx_?4X*8d-57EqzRnbpf_ARje@ zUC1SK05#L=xCB4P)i}SmG2g>K<47FD30sTnkSbG)mxGqNACACOOvUYZ18;lD_{bdX z$BD+ICyhzRDts2BdAPH1AFjl(0mckRFQ#D?CSmJ=&Pq(jDU?4%4J?6|2Thwz$gY?R zSdSHafLdwqUlX0jB5IKH+)qSZC_(M{Y1iN5Fv|ZzR^KEKcFs&Ts(u@)qnl`9IHS@E z#Ni@L$N6{#wW9Gu>=&EYq?6G|eK-_9MeZ@(DeS~W$Ry2U)E4whc2-~pYHttXQf!#w zY|RE#`AeLL*^EvDxPZAB$MP{oQ;O5{{NExoo{Fw)kVd#1591vyz_n~_GyDRVVVzM< z176g?F5onLh+5*YoIG_@gfs9SG8QxBX=iKKVg}{gIEVhtpfS$rehD@5Fiyw@T!mWN ze(W26E4U65PpR49Ob@@eir@(b>FxN&Kq$({+jY$)C96w4$XWmcEpS5WjoEE z$Y_b8CprJim7osM87#(nlbr^=s5f6Js-sg_f*&F0&E)eXm5*X4>@(Hbvgx>h@@kC4 z`x%sGuXJ5_*+zmlfUnDv;lR>t55@Ygchbz zXpKuzGv9#;cpBH^ecXl%XFBhJzhffhL0&e_{vt9svjaQh$Jig6%y$0W9_{)HW>Q}# zgSQvv<7%wLJWQJ7OyC4YQSLa`*~(-bMA?Vs_$$;3c$cz1>gYN?g`xAE8s-w;IcP-2_ENm`{Ux1<%)$ya)jPzMJIy};HIorot1rLM#;i06sZ z#41Al+t1=)e23^vC~4+OTL>Ns`!K3pi&#%o5U&%gqWuJby^S}NA#vX9my+@p(SYDA z+lL+O!zsPd`us2HGIfV*)IUqU#4TS%&X@gq<=EKihkPz0Y7;uhN}C+aS>%;qKid1< zI>GBj^Zz#0BO5`SAT|)q38hrxJfZE;-j@?^5Y_1@nHSsw=h2+3zJOhbI&N9#tTC~a zV3*CC>c1VC9}|9}C-F8hnkXXz1dpouCDEREh2T7zpAg*$rM*N`JLjDE7Ua7VI+UDn zJH_x>>gKE2N2XBo*Xit4U5k25E)j7=JfWm#xn}yQThOzw)2x(Ej3Js4KO-&>N^^-r z#Af10gwi<&;~hfg=fpUoE>TG=Cz=qgiN1seSwM^;1`v9z^iBvT`VjSr6@(H`mwB1U zRe|&pG04vGuQw(WyWR4c>is`L#S-Eekw#1=UL{%)N*9S7qKJ5oP#RD8h%n+ULg`(i z5wV82Ld+(V_7De%<0`mm2X5EY63NUbGKegqAu*g#>P@^x#1h+xVZ>IVAEDHi7)hk4 zKw3atvva(fU9V$HB9u6#y85w&R(9UPtlUJ)1THp-uhlfG&??IGSQExfwQ}YZ7I_MM zcOs_5#l;rJS>L&2Eyye2ZtCY{XL)jq5(4qfB0^#^=j1N*SjB~&0?YnhUas9-^*ueB z-wNr!upqBE-=cTEJjcFl*VH$$g^8APvAWM1mjnN7@j+;Pr$X%qDqDw#56!cRi*oWU z22ijf!LriximjaD!XnGF+%wPWU{9}uwV)s`$DUbs-ZBptvpq{a*;a?b%npI7b`f=3 z6y@bvg;_cI*&bt$T;s_0rNlG~d>+@ePJ69K(EnP{e<|oc8!X!z^dAcPE2ugbEZeM6 z`(jd3eRFyqiLr+r^q-`j%X{p5E9~!`3;K8aQc|1$|HiCfnLiNPt8Qqd)8}_u*f~5t zOr7}FWk&hDqiXw3jIexf^=lD`>D#vUGiNo*vh@s1tLrpTqwd=QCo;Mk7wlpGkJ|%1 z1_tVea?!UVxnqMGO;C;v{4u$2lQ8XoZ*pQg?}?y)d(eMGv!DZi(0|OHdr8p0F6e(f zShne#9ns?WE9~_t=N|4pU>8o>Unmcjl~8rWtzMT&C2bxZ9(6ZG=yMao+!ORZ?{gw8RHXGm0\n" "Language-Team: Nepali \n" @@ -19,220 +19,6 @@ msgstr "" "Plural-Forms: nplurals=2;plural=(n!=1)\n" "X-Generator: KBabel 1.10.2\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "कनफिगरेसन सूचनाको लागि खाली ठाऊँ बाँड्न सकिदैन ।\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "कन्फिगरेसन त्रुटि - अज्ञात वस्तु '%s' (प्रशासकलाई सूचना गर्नुहोस)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "पासवर्ड: " - -#, c-format -msgid "%s's Password: " -msgstr "'%s' को पासवर्ड: " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "पासवर्ड फाइल खोल्न सकिएन ।\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "कनफिगरेसन सूचनाको लागि खाली ठाऊँ बाँड्न सकिदैन ।\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "%s का लागि अवधि सूचना परिवर्तन गरिदैछ\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: तपाईँको प्रयोगकर्ता नाम निर्धारण गर्न सकिएन ।\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: रेखा %d: प्रयोगकर्ता फेला पार्न सकिएन %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: स्मृति भन्दा बाहिर\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: फाइल %s अद्यावधिक गर्न सकिएन\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: अवैध गृह डाइरेक्ट्री '%s'\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: डाइरेक्ट्री %s लाई %s मा पुन:नामकरण गर्न सकिदैन\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: चेतावनी: हट्न सक्दैन " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: चेतावनी: हट्न सक्दैन " - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: पुन:नामकरण गर्नुहोस्: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: डाइरेक्ट्री %s लाई %s मा पुन:नामकरण गर्न सकिदैन\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: डाइरेक्ट्री %s लाई %s मा पुन:नामकरण गर्न सकिदैन\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: चेतावनी: हट्न सक्दैन " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: चेतावनी: हट्न सक्दैन " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: फाइल %s अद्यावधिक गर्न सकिएन\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: स्याडो फाइल अद्यावधिक हुन सकेन\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: पुन:नामकरण गर्नुहोस्: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: फाइल %s खोल्न सकिएन\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "चेतावनी: अज्ञात समूह %s\n" @@ -279,6 +65,11 @@ msgstr "tty %s लाई परिवर्तन गर्न असक्ष msgid "%s: failed to unlock %s\n" msgstr "%s: अति लामो फाँट\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -286,6 +77,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "परिवेशको अतिप्रवाह\n" @@ -386,9 +181,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: अद्वितिय UID प्राप्त गर्न सकिएन\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "कनफिगरेसन सूचनाको लागि खाली ठाऊँ बाँड्न सकिदैन ।\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "कन्फिगरेसन त्रुटि - अज्ञात वस्तु '%s' (प्रशासकलाई सूचना गर्नुहोस)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: PAM आधिकरण असफल भयो\n" @@ -416,7 +218,7 @@ msgstr "कनफिगरेसन सूचनाको लागि खाल #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: फाइल खोल्न सकिएन\n" #, fuzzy, c-format @@ -427,9 +229,21 @@ msgstr "%s: रेखा %d: chown असफल भयो\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: रेखा %d: chown असफल भयो\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: रेखा %d: chown असफल भयो\n" + msgid "Too many logins.\n" msgstr "अति धेरै लगइनहरू ।\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s लगइन: " + msgid "You have new mail." msgstr "तपाईँसँग नयाँ मेल छ।" @@ -439,6 +253,14 @@ msgstr "मेल छैन।" msgid "You have mail." msgstr "तपाईँको मेल छ।" +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "परिवर्तन छैन" @@ -451,9 +273,6 @@ msgstr "केस परिवर्तनहरू मात्र" msgid "too similar" msgstr "अति मिल्दो" -msgid "too simple" -msgstr "अति सजिलो" - msgid "rotated" msgstr "घुमिरहेको" @@ -500,6 +319,13 @@ msgid "" "%s\n" msgstr "पासवर्ड: pam_start() असफल भयो, त्रुटि %d\n" +msgid "Password: " +msgstr "पासवर्ड: " + +#, c-format +msgid "%s's Password: " +msgstr "'%s' को पासवर्ड: " + #, c-format msgid "Incorrect password for %s.\n" msgstr " %s को लागि गलत पासवर्ड ।\n" @@ -524,17 +350,13 @@ msgstr "%s: अवैध गृह फोन: '%s'\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" #, c-format msgid "" @@ -549,6 +371,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "पासवर्ड फाइल खोल्न सकिएन ।\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "कनफिगरेसन सूचनाको लागि खाली ठाऊँ बाँड्न सकिदैन ।\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "कनफिगरेसन सूचनाको लागि खाली ठाऊँ बाँड्न सकिदैन ।\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "%s का लागि अवधि सूचना परिवर्तन गरिदैछ\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: तपाईँको प्रयोगकर्ता नाम निर्धारण गर्न सकिएन ।\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: रेखा %d: प्रयोगकर्ता फेला पार्न सकिएन %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "'%s' मा सि डि गर्न असफल\n" @@ -560,6 +483,10 @@ msgstr "डाइरेक्ट्री होइन, HOME=/ संगै ल msgid "Cannot execute %s" msgstr "%s कार्यान्वयन गर्न सकिएन" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "अवैध मूल डाइरेकट्री '%s'\n" @@ -568,6 +495,84 @@ msgstr "अवैध मूल डाइरेकट्री '%s'\n" msgid "Can't change root directory to '%s'\n" msgstr "'%s' मा मूल डाइरेकट्री परिवर्तन गर्न सकिदैन\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: स्मृति भन्दा बाहिर\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: फाइल %s अद्यावधिक गर्न सकिएन\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: अवैध गृह डाइरेक्ट्री '%s'\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: डाइरेक्ट्री %s लाई %s मा पुन:नामकरण गर्न सकिदैन\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: चेतावनी: हट्न सक्दैन " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: चेतावनी: हट्न सक्दैन " + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: पुन:नामकरण गर्नुहोस्: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: डाइरेक्ट्री %s लाई %s मा पुन:नामकरण गर्न सकिदैन\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: डाइरेक्ट्री %s लाई %s मा पुन:नामकरण गर्न सकिदैन\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: चेतावनी: हट्न सक्दैन " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: चेतावनी: हट्न सक्दैन " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: फाइल %s अद्यावधिक गर्न सकिएन\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: स्याडो फाइल अद्यावधिक हुन सकेन\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: पुन:नामकरण गर्नुहोस्: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: फाइल %s खोल्न सकिएन\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: प्रयोगकर्ता %s हालै लग गरियो\n" @@ -627,6 +632,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -652,12 +660,15 @@ msgstr "पासवर्ड निष्क्रिय" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "लेखा समाप्ति मिति (YYYY-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "अन्तिम पासवर्ड परिवर्तन भयो\t\t\t\t\t: " - msgid "never" msgstr "कहिल्यै पनि" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "अन्तिम पासवर्ड परिवर्तन भयो\t\t\t\t\t: " + msgid "password must be changed" msgstr "पासवर्ड परिवर्तन हुनुपर्छ" @@ -825,14 +836,6 @@ msgstr "%s: '%s' ले गैरकानूनी क्यारेक्ट msgid "%s: user '%s' does not exist\n" msgstr "%s: प्रयोगकर्ता %s अवस्थित छैन\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: NIS ग्राहकमा प्रयोगकर्ता '%s' परिवर्तन गर्न सकिदैन ।\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' यो ग्राहकको लागि NIS मास्टर हो ।\n" - #, c-format msgid "Changing the user information for %s\n" msgstr " %s को लागि प्रयोगकर्ता सूचना परिवर्तन गरिदैछ\n" @@ -861,6 +864,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: -a फ्ल्याग -G फ्ल्याग संग मात्र अनुमति छ\n" @@ -911,6 +918,15 @@ msgstr "" msgid "Login Shell" msgstr "शेल लगइन" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: डाइरेक्ट्री %s लाई %s मा पुन:नामकरण गर्न सकिदैन\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: नयाँ पूर्वनिर्धारित फाइल सिर्जना गर्न सकिएन\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "तपाईँ यस को लागि शेल परिवर्तन गर्न सक्नुहुन्न %s ।\n" @@ -923,6 +939,10 @@ msgstr " %s को लागि शेलको लगइन परिवर् msgid "%s: Invalid entry: %s\n" msgstr "%s: अवैध प्रविष्टि: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s अवैध शेल हो ।\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s अवैध शेल हो ।\n" @@ -1133,9 +1153,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1148,6 +1165,10 @@ msgstr "अवैध प्रयोगकर्ता नाम '%s'\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: %s वैध समूह नाम होइन\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: फाइल %s खोल्न सकिएन\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "अवैध समूह नाम '%s'\n" @@ -1190,14 +1211,6 @@ msgstr "%s: NIS ग्राहकमा प्रयोगकर्ता '%s' msgid "%s: group '%s' does not exist\n" msgstr "%s: समूह %s अवस्थित छैन\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: समूह '%s' NIS समूह हो ।\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s NIS मास्टर हो\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: प्रयोगकर्ता %s NIS प्रयोगकर्ता हो\n" @@ -1273,10 +1286,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "अवैध समूह नाम '%s'\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: समूह %s NIS समूह हो\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: अज्ञात प्रयोगकर्ता %s\n" @@ -1391,7 +1400,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1485,11 +1494,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"utmp प्रविष्टि भएन । तपाईँले \"login\" गर्दा ज्यादै न्यून तह \"sh\" बाट कार्यन्वयन " -"गर्नुपर्छ" - #, fuzzy, c-format msgid "" "\n" @@ -1523,14 +1527,6 @@ msgstr "लगइन गलत छ" msgid "Cannot find user (%s)\n" msgstr "%s: रेखा %d: प्रयोगकर्ता फेला पार्न सकिएन %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s लगइन: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: फोर्क गर्दा असफल: %s" @@ -1567,7 +1563,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1592,17 +1589,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: अति लामो फाँट\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: अवैध डाइरेक्ट्री '%s'\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1636,14 +1629,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1664,6 +1656,10 @@ msgstr "%s: अवैध प्रयोगकर्ता नाम '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: अवैध प्रयोगकर्ता नाम '%s'\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: रेखा %d: अवैध रेखा\n" @@ -1684,6 +1680,10 @@ msgstr "%s: रेखा %d: GID सिर्जना गर्न सकिए msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: प्रयोगकर्ता %s अवस्थित छैन\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: पुन:नामकरण गर्नुहोस्: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: रेखा %d: पासवर्ड अद्यावधिक गर्न सकिएन\n" @@ -1704,14 +1704,14 @@ msgstr "%s: रेखा %d: chown असफल भयो\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: रेखा %d: प्रविष्टि अद्यावधिक गर्न सकिएन\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: विशेषधिकारहरू छोड्न असफल भयो (%s)\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: यो %s सिर्जना गर्न सकिदैन\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: विशेषधिकारहरू छोड्न असफल भयो (%s)\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: समूह फाइल अद्यावधिक गर्न सकिएन\n" @@ -1770,6 +1770,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "पुरानो पासवर्ड: " @@ -1789,6 +1792,11 @@ msgstr "" "नयाँ पासवर्ड प्रविष्ट गर्नुहोस् (%d को न्युनतम, %d को अधिक्तम क्यारेक्टरहरू)\n" "कृपया सानो र ठूलो अक्षरहरू र नम्बरहरुको मिलान प्रयोग गर्नुहोस् ।\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: अति लामो फाँट\n" + msgid "New password: " msgstr "नयाँ पासवर्ड : " @@ -1829,6 +1837,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: रेपोजिटरी %s समर्थित छैन\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1973,11 +1985,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2050,6 +2060,11 @@ msgstr "तपाईँ su %s मा प्रमाणिकरण हुनु msgid "No passwd entry for user '%s'\n" msgstr "मूलको लागि पासवर्ड प्रविष्टि छैन'" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "अवैध प्रयोगकर्ता नाम '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: टर्मिनलबाट चल्नुपर्छ\n" @@ -2095,6 +2110,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2125,10 +2146,6 @@ msgstr "%s: डाइरेकट्री सिर्जना गर्न msgid "%s: rename: %s: %s\n" msgstr "%s: पुन:नामकरण गर्नुहोस्: %s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: समूह '%s' NIS समूह हो ।\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: अति धेरै समूहरू निर्दिष्ट गरिएको छ (max %d) ।\n" @@ -2238,6 +2255,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: अवैध डाइरेक्ट्री '%s'\n" @@ -2367,6 +2389,16 @@ msgstr "समूह मेल फेला परेन । ०६०० मो msgid "Setting mailbox file permissions" msgstr "मेल बाकस फाइल अनुमतिहरू मिलाउदै" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "मेल बाकस फाइल सिर्जना गर्दै" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "मेल बाकस फाइल सिर्जना गर्दै" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2486,10 +2518,6 @@ msgstr "%s: डाइरेक्ट्री %s लाई %s मा पुन: msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: डाइरेक्ट्री %s लाई %s मा पुन:नामकरण गर्न सकिदैन\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: प्रयोगकर्ता %s NIS प्रयोगकर्ता हो\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: अवैध गृह डाइरेक्ट्री '%s'\n" @@ -2588,6 +2616,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2670,10 +2702,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: पासवर्ड फाइल अद्यावधिक गर्न सकिएन\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: डाइरेकट्री सिर्जना गर्न सकिएन %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: चेतावनी: %s चाँहि %s को स्वामित्वमा छैन\n" @@ -2779,8 +2819,9 @@ msgid "failed to stat edited file" msgstr "मेल बक्सलाई पुन:नामकरण गर्न असफल भयो" #, fuzzy -msgid "failed to allocate memory" -msgstr "मेलबक्स प्रापक परिवर्तन गर्न असफल भयो" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: फाइल खोल्न सकिएन\n" #, fuzzy msgid "failed to create backup file" @@ -2794,6 +2835,50 @@ msgstr "%s: पुन:भण्डारण गर्न सकिदैन %s: msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: अवैध डाइरेक्ट्री '%s'\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: NIS ग्राहकमा प्रयोगकर्ता '%s' परिवर्तन गर्न सकिदैन ।\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' यो ग्राहकको लागि NIS मास्टर हो ।\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: समूह '%s' NIS समूह हो ।\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s NIS मास्टर हो\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: समूह %s NIS समूह हो\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: समूह '%s' NIS समूह हो ।\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: प्रयोगकर्ता %s NIS प्रयोगकर्ता हो\n" + +#~ msgid "too simple" +#~ msgstr "अति सजिलो" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "utmp प्रविष्टि भएन । तपाईँले \"login\" गर्दा ज्यादै न्यून तह \"sh\" बाट कार्यन्वयन " +#~ "गर्नुपर्छ" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: अवैध डाइरेक्ट्री '%s'\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "मेलबक्स प्रापक परिवर्तन गर्न असफल भयो" + #~ msgid "Usage: id\n" #~ msgstr "उपयोग: id\n" @@ -2809,10 +2894,6 @@ msgstr "%s: अवैध डाइरेक्ट्री '%s'\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "पासवर्ड समाप्ति चेतावनी" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "अवैध प्रयोगकर्ता नाम '%s'\n" - #~ msgid "Username Port From Latest" #~ msgstr "सबै भन्दा पछिल्लो बाट पोर्ट प्रयोगकर्ता नाम" diff --git a/po/nl.gmo b/po/nl.gmo index a0500bac33f7b595f3e80313121bec5bffcb9316..485dd08f003b7e6bd00e7aa3251ac2311057846d 100644 GIT binary patch delta 14195 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 delta 16492 zcmcKBcX(CB{_pX%A(Vtb=!Cu!AP^vd&_POo0Mdd;5kZ8I>=aUVOre`i5eo`d!ioQHk!BIaYKo^%GE z!Y=qd7GY#B({3}~O#C$#V%y%16Ng)HG=7ZTxxW+L$23ev`rR=eX>5q4!I=01n8V3_c(YxW8i)z0YM`2Y?>VQc&*iU8!nSpo$84{;Og5!LI z*|-7Y2RKf9)#FSIqp?Qj0i?+J1nH~Okdt{>XM%MN4k7*&yJ956p^l74jm*>h@Y5;h zA{q6xGu_scEWlgvb)-*DU9O@Vj>p^ZNnDNBa0afT@(ZlaFlmIoN8PA77u8hdqvrf9 zGOJEAD%J5j6B&Osc$|Vx7(T*0;c(QA4`V!5p*Lzb3{}1lRUS0bJjnoLI-RAck$4Yz zXs7C}=0V0F%fopRHG*HG9(3X;#$R)_k%`fhoWmlV!U|c8r%-YB7&ElzaXN8pR_Zj| zf((LFpJCArQ&3a+EOy3Aco#;GGv(`0Yw0W02(|OG($te8Y=ir-Bc8_sbjO>aT8W<% ze~EgM7blpGUqlUM&pXV}&c|-VuVPocg7YzUq8YL0Q6qE_b)LV&oo47~pn9|o89nDO z)KDi*GEcr7HHROdMl5u)xxiS|6RpSNcn*8x;Ur_lDW?4Z>__=BEW(d4T>F1yvUxE~ z#ZW4iVs%`H&GA`V{-N~*hEV=JR>mvHwVdm=d`gOW@@&*9e*(ksM-0MiSP9E}9jAu& ze-$zs`o`ED2V)E_z!vyCHpEXc7B69aj7;Tii9J#EBQXNAQRgkgruZW2dY@nwET3lT z!>}dycRG`4h7++Z&a*y;?TNp%^`YsG(}1`=HpijZ5_3^ET8-++F4Tj3jPY14!@O`t zpyK&9K8Suj`4uuUa;jOyiPlF@Pjmt!(aAI&ZHBt>ARGH^T#S11S5O@~h0*BAG97D! zy3QbE?wzSwjDI~c3nnwz*+@Y(+c{b%S}R3vNbT=Md^T$57X) znq$g4Vk6?A*ap*a3a-du{Ckl3l>*tpXLdt2wkF4Uy zY6|vYV?1X41GO!~c^U8uaYkCV`pJx-;Hq_ao@uxN>r#Fc^@KlQ6Rgf_uo||*80?LD z(PUvy+=A-RNz@2b;U&@q<1iG{Q6p7|6VShe3@QIyEW@?6^u9t-!a2dwp0aQnSMmp|yVrSSd2&kc*gBr@mu`a%2 z%fGVaAv4VdVl1kD6vp998$W~Xh(AQ0$nnfEukfy@k;%jaT!gyu`_|tuoclWwcbkeH z*nl`0)zcz$@iFTm)X02;x=|?a(SFzu^~4LUJ5e1!Y2$L-MD5#Iz1Wv{9r~3yPDcB* z>0Gn=2V;BUBGmTVj_Ual?1X<=GaE-+8p7j=PjtcUY#yasi{ov4m|ftted_m~@n;}GH@*a%nRK-`I4@pl}I zaSM6!CS+zWG_J+w#Jg>L0-F+F#s1j%UUP#aY(ZR%F7C#@_yyL-M)#S;+XdC};i#$g zqB=AeUEJU&)0oU&RKsH!iNByaR_}gO-UV9{Ct9bWZuBT>IRJ#neCE*>Ty0c#HFZ?{R4I4dl-cmP;*{)vFUJs)b5yq zHE{*%iMOJQhcFty!FcWeum{cO^DWlN*oy|as73f3>IqI_TfC0ySlcCL3I?I-vr#u( zf?6}1Q16f3sO|g#x_BCO-3m)JrG8$IWZFBw&z0TN*cnWHS7GpH`cU~ocmTCHFJUdL`iSF{!wA#}H%INVA&)Tr8d@I(!FV6)LJy-( z+-4i@N0;~vs-u-wnGuLaEy@Jc(5In>xEQr2_MoQb7}mhh)n<(}!Men8s~LYayqN+G zQ99}Z52A+hMbr(CpxRwVJz1SKW@Or-OFR~J{&dt6uCwue)R2E;%d4+7=XF7?or!)j zdV)FF05_u6!po=*e2Vq)GSY=+C7H-a5rkC z|H47&ueiZ{oleAt6x@zou@H5`ZMJ-$jgMg?$}gZsCiGF$p;*-U{jobv!Ya51!|)00 zg)d?PUc%bi|J^p4Zz#i2i|rny!goz>5w$8OsRE~A8(f8YH6O%C{2q0oYLA;W z(i+v_n^7GZkD7BYYW2@Xo%al~ft-J$I_7{7s5P+}({KlB(S|=`rl1Y#y8TfPmTAiup{}>(8OC3kS8c=3&?R=B zH6s#%y5Il|#c`++^P+}$4r=I^V;nwiJ&JvZD{nK4@Mer5_M%3*7PXNIZ`>OC+N^(0kH*I6_mLS! zW(leTU!Yd+PpA_r?=VK77F`e2+>J%ucp7R%)?j43eMniH7>In)^H(rNT@C9sv`%oP?gKAf9r)d|Bx=}wH55YFX$*2)phSl*|)SK^B z)O8PIi1z;xGD9giVQpPv;%V5H@&g!+7f>Cm|AJXm9q<5)cRcFF)A%Lx7t$!yl(s@W zSTEH1N%$Zx#t|4^%DUqIPC6Mq*>kAX`Zo5%i>QX3ckv|y7osk32@7!UZu2eoG8PiY zzieKuFX3|HKQR%PzGA+-9!H%YvBzBhIrOW+&t#@!{Htc@cHuDM)7Tl~_L>`|q2isW z3w?{Tu<$k0(VwtCar{2>_r!ZpBl{8RdQJ8lGqIR>*M7$TJ~G1&n7>kej1LjtcF=s` z_!b8dw>)G{^x<&gJ@^HNyw3FDH`o<-zhVBq_cIP5&OB`XZuk;vL|eaUzPMytx4+5w ztA{^R5RbjyGQSuUp@#lVycxsa)>35-QSDEmIui4axzTJ?{01(>+V48fT3m|{W9Ro+ z3#^sHsFC>opZvCj-Td#HKcyZ-_3(}l%n)wGnZ#e?44n9(`OrCv8;EOuWZLgQP2nZf zocCimZpBYf9c}fo8NmXKC*Ff9zl!RJfAA;fi^C&0fPyAR&D^G-M&M_hhkZXa9>fQU z2YhBa{t@a)Ge0-yS7cu9As&YF@k1PiqrWs$@e~drZged0hV(mWWadz?6?Mbr$IYKs z3vd?k_n3gGC(JAK8SGB{ITm59ljg~mBbRWFpdMt$zs!xUU?FkeQzkCOUc}|T(w}^o z)Oa!rD42~Jn(H_ahkk8NSdM*&kE7}vpEh%yf&GX}Q8)a<8vl(M+IvxJ;s|ODMVz6t ztbwVh5hyx~+~0YN%v!AdtvO*kE+oE+jc~y^^CfZQ#TVoaC zt{9B{@emHjT3GXYv&N#(KbC^2WK^*qgYXlqgkRY5uP~PQ3Th-;oHu_h^I{v~P1qRU z#V+_AhGWDJ=EJB5wj>^nkvIoqaN`e*e-kqAQK0>M9;;yUAI-;bdyF6+iOn$|+u~|e z``57>Ud0yJ<%0Q;xdU~B*{F6;qi%c()zP4z%+y8x#P|=Tz)OMV=y_E9hm8mRY<|67 zW<7*j&A(fRUo=m)8Cz5S7HUL(!B})JnFknw9f|M4R`>*JME>a~qZ6;7o-E=Q^I?&Q zy@_XFGc3g(_$9W-x|hue4ML4fI%?>bpl*B!qwo^y`VFp_jtxM?ccI$(*OSo&-a!rF zPuKzL{%W@6U`!-_14m+=-^`0B4fQ0Cp*r*~4#KObAs_I&>CoNSiTDN7$ecqxd7VE3 zi`(z?BGZt9@z@=w;aJ>Zt@Nk)H=H}I+fnVDzwF{djofI|ZkdPG@louC+fnVm#RQDJ zYC4vNaoYcnlIcao2N;Ugu9P z32a2X4>c9Xu{Q>JJb}g79|OPtr;Tu(Pt=R0dO1&EyNyC!s2DZWJ5WP<3SF#Q z-V^wq-xWI&r=hO54mC2LqdHzO$P-v2olxgzqQ5bjO=NoFUer+iiMl}N3g*W7*o62Y z?19^{9)5>9uUti*1pA;CR|e`ySD>E!2x{p6zik_Heskj26vR_d zvx;#P-bTE_dLA|O389|AS}4TH#Gj#dLHDYj!0wrXeTeV3zKLCkD_1j9(+6)N&PTo2 zw)@FMlKIe9{9izH{>UvkPKKFMT)-j8zGpb@ZszaHmCtZYkacoCUaK5zVm$4~vgSw`? z2kON&+IkE6H-cmobYT{s=}B3Xx;`-7-m z5Yo^Sc(X;|9mE|_`+XU@co5_9G^#@_8krjoKuy_H)Cev?ZQrdJ*#EDQ(G8BHdiV=! zJJoOO34Ge!jJnZ!)JT1Rn&WFW?%u>)I1K}9!^V%>crSLQ{VCK`)@y1;xPMdjzZOp} z1-jvK)D8BdR_O)QhfER_6T!>=twgKV^F(d4tB>UP*Zji z^`O@x{buNzH8Uq9ptesY>co|(hI>&R{2Fzkn$3;FtoNcm9rxjE)wl3C<8diw;yKhd z9TR0nZYFANyx=FJAv=lXuv|;?`xQA0Q%H3H9}E_4{Rb}phi-lCPc zZX&AwF4Q7ik8$`O>NCK9-4=9;_5^-!PerYTIjBWcjGBTH)RcUVS_{=%n~_UEUC@gf zxmBnK+K=tcm!U&5(^lZO1w2;?t;+c^lQS z3#g&36Jy>V-BD}gHgqu`^Kb>u!%DH{Q}zLj(*A#kjE3?eY7VQk^925=G!b)&vuu1E z^(H%y12DL~iASKTc320Opsx2A>VfuP13ZiBXt_AEcA~I~_Wxuu+Lu{)E8dIx@cA4y z1#unBr{YM|+%H0vzhujg;soNbj=WGX(^`b(i62Id;7Sa|1E{HbAN?+w-^pms8+0-w z5Qklf7hrXK1uNjYsJZ4XA>E%(&tfAaT2xNf^RlM z8;0@3k(hwVs8#$FYS-*V-S}q)YtJThmgon^4(bPERnipdOK}lu zF5_@2_31a9_XFjh+H1c}emrTX_Fx|x@mhQQC^lxgu?uw^Z{&fPcEE355uC!Yb%{WtWo4fzvPYCcJx5(>o13&pIC1%?)y?1-kZanexBzK!mR4B@LylCH0TkHe*zI!%^3k^JT>uN!!P$ zYk-lYN|bdkTM#-Yhk~=X5<^sQ!*QMbUzEQ`YDGFgJcoXV44lXUDh zIP)l9P0A;(h&udy{c>vBppLyjL*h(R@7zj0i+oSpM&C$oJoejQ2&c9f$$jW);dB83a^6Vm4-9mNk=Bx`QOB26=M9pM4W#=?D=42&((x^IHOSwF zHHmfqz%kY~P@vzj1`~flqbcOukiH=4D76<)A%80=ocLXQ4o{JuA^#caAMYLSnmEQWl4 z(j4M9Nw3)UzmOkEN+iz4Nu+b6F|=)2_WTJ{wx(ddJ?Q~lN33s^I=&>HYO;Z!^Z7ZE zG>SGlx>=R~mQ+Z*hE$$3-PS!}udO!i$-ho|SNlJfw3fn$RKxK*v5u<-=WXKe$ZM|F z*fNn%d7_Ok+jH{pv@JVn%Ni1YOkV$+%{cN2q^h>gzuq=}hk`=#jcN1_HY0VmjYi-T zw%uk-BHl~-nS2%6S0I0eq+=#=GWp^7I3{7)kwfN3%5I^oizzqj?@0=uq_PS=jZI0h zG?+?ym~;o_M<}~YdXV%!X(MGiE?^d^2KgO<5?(^Ku9c0&Y|1v`Poz7z<_zMqdjHoW zQ$&HjHQsnspzIOSaq5TKigfa~kS0*R4f{}@L0UnYOIbgxj;E>n7ilNy3}pvN-;kP7 zx0$jII0kEI{%2D$8Skc0$5W(Dq?x3$qd%G6w9)afwKnZn*!)0i4Cc}1GdvY&&ENF# zS(~rSIUm@3d-DEhdtxMoi^$JFKNZ7BpOYVI>)*t4q%=}0b#+N)$GzkSQNEC*qnEAo z;Rai#^6jMFl>MrJBTj2Nl?Joy3Af@^dqQ0rcuDmrn{~rQqScnTC1&9Lq<*Aqm2*Up z_K@OHxEF$a;UL-$_x-F!mfs2?% z-;pmNdz6%C+h$q6rtT%uSW*wlenB0bHPkx3r=S!0DAHQeCE}M!=cy~SjaQPtU5z;g z+VhlufYe$Uj@37mhuQOfvsR+67j4F40jUys{~$68$RuJHEGGFlp#>?#o=8#P*W^jG zsY%kYFYr_UV8oYKl85vbWnbZgBpqS2eSmbAJ!d-Qp_JFcIMc@OEFtp&X&C88D*qyN zJ_4OPjpk9^s&D)8-7 zk*(}QWqDFR;&J6l61&_{E~I~3Hzp=I%bS!}d{;v4PRh7hN%;j?zBD(_o9xR=aeb+7 zQjS}g@6B^t73L>R$@03soUEDd^o)XZH>NPUc*oAjlEd9zC?D?HBPD}V3w(Jq-P}BH zYQ~I`q@LqjRx3#Nx`~5Fx!GLan^&?ud8nsl%NF@9-Hd$qf7ZFFzC4O3PtMBl<`l%1 z{F2hUVuUZ(o5K}-$?m^z5NMf{m*y>STND;YW+p}T_Z4QPxH-N8H@_gM;J-C3xjS=5 zP^&~*d2@V)Y3VN4D9q+w^u?$9XLCKenwy)Ela^o7GWVLtUv?XH*f%}Lo8nHH=_YZ9 z)KqUCrv}EThg+DD(xXLIp_@B>Qdu^?pe)4RKoJ_i#s>JLyrq`T6RI z?l|`U&n-)uT=?p)kR5HErrI0E~fp%$m zzQWv+hI9LQqBX^V(3}*=x@GfxL+jX*LG$_shvnqvW#km3x~WMSS>BY0l6i}oln*h@ zwB$;bE*V_8c;m|8iUjnr$(n05)5ZQvoog>v(rMeg3O8=&q;9o}tL>^4?3>2M z^|Et{AAY5EaF*AbmYtO8%_*L^E28AZonwMRSmZHgpB5+e4BuHA*RE9W~@bFOo7ikJ!9%D_9{gMUhbU7 zW-bZ4Jh)u2y?;jjs-D4~`lJ6hHfRFZG`rJm&cKy>|G!%f@!|uCO8hE(z~izol2YAt7EV@DQW_r{JkK<5Qej{hm)_Fa)2Tw#P#!;U)#({oS>8-5gQPT40aJ>A{&S_MCM(O&mvId(Gs emv;MqxY~c((^2;2@t^8cW%qmOmOh>!&;J2S!9nT( diff --git a/po/nl.po b/po/nl.po index f1cca108..c87233f6 100644 --- a/po/nl.po +++ b/po/nl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.12.2\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2022-09-27 17:08+0200\n" "Last-Translator: Frans Spiesschaert \n" "Language-Team: Debian Dutch l10n Team \n" @@ -18,230 +18,6 @@ msgstr "" "X-Generator: Poedit 2.2.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"In %s staan meerdere regels met als naam '%s'. Gelieve dit met pwck of grpck " -"te repareren.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "niet door libcrypt ondersteunde encryptiemethode? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "configuratiefout - kan waarde %s niet ontleden: '%s'" - -msgid "Could not allocate space for config info.\n" -msgstr "Kon geen ruimte toewijzen voor de configuratie-info.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"configuratiefout - onbekend item '%s' (waarschuw een systeembeheerder)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscd werd niet normaal beëindigd (signaal %d)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: nscd sloot af met status %d\n" - -msgid "Password: " -msgstr "Wachtwoord: " - -#, c-format -msgid "%s's Password: " -msgstr "Wachtwoord van %s: " - -msgid "Cannot open audit interface.\n" -msgstr "Kan auditinterface niet openen.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" -"%s: kan context van vorige SELinux-proces niet verkrijgen: %s\n" -"\n" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "Kan geen instrument voor SELinux-beheer creëren\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "SELinux-beleid wordt niet beheerd\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "Kan het gebied met het SELinux-beleid niet lezen\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "Kan geen verbinding leggen om SELinux te beheren\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "Kan de SELinux-transactie niet beginnen\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "Kon de seuser van %s niet opvragen\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "Kon de serange van %s niet instellen\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "Kon de sename van %s niet instellen\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "Kon de aanmeldkoppeling van %s niet veranderen\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Kan voor %s geen SELinux-aanmeldkoppeling maken\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "Kon voor %s geen naam instellen\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "Kon voor %s geen SELinuxgebruiker instellen\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "Kon voor %s geen aanmeldkoppeling toevoegen\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "Kan SELinuxbeheer niet initialiseren\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "Kan de gebruikerssleutel voor SELinux niet aanmaken\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "Kan de SELinuxgebruiker niet verifiëren\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "Kon de gebruikerskoppeling in SELinux niet veranderen\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "Kan in SELinux geen gebruikerskoppeling toevoegen\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "Kan de SELinux-transactie niet vastleggen\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"Geen aanmeldkoppeling gedefinieerd voor %s. OK als de standaardkoppeling " -"gebruikt werd\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" -"Aanmeldkoppeling van %s werd in het beleid gedefinieerd en kan niet gewist " -"worden\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "Kon de aanmeldkoppeling van %s niet wissen" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: onvoldoende geheugen\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: kan de status niet opvragen van %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s is geen map en ook geen symbolische koppeling.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: kan symbolische koppeling %s niet lezen: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: verdacht lange symbolische koppeling: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: kan map %s niet aanmaken: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: kan eigenaar van %s niet wijzigen: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: kan modus van %s niet wijzigen: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: ontkoppelen: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: kan map %s niet verwijderen: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: kan %s niet hernoemen naar %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: kan %s niet verwijderen: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: kan symbolische koppeling %s niet aanmaken: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: kan eigenaars van %s niet wijzigen: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: kan status van symbolische koppeling %s niet opvragen: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: waarschuwing: gebruiker %s heeft geen tcb-schaduwbestand.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: noodsituatie: het tcb-schaduwbestand van %s is geen gewoon bestand met " -"st_nlink=1.\n" -"Het account is vergrendeld gebleven.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: kan bestand %s niet openen: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Waarschuwing: onbekende groep %s\n" @@ -288,6 +64,13 @@ msgstr "Kan eigenaar of modus van tty stdin niet veranderen: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: ontgrendelen van %s is mislukt\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"In %s staan meerdere regels met als naam '%s'. Gelieve dit met pwck of grpck " +"te repareren.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -295,6 +78,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "niet door libcrypt ondersteunde encryptiemethode? (%s)\n" + msgid "Environment overflow\n" msgstr "Omgeving wordt te groot\n" @@ -415,8 +202,16 @@ msgstr "" "%s: kan geen uniek UID verkrijgen (er zijn geen UID's meer beschikbaar)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "%s: Onvoldoende argumenten om %u-toewijzingen te vormen\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "configuratiefout - kan waarde %s niet ontleden: '%s'" + +msgid "Could not allocate space for config info.\n" +msgstr "Kon geen ruimte toewijzen voor de configuratie-info.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"configuratiefout - onbekend item '%s' (waarschuw een systeembeheerder)\n" #, c-format msgid "%s: Memory allocation failure\n" @@ -442,8 +237,9 @@ msgstr "%s: Kon seteuid niet op %d instellen\n" msgid "%s: Could not set caps\n" msgstr "%s: Kon hoofdletters niet instellen\n" -#, c-format -msgid "%s: snprintf failed!\n" +#, fuzzy, c-format +#| msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: snprintf is mislukt!\n" #, c-format @@ -454,9 +250,22 @@ msgstr "%s: openen van %s mislukte: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: schrijven naar %s mislukte: %s\n" +#, fuzzy, c-format +#| msgid "%s: open of %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: openen van %s mislukte: %s\n" + msgid "Too many logins.\n" msgstr "Te veel aanmeldingen.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s gebruikersnaam: " + msgid "You have new mail." msgstr "U heeft nieuwe e-mail ontvangen." @@ -466,6 +275,14 @@ msgstr "Geen e-mail." msgid "You have mail." msgstr "U heeft e-mail." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscd werd niet normaal beëindigd (signaal %d)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: nscd sloot af met status %d\n" + msgid "no change" msgstr "geen veranderingen" @@ -478,9 +295,6 @@ msgstr "enkel veranderingen van grote naar kleine letters (of omgekeerd)" msgid "too similar" msgstr "te gelijkaardig" -msgid "too simple" -msgstr "te simpel" - msgid "rotated" msgstr "geroteerd" @@ -525,6 +339,13 @@ msgstr "" "%s: (gebruiker %s) pam_chauthtok() is mislukt, fout:\n" "%s\n" +msgid "Password: " +msgstr "Wachtwoord: " + +#, c-format +msgid "%s's Password: " +msgstr "Wachtwoord van %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Onjuist wachtwoord voor %s.\n" @@ -550,17 +371,14 @@ msgstr "" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: krijg geen toegang tot chroot-map %s: %s\n" -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: kan chdir naar chroot-map %s niet uitvoeren: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: chroot naar map %s lukt niet: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "Kan geen willekeurige bytes verkrijgen.\n" +#, fuzzy, c-format +#| msgid "%s: cannot chdir to chroot directory %s: %s\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: kan chdir naar chroot-map %s niet uitvoeren: %s\n" #, c-format msgid "" @@ -580,6 +398,112 @@ msgstr "" "ENCRYPT_METHOD en de bijbehorende configuratie voor uw geselecteerde hash-" "methode.\n" +msgid "Cannot open audit interface.\n" +msgstr "Kan auditinterface niet openen.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" +"%s: kan context van vorige SELinux-proces niet verkrijgen: %s\n" +"\n" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "Kan geen instrument voor SELinux-beheer creëren\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "SELinux-beleid wordt niet beheerd\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "Kan het gebied met het SELinux-beleid niet lezen\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "Kan geen verbinding leggen om SELinux te beheren\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "Kan de SELinux-transactie niet beginnen\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "Kon de seuser van %s niet opvragen\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "Kon de serange van %s niet instellen\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "Kon de sename van %s niet instellen\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "Kon de aanmeldkoppeling van %s niet veranderen\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Kan voor %s geen SELinux-aanmeldkoppeling maken\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "Kon voor %s geen naam instellen\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "Kon voor %s geen SELinuxgebruiker instellen\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "Kon voor %s geen aanmeldkoppeling toevoegen\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "Kan SELinuxbeheer niet initialiseren\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "Kan de gebruikerssleutel voor SELinux niet aanmaken\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "Kan de SELinuxgebruiker niet verifiëren\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "Kon de gebruikerskoppeling in SELinux niet veranderen\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "Kan in SELinux geen gebruikerskoppeling toevoegen\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "Kan de SELinux-transactie niet vastleggen\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"Geen aanmeldkoppeling gedefinieerd voor %s. OK als de standaardkoppeling " +"gebruikt werd\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" +"Aanmeldkoppeling van %s werd in het beleid gedefinieerd en kan niet gewist " +"worden\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "Kon de aanmeldkoppeling van %s niet wissen" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Kan niet van map veranderen (cd) naar '%s'\n" @@ -591,6 +515,10 @@ msgstr "Geen thuismap, er wordt aangemeld met HOME=/" msgid "Cannot execute %s" msgstr "Kan %s niet uitvoeren" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Ongeldige hoofdmap '%s'\n" @@ -599,6 +527,87 @@ msgstr "Ongeldige hoofdmap '%s'\n" msgid "Can't change root directory to '%s'\n" msgstr "Kan de hoofdmap niet veranderen naar '%s'\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: onvoldoende geheugen\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: kan de status niet opvragen van %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s is geen map en ook geen symbolische koppeling.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: kan symbolische koppeling %s niet lezen: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: verdacht lange symbolische koppeling: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: kan map %s niet aanmaken: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: kan eigenaar van %s niet wijzigen: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: kan modus van %s niet wijzigen: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: ontkoppelen: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: kan map %s niet verwijderen: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: kan %s niet hernoemen naar %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: kan %s niet verwijderen: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: kan symbolische koppeling %s niet aanmaken: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: kan eigenaars van %s niet wijzigen: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: kan status van symbolische koppeling %s niet opvragen: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: waarschuwing: gebruiker %s heeft geen tcb-schaduwbestand.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: noodsituatie: het tcb-schaduwbestand van %s is geen gewoon bestand met " +"st_nlink=1.\n" +"Het account is vergrendeld gebleven.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: kan bestand %s niet openen: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: gebruiker %s is momenteel aangemeld\n" @@ -671,6 +680,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root CHROOT_MAP basismap voor chroot\n" +#, fuzzy +#| msgid " -P, --prefix PREFIX_DI directory prefix\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -P, --prefix PREFIX_MAP map-prefix\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -698,12 +712,15 @@ msgstr "Wachtwoord niet actief" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Vervaldatum van account (JJJJ-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Laatste wachtwoordverandering\t\t\t\t: " - msgid "never" msgstr "nooit" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Laatste wachtwoordverandering\t\t\t\t: " + msgid "password must be changed" msgstr "wachtwoord moet veranderd worden" @@ -882,14 +899,6 @@ msgstr "%s: '%s' bevat ongeldige tekens\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: gebruiker '%s' bestaat niet\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: kan gebruiker '%s' niet veranderen op NIS-client.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' is de NIS-master voor deze client.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "De gebruikersinformatie over %s wordt veranderd\n" @@ -926,6 +935,11 @@ msgstr "" " -s, --sha-rounds aantal rondes voor de SHA, BCRYPT\n" " of YESCRYPT encryptie-algoritmes\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: niet-ondersteunde encryptiemethode: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: vlag %s is enkel toegelaten in combinatie met vlag %s\n" @@ -979,6 +993,16 @@ msgstr "" msgid "Login Shell" msgstr "Login-shell" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: kan grootte van %s niet opvragen: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file: %s\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: kan geen nieuw bestand met standaardwaarden aanmaken: %s\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "U mag de shell voor '%s' niet aanpassen.\n" @@ -991,6 +1015,11 @@ msgstr "De login-shell voor %s wordt aangepast\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: ongeldig element: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s is geen geldige shell\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s is geen geldige shell\n" @@ -1237,9 +1266,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system een systeem-account aanmaken\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -P, --prefix PREFIX_MAP map-prefix\n" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" " -U, --users GEBRUIKERS lijst van leden-gebruikers van deze groep\n" @@ -1252,6 +1278,11 @@ msgstr "Ongeldige lid-gebruikersnaam %s\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: '%s' is geen geldige groepsnaam\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: kan bestand %s niet openen: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: ongeldige groeps-ID '%s'\n" @@ -1297,14 +1328,6 @@ msgstr "%s: kan de primaire groep van gebruiker '%s' niet verwijderen\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: groep '%s' bestaat niet\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: groep '%s' is een NIS-groep\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s is de NIS-master\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: gebruiker '%s' is reeds lid van '%s'\n" @@ -1396,10 +1419,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: ongeldige groepsnaam '%s'\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: groep %s is een NIS-groep\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: onbekende gebruiker %s\n" @@ -1527,8 +1546,12 @@ msgid "" msgstr "" " -b, --before DAGEN enkel lastlog-items ouder dan DAGEN tonen\n" +#, fuzzy +#| msgid "" +#| " -C, --clear clear lastlog record of an user (usable " +#| "only with -u)\n" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -C, --clear lastlog-informatie over een gebruiker\n" @@ -1632,11 +1655,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: Kan mogelijk niet functioneren zonder effectieve root\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Er is geen utmp-item. U dient \"login\" uit te voeren vanaf het laagste " -"niveau \"sh\"" - #, c-format msgid "" "\n" @@ -1670,14 +1688,6 @@ msgstr "Gebruikersnaam is onjuist" msgid "Cannot find user (%s)\n" msgstr "Kan gebruiker (%s) niet vinden\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s gebruikersnaam: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: nieuw proces beginnen is mislukt: %s" @@ -1712,9 +1722,13 @@ msgstr "Gebruik: logoutd\n" msgid "%s: gid range [%lu-%lu) -> [%lu-%lu) not allowed\n" msgstr "%s: gid-bereik [%lu-%lu) -> [%lu-%lu) niet toegestaan\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "usage: %s [ " +#| " ] ... \n" msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" "gebruik: %s [ " " ] ... \n" @@ -1739,21 +1753,21 @@ msgstr "%s: setgroups opzoeken mislukte: %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: setgroups-beleid %s mislukte: %s\n" -#, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: Kon proc-map voor doel %u niet openen\n" - -#, c-format -msgid "%s: Could not stat directory for target %u\n" +#, fuzzy, c-format +#| msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: Kon status van map voor doel %u niet opvragen\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " +#| "st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" -"%s: Doel %u is van een andere gebruiker: uid:%lu pw_uid:%lu st_uid:%lu, gid:" -"%lu pw_gid:%lu st_gid:%lu\n" +"%s: Doelproces %u is van een andere gebruiker: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgid "Usage: newgrp [-] [group]\n" msgstr "Gebruik: newgrp [-] [groep]\n" @@ -1785,20 +1799,21 @@ msgstr "te veel groepen\n" msgid "%s: uid range [%lu-%lu) -> [%lu-%lu) not allowed\n" msgstr "%s: uid-bereik [%lu-%lu) -> [%lu-%lu) niet toegestaan\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "usage: %s [ " +#| " ] ... \n" msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" "gebruik: %s [ " " ] ... \n" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" -"%s: Doelproces %u is van een andere gebruiker: uid:%lu pw_uid:%lu st_uid:" -"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" +#, fuzzy, c-format +#| msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: Kon status van map voor doel %u niet opvragen\n" msgid " -b, --badname allow bad names\n" msgstr " -b, --badname slechte namen toestaan\n" @@ -1818,6 +1833,10 @@ msgstr "%s: ongeldig gebruikers-ID '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: ongeldige gebruikersnaam '%s': gebruik --badname om te negeren\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: regel %d: ongeldige regel\n" @@ -1840,6 +1859,11 @@ msgstr "%s: regel %d: kan de groep niet aanmaken\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: regel %d: gebruiker '%s' bestaat niet in %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: ontkoppelen: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: regel %d: kan wachtwoord niet bijwerken\n" @@ -1860,14 +1884,14 @@ msgstr "%s: regel %d: chown %s is mislukt: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: regel %d: kan element niet bijwerken\n" -#, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: voorbereiden van het nieuwe %s-element is mislukt\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: kan ondergeschikt gebruikersbereik niet vinden\n" +#, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: voorbereiden van het nieuwe %s-element is mislukt\n" + #, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: kan ondergeschikt groepsbereik niet vinden\n" @@ -1948,6 +1972,12 @@ msgstr "" "wachtwoordwijziging\n" " instellen op MAX_DAGEN\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" +" -l, --list verouderingsinformatie over accounts tonen\n" + msgid "Old password: " msgstr "Oud wachtwoord: " @@ -1967,6 +1997,11 @@ msgstr "" "Voer het nieuwe wachtwoord in (minimaal %d en maximaal %d tekens)\n" "Gebruik een combinatie van grote en kleine letters en cijfers.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: velden zijn te lang\n" + msgid "New password: " msgstr "Nieuw wachtwoord: " @@ -2012,6 +2047,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: depot %s wordt niet ondersteund\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: enkel de systeembeheerder kan de optie -g/--group gebruiken\n" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -2165,11 +2205,9 @@ msgstr "%s: signaal werkt slecht\n" msgid "Session terminated, terminating shell..." msgstr "Sessie beëindigd, shell wordt afgesloten..." -#, c-format msgid " ...killed.\n" msgstr " ...gedood.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...wachten op het beëindigen van kind-proces.\n" @@ -2243,6 +2281,11 @@ msgstr "%s: U bent niet gerechtigd om op dat tijdstip 'su' uit te voeren\n" msgid "No passwd entry for user '%s'\n" msgstr "Geen wachtwoordregel voor gebruiker '%s'\n" +#, fuzzy, c-format +#| msgid "Invalid member username %s\n" +msgid "Overlong user name '%s'\n" +msgstr "Ongeldige lid-gebruikersnaam %s\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: dient uitgevoerd te worden vanaf een terminal\n" @@ -2288,6 +2331,13 @@ msgstr "%s: %s was aangemaakt, maar kon niet verwijderd worden\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: de %s-instellingen in %s zullen genegeerd worden\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: de %s-instellingen in %s zullen genegeerd worden\n" + #, c-format msgid "%s: cannot create new defaults file: %s\n" msgstr "%s: kan geen nieuw bestand met standaardwaarden aanmaken: %s\n" @@ -2316,10 +2366,6 @@ msgstr "%s: kan back-upbestand (%s) niet aanmaken: %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: hernoemen: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: groep '%s' is een NIS-groep.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: te veel groepen gespecificeerd (max %d).\n" @@ -2467,6 +2513,17 @@ msgstr "" " -Z, --selinux-user SEUSER een specifieke SEUSER gebruiken om de\n" " gebruikerskoppeling voor SELinux te maken\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEUSER een specifieke SEUSER gebruiken om de\n" +" gebruikerskoppeling voor SELinux te maken\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: ongeldige basismap '%s'\n" @@ -2599,6 +2656,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Bestandsrechten van postvak-bestand worden ingesteld" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Postvak-bestand wordt aangemaakt" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Postvak-bestand wordt aangemaakt" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "%s waarschuwing: %s zijn/haar uid %d is groter dan SYS_UID_MAX %d.\n" @@ -2729,10 +2796,6 @@ msgstr "%s: kan de inhoud van %s niet verwijderen: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: kan de tcb-bestanden voor %s niet verwijderen: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: gebruiker %s is een NIS-gebruiker\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: %s persoonlijke map (%s) niet gevonden\n" @@ -2863,6 +2926,16 @@ msgstr "" " -Z, --selinux-user SEUSER nieuwe koppeling met SELinux-gebruiker voor\n" " het gebruikersaccount\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUSER nieuwe koppeling met SELinux-gebruiker voor\n" +" het gebruikersaccount\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2961,12 +3034,26 @@ msgstr "" "%s: kopiëren van het lastlog-item van gebruiker %lu naar gebruiker %lu is " "mislukt: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: kopiëren van het lastlog-item van gebruiker %lu naar gebruiker %lu is " +"mislukt: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: kopiëren van het faillog-item van gebruiker %lu naar gebruiker %lu is " "mislukt: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: kopiëren van het faillog-item van gebruiker %lu naar gebruiker %lu is " +"mislukt: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: waarschuwing: %s is niet van %s\n" @@ -3068,8 +3155,10 @@ msgstr "ontkoppelen van initieel bestand is mislukt" msgid "failed to stat edited file" msgstr "opvragen van status van bewerkt bestand is mislukt" -msgid "failed to allocate memory" -msgstr "geheugen toekennen is mislukt" +#, fuzzy +#| msgid "%s: snprintf failed!\n" +msgid "asprintf(3) failed" +msgstr "%s: snprintf is mislukt!\n" msgid "failed to create backup file" msgstr "maken van reservekopie is mislukt" @@ -3081,3 +3170,62 @@ msgstr "%s: kan %s niet herstellen: %s (uw aanpassingen staan in %s)\n" #, c-format msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: tcb-map van %s vinden is mislukt\n" + +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: kan gebruiker '%s' niet veranderen op NIS-client.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' is de NIS-master voor deze client.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: groep '%s' is een NIS-groep\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s is de NIS-master\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: groep %s is een NIS-groep\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: groep '%s' is een NIS-groep.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: gebruiker %s is een NIS-gebruiker\n" + +#, c-format +#~ msgid "%s: Not enough arguments to form %u mappings\n" +#~ msgstr "%s: Onvoldoende argumenten om %u-toewijzingen te vormen\n" + +#~ msgid "too simple" +#~ msgstr "te simpel" + +#, c-format +#~ msgid "Unable to obtain random bytes.\n" +#~ msgstr "Kan geen willekeurige bytes verkrijgen.\n" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Er is geen utmp-item. U dient \"login\" uit te voeren vanaf het laagste " +#~ "niveau \"sh\"" + +#, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: Kon proc-map voor doel %u niet openen\n" + +#, c-format +#~ msgid "" +#~ "%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +#~ "%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" +#~ msgstr "" +#~ "%s: Doel %u is van een andere gebruiker: uid:%lu pw_uid:%lu st_uid:%lu, " +#~ "gid:%lu pw_gid:%lu st_gid:%lu\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "geheugen toekennen is mislukt" diff --git a/po/nn.gmo b/po/nn.gmo index 6d78b83c234859a8de1390368f84b919d4d60394..2b8c788fb98e52ed903a6ba826b5fdb83d754b8d 100644 GIT binary patch delta 3115 zcmY+_eN5F=9LMo5w`&1%l~C|mexM+UntJoG5QGGuQbWp3J2g%I0AccAZCPO z_tTLktHeaCMTYQgE0w-9_;@ew$1FVJJdbJIcViz6a_Nu#a3bblIxfeNxC1lsFsh#p z)I>Tl2LlW?7;|wX<6AKmkA_-Q$1OM)kGS?O)QUpMu?HvM5bo!r23mt2HX~oP6PSme zVhY|uO(4YTJj}*iEWs?sw=Go0;2|~OIrOj#HRBMyXkwF56Pbq|Zoom(RrbsDZvfb=ZZYF@;&sr{$q0RLZ3ZS7I2u z(Zh^XGybfQO9ED)_Phr5{5s6Q`c(3-j^3j|hwKz8g&nB&OU~=a_F0cJi36b(4ndvM z0@UH1gJj!Qp}xNjdtoCg6D_Efe}LM$PtwT0X7&RO6Y)Cg6c6E|Lls6%Y!QyaD%68b zs1Dn37@k9Qd=1s#pGa30$Hr?x15v5ZLG@dN>TiWlMFTgZw&D!xik#(qnUqb!h97koc9d#HxP+RpCrs(~@N=2vt25KUM zyx7W$QK_y$t)LF`aUb$$Uvtsc{fgr-GsA2=mLV^U?M7|Eo2WB#29<#;s0qh&8Nm3K zOJy+@p;mmzc^;Ljo9JN*8>l@DJC~r|k{wurt*C)7qcYKjB*}ujDjIkMdbkj^;Em|3 z;UE>xg|(w5@GWYul}Ak=4fQ}6wUTA10k-34Y(+hH8cCvcq9&5SLmm!8ZPg4^zl)JI zS#37?*8uxy(1XX(!waa?cA*|jCyyF7GV!zfg54MEs4r&FJ{&_>fEsuK>iNyi-5BKl0BXVq zQ4{+RNvfU01pEbc)^7S#G;k()REK$}FI1x*s6`Fj>OMb-WY@k!9m;=Dr#zJnR%$a* zE1!z$w*)<`L1mx;ORxroxnJKuJGguKdj5!nsv zMr~y(2SR&131?vi>iKtE`^U&ae7i!0Y+HbLNGr=lWugq#aUFX2n)4*;dzVlv`Wt(r zcYo};F{qT6A|F{bMl*sN>x;tAJQ>@3BniH*b>VltsEr1-JDqxK@9{YoJ2A++}@D~LtJUZRlLMBG_) zR)WM%Vm?txsN@lSh)KGk=yyQnL1HuVlHvJ zjHj}c(5tDko7fet@t@DR1*?f#;#J~tVgqp(v6fJYcu8mDBDX@b1FzR7r$y?L%L9>X XDes0NZ+Y(rB9$W=0+IOai;4dM{Sy;P delta 3288 zcmY+_drZ}39LMnoM8$*PQ2`Z1en@yhi9qqLC}|3%q2QGaF;8$LfesgipyMskv~rPV zPVHj;;To2mveMb+thuGOHFZum*)+Dw<-BfonXUKdoQJKRo$v4U{BFyo3LveZ=6NM=_3^TA4i*XWuff;xk2VhdPF{zk?197R{ z_aT><-RQ!D7-@{(9HG*O17BfZJcEPq3Z~(G>!288;@Qtder6GySoB~vHeoWh<70Rp zhvGd{J8^WP0ZqmcSd0nuZ(6A6hCS%uNmRofSb+CYnVIGeoi9N>VKXM+2bhQ_P#s=I z2meBDHHkdcR2+r<(2E*KGdlEdc2OCH$511^fuk{!tF@nl4wj%s-i#XHA=ChlqXu*d z9sCoO!G!+C@H1oCsGT{e2dzR4xDEY;`ILs8r6i z$Cq1u$n=_4>u%H&9zqtE`2jU`7m(R7cTm@du~NIEdjR=YD&jeyC(lOB;Y`%P$}t;# z$j=;NqeXTSHLzq1s!IjKOS2JsF!~YC#9LqMqn5DuZ7mV=-r~KcnvZ+ZxY~+Rs7<{Y$B6PMa_n51{6# z0~v#PfJ$LBkEH>o;}9%Bo%f=y-)Q&uAU|`IP4IzGnYo3^n48A5b_OH&`%NAdt^N|^ zXIj~4u0BS+1z+OfFcynFzJuN~IKCgt@hleN7HW{6qSZJTHCKyKsq~^6YDT>UZKweqM;^xfg1W97D^{6^$6U-rPMK=V#+~>$p2jEe z9`a(DR7N+P{>^wQS}digOtc_BbC``rehwF6C-M+x67!`DEVFJ!l4FjcgBOsWd0-vL zE1|b(3eLv)r~$l(es$1JMRWQ+Y5<++pqqT@$+J-VOOSPB8c_piL(Tmu)OD9p1Nq19 zCvs2^mWS$R1*YRV)cpsCk$*kWPaM#Q?xKU;S)xk)FjNOqQ5h*hbgUE|v z0;r7qXwUy@eTXR>@4@3n;|Ns8<52f6v#$12iQqsJYQ);t$o3<%V2)rfyntGK*H9h1 zm?t%uhB}{*y1oe2@j82cFEShETht=$#NPM_m07=wR`mgKPz`6Ig9WGzRN`!W8#TbI zsEqu9dXhLMQXQtD+L?`dix#2UtFUge9zeZ4-ypN)H9ip16{``jO1NR)%zbyMJb2z*p=>9z2+fO1 zZ$cxTq8*AuFos~ZUdOKT3KgYXMeRisq&8T#uziDgjff#Mg({jt5^nr0Y_xF36Y~il zv4~JAyUKDZ&l1YQYGMhY*D05HhIpFjNxVcnM{FciCWZLlc0GFwiN(YMjdur??u6!O z1EJCw!n|o+hfTKbLcOB%h*`u6LgfXbAXwvH5_j6V&^JJ9X)=*Vyh^Bq2lGWGpV&r3 z5?bwDWf>KHSY~t`z_COhyFVIhY<;O!AF?NH-Hj2%TteRoFY!F_GBKUlr1{!PloDE< zIfRE$d5b6_o+46+NE#g9A1Tl`NC(?u|m-cs6*XEy_JO(8FCE?g|~OujPjPexF6hczn7lqoTT@ewC*#a3{GvJfYlIUsK~z pE1dOsgBOI31>POHEj-bl@m5x@_He!`*w0E|ePx+15Sw<*^)F(>Mo0hv diff --git a/po/nn.po b/po/nn.po index 645b551d..f7e83fd9 100644 --- a/po/nn.po +++ b/po/nn.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2004-06-03 21:41+0200\n" "Last-Translator: Håvard Korsvoll \n" "Language-Team: Norwegian (Nynorsk) \n" @@ -17,220 +17,6 @@ msgstr "" "X-Generator: KBabel 1.3.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "Klarte ikkje finna plass for oppsettsinformasjon.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "oppsettsfeil - ukjent element «%s» (gje melding til administrator)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Passord: " - -#, c-format -msgid "%s's Password: " -msgstr "%s sitt passord: " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "Klarer ikkje opna passordfila.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Klarte ikkje finna plass for oppsettsinformasjon.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Endrar aldringsformasjonen for %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: Klarer ikkje avgjere brukarnamnet ditt.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: linje %d: klarer ikkje finne brukar %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: tomt for minne\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: klarer ikkje oppdatere fila %s\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: ugyldig heimemappe «%s»\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: klarte ikkje endra namn på mappa %s til %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: kan ikkje oppretta mappa %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: åtvaring: kan ikkje fjerna " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: åtvaring: kan ikkje fjerna " - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: gje nytt namn: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: klarte ikkje endra namn på mappa %s til %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: klarte ikkje endra namn på mappa %s til %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: åtvaring: kan ikkje fjerna " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: kan ikkje oppretta mappa %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: åtvaring: kan ikkje fjerna " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: klarer ikkje oppdatere fila %s\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: klarer ikkje oppdatere skuggepassordfil\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: gje nytt namn: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: klarer ikkje opna fila %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Åtvaring: ukjent gruppe %s\n" @@ -277,6 +63,11 @@ msgstr "Klarer ikkje skifta tty %s" msgid "%s: failed to unlock %s\n" msgstr "%s: felta er for lange\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "passwd: %s\n" @@ -284,6 +75,10 @@ msgstr "passwd: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "Miljø overflyt\n" @@ -380,9 +175,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: klarer ikkje få unikt gid\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "Klarte ikkje finna plass for oppsettsinformasjon.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "oppsettsfeil - ukjent element «%s» (gje melding til administrator)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: PAM-autentisering feila\n" @@ -409,7 +211,7 @@ msgstr "Klarte ikkje finna plass for oppsettsinformasjon.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: klarer ikkje opna fil\n" #, fuzzy, c-format @@ -420,9 +222,21 @@ msgstr "%s: linje %d: chown feila\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: linje %d: chown feila\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: linje %d: chown feila\n" + msgid "Too many logins.\n" msgstr "For mange innloggingar.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s brukarnamn: " + msgid "You have new mail." msgstr "Du har ny e-post." @@ -432,6 +246,14 @@ msgstr "Ingen e-post." msgid "You have mail." msgstr "Du har e-post." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + #, fuzzy msgid "no change" msgstr "%s: ingen endringar\n" @@ -445,9 +267,6 @@ msgstr "" msgid "too similar" msgstr "" -msgid "too simple" -msgstr "" - msgid "rotated" msgstr "" @@ -494,6 +313,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() feila, feil %d\n" +msgid "Password: " +msgstr "Passord: " + +#, c-format +msgid "%s's Password: " +msgstr "%s sitt passord: " + #, fuzzy, c-format msgid "Incorrect password for %s.\n" msgstr "Feil passord for «%s»\n" @@ -518,17 +344,13 @@ msgstr "%s: ugyldig telefonnummer, heime: «%s»\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: kan ikkje oppretta mappa %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: kan ikkje oppretta mappa %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: kan ikkje oppretta mappa %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: kan ikkje oppretta mappa %s\n" #, c-format msgid "" @@ -543,6 +365,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "Klarer ikkje opna passordfila.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Klarte ikkje finna plass for oppsettsinformasjon.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Klarte ikkje finna plass for oppsettsinformasjon.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Endrar aldringsformasjonen for %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: Klarer ikkje avgjere brukarnamnet ditt.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: linje %d: klarer ikkje finne brukar %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, fuzzy, c-format msgid "Unable to cd to '%s'\n" msgstr "Klarer ikkje cd til «%s»\n" @@ -554,6 +477,10 @@ msgstr "Inga mappe, loggar inn med HOME=/" msgid "Cannot execute %s" msgstr "Klarer ikkje køyra %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, fuzzy, c-format msgid "Invalid root directory '%s'\n" msgstr "Ugyldig rotmappe «%s»\n" @@ -562,6 +489,84 @@ msgstr "Ugyldig rotmappe «%s»\n" msgid "Can't change root directory to '%s'\n" msgstr "Klarer ikkje endra rotmappe til «%s»\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: tomt for minne\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: klarer ikkje oppdatere fila %s\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: ugyldig heimemappe «%s»\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: klarte ikkje endra namn på mappa %s til %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: kan ikkje oppretta mappa %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: åtvaring: kan ikkje fjerna " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: åtvaring: kan ikkje fjerna " + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: gje nytt namn: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: klarte ikkje endra namn på mappa %s til %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: klarte ikkje endra namn på mappa %s til %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: åtvaring: kan ikkje fjerna " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: kan ikkje oppretta mappa %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: åtvaring: kan ikkje fjerna " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: klarer ikkje oppdatere fila %s\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: klarer ikkje oppdatere skuggepassordfil\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: gje nytt namn: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: klarer ikkje opna fila %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: brukaren %s er pålogga\n" @@ -622,6 +627,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -647,14 +655,17 @@ msgstr "Passord inaktivt" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Dato for når kontoen utgår (ÅÅÅÅ-MM-DD)" -#, fuzzy -msgid "Last password change\t\t\t\t\t: " -msgstr "Førre passordendring (ÅÅÅÅ-MM-DD)" - #, fuzzy msgid "never" msgstr "Aldri" +msgid "future" +msgstr "" + +#, fuzzy +msgid "Last password change\t\t\t\t\t: " +msgstr "Førre passordendring (ÅÅÅÅ-MM-DD)" + msgid "password must be changed" msgstr "Passord er endra" @@ -825,14 +836,6 @@ msgstr "%s: «%s» inneheld ulovlege teikn\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: brukar %s finst ikkje\n" -#, fuzzy, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: klarer ikkje endra brukar «%s» på NIS-klient.\n" - -#, fuzzy, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: «%s» er NIS-hovud for denne klienten.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Endrar brukarinformasjon for %s\n" @@ -861,6 +864,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: ta ikkje med «l» med andre flagg\n" @@ -911,6 +918,15 @@ msgstr "" msgid "Login Shell" msgstr "Innloggingskal" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: klarte ikkje endra namn på mappa %s til %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: klarer ikkje opprette fil for standardverdiar\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Du treng ikkje endra skal for %s.\n" @@ -923,6 +939,10 @@ msgstr "Endra innloggingskal for %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Ugyldig inntasting: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s er eit ugyldig skal.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s er eit ugyldig skal.\n" @@ -1133,9 +1153,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1148,6 +1165,10 @@ msgstr "ugyldig brukarnamn «%s»\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: %s er ikkje eit gyldig gruppenamn\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: klarer ikkje opna fila %s\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "ugyldig gruppenamn «%s»\n" @@ -1190,14 +1211,6 @@ msgstr "%s: klarer ikkje endra brukar «%s» på NIS-klient.\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: gruppe %s eksisterer ikkje\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: gruppe «%s» er ei NIS-gruppe.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s er NIS-hovudet\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: brukar %s er ikkje ein NIS brukar\n" @@ -1273,10 +1286,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "ugyldig gruppenamn «%s»\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: gruppe %s er ei NIS-gruppe\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: ukjend brukar %s\n" @@ -1391,7 +1400,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1485,9 +1494,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" - #, fuzzy, c-format msgid "" "\n" @@ -1526,14 +1532,6 @@ msgstr "Feil innlogging" msgid "Cannot find user (%s)\n" msgstr "%s: linje %d: klarer ikkje finne brukar %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s brukarnamn: " - #, c-format msgid "%s: failure forking: %s" msgstr "" @@ -1568,7 +1566,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1593,17 +1592,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: felta er for lange\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: ugyldig startmappe «%s»\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: kan ikkje oppretta mappa %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1637,14 +1632,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: kan ikkje oppretta mappa %s\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1665,6 +1659,10 @@ msgstr "%s: ugyldig brukarnamn «%s»\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: ugyldig brukarnamn «%s»\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: linje %d: ugyldig linje\n" @@ -1685,6 +1683,10 @@ msgstr "%s: linje %d: klarer ikkje laga GID\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: brukar %s finst ikkje\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: gje nytt namn: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: linje %d: klarer ikkje oppdatere passord\n" @@ -1705,14 +1707,14 @@ msgstr "%s: linje %d: chown feila\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: linje %d: kan ikkje oppdatere oppføring\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: linje %d: kan ikkje oppdatere oppføring\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: kan ikkje oppretta %s\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: linje %d: kan ikkje oppdatere oppføring\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: klarer ikkje oppdatere gruppefil\n" @@ -1771,6 +1773,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "Gamalt passord:" @@ -1790,6 +1795,11 @@ msgstr "" "Skriv inn det nye passordet (minimum %d, maksimum %d teikn)\n" "Bruk ein kombinasjon av store og små bokstavar og tal.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: felta er for lange\n" + msgid "New password: " msgstr "Nytt passord: " @@ -1830,6 +1840,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: arkiv %s er ikkje støtta\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1973,11 +1987,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2038,6 +2050,11 @@ msgstr "Du er ikkje autorisert til su %s\n" msgid "No passwd entry for user '%s'\n" msgstr "Inga passordoppføring for «root»" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "ugyldig brukarnamn «%s»\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: må køyrast frå ein terminal\n" @@ -2083,6 +2100,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2113,10 +2136,6 @@ msgstr "%s: kan ikkje oppretta mappa %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: gje nytt namn: %s" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: gruppe «%s» er ei NIS-gruppe.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: for mange grupper spesifisert (maks %d).\n" @@ -2226,6 +2245,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, fuzzy, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: ugyldig startmappe «%s»\n" @@ -2355,6 +2379,12 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "" +msgid "Synchronize mailbox file" +msgstr "" + +msgid "Closing mailbox file" +msgstr "" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2469,10 +2499,6 @@ msgstr "%s: klarte ikkje endra namn på mappa %s til %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: klarte ikkje endra namn på mappa %s til %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: brukar %s er ikkje ein NIS brukar\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: ugyldig heimemappe «%s»\n" @@ -2572,6 +2598,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2654,10 +2684,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: klarer ikkje oppdatere passordfil\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: kan ikkje oppretta mappa %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: åtvaring: %s er ikkje eigd av %s\n" @@ -2762,8 +2800,9 @@ msgid "failed to stat edited file" msgstr "klarte ikkje endra namn på mailbox" #, fuzzy -msgid "failed to allocate memory" -msgstr "klarte ikke å endra eigar av mailbox" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: klarer ikkje opna fil\n" #, fuzzy msgid "failed to create backup file" @@ -2777,6 +2816,42 @@ msgstr "%s: klarer ikkje gjenoppretta %s: %s (endringane dine er i %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: ugyldig startmappe «%s»\n" +#, fuzzy, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: klarer ikkje endra brukar «%s» på NIS-klient.\n" + +#, fuzzy, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: «%s» er NIS-hovud for denne klienten.\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: gruppe «%s» er ei NIS-gruppe.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s er NIS-hovudet\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: gruppe %s er ei NIS-gruppe\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: gruppe «%s» er ei NIS-gruppe.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: brukar %s er ikkje ein NIS brukar\n" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: ugyldig startmappe «%s»\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "klarte ikke å endra eigar av mailbox" + #~ msgid "Usage: id\n" #~ msgstr "Bruk: id\n" @@ -2792,10 +2867,6 @@ msgstr "%s: ugyldig startmappe «%s»\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Åtvaring for utgått passord" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "ugyldig brukarnamn «%s»\n" - #~ msgid "Username Port From Latest" #~ msgstr "Brukarnamn Port Frå Siste" diff --git a/po/pl.gmo b/po/pl.gmo index 7f40c5838b59681620b5c7417b8345e489c2f1be..40f24251309dc1722cc9fe1f2fb71f6cd14133a5 100644 GIT binary patch delta 4389 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 diff --git a/po/pl.po b/po/pl.po index 229ea86e..1c36ea64 100644 --- a/po/pl.po +++ b/po/pl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2007-11-25 20:53+0100\n" "Last-Translator: Tomasz Kłoczko \n" "Language-Team: Polish \n" @@ -19,221 +19,6 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "Nie można przydzielić miejsca dla informacji o konfiguracji.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"błąd w konfiguracji - nieznana pozycja '%s' (powiadom administratora)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Hasło: " - -#, c-format -msgid "%s's Password: " -msgstr "Hasło użytkownika %s: " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "Nie można otworzyć pliku z hasłami.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Nie można przydzielić miejsca dla informacji o konfiguracji.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Zmieniam informację o użytkowniku %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: Nie można ustalić twojej nazwy użytkownika.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: linia %d: nie można znaleźć użytkownika %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: brak pamięci\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: nie można zaktualizować pliku %s\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: nieprawidłowy katalog domowy '%s'\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: nie można utworzyć katalogu %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: ostrzeżenie: nie można usunąć " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: ostrzeżenie: nie można usunąć " - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: zmiana nazwy: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: ostrzeżenie: nie można usunąć " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: nie można utworzyć katalogu %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: ostrzeżenie: nie można usunąć " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: nie można zaktualizować pliku %s\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: nie można zaktualizować pliku z ukrytymi hasłami\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: zmiana nazwy: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: nie można otworzyć pliku %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Ostrzeżenie: nieznana grupa %s\n" @@ -280,6 +65,11 @@ msgstr "Nie można zmienić tty %s" msgid "%s: failed to unlock %s\n" msgstr "%s: pola zbyt długie\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -287,6 +77,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "Przepełnienie środowiska\n" @@ -390,9 +184,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: nie można uzyskać niepowtarzalnego UID\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "Nie można przydzielić miejsca dla informacji o konfiguracji.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"błąd w konfiguracji - nieznana pozycja '%s' (powiadom administratora)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: błąd podczas uwierzytelniania przez PAM\n" @@ -420,7 +222,7 @@ msgstr "Nie można przydzielić miejsca dla informacji o konfiguracji.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: nie można otworzyć pliku\n" #, fuzzy, c-format @@ -431,9 +233,21 @@ msgstr "%s: linia %d: chown nie powiodło się\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: linia %d: chown nie powiodło się\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: linia %d: chown nie powiodło się\n" + msgid "Too many logins.\n" msgstr "Zbyt wiele otwartych sesji.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login: " + msgid "You have new mail." msgstr "Masz nową pocztę." @@ -443,6 +257,14 @@ msgstr "Nie masz poczty." msgid "You have mail." msgstr "Masz pocztę." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "bez zmian" @@ -455,9 +277,6 @@ msgstr "zmieniona tylko wielkości liter" msgid "too similar" msgstr "zbyt podobne" -msgid "too simple" -msgstr "za proste" - msgid "rotated" msgstr "rotacja" @@ -504,6 +323,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() nie powiodło się, błąd %d\n" +msgid "Password: " +msgstr "Hasło: " + +#, c-format +msgid "%s's Password: " +msgstr "Hasło użytkownika %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Nieprawidłowe hasło %s.\n" @@ -528,17 +354,13 @@ msgstr "%s: nieprawidłowy numer telefonu domowego: '%s'\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: nie można utworzyć katalogu %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: nie można utworzyć katalogu %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: nie można utworzyć katalogu %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: nie można utworzyć katalogu %s\n" #, c-format msgid "" @@ -553,6 +375,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "Nie można otworzyć pliku z hasłami.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Nie można przydzielić miejsca dla informacji o konfiguracji.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Nie można przydzielić miejsca dla informacji o konfiguracji.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Zmieniam informację o użytkowniku %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: Nie można ustalić twojej nazwy użytkownika.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: linia %d: nie można znaleźć użytkownika %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Nie można zmienić katalogu na '%s'\n" @@ -564,6 +487,10 @@ msgstr "Brak katalogu, loguję z HOME=/" msgid "Cannot execute %s" msgstr "Nie można uruchomić %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Nieprawidłowy katalog główny '%s'\n" @@ -572,6 +499,84 @@ msgstr "Nieprawidłowy katalog główny '%s'\n" msgid "Can't change root directory to '%s'\n" msgstr "Nie można zmienić głównego katalogu na '%s'\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: brak pamięci\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: nie można zaktualizować pliku %s\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: nieprawidłowy katalog domowy '%s'\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: nie można utworzyć katalogu %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: ostrzeżenie: nie można usunąć " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: ostrzeżenie: nie można usunąć " + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: zmiana nazwy: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: ostrzeżenie: nie można usunąć " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: nie można utworzyć katalogu %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: ostrzeżenie: nie można usunąć " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: nie można zaktualizować pliku %s\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: nie można zaktualizować pliku z ukrytymi hasłami\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: zmiana nazwy: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: nie można otworzyć pliku %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: użytkownik %s jest aktualnie zalogowany\n" @@ -631,6 +636,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -656,12 +664,15 @@ msgstr "Hasło nieaktywne" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Data utraty ważności konta (RRRR-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Ostatnia zmiana hasła\t\t\t\t\t: " - msgid "never" msgstr "nigdy" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Ostatnia zmiana hasła\t\t\t\t\t: " + msgid "password must be changed" msgstr "Hasło musi zostać zmienione" @@ -829,14 +840,6 @@ msgstr "%s: '%s' zawiera nieprawidłowe znaki\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: użytkownik %s nie istnieje\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: nie można zmienić użytkownika '%s' na kliencie NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' jest nadrzędnym serwerem NIS dla tego klienta.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Zmieniam informację o użytkowniku %s\n" @@ -865,6 +868,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: opcja -a można użyć TYLKO z pcją -G\n" @@ -915,6 +922,15 @@ msgstr "" msgid "Login Shell" msgstr "Powłoka logowania" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: nie można utworzyć nowego pliku z ustawieniami domyślnymi\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Nie możesz zmieniać powłoki dla %s.\n" @@ -927,6 +943,10 @@ msgstr "Zmieniam powłokę logowania dla %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Nieprawidłowy wpis: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s jest nieprawidłową powłoką.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s jest nieprawidłową powłoką.\n" @@ -1137,9 +1157,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1152,6 +1169,10 @@ msgstr "nieprawidłowa nazwa użytkownika '%s'\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: %s: nie jest prawidłową nazwą grupy\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: nie można otworzyć pliku %s\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "nieprawidłowa nazwa grupy '%s'\n" @@ -1194,14 +1215,6 @@ msgstr "%s: nie można zmienić użytkownika '%s' na kliencie NIS.\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: grupa %s nie istnieje\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: grupa '%s' jest grupą NIS.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s jest głównym serwerem NIS\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: użytkownik %s jest użytkownikiem NIS\n" @@ -1277,10 +1290,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "nieprawidłowa nazwa grupy '%s'\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: grupa %s jest grupą NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: nieznany użytkownik %s\n" @@ -1397,7 +1406,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1491,10 +1500,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Brak wpisu w utmp. Musisz wykonać \"login\" z najniższego poziomu \"sh\"" - #, fuzzy, c-format msgid "" "\n" @@ -1528,14 +1533,6 @@ msgstr "Nieprawidłowe logowanie" msgid "Cannot find user (%s)\n" msgstr "%s: linia %d: nie można znaleźć użytkownika %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s login: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: failure forking: %s" @@ -1572,7 +1569,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1597,17 +1595,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: pola zbyt długie\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: nieprawidłowy katalog bazowy '%s'\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: nie można utworzyć katalogu %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1641,14 +1635,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: nie można utworzyć katalogu %s\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1669,6 +1662,10 @@ msgstr "%s: nieprawidłowa nazwa użytkownika '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nieprawidłowa nazwa użytkownika '%s'\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: linia %d: nieprawidłowa linia\n" @@ -1689,6 +1686,10 @@ msgstr "%s: linia %d: nie można utworzyć GID\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: użytkownik %s nie istnieje\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: zmiana nazwy: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: linia %d: nie można zaktualizować pliku z hasłami\n" @@ -1709,14 +1710,14 @@ msgstr "%s: linia %d: chown nie powiodło się\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: linia %d: nie można zaktualizować wpisu\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: niepowiodło się porzucenie uprawnień (%s)\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: nie można utworzyć %s\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: niepowiodło się porzucenie uprawnień (%s)\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: nie można zaktualizować pliku z grupami\n" @@ -1775,6 +1776,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "Stare hasło: " @@ -1794,6 +1798,11 @@ msgstr "" "Wpisz nowe hasło (minimum %d, maksimum %d znaków)\n" "Proszę użyj kombinacji wielkich i małych znaków oraz cyfr.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: pola zbyt długie\n" + msgid "New password: " msgstr "Nowe hasło: " @@ -1834,6 +1843,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: repozytorium %s nie jest obsługiwane\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1977,11 +1990,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2066,6 +2077,11 @@ msgstr "Nie masz autoryzacji by używać su %s\n" msgid "No passwd entry for user '%s'\n" msgstr "Brak wpisu do bazy haseł dla 'root'" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "nieprawidłowa nazwa użytkownika '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: musisz uruchamiać z terminala\n" @@ -2111,6 +2127,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2141,10 +2163,6 @@ msgstr "%s: nie można utworzyć katalogu %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: zmiana nazwy: %s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: grupa '%s' jest grupą NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: podano zbyt wiele grup (maks %d).\n" @@ -2254,6 +2272,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: nieprawidłowy katalog bazowy '%s'\n" @@ -2385,6 +2408,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Ustawianie praw dostępu do pliku mailbox" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Tworzenie pliku mailbox" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Tworzenie pliku mailbox" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2505,10 +2538,6 @@ msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: nie można zmienić nazwy katalogu z %s na %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: użytkownik %s jest użytkownikiem NIS\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: nieprawidłowy katalog domowy '%s'\n" @@ -2608,6 +2637,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2691,10 +2724,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: nie można zaktualizować pliku z hasłami\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: nie można utworzyć katalogu %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: ostrzeżenie: właścicielem %s nie jest %s\n" @@ -2800,8 +2841,9 @@ msgid "failed to stat edited file" msgstr "zmiana nazwy skrzynki pocztowej nie powiodła się" #, fuzzy -msgid "failed to allocate memory" -msgstr "zmiana właściciela skrzynki pocztowej nie powiodła się" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: nie można otworzyć pliku\n" #, fuzzy msgid "failed to create backup file" @@ -2815,6 +2857,49 @@ msgstr "%s: nie można odzyskać %s: %s (twoje zmiany są w %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: nieprawidłowy katalog bazowy '%s'\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: nie można zmienić użytkownika '%s' na kliencie NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' jest nadrzędnym serwerem NIS dla tego klienta.\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: grupa '%s' jest grupą NIS.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s jest głównym serwerem NIS\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: grupa %s jest grupą NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: grupa '%s' jest grupą NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: użytkownik %s jest użytkownikiem NIS\n" + +#~ msgid "too simple" +#~ msgstr "za proste" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Brak wpisu w utmp. Musisz wykonać \"login\" z najniższego poziomu \"sh\"" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: nieprawidłowy katalog bazowy '%s'\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "zmiana właściciela skrzynki pocztowej nie powiodła się" + #~ msgid "Usage: id\n" #~ msgstr "Użycie: id\n" @@ -2830,10 +2915,6 @@ msgstr "%s: nieprawidłowy katalog bazowy '%s'\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Ostrzeżenie o utracie ważności hasła" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "nieprawidłowa nazwa użytkownika '%s'\n" - #~ msgid "Username Port From Latest" #~ msgstr "Użytkownik Port Z Ostatnio" diff --git a/po/pt.gmo b/po/pt.gmo index e8be4c76467f4bd3d7011268a2483cd746fbc0fd..9fdd73cfede8d2bb9cced6752dd28be6d80ce256 100644 GIT binary patch delta 11592 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 D{}8he delta 12340 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 S$~H@9)^\n" "Language-Team: Portuguese \n" @@ -17,230 +17,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.2\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Existem várias entradas chamadas '%s' em %s. Por favor corrija isto com pwck " -"ou grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "método de encriptação não suportado por libcrypt? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" -"erro de configuração - não foi possível interpretar o valor de %s: '%s'" - -msgid "Could not allocate space for config info.\n" -msgstr "Não foi possível alocar o espaço para a informação de configuração.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"erro de configuração - item '%s' desconhecido (notifique o administrador)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscp não terminou normalmente (sinal %d)\n" - -#, fuzzy, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: nscd saiu com o estado %d" - -msgid "Password: " -msgstr "Palavra-passe: " - -#, c-format -msgid "%s's Password: " -msgstr "Palavra-passe de %s: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "Não é possível abrir o interface de auditoria - a abortar.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "Não foi possível criar handle de gestão SELinux\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "Política SELinux não gerida\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "Não foi possível ler armazenamento de políticas SELinux\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "Não foi possível establecer ligação de gestão SELinux\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "Não foi possível iniciar transacção SELinux\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "Não foi possível consultar seuser para %s\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "Não pode definir serange para %s\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "Não foi possível definir sename para %s\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "Não foi possível modificar o mapeamento do login para %s\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Não foi possível criar mapeamento de login SELinux para %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "Não foi possível definir nome para %s\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "Não foi possível definir utilizador SELinux para %s\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "Não foi possível acrescentar mapeamento de login para %s\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "Não foi possível inicia a gestão do SELinux\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "Não pode criar a chave de utilizador SELinux\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "Não foi possível verificar o utilizador SELinux\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "Não foi possível alterar o mapeamento de utilizador SELinux\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "Não foi possível acrescentar o mapeamento de utilizador SELinux\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "Não foi possível o 'commit' à transacção SELinux\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"Não está definido o mapeamento de login para %s, OK se foi utilizado o " -"mapeamento predefinido\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" -"O mapeamento de login para %s é definido na política, não pode ser apagado\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "Não foi possível apagar o mapeamento do login para %s" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: memória esgotada\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: não é possível fazer stat a %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s não é nem um directório, nem um symlink.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: não é possível ler o link simbólico %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: link simbólico longo suspeito: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: não é possível criar o directório %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: Não pode alterar o dono de %s: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: Não é possível alterar o modo de %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: unlink: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: Não é possível remover o directório %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: Não é possível renomear %s para %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: Não é possível remover %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: Não é possível criar link simbólico %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: Não conseguiu alterar os donos de %s: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: Não é possível lstat %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: Aviso, o utilizador '%s' não tem ficheiro shadow tcb.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: Emergência: o ficheiro shadow tcb de %s não é um ficheiro normal com " -"st_nlink=1.\n" -"A conta é mantida bloqueada.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: não é possível abrir %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Aviso: grupo desconhecido %s\n" @@ -287,6 +63,13 @@ msgstr "Foi impossível mudar o dono ou o modo do tty stdin: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: falha ao desbloquear %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Existem várias entradas chamadas '%s' em %s. Por favor corrija isto com pwck " +"ou grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -294,6 +77,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "método de encriptação não suportado por libcrypt? (%s)\n" + msgid "Environment overflow\n" msgstr "Overflow do ambiente\n" @@ -420,8 +207,17 @@ msgstr "" "%s: Não foi possível obter um UID único (não existem mais UIDs disponíveis)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +"erro de configuração - não foi possível interpretar o valor de %s: '%s'" + +msgid "Could not allocate space for config info.\n" +msgstr "Não foi possível alocar o espaço para a informação de configuração.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"erro de configuração - item '%s' desconhecido (notifique o administrador)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -451,9 +247,10 @@ msgstr "Não foi possível definir nome para %s\n" msgid "%s: Could not set caps\n" msgstr "Não foi possível definir nome para %s\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: stpeprintf failed!\n" +msgstr "%s: linha %d: chown %s falhou: %s\n" #, fuzzy, c-format #| msgid "%s: line %d: chown %s failed: %s\n" @@ -465,9 +262,22 @@ msgstr "%s: linha %d: chown %s falhou: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: linha %d: chown %s falhou: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: linha %d: chown %s falhou: %s\n" + msgid "Too many logins.\n" msgstr "Demasiados logins.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login: " + msgid "You have new mail." msgstr "Tem novo correio." @@ -477,6 +287,14 @@ msgstr "Não tem correio." msgid "You have mail." msgstr "Tem correio." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscp não terminou normalmente (sinal %d)\n" + +#, fuzzy, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: nscd saiu com o estado %d" + msgid "no change" msgstr "sem alterações" @@ -489,9 +307,6 @@ msgstr "apenas alteração de maiúsculas/minúsculas" msgid "too similar" msgstr "demasiado parecido" -msgid "too simple" -msgstr "demasiado simples" - msgid "rotated" msgstr "rodado" @@ -537,6 +352,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() falhou, erro %d\n" +msgid "Password: " +msgstr "Palavra-passe: " + +#, c-format +msgid "%s's Password: " +msgstr "Palavra-passe de %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Palavra-passe incorrecta para %s.\n" @@ -562,17 +384,13 @@ msgstr "%s: caminho de chroot inválido: '%s'\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: não pode aceder ao directório chroot %s: %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: não pode aceder ao directório chroot %s: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: não foi possível fazer chroot para o directório %s: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: não pode aceder ao directório chroot %s: %s\n" #, c-format msgid "" @@ -589,6 +407,111 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "Não é possível abrir o interface de auditoria - a abortar.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "Não foi possível criar handle de gestão SELinux\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "Política SELinux não gerida\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "Não foi possível ler armazenamento de políticas SELinux\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "Não foi possível establecer ligação de gestão SELinux\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "Não foi possível iniciar transacção SELinux\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "Não foi possível consultar seuser para %s\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "Não pode definir serange para %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "Não foi possível definir sename para %s\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "Não foi possível modificar o mapeamento do login para %s\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Não foi possível criar mapeamento de login SELinux para %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "Não foi possível definir nome para %s\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "Não foi possível definir utilizador SELinux para %s\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "Não foi possível acrescentar mapeamento de login para %s\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "Não foi possível inicia a gestão do SELinux\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "Não pode criar a chave de utilizador SELinux\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "Não foi possível verificar o utilizador SELinux\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "Não foi possível alterar o mapeamento de utilizador SELinux\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "Não foi possível acrescentar o mapeamento de utilizador SELinux\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "Não foi possível o 'commit' à transacção SELinux\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"Não está definido o mapeamento de login para %s, OK se foi utilizado o " +"mapeamento predefinido\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" +"O mapeamento de login para %s é definido na política, não pode ser apagado\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "Não foi possível apagar o mapeamento do login para %s" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Não foi possível mudar para o directório '%s'\n" @@ -600,6 +523,10 @@ msgstr "Directório não encontrado, a entrar para HOME=/" msgid "Cannot execute %s" msgstr "Não foi possível executar %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Directório raiz inválido '%s'\n" @@ -608,6 +535,87 @@ msgstr "Directório raiz inválido '%s'\n" msgid "Can't change root directory to '%s'\n" msgstr "Não é possível mudar o directório raiz para '%s'\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: memória esgotada\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: não é possível fazer stat a %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s não é nem um directório, nem um symlink.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: não é possível ler o link simbólico %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: link simbólico longo suspeito: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: não é possível criar o directório %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: Não pode alterar o dono de %s: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: Não é possível alterar o modo de %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: unlink: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: Não é possível remover o directório %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: Não é possível renomear %s para %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: Não é possível remover %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: Não é possível criar link simbólico %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: Não conseguiu alterar os donos de %s: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: Não é possível lstat %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: Aviso, o utilizador '%s' não tem ficheiro shadow tcb.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: Emergência: o ficheiro shadow tcb de %s não é um ficheiro normal com " +"st_nlink=1.\n" +"A conta é mantida bloqueada.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: não é possível abrir %s: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: o utilizador %s está actualmente no sistema\n" @@ -685,6 +693,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root CHROOT_DIR\t\tdirectório para onde fazer chroot\n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -R, --root CHROOT_DIR\t\tdirectório para onde fazer chroot\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -712,12 +725,15 @@ msgstr "Palavra-passe Inactiva" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Data de Caducidade da Conta (AAAA-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Última alteração da palavra-passe\t\t\t\t\t: " - msgid "never" msgstr "nunca" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Última alteração da palavra-passe\t\t\t\t\t: " + msgid "password must be changed" msgstr "a palavra-passe tem de ser alterada" @@ -894,14 +910,6 @@ msgstr "%s: '%s' contém caracteres não permitidos.\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: o utilizador '%s' não existe\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: não é possível alterar o utilizador '%s' no cliente NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' é o mestre NIS para este cliente.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "A alterar a informação de utilizador de %s\n" @@ -943,6 +951,11 @@ msgstr "" " -s, --sha-rounds número de iterações SHA para algoritmos\n" " de encriptação SHA*\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: método de encriptação não suportado: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: a flag %s só é permitida com a flag %s\n" @@ -995,6 +1008,17 @@ msgstr "" msgid "Login Shell" msgstr "Shell de Login" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: Não conseguiu obter o tamanho de %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "" +"%s: não é possível criar um novo ficheiro de configurações pré-definidas\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Não pode alterar a shell para '%s'.\n" @@ -1007,6 +1031,11 @@ msgstr "A alterar a shell de entrada de %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Entrada inválida: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s é uma shell inválida\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s é uma shell inválida\n" @@ -1248,11 +1277,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system criar uma conta de sistema\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -R, --root CHROOT_DIR\t\tdirectório para onde fazer chroot\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1267,6 +1291,11 @@ msgstr "o nome de utilizador '%s' é inválido\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: '%s' não é um nome válido para o grupo\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: não é possível abrir %s: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: ID de grupo '%s' inválido\n" @@ -1310,14 +1339,6 @@ msgstr "%s: não é possível remover o grupo primário do utilizador '%s'\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: o grupo '%s' não existe.\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: o grupo '%s' é um grupo NIS\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s é o mestre NIS\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: o utilizador '%s' já é um membro de '%s'\n" @@ -1417,10 +1438,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: nome de grupo '%s' inválido\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: o grupo %s é um grupo NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: utilizador desconhecido %s\n" @@ -1548,7 +1565,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -a, --all mostrar registos do faillog para todos os " @@ -1651,11 +1668,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: Não é possível trabalhar sem root\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Sem entrada utmp. Tem de executar \"login\" a partir do \"sh\" de nível " -"mais baixo" - #, c-format msgid "" "\n" @@ -1689,14 +1701,6 @@ msgstr "Login incorrecto" msgid "Cannot find user (%s)\n" msgstr "Não pode encontrar utilizador (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s login: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: falha ao bifurcar: %s" @@ -1732,7 +1736,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1758,20 +1763,15 @@ msgstr "%s: falhou remover %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: falha ao desbloquear %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: falhou encontrar o directório tcb para %s\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: Falhou a criação do directório tcb para %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1804,14 +1804,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: Falhou a criação do directório tcb para %s\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1834,6 +1834,10 @@ msgstr "%s: ID '%s' de utilizador inválido\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: o nome de utilizador '%s' é inválido\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: linha %d: linha inválida\n" @@ -1856,6 +1860,11 @@ msgstr "%s: linha %d: não é possível criar o grupo\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: linha %d: o utilizador '%s' não existe em %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: unlink: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: linha %d: não é possível actualizar a palavra-passe\n" @@ -1877,14 +1886,14 @@ msgstr "%s: linha %d: chown %s falhou: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: linha %d: não é possível actualizar o registo\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: falhou a preparação para a nova %s entrada '%s'\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: não é possível criar o utilizador\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: falhou a preparação para a nova %s entrada '%s'\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: não é possível criar grupo\n" @@ -1966,6 +1975,13 @@ msgstr "" " -x, --maxdays MAX_DIAS definir para MAX_DIAS o número de dias\n" " máximo antes de alterar a palavra-passe\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" +" -l, --list mostrar informação de envelhecimento da \n" +" conta\n" + msgid "Old password: " msgstr "Palavra-passe antiga: " @@ -1987,6 +2003,11 @@ msgstr "" "Por favor utilize um combinação de letras maiúsculas e minúsculas e de " "números.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: valores demasiado grandes\n" + msgid "New password: " msgstr "Nova palavra-passe: " @@ -2030,6 +2051,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: o repositório %s não é suportado\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: apenas o root pode utilizar a opção -g/--group\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2184,11 +2210,9 @@ msgstr "%s: mau funcionamento de sinal\n" msgid "Session terminated, terminating shell..." msgstr "Sessão terminada, a terminar shell..." -#, c-format msgid " ...killed.\n" msgstr " ...morto.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...á espera que o processo-filho termine.\n" @@ -2274,6 +2298,11 @@ msgstr "%s: Não está autorizado a fazer su nessa altura\n" msgid "No passwd entry for user '%s'\n" msgstr "Nenhuma palavra-passe para o utilizador '%s'\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "o nome de utilizador '%s' é inválido\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: deve ser executado a partir de um terminal\n" @@ -2319,6 +2348,13 @@ msgstr "%s: foi criado %s, mas não pode ser removido\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: a configuração %s em %s será ignorada\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: a configuração %s em %s será ignorada\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2353,10 +2389,6 @@ msgstr "%s: Não é possível criar link simbólico %s: %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: renomear: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: o grupo '%s' é um grupo NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: estão especificados demasiados grupos (max %d).\n" @@ -2496,6 +2528,17 @@ msgstr "" " -Z, --selinux-user SEUSER utilizar um SEUSER especifico para o\n" " mapeamento do utilizador de SELinux\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEUSER utilizar um SEUSER especifico para o\n" +" mapeamento do utilizador de SELinux\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: directório base inválido '%s'\n" @@ -2638,6 +2681,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "A definir as permissões do ficheiro mailbox" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Criar ficheiro mailbox" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Criar ficheiro mailbox" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2772,10 +2825,6 @@ msgstr "%s: Não pode remover o conteúdo de %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: não é possível remover os ficheiros tcb para '%s': %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: o utilizador %s é um utilizador NIS\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: o directório home %s (%s) não foi encontrado\n" @@ -2908,6 +2957,16 @@ msgstr "" " -Z, --selinux-user SEUSER\tnovo mapeamento de utilizador SELinux para a " "conta do utilizador\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUSER\tnovo mapeamento de utilizador SELinux para a " +"conta do utilizador\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -3004,12 +3063,26 @@ msgstr "" "%s: falhou copiar o registo lastlog do utilizador %lu para o utilizador %lu: " "%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: falhou copiar o registo lastlog do utilizador %lu para o utilizador %lu: " +"%s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: falhou copiar o registo faillog do utilizador %lu para o utilizador %lu: " "%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: falhou copiar o registo faillog do utilizador %lu para o utilizador %lu: " +"%s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: aviso: o %s não pertence a %s\n" @@ -3111,8 +3184,8 @@ msgstr "falhou o unlink a ficheiro 'scratch'" msgid "failed to stat edited file" msgstr "falhou fazer stat ao ficheiro editado" -msgid "failed to allocate memory" -msgstr "falhou alocar memória" +msgid "asprintf(3) failed" +msgstr "" msgid "failed to create backup file" msgstr "falhou criar ficheiro de backup" @@ -3125,6 +3198,50 @@ msgstr "%s: não é possível restaurar %s: %s (a suas alterações estão em %s msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: falhou encontrar o directório tcb para %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: não é possível alterar o utilizador '%s' no cliente NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' é o mestre NIS para este cliente.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: o grupo '%s' é um grupo NIS\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s é o mestre NIS\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: o grupo %s é um grupo NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: o grupo '%s' é um grupo NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: o utilizador %s é um utilizador NIS\n" + +#~ msgid "too simple" +#~ msgstr "demasiado simples" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Sem entrada utmp. Tem de executar \"login\" a partir do \"sh\" de nível " +#~ "mais baixo" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: falhou encontrar o directório tcb para %s\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "falhou alocar memória" + #~ msgid "Usage: id\n" #~ msgstr "Utilização: id\n" @@ -3140,10 +3257,6 @@ msgstr "%s: falhou encontrar o directório tcb para %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: informação de caducidade da palavra-passe alterada.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "o nome de utilizador '%s' é inválido\n" - #~ msgid "Username Port From Latest" #~ msgstr "Utilizador Porto De Último" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo index e3a7345c9eaef6c82993f8306d07147f470a9473..794426fa19d32f6fdc5506a8e840f756ee5449d0 100644 GIT binary patch delta 10429 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 nFt3}L;~mW\n" "Language-Team: Debian-BR Project \n" @@ -16,225 +16,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Cadastro de nome multiplos '%s' in %s. Por Favor conserte-o com pwck ou " -"grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "metodo de encriptacao não suportado por libcrypt? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "erro de configuração - não consigo verificar o valor %s: '%s'" - -msgid "Could not allocate space for config info.\n" -msgstr "Não foi possível alocar espaço para a informação de configuração.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"erro de configuração - item '%s' desconhecido (notifique o administrador)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Senha : " - -#, c-format -msgid "%s's Password: " -msgstr "Senha de %s : " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "Não posso abrir interface de audit - abortando.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Não foi possível alocar espaço para a informação de configuração.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Mudando a informação de idade para %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s : Não foi possível determinar seu nome de usuário.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s : linha %d : não foi possível encontrar usuário %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s : sem memória\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: não foi possível fazer stat %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s não é diretório, nem link simbólico.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: Não foi possível ler o link simbólico %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: link simbólico longo suspeito: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: não foi possível criar o diretório %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: não foi possível mudar o proprietário de %s: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: não foi possível mudar o modo de %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: removendo link: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: não foi possível remover diretório %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: Não foi possível renomear %s para %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: Não foi possível remover %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: não foi possível criar link simbólico %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: Não foi possível mudar proprietários de %s: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: Não foi possível fazer lstat %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: Atenção, usuário %s não tem arquivo tcb shadow.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: Emergência: shadow tcb de %s não é um arquivo regular com st_nlink=1.\n" -"A conta permanece travada.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: Não foi possível abrir %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Aviso : grupo desconhecido %s\n" @@ -281,6 +62,13 @@ msgstr "Não consegui mudar o proprietário ou modo do tty stdin: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: falha ao destravar %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Cadastro de nome multiplos '%s' in %s. Por Favor conserte-o com pwck ou " +"grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -288,6 +76,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "metodo de encriptacao não suportado por libcrypt? (%s)\n" + msgid "Environment overflow\n" msgstr "Overflow de ambiente\n" @@ -410,8 +202,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: Não foi possível obter UID único (não há mais UIDs disponíveis)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "erro de configuração - não consigo verificar o valor %s: '%s'" + +msgid "Could not allocate space for config info.\n" +msgstr "Não foi possível alocar espaço para a informação de configuração.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" +"erro de configuração - item '%s' desconhecido (notifique o administrador)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -441,7 +241,7 @@ msgstr "Não foi possível alocar espaço para a informação de configuração. #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s : não foi possível abrir arquivo\n" #, fuzzy, c-format @@ -454,9 +254,22 @@ msgstr "%s: linha %d: chown %s falhou: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: linha %d: chown %s falhou: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: linha %d: chown %s falhou: %s\n" + msgid "Too many logins.\n" msgstr "Muitos logins.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login : " + msgid "You have new mail." msgstr "Você possui novas mensagens." @@ -466,6 +279,14 @@ msgstr "Sem mensagens." msgid "You have mail." msgstr "Você possui mensagens." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "nenhuma mudança" @@ -478,9 +299,6 @@ msgstr "mudanças de caixa somente" msgid "too similar" msgstr "muito similar" -msgid "too simple" -msgstr "muito simples" - msgid "rotated" msgstr "rotacionado" @@ -526,6 +344,13 @@ msgid "" "%s\n" msgstr "passwd : pam_start() falhou, erro %d\n" +msgid "Password: " +msgstr "Senha : " + +#, c-format +msgid "%s's Password: " +msgstr "Senha de %s : " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Senha incorreta para %s.\n" @@ -550,17 +375,13 @@ msgstr "%s: telefone residencial inválido: '%s'\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: não foi possível criar o diretório %s: %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: não foi possível criar o diretório %s: %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: Falha ao criar diretório tcb para %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: não foi possível criar o diretório %s: %s\n" #, c-format msgid "" @@ -577,6 +398,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "Não posso abrir interface de audit - abortando.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Não foi possível alocar espaço para a informação de configuração.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Não foi possível alocar espaço para a informação de configuração.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Mudando a informação de idade para %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s : Não foi possível determinar seu nome de usuário.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s : linha %d : não foi possível encontrar usuário %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Não consegui ir para o diretório '%s'\n" @@ -588,6 +510,10 @@ msgstr "Sem diretório, logando com HOME=/" msgid "Cannot execute %s" msgstr "Não foi possível executar %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Diretório raíz inválido '%s'\n" @@ -596,6 +522,86 @@ msgstr "Diretório raíz inválido '%s'\n" msgid "Can't change root directory to '%s'\n" msgstr "Não foi possível mudar o diretório raíz para '%s'\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s : sem memória\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: não foi possível fazer stat %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s não é diretório, nem link simbólico.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: Não foi possível ler o link simbólico %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: link simbólico longo suspeito: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: não foi possível criar o diretório %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: não foi possível mudar o proprietário de %s: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: não foi possível mudar o modo de %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: removendo link: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: não foi possível remover diretório %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: Não foi possível renomear %s para %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: Não foi possível remover %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: não foi possível criar link simbólico %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: Não foi possível mudar proprietários de %s: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: Não foi possível fazer lstat %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: Atenção, usuário %s não tem arquivo tcb shadow.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: Emergência: shadow tcb de %s não é um arquivo regular com st_nlink=1.\n" +"A conta permanece travada.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: Não foi possível abrir %s: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s : o usuário %s está logado no momento\n" @@ -675,6 +681,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -700,12 +709,15 @@ msgstr "Senha Inativa" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Data de Expiração de Senha (YYYY-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Última mudança de senha\t\t\t\t\t: " - msgid "never" msgstr "nunca" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Última mudança de senha\t\t\t\t\t: " + msgid "password must be changed" msgstr "Senha modificada" @@ -877,14 +889,6 @@ msgstr "%s: '%s' contém caracteres ilegais\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: usuário '%s' não existe\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: não foi possível mudar o usuário '%s' no cliente NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' é o NIS mestre para este cliente.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Modificando as informações de usuário para %s\n" @@ -924,6 +928,11 @@ msgstr "" "-s, --sha-rounds Números de SHA rodadas para a SHA *\n" " algoritmos criptografados\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: metodo de encriptação não suportado : %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: flag %s é permitida somente com a flag %s\n" @@ -975,6 +984,16 @@ msgstr "" msgid "Login Shell" msgstr "Shell de Login" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: Não foi possível obter o tamanho de %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: não foi possível criar novo arquivo de padrões\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Você não pode mudar o shell para '%s'.\n" @@ -987,6 +1006,11 @@ msgstr "Mudando o shell de login para %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s : Entrada inválida : %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s é um shell inválido\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s é um shell inválido\n" @@ -1225,9 +1249,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system cria uma conta de sistema\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1242,6 +1263,11 @@ msgstr "nome de usuário '%s' inválido\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: '%s' não é um nome de grupo válido\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: Não foi possível abrir %s: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: ID de grupo '%s' inválido\n" @@ -1286,14 +1312,6 @@ msgstr "%s: não é possível remover o grupo primário do usuário '%s'\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: grupo '%s' não existe\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: grupo '%s' é um grupo NIS\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s : %s é o mestre NIS\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: usuário '%s' já é um membro de '%s'\n" @@ -1390,10 +1408,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: nome de grupo '%s' inválido\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s : grupo %s é um grupo NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s : usuário %s desconhecido\n" @@ -1519,7 +1533,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -a, --all mostrar registros de faillog de todos os " @@ -1622,11 +1636,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: talvez não seja possível trabalhar sem o root efetivamente\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Nenhuma entrada utmp. Voce deve executar \"login\" do \"sh\" de nível mais " -"baixo" - #, c-format msgid "" "\n" @@ -1660,14 +1669,6 @@ msgstr "Login incorreto" msgid "Cannot find user (%s)\n" msgstr "%s : linha %d : não foi possível encontrar usuário %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s login : " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: falha iniciando: %s" @@ -1703,7 +1704,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1730,20 +1732,15 @@ msgstr "%s: falha ao remover %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: falha ao destravar %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: falha ao procurar o diretório tcb para %s\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: Falha ao criar diretório tcb para %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1776,14 +1773,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: Falha ao criar diretório tcb para %s\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1806,6 +1803,10 @@ msgstr "%s: ID de usuário '%s' inválido\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s : nome de usuário '%s' inválido\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s : linha %d : linha inválida\n" @@ -1828,6 +1829,11 @@ msgstr "%s: linha %d: não foi possível criar grupo\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: linha %d: usuário '%s' não existe em %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: removendo link: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s : linha %d : não foi possível atualizar a senha\n" @@ -1849,14 +1855,14 @@ msgstr "%s: linha %d: chown %s falhou: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s : linha %d : não foi possível atualizar entrada\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: falha ao preparar a nova entrada %s '%s'\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: não foi possível criar usuário\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: falha ao preparar a nova entrada %s '%s'\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s : não foi possível atualizar arquivo de grupo\n" @@ -1930,6 +1936,12 @@ msgstr "" " -x, --maxdays MAX_DIAS define número máximo de dias antes da troca\n" " de senhas para MAX_DIAS\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" +" -l, --list exibe informação sobre idade da conta\n" + msgid "Old password: " msgstr "Senha antiga : " @@ -1951,6 +1963,11 @@ msgstr "" "Por favor, use uma combinação de letras em maiúsculas e minúsculas\n" "e de números.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s : campos muito extensos\n" + msgid "New password: " msgstr "Nova senha : " @@ -1993,6 +2010,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s : repositório %s não suportado\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: apenas o root pode usar a opção -g/--group\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2149,11 +2171,9 @@ msgstr "%s: mal funcionamento do sinal\n" msgid "Session terminated, terminating shell..." msgstr "Sessão terminada, encerrando o shell..." -#, c-format msgid " ...killed.\n" msgstr " ...morto.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...esperando o filho terminar.\n" @@ -2239,6 +2259,11 @@ msgstr "%s: Você não está autorizado a usar o su agora\n" msgid "No passwd entry for user '%s'\n" msgstr "Nenhuma entrada de senha para 'root'" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "nome de usuário '%s' inválido\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s : deve ser executado a partir de um terminal\n" @@ -2284,6 +2309,13 @@ msgstr "%s: %s foi criado, mas não pode ser removido\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: a configuração %s em %s será ignorada\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: a configuração %s em %s será ignorada\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2314,10 +2346,6 @@ msgstr "%s: não foi possível criar link simbólico %s: %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: renomear: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: grupo '%s' é um grupo NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: muitos grupos especificados (máximo %d).\n" @@ -2460,6 +2488,18 @@ msgstr "" "mapeamento de\n" " usuário SELinux\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user USUÁRIO_SE usa um USUÁRIO_SE específico para o " +"mapeamento de\n" +" usuário SELinux\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: diretório base '%s' inválido\n" @@ -2602,6 +2642,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Configurando caixa-postal arquivos de permissao" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Criando caixa-postal" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Criando caixa-postal" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2736,10 +2786,6 @@ msgstr "%s: Não é possível remover o conteúdo de %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: Não é possível remover arquivos tcb para %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s : usuário %s é um usuário NIS\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: diretório pessoal %s (%s) não encontrado\n" @@ -2870,6 +2916,13 @@ msgstr "" " -Z, --selinux-user novo mapeamento de usuário SELinux para a " "conta de usuário\n" +#, fuzzy +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user novo mapeamento de usuário SELinux para a " +"conta de usuário\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2963,10 +3016,21 @@ msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" "%s: falha ao copiar a entrada lastlog do usuário %lu para o usuário %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: falha ao copiar a entrada lastlog do usuário %lu para o usuário %lu: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "%s: falha ao copiar a entrada faillog do usuário %lu para o %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: falha ao copiar a entrada faillog do usuário %lu para o %lu: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s : aviso : %s não é propriedade de %s\n" @@ -3067,8 +3131,10 @@ msgstr "falha ao desvincular arquivo de rascunho" msgid "failed to stat edited file" msgstr "falha ao fazer stat de arquivo editado" -msgid "failed to allocate memory" -msgstr "falha ao alocar memória" +#, fuzzy +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s : não foi possível abrir arquivo\n" msgid "failed to create backup file" msgstr "falha ao criar arquivo de backup" @@ -3081,6 +3147,50 @@ msgstr "%s : não foi possível restaurar %s : %s (suas mudanças estão em %s)\ msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: falha ao procurar o diretório tcb para %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: não foi possível mudar o usuário '%s' no cliente NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' é o NIS mestre para este cliente.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: grupo '%s' é um grupo NIS\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s : %s é o mestre NIS\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s : grupo %s é um grupo NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: grupo '%s' é um grupo NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s : usuário %s é um usuário NIS\n" + +#~ msgid "too simple" +#~ msgstr "muito simples" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Nenhuma entrada utmp. Voce deve executar \"login\" do \"sh\" de nível " +#~ "mais baixo" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: falha ao procurar o diretório tcb para %s\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "falha ao alocar memória" + #~ msgid "Usage: id\n" #~ msgstr "Uso : id\n" @@ -3096,10 +3206,6 @@ msgstr "%s: falha ao procurar o diretório tcb para %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: informação de expiração de senha alterada.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "nome de usuário '%s' inválido\n" - #~ msgid "Username Port From Latest" #~ msgstr "Nome de Usuário Porta De Último" diff --git a/po/ro.gmo b/po/ro.gmo index c89ab14b46a5cb48ebba8cbff56f2164c2f0a6ea..2f84e042e22593ebcb70083762a54d8ec03ddfa5 100644 GIT binary patch delta 4381 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 delta 5087 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 C42Pir diff --git a/po/ro.po b/po/ro.po index c1e341dc..9276ebac 100644 --- a/po/ro.po +++ b/po/ro.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2007-11-26 18:18+0100\n" "Last-Translator: Sorin Batariuc \n" "Language-Team: Romanian \n" @@ -18,221 +18,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n>1\n" "X-Generator: KBabel 1.10.2\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "Nu pot aloca spaţiu pentru informaţiile despre configurare.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"eroare de configurare - element necunoscut '%s' (anunţaţi administratorul)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Parola: " - -#, c-format -msgid "%s's Password: " -msgstr "Parola pentru %s: " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "Nu pot deschide fişierul passwd.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Nu pot aloca spaţiu pentru informaţiile despre configurare.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Modific informaţia de temporalitate pentru %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: Nu vă pot determina numele de utilizator.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: linia %d: nu pot găsi utilizatorul %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: nu mai este memorie\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: nu pot actualiza fişierul %s\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: director personal nevalid '%s'\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: nu pot redenumi directorul %s în %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: nu pot crea directorul %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: avertisment: nu pot şterge " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: avertisment: nu pot şterge " - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: redenumire: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: nu pot redenumi directorul %s în %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: nu pot redenumi directorul %s în %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: avertisment: nu pot şterge " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: nu pot crea directorul %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: avertisment: nu pot şterge " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: nu pot actualiza fişierul %s\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: nu pot actualiza fişierul shadow\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: redenumire: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: nu pot deschide fişierul %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Avertisment: grup necunoscut %s\n" @@ -279,6 +64,11 @@ msgstr "Nu pot schimba tty %s" msgid "%s: failed to unlock %s\n" msgstr "%s: câmpuri prea lungi\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -286,6 +76,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "Inundaţie de mediu\n" @@ -386,9 +180,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: nu pot prelua UID\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "Nu pot aloca spaţiu pentru informaţiile despre configurare.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"eroare de configurare - element necunoscut '%s' (anunţaţi administratorul)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: autentificare PAM eşuată\n" @@ -416,7 +218,7 @@ msgstr "Nu pot aloca spaţiu pentru informaţiile despre configurare.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: nu pot deschide fişierul\n" #, fuzzy, c-format @@ -427,9 +229,21 @@ msgstr "%s: linia %d: eşuare chown\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: linia %d: eşuare chown\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: linia %d: eşuare chown\n" + msgid "Too many logins.\n" msgstr "Prea multe autentificări.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s autentificare: " + msgid "You have new mail." msgstr "Aveţi mesaje noi." @@ -439,6 +253,14 @@ msgstr "N-aveţi mesaje." msgid "You have mail." msgstr "Aveţi mesaje." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "nici o schimbare" @@ -451,9 +273,6 @@ msgstr "doar schimbări de caz" msgid "too similar" msgstr "prea asemănător" -msgid "too simple" -msgstr "prea simplu" - msgid "rotated" msgstr "rotit" @@ -500,6 +319,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() a eşuat, eroare %d\n" +msgid "Password: " +msgstr "Parola: " + +#, c-format +msgid "%s's Password: " +msgstr "Parola pentru %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Parolă incorectă pentru %s.\n" @@ -524,17 +350,13 @@ msgstr "%s: număr telefon acasă nevalid: '%s'\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: nu pot crea directorul %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: nu pot crea directorul %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: nu pot crea directorul %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: nu pot crea directorul %s\n" #, c-format msgid "" @@ -549,6 +371,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "Nu pot deschide fişierul passwd.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Nu pot aloca spaţiu pentru informaţiile despre configurare.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Nu pot aloca spaţiu pentru informaţiile despre configurare.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Modific informaţia de temporalitate pentru %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: Nu vă pot determina numele de utilizator.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: linia %d: nu pot găsi utilizatorul %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Nu pot schimba directorul către'%s'\n" @@ -560,6 +483,10 @@ msgstr "Fără director personal, autentificare cu HOME=/" msgid "Cannot execute %s" msgstr "Nu pot executa %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Director rădăcină invalid '%s'\n" @@ -568,6 +495,84 @@ msgstr "Director rădăcină invalid '%s'\n" msgid "Can't change root directory to '%s'\n" msgstr "Nu pot schimba directorul rădăcină la '%s'\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: nu mai este memorie\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: nu pot actualiza fişierul %s\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: director personal nevalid '%s'\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: nu pot redenumi directorul %s în %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: nu pot crea directorul %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: avertisment: nu pot şterge " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: avertisment: nu pot şterge " + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: redenumire: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: nu pot redenumi directorul %s în %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: nu pot redenumi directorul %s în %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: avertisment: nu pot şterge " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: nu pot crea directorul %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: avertisment: nu pot şterge " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: nu pot actualiza fişierul %s\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: nu pot actualiza fişierul shadow\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: redenumire: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: nu pot deschide fişierul %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: utilizatorul %s este autentificat în acest moment\n" @@ -627,6 +632,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -652,12 +660,15 @@ msgstr "Parolă inactivă" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Data expirării contului (AAAA-LL-ZZ)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Ultima schimbare de parolă\t\t\t\t\t: " - msgid "never" msgstr "Niciodată" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Ultima schimbare de parolă\t\t\t\t\t: " + msgid "password must be changed" msgstr "parola trebuie schimbată" @@ -825,14 +836,6 @@ msgstr "%s: '%s' conţine caractere ilegale\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: utilizatorul %s nu există\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: nu pot schimba utilizatorul '%s' pe un client NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' este stăpânul NIS pentru acest client.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Modificare informaţii utilizator pentru %s\n" @@ -861,6 +864,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: semnalizatorul -a este permis DOAR împreună cu semnalizatorul -G\n" @@ -911,6 +918,15 @@ msgstr "" msgid "Login Shell" msgstr "Autentificare consolă" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: nu pot redenumi directorul %s în %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: nu pot crea noile fişiere implicite\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Nu puteţi schimba consola pentru %s.\n" @@ -923,6 +939,10 @@ msgstr "Schimb consola de autentificare pentru %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Intrare nevalidă: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s este o consolă nevalidă.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s este o consolă nevalidă.\n" @@ -1133,9 +1153,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1148,6 +1165,10 @@ msgstr "nume de utilizator nevalid '%s'\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: %s nu este un nume de grup valid\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: nu pot deschide fişierul %s\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "nume de grup nevalid '%s'\n" @@ -1190,14 +1211,6 @@ msgstr "%s: nu pot schimba utilizatorul '%s' pe un client NIS.\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: grupul %s nu există\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: grupul '%s' este un grup NIS.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s este stăpân NIS\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: utilizatorul %s este un utilizator NIS\n" @@ -1273,10 +1286,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "nume de grup nevalid '%s'\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: grupul %s este un grup NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: utilizator necunoscut %s\n" @@ -1391,7 +1400,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1485,11 +1494,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Nici o intrare utmp. Trebuie să executaţi \"login\" de la nivelul cel mai de " -"jos \"sh\"" - #, fuzzy, c-format msgid "" "\n" @@ -1523,14 +1527,6 @@ msgstr "Autentificare incorectă" msgid "Cannot find user (%s)\n" msgstr "%s: linia %d: nu pot găsi utilizatorul %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s autentificare: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s : eşuare la bifurcare: %s" @@ -1567,7 +1563,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1592,17 +1589,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: câmpuri prea lungi\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: director de bază nevalid '%s'\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: nu pot crea directorul %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1636,14 +1629,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: nu pot crea directorul %s\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1664,6 +1656,10 @@ msgstr "%s: nume utilizator nevalid '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: nume utilizator nevalid '%s'\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: linia %d: linie nevalidă\n" @@ -1684,6 +1680,10 @@ msgstr "%s: linia %d: nu pot crea GID\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: utilizatorul %s nu există\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: redenumire: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: linia %d: nu pot actualiza parola\n" @@ -1704,14 +1704,14 @@ msgstr "%s: linia %d: eşuare chown\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: linia %d: nu pot actualiza intrarea\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s : eşuare în abandonarea privilegiilor (%s)\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: nu pot crea %s\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s : eşuare în abandonarea privilegiilor (%s)\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: nu pot actualiza fişierul de grupuri\n" @@ -1770,6 +1770,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "Parola veche: " @@ -1789,6 +1792,11 @@ msgstr "" "Introduceţi noua parolă (minimum %d, maximum %d caractere)\n" "Vă rog utilizaţi o combinaţie de litere mari şi mici şi numere.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: câmpuri prea lungi\n" + msgid "New password: " msgstr "Parola nouă: " @@ -1829,6 +1837,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: depozitul %s nu este suportat\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1973,11 +1985,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2051,6 +2061,11 @@ msgstr "Nu sunteţi autorizat pentru su %s\n" msgid "No passwd entry for user '%s'\n" msgstr "Fără intrare în passwd pentru 'root'" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "nume de utilizator nevalid '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: trebuie pornit de la un terminal\n" @@ -2096,6 +2111,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2126,10 +2147,6 @@ msgstr "%s: nu pot crea directorul %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: redenumire: %s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: grupul '%s' este un grup NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: prea multe grupuri specificate (maximum %d).\n" @@ -2239,6 +2256,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: director de bază nevalid '%s'\n" @@ -2370,6 +2392,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Se atribuie permisiunile fişierului căsuţă de mesaje" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Crearea fişierului căsuţă pentru mesaje" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Crearea fişierului căsuţă pentru mesaje" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2490,10 +2522,6 @@ msgstr "%s: nu pot redenumi directorul %s în %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: nu pot redenumi directorul %s în %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: utilizatorul %s este un utilizator NIS\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: director personal nevalid '%s'\n" @@ -2594,6 +2622,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2677,10 +2709,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: nu pot actualiza fişierul passwd\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: nu pot crea directorul %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: avertisment: %s nu este deţinut de către %s\n" @@ -2786,8 +2826,9 @@ msgid "failed to stat edited file" msgstr "eşuare în redenumirea căsuţei poştale" #, fuzzy -msgid "failed to allocate memory" -msgstr "eşuare în schimbarea proprietarului căsuţei poştale" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: nu pot deschide fişierul\n" #, fuzzy msgid "failed to create backup file" @@ -2801,6 +2842,50 @@ msgstr "%s: nu pot reface %s: %s (schimbările dvs. sunt în %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: director de bază nevalid '%s'\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: nu pot schimba utilizatorul '%s' pe un client NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' este stăpânul NIS pentru acest client.\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: grupul '%s' este un grup NIS.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s este stăpân NIS\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: grupul %s este un grup NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: grupul '%s' este un grup NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: utilizatorul %s este un utilizator NIS\n" + +#~ msgid "too simple" +#~ msgstr "prea simplu" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Nici o intrare utmp. Trebuie să executaţi \"login\" de la nivelul cel mai " +#~ "de jos \"sh\"" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: director de bază nevalid '%s'\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "eşuare în schimbarea proprietarului căsuţei poştale" + #~ msgid "Usage: id\n" #~ msgstr "Utilizare: id\n" @@ -2816,10 +2901,6 @@ msgstr "%s: director de bază nevalid '%s'\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Avertisment de expirare a parolei" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "nume de utilizator nevalid '%s'\n" - #~ msgid "Username Port From Latest" #~ msgstr "Nume utilizator Port De la Cel mai recent" diff --git a/po/ru.gmo b/po/ru.gmo index 6d807529ac01ecd5ffc15f242f78e41f0ae3b1a8..492b106ad57e6e4bac585e090bec89dfbd8ff970 100644 GIT binary patch delta 12270 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 c2bA-y%ep>}$`Dx2~g0??w?b+w~Kb*bC4*&oF delta 13364 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 KJbK1HVE+$)3s(F9 diff --git a/po/ru.po b/po/ru.po index db8d94c3..66295fb0 100644 --- a/po/ru.po +++ b/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.5.1-1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2017-03-05 11:14+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" @@ -22,230 +22,6 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Существует сразу несколько записей с именем «%s» в %s. Исправьте это с " -"помощью pwck или grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "алгоритм шифрования не поддерживается libcrypt? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "ошибка настройки: не удалось разобрать значение %s: «%s»" - -msgid "Could not allocate space for config info.\n" -msgstr "Не удалось выделить память для загрузки настроек.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "ошибка настройки: неизвестный элемент «%s» (сообщите администратору)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscd завершился с ошибкой (по сигналу %d)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: nscd завершился с кодом выхода %d\n" - -msgid "Password: " -msgstr "Пароль: " - -#, c-format -msgid "%s's Password: " -msgstr "Пароль пользователя %s: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "" -"Не удалось открыть интерфейс протоколирования (audit) — прекращение работы.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "Невозможно создать управляющий описатель SELinux\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "Политика SELinux не управляема\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "Невозможно прочитать хранилище политики SELinux\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "Невозможно установить управляющее подключение SELinux\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "Невозможно начать транзакцию SELinux\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "Не удалось запросить seuser для %s\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "Не удалось назначить serange для %s\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "Не удалось назначить sename для %s\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "Не удалось изменить сопоставление входа для %s\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Невозможно создать сопоставление входа SELinux для %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "Невозможно задать имя для %s\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "Невозможно задать пользователя SELinux для %s\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "Невозможно добавить сопоставление входа для %s\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "Невозможно инициализировать управление SELinux\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "Невозможно создать ключ пользователя SELinux\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "Невозможно проверить пользователя SELinux\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "Невозможно изменить пользовательское сопоставление SELinux\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "Невозможно добавить пользовательское сопоставление SELinux\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "Невозможно зафиксировать транзакцию SELinux\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"Сопоставление входа для %s не определено; нормально, если использовалось " -"сопоставление по умолчанию\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" -"Сопоставление входа для %s определено в политике и не может быть удалено\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "Невозможно удалить сопоставление входа для %s" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: нехватка памяти\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: не удалось выполнить функцию stat для %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s не является каталогом или символьной ссылкой\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: не удалось прочитать символьную ссылку %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: вероятно, слишком длинная символьная ссылка: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: не удалось создать каталог %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: не удалось изменить владельца %s: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: не удалось изменить права доступа %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: unlink: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: не удалось удалить каталог %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: не удалось переименовать каталог %s в %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: не удалось удалить %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: не удалось создать символьную ссылку %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: не удалось изменить владельцев %s: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: не удалось выполнить функцию lstat для %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "" -"%s: предупреждение: у пользователя %s отсутствует файл shadow в структуре " -"tcb.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: чрезвычайная ситуация: файл shadow у %s в структуре tcb не является\n" -"обычным файлом с st_nlink=1. Учётная запись остаётся заблокированной.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: не удалось открыть %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Предупреждение: неизвестная группа %s\n" @@ -293,6 +69,13 @@ msgstr "Не удалось изменить владельца или прав msgid "%s: failed to unlock %s\n" msgstr "%s: не удалось разблокировать %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Существует сразу несколько записей с именем «%s» в %s. Исправьте это с " +"помощью pwck или grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -300,6 +83,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "алгоритм шифрования не поддерживается libcrypt? (%s)\n" + msgid "Environment overflow\n" msgstr "Слишком большое количество переменных окружения\n" @@ -423,8 +210,15 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: не удалось получить уникальный UID (кончились свободные UID-ы)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "ошибка настройки: не удалось разобрать значение %s: «%s»" + +msgid "Could not allocate space for config info.\n" +msgstr "Не удалось выделить память для загрузки настроек.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "ошибка настройки: неизвестный элемент «%s» (сообщите администратору)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -454,9 +248,10 @@ msgstr "Невозможно задать имя для %s\n" msgid "%s: Could not set caps\n" msgstr "Невозможно задать имя для %s\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: stpeprintf failed!\n" +msgstr "%s: строка %d: вызов chown %s завершился неудачно: %s\n" #, fuzzy, c-format #| msgid "%s: line %d: chown %s failed: %s\n" @@ -468,9 +263,22 @@ msgstr "%s: строка %d: вызов chown %s завершился неуда msgid "%s: write to %s failed: %s\n" msgstr "%s: строка %d: вызов chown %s завершился неудачно: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: строка %d: вызов chown %s завершился неудачно: %s\n" + msgid "Too many logins.\n" msgstr "Слишком много попыток входа в систему.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"Имя пользователя %s: " + msgid "You have new mail." msgstr "Для вас есть новые почтовые сообщения." @@ -480,6 +288,14 @@ msgstr "Для вас нет почтовых сообщений." msgid "You have mail." msgstr "Для вас есть почтовые сообщения." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscd завершился с ошибкой (по сигналу %d)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: nscd завершился с кодом выхода %d\n" + msgid "no change" msgstr "изменений не внесено" @@ -492,9 +308,6 @@ msgstr "изменение только в регистре символов" msgid "too similar" msgstr "слишком похожий" -msgid "too simple" -msgstr "слишком простой" - msgid "rotated" msgstr "перестановка символов" @@ -541,6 +354,13 @@ msgid "" "%s\n" msgstr "passwd: не удалось выполнить pam_start(), ошибка %d\n" +msgid "Password: " +msgstr "Пароль: " + +#, c-format +msgid "%s's Password: " +msgstr "Пароль пользователя %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Неверный пароль для %s.\n" @@ -566,17 +386,14 @@ msgstr "%s: некорректное значение пути chroot «%s»\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: нет доступа к каталогу chroot %s: %s\n" -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: не удалось выполнить chdir в chroot-каталог %s: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: не удалось выполнить chroot в каталог %s: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: cannot chdir to chroot directory %s: %s\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: не удалось выполнить chdir в chroot-каталог %s: %s\n" #, c-format msgid "" @@ -593,6 +410,112 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "" +"Не удалось открыть интерфейс протоколирования (audit) — прекращение работы.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "Невозможно создать управляющий описатель SELinux\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "Политика SELinux не управляема\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "Невозможно прочитать хранилище политики SELinux\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "Невозможно установить управляющее подключение SELinux\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "Невозможно начать транзакцию SELinux\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "Не удалось запросить seuser для %s\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "Не удалось назначить serange для %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "Не удалось назначить sename для %s\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "Не удалось изменить сопоставление входа для %s\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Невозможно создать сопоставление входа SELinux для %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "Невозможно задать имя для %s\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "Невозможно задать пользователя SELinux для %s\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "Невозможно добавить сопоставление входа для %s\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "Невозможно инициализировать управление SELinux\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "Невозможно создать ключ пользователя SELinux\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "Невозможно проверить пользователя SELinux\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "Невозможно изменить пользовательское сопоставление SELinux\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "Невозможно добавить пользовательское сопоставление SELinux\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "Невозможно зафиксировать транзакцию SELinux\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"Сопоставление входа для %s не определено; нормально, если использовалось " +"сопоставление по умолчанию\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" +"Сопоставление входа для %s определено в политике и не может быть удалено\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "Невозможно удалить сопоставление входа для %s" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Невозможно перейти в каталог «%s»\n" @@ -605,6 +528,10 @@ msgstr "" msgid "Cannot execute %s" msgstr "Не удалось выполнить %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Неверный корневой каталог «%s»\n" @@ -613,6 +540,88 @@ msgstr "Неверный корневой каталог «%s»\n" msgid "Can't change root directory to '%s'\n" msgstr "Не удалось изменить корневой каталог на «%s»\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: нехватка памяти\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: не удалось выполнить функцию stat для %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s не является каталогом или символьной ссылкой\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: не удалось прочитать символьную ссылку %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: вероятно, слишком длинная символьная ссылка: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: не удалось создать каталог %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: не удалось изменить владельца %s: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: не удалось изменить права доступа %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: unlink: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: не удалось удалить каталог %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: не удалось переименовать каталог %s в %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: не удалось удалить %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: не удалось создать символьную ссылку %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: не удалось изменить владельцев %s: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: не удалось выполнить функцию lstat для %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "" +"%s: предупреждение: у пользователя %s отсутствует файл shadow в структуре " +"tcb.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: чрезвычайная ситуация: файл shadow у %s в структуре tcb не является\n" +"обычным файлом с st_nlink=1. Учётная запись остаётся заблокированной.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: не удалось открыть %s: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: пользователь %s сейчас работает в системе\n" @@ -690,6 +699,12 @@ msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" " -R, --root КАТ_CHROOT каталог, в который выполняется chroot\n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" +" -R, --root КАТ_CHROOT каталог, в который выполняется chroot\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -718,12 +733,15 @@ msgstr "Деактивировать учётную запись через" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Дата истечения срока действия учётной записи (ГГГГ-ММ-ДД)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Последний раз пароль был изменён\t\t\t\t: " - msgid "never" msgstr "никогда" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Последний раз пароль был изменён\t\t\t\t: " + msgid "password must be changed" msgstr "пароль должен быть изменён" @@ -898,14 +916,6 @@ msgstr "%s: в «%s» содержатся недопустимые символ msgid "%s: user '%s' does not exist\n" msgstr "%s: пользователь «%s» не существует\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: невозможно изменить пользователя «%s» в клиенте NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: «%s» является мастером NIS для этого клиента.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Изменение информации о пользователе %s\n" @@ -945,6 +955,11 @@ msgstr "" " -s, --sha-rounds количество раундов SHA для алгоритмов\n" " шифрования SHA*\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: алгоритм шифрования %s не поддерживается\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: параметр %s разрешено использовать только вместе с параметром %s\n" @@ -997,6 +1012,16 @@ msgstr "" msgid "Login Shell" msgstr "Командная оболочка" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: не удалось получить размер %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: не удалось создать новый файл значений по умолчанию\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Вы не можете изменять командную оболочку у «%s».\n" @@ -1009,6 +1034,11 @@ msgstr "Изменение командной оболочки для %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: неверное значение %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s не является допустимой оболочкой\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s не является допустимой оболочкой\n" @@ -1258,12 +1288,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system создавать системную группу\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" -" -R, --root КАТ_CHROOT каталог, в который выполняется chroot\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1278,6 +1302,11 @@ msgstr "неверное имя пользователя «%s»\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: «%s» не может быть именем группы\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: не удалось открыть %s: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: неверный ID группы «%s»\n" @@ -1323,14 +1352,6 @@ msgstr "%s: не удалось удалить первичную группу msgid "%s: group '%s' does not exist\n" msgstr "%s: группа «%s» не существует\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: группа «%s» является группой NIS\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s является мастером NIS\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: пользователь «%s» является членом «%s»\n" @@ -1425,10 +1446,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: неверное имя группы «%s»\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: группа %s является группой NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: неизвестный пользователь %s\n" @@ -1552,8 +1569,12 @@ msgstr "" " -b, --before ДНЕЙ показать записи lastlog за последние ДНЕЙ " "дней\n" +#, fuzzy +#| msgid "" +#| " -C, --clear clear lastlog record of an user (usable " +#| "only with -u)\n" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -C, --clear очистить запись lastlog пользователя\n" @@ -1656,10 +1677,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: невозможно выполнить без прав суперпользователя\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Нет записи в utmp. Вы должны запускать «login» из самого первого уровня «sh»" - #, c-format msgid "" "\n" @@ -1693,14 +1710,6 @@ msgstr "Неверное имя пользователя" msgid "Cannot find user (%s)\n" msgstr "Невозможно найти пользователя (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"Имя пользователя %s: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: ошибка при вызове fork: %s" @@ -1737,7 +1746,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1763,20 +1773,15 @@ msgstr "%s: не удалось удалить %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: не удалось разблокировать %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: не удалось найти каталог tcb для %s\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: не удалось создать tcb-каталог для %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1809,14 +1814,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: не удалось создать tcb-каталог для %s\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1841,6 +1846,10 @@ msgstr "%s: неверный пользовательский ID «%s»\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: неверное имя пользователя «%s»\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: строка %d: некорректная строка\n" @@ -1863,6 +1872,11 @@ msgstr "%s: строка %d: не удалось создать группу\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: строка %d: пользователь «%s» не существует в %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: unlink: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: строка %d: не удалось обновить пароль\n" @@ -1884,14 +1898,14 @@ msgstr "%s: строка %d: вызов chown %s завершился неуда msgid "%s: line %d: can't update entry\n" msgstr "%s: строка %d: не удалось обновить запись\n" -#, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: не удалось подготовить новую %s запись\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: не удалось найти подчинённый диапазон пользователей\n" +#, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: не удалось подготовить новую %s запись\n" + #, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: не удалось найти подчинённый диапазон групп\n" @@ -1969,6 +1983,11 @@ msgstr "" " -x, --maxdays МАКС_ДНЕЙ установить максимальное число дней перед\n" " сменой пароля в МАКС_ДНЕЙ\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr " -l, --list показать «возраст» учётной записи\n" + msgid "Old password: " msgstr "Старый пароль: " @@ -1988,6 +2007,11 @@ msgstr "" "Введите новый пароль (минимальная длина %d, максимальная длина %d символов)\n" "Используйте комбинацию из символов в верхнем и нижнем регистре и цифры.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: поля слишком длинные\n" + msgid "New password: " msgstr "Новый пароль: " @@ -2032,6 +2056,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: хранилище %s не поддерживается\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: только суперпользователь может использовать параметр -g/--group\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2185,11 +2214,9 @@ msgstr "%s: неисправность в сигналах\n" msgid "Session terminated, terminating shell..." msgstr "Сеанс завершён, выполняется завершение оболочки…" -#, c-format msgid " ...killed.\n" msgstr " … завершён.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " … ожидает завершения потомка.\n" @@ -2277,6 +2304,11 @@ msgstr "%s: у вас нет прав выполнять su в данный мо msgid "No passwd entry for user '%s'\n" msgstr "Отсутствует passwd-запись для пользователя «%s»\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "неверное имя пользователя «%s»\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: должен запускаться из терминала\n" @@ -2322,6 +2354,13 @@ msgstr "%s: каталог %s создан, но не может быть уда msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: настройка %s в %s будет проигнорирована\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: настройка %s в %s будет проигнорирована\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2352,10 +2391,6 @@ msgstr "%s: не удалось создать резервную копию ф msgid "%s: rename: %s: %s\n" msgstr "%s: rename: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: группа «%s» является группой NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: указано слишком много групп (максимум %d).\n" @@ -2507,6 +2542,17 @@ msgstr "" " -Z, --selinux-user SEUSER использовать указанного SEUSER для\n" " пользовательского сопоставления SELinux\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEUSER использовать указанного SEUSER для\n" +" пользовательского сопоставления SELinux\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: неверный базовый каталог «%s»\n" @@ -2650,6 +2696,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Установка прав на файл почтового ящика" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Создание почтового ящика" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Создание почтового ящика" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2783,10 +2839,6 @@ msgstr "%s: не удалось удалить содержимое %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: не удалось удалить файлы tcb для %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: пользователь %s является пользователем NIS\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: домашний каталог пользователя %s (%s) не найден\n" @@ -2917,6 +2969,16 @@ msgstr "" " -Z, --selinux-user SEUSER новое пользовательское сопоставление\n" " SELinux для учётной записи\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUSER новое пользовательское сопоставление\n" +" SELinux для учётной записи\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -3013,12 +3075,26 @@ msgstr "" "%s: не удалось скопировать запись lastlog о пользователе %lu в пользователя " "%lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: не удалось скопировать запись lastlog о пользователе %lu в пользователя " +"%lu: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: не удалось скопировать запись faillog о пользователе %lu в пользователя " "%lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: не удалось скопировать запись faillog о пользователе %lu в пользователя " +"%lu: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: предупреждение: %s не принадлежит %s\n" @@ -3124,8 +3200,8 @@ msgstr "не удалось удалить черновой файл" msgid "failed to stat edited file" msgstr "не удалось получить атрибуты редактируемого файла" -msgid "failed to allocate memory" -msgstr "не удалось выделить память" +msgid "asprintf(3) failed" +msgstr "" msgid "failed to create backup file" msgstr "не удалось создать резервную копию файла" @@ -3138,6 +3214,50 @@ msgstr "%s: не удалось восстановить %s: %s (ваши изм msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: не удалось найти каталог tcb для %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: невозможно изменить пользователя «%s» в клиенте NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: «%s» является мастером NIS для этого клиента.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: группа «%s» является группой NIS\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s является мастером NIS\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: группа %s является группой NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: группа «%s» является группой NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: пользователь %s является пользователем NIS\n" + +#~ msgid "too simple" +#~ msgstr "слишком простой" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Нет записи в utmp. Вы должны запускать «login» из самого первого уровня " +#~ "«sh»" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: не удалось найти каталог tcb для %s\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "не удалось выделить память" + #~ msgid "Usage: id\n" #~ msgstr "Использование: id\n" @@ -3153,10 +3273,6 @@ msgstr "%s: не удалось найти каталог tcb для %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: информация об истечении срока действия пароля изменена.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "неверное имя пользователя «%s»\n" - #~ msgid "Username Port From Latest" #~ msgstr "Пользователь Порт С Последний раз" diff --git a/po/shadow.pot b/po/shadow.pot index 9b74ddec..06ab8b67 100644 --- a/po/shadow.pot +++ b/po/shadow.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: shadow 4.13\n" +"Project-Id-Version: shadow 4.15.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,218 +18,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "" - -#, c-format -msgid "%s's Password: " -msgstr "" - -msgid "Cannot open audit interface.\n" -msgstr "" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "" - #, c-format msgid "Warning: unknown group %s\n" msgstr "" @@ -276,6 +64,11 @@ msgstr "" msgid "%s: failed to unlock %s\n" msgstr "" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, c-format msgid "%s: " msgstr "" @@ -283,6 +76,10 @@ msgstr "" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "" @@ -379,7 +176,14 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "" + +msgid "Could not allocate space for config info.\n" +msgstr "" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" #, c-format @@ -407,7 +211,7 @@ msgid "%s: Could not set caps\n" msgstr "" #, c-format -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "" #, c-format @@ -418,9 +222,19 @@ msgstr "" msgid "%s: write to %s failed: %s\n" msgstr "" +#, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "" + msgid "Too many logins.\n" msgstr "" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" + msgid "You have new mail." msgstr "" @@ -430,6 +244,14 @@ msgstr "" msgid "You have mail." msgstr "" +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "" @@ -442,9 +264,6 @@ msgstr "" msgid "too similar" msgstr "" -msgid "too simple" -msgstr "" - msgid "rotated" msgstr "" @@ -487,6 +306,13 @@ msgid "" "%s\n" msgstr "" +msgid "Password: " +msgstr "" + +#, c-format +msgid "%s's Password: " +msgstr "" + #, c-format msgid "Incorrect password for %s.\n" msgstr "" @@ -511,16 +337,12 @@ msgstr "" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "" -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "" #, c-format -msgid "Unable to obtain random bytes.\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" msgstr "" #, c-format @@ -536,6 +358,105 @@ msgid "" "method.\n" msgstr "" +msgid "Cannot open audit interface.\n" +msgstr "" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "" @@ -547,6 +468,10 @@ msgstr "" msgid "Cannot execute %s" msgstr "" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "" @@ -555,6 +480,84 @@ msgstr "" msgid "Can't change root directory to '%s'\n" msgstr "" +#, c-format +msgid "%s: out of memory\n" +msgstr "" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "" @@ -612,6 +615,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -637,10 +643,13 @@ msgstr "" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "" -msgid "Last password change\t\t\t\t\t: " +msgid "never" msgstr "" -msgid "never" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " msgstr "" msgid "password must be changed" @@ -810,14 +819,6 @@ msgstr "" msgid "%s: user '%s' does not exist\n" msgstr "" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "" - #, c-format msgid "Changing the user information for %s\n" msgstr "" @@ -846,6 +847,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "" @@ -896,6 +901,14 @@ msgstr "" msgid "Login Shell" msgstr "" +#, c-format +msgid "Cannot parse shell files: %s" +msgstr "" + +#, c-format +msgid "Cannot evaluate entries in shell files: %s" +msgstr "" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "" @@ -908,6 +921,10 @@ msgstr "" msgid "%s: Invalid entry: %s\n" msgstr "" +#, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "" @@ -1116,9 +1133,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1130,6 +1144,10 @@ msgstr "" msgid "%s: '%s' is not a valid group name\n" msgstr "" +#, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "" @@ -1172,14 +1190,6 @@ msgstr "" msgid "%s: group '%s' does not exist\n" msgstr "" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "" @@ -1255,10 +1265,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "" - #, c-format msgid "%s: unknown user %s\n" msgstr "" @@ -1373,7 +1379,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1462,9 +1468,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" - #, c-format msgid "" "\n" @@ -1496,12 +1499,6 @@ msgstr "" msgid "Cannot find user (%s)\n" msgstr "" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" - #, c-format msgid "%s: failure forking: %s" msgstr "" @@ -1535,7 +1532,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1559,17 +1557,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "" #, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "" - -#, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1602,13 +1596,12 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" #, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" +msgid "%s: Could not stat directory for target process\n" msgstr "" msgid " -b, --badname allow bad names\n" @@ -1629,6 +1622,10 @@ msgstr "" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "" @@ -1649,6 +1646,10 @@ msgstr "" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "" +#, c-format +msgid "%s: line %d: %s\n" +msgstr "" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "" @@ -1670,11 +1671,11 @@ msgid "%s: line %d: can't update entry\n" msgstr "" #, c-format -msgid "%s: failed to prepare new %s entry\n" +msgid "%s: can't find subordinate user range\n" msgstr "" #, c-format -msgid "%s: can't find subordinate user range\n" +msgid "%s: failed to prepare new %s entry\n" msgstr "" #, c-format @@ -1735,6 +1736,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "" @@ -1750,6 +1754,9 @@ msgid "" "Please use a combination of upper and lower case letters and numbers.\n" msgstr "" +msgid "Password is too long.\n" +msgstr "" + msgid "New password: " msgstr "" @@ -1787,6 +1794,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1929,11 +1940,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -1992,6 +2001,10 @@ msgstr "" msgid "No passwd entry for user '%s'\n" msgstr "" +#, c-format +msgid "Overlong user name '%s'\n" +msgstr "" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "" @@ -2034,6 +2047,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, c-format msgid "%s: cannot create new defaults file: %s\n" msgstr "" @@ -2062,10 +2081,6 @@ msgstr "" msgid "%s: rename: %s: %s\n" msgstr "" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "" @@ -2175,6 +2190,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "" @@ -2301,6 +2321,12 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "" +msgid "Synchronize mailbox file" +msgstr "" + +msgid "Closing mailbox file" +msgstr "" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2413,10 +2439,6 @@ msgstr "" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "" @@ -2514,6 +2536,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2596,10 +2622,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "" @@ -2695,7 +2729,7 @@ msgstr "" msgid "failed to stat edited file" msgstr "" -msgid "failed to allocate memory" +msgid "asprintf(3) failed" msgstr "" msgid "failed to create backup file" diff --git a/po/sk.gmo b/po/sk.gmo index df70d1b667cfc86c50322645f60d8464817ce4f2..68d98340c30dad3c78d8b90633026db2a8534a7a 100644 GIT binary patch delta 8090 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 y%DlohP0R0_d$@Abt;_u?M=gr+FW{kju{xg2 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 diff --git a/po/sk.po b/po/sk.po index 83d7c6fa..08a26379 100644 --- a/po/sk.po +++ b/po/sk.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.17\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2011-11-26 22:06+0100\n" "Last-Translator: Ivan Masár \n" "Language-Team: Slovak \n" @@ -16,223 +16,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural= (n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Existuje viac záznamov s názvom „%s“ v %s. Prosím, napravte to pomocou pwck " -"alebo grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "libcrypt nepodporuje metódy šifrovania? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "Na konfiguračné údaje sa nedá vyhradiť dostatok miesta.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"konfiguračná chyba - neznámy predmet „%s“ (informujte správcu systému)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Heslo: " - -#, c-format -msgid "%s's Password: " -msgstr "Heslo používateľa %s:" - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "Nie je možné otvoriť rozhranie pre audit - prerušuje sa.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Na konfiguračné údaje sa nedá vyhradiť dostatok miesta.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Menia sa informácie vypršania platnosti pre používateľa %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: vaše používateľské meno sa nedá zistiť.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: riadok %d: nedá sa nájsť používateľ %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: nedostatok pamäti\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: nie je možné zmazať %s\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: chybný domovský adresár „%s“\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: nie je možné odstrániť položku „%s“ z %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: nedá sa vytvoriť adresár %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "lastlog: Nepodarilo sa zistiť veľkosť %s: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: upozornenie: nemôžem odstrániť %s: %s" - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: premenovať: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: adresár %s sa nedá premenovať na %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: adresár %s sa nedá premenovať na %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: upozornenie: nemôžem odstrániť %s: %s" - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: nedá sa vytvoriť adresár %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "lastlog: Nepodarilo sa zistiť veľkosť %s: %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: nie je možné zmazať %s\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: súbor s tieňovými heslami sa nedá aktualizovať\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: premenovať: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: súbor %s sa nedá otvoriť\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Upozornenie: skupina %s je neznáma\n" @@ -279,6 +62,13 @@ msgstr "Nedá sa zmeniť režim vlastníka TTY štandardného vstupu: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: nepodarilo sa odmknúť %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Existuje viac záznamov s názvom „%s“ v %s. Prosím, napravte to pomocou pwck " +"alebo grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -286,6 +76,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "libcrypt nepodporuje metódy šifrovania? (%s)\n" + msgid "Environment overflow\n" msgstr "Preplnenie prostredia\n" @@ -391,9 +185,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: Nedá sa získať jedinečný UID (už nie sú dostupné žiadne UID)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "Na konfiguračné údaje sa nedá vyhradiť dostatok miesta.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"konfiguračná chyba - neznámy predmet „%s“ (informujte správcu systému)\n" + #, fuzzy, c-format #| msgid "%s: Authentication failure\n" msgid "%s: Memory allocation failure\n" @@ -422,7 +224,7 @@ msgstr "Na konfiguračné údaje sa nedá vyhradiť dostatok miesta.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: nedá sa otvoriť súbor\n" #, fuzzy, c-format @@ -433,9 +235,21 @@ msgstr "%s: riadok %d: volanie chown zlyhalo\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: riadok %d: volanie chown zlyhalo\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: riadok %d: volanie chown zlyhalo\n" + msgid "Too many logins.\n" msgstr "Príliš mnoho prihlásení.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"Prihlasovacie meno na %s: " + msgid "You have new mail." msgstr "Máte novú poštu." @@ -445,6 +259,14 @@ msgstr "Nemáte žiadnu poštu." msgid "You have mail." msgstr "Máte poštu." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "žiadna zmena" @@ -457,9 +279,6 @@ msgstr "iba zmeny vo veľkosti písmen" msgid "too similar" msgstr "veľmi podobné" -msgid "too simple" -msgstr "veľmi jednoduché" - msgid "rotated" msgstr "opakované" @@ -505,6 +324,13 @@ msgid "" "%s\n" msgstr "passwd: volanie pam_start() zlyhalo, chyba %d\n" +msgid "Password: " +msgstr "Heslo: " + +#, c-format +msgid "%s's Password: " +msgstr "Heslo používateľa %s:" + #, c-format msgid "Incorrect password for %s.\n" msgstr "Chybné heslo pre %s.\n" @@ -529,17 +355,13 @@ msgstr "%s: chybné telefónne číslo domov: „%s“\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: nedá sa vytvoriť adresár %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: nedá sa vytvoriť adresár %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: nedá sa vytvoriť adresár %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: nedá sa vytvoriť adresár %s\n" #, c-format msgid "" @@ -556,6 +378,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "Nie je možné otvoriť rozhranie pre audit - prerušuje sa.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Na konfiguračné údaje sa nedá vyhradiť dostatok miesta.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Na konfiguračné údaje sa nedá vyhradiť dostatok miesta.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Menia sa informácie vypršania platnosti pre používateľa %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: vaše používateľské meno sa nedá zistiť.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: riadok %d: nedá sa nájsť používateľ %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Aktuálny adresár sa nedá nastaviť na „%s“\n" @@ -567,6 +490,10 @@ msgstr "Žiadny adresár, prihlásenie s HOME na /" msgid "Cannot execute %s" msgstr "%s sa nedá spustiť." +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Chybný koreňový adresár „%s“\n" @@ -575,6 +502,84 @@ msgstr "Chybný koreňový adresár „%s“\n" msgid "Can't change root directory to '%s'\n" msgstr "Koreňový adresár sa nedá zmeniť na „%s“\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: nedostatok pamäti\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: nie je možné zmazať %s\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: chybný domovský adresár „%s“\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: nie je možné odstrániť položku „%s“ z %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: nedá sa vytvoriť adresár %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "lastlog: Nepodarilo sa zistiť veľkosť %s: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: upozornenie: nemôžem odstrániť %s: %s" + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: premenovať: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: adresár %s sa nedá premenovať na %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: adresár %s sa nedá premenovať na %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: upozornenie: nemôžem odstrániť %s: %s" + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: nedá sa vytvoriť adresár %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "lastlog: Nepodarilo sa zistiť veľkosť %s: %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: nie je možné zmazať %s\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: súbor s tieňovými heslami sa nedá aktualizovať\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: premenovať: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: súbor %s sa nedá otvoriť\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: používateľ %s je práve prihlásený\n" @@ -649,6 +654,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -677,12 +685,15 @@ msgstr "Nečinné heslo" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Uplynutie platnosti účtu (YYYY-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Posledná zmena hesla\t\t\t\t\t: " - msgid "never" msgstr "nikdy" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Posledná zmena hesla\t\t\t\t\t: " + msgid "password must be changed" msgstr "heslo je potrebné zmeniť" @@ -853,14 +864,6 @@ msgstr "%s: „%s“ obsahuje chybné znaky\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: používateľ „%s“ neexistuje\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: na NIC klientovi sa nedá zmeniť používateľ „%s“.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: „%s“ je hlavným NIS serverom pre tohto klienta.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Mením informácie o používateľovi %s\n" @@ -900,6 +903,11 @@ msgstr "" " -s, --sha-rounds počet cyklov šifrovacích\n" " algoritmov SHA*\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: nepodporovaná metóda šifrovania: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: prepínač %s je povolený iba s prepínačom %s\n" @@ -950,6 +958,16 @@ msgstr "" msgid "Login Shell" msgstr "Predvolený shell" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: Nepodarilo sa zistiť veľkosť %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: nedá sa vytvoriť nový súbor s predvolenými hodnotami\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Nemôžete zmeniť shell pre „%s“.\n" @@ -962,6 +980,11 @@ msgstr "Mením predvolený shell pre %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Chybná položka: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s je neplatný shell\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s je neplatný shell\n" @@ -1194,9 +1217,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system vytvorí systémový účet\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1211,6 +1231,10 @@ msgstr "chybné používateľské meno „%s“\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: „%s“ nie je platným názvom skupiny\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: súbor %s sa nedá otvoriť\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: chybný ID skupiny „%s“\n" @@ -1255,14 +1279,6 @@ msgstr "%s: nie je možné odstrniť primárnu skupinu používateľa „%s“.\ msgid "%s: group '%s' does not exist\n" msgstr "%s: skupina „%s“ neexistuje\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: skupina „%s“ je skupinou NIS.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s je hlavným NIS serverom\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: používateľ „%s“ je členom „%s“\n" @@ -1351,10 +1367,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: chybné pomenovanie skupiny „%s“\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: skupina %s je NIS skupinou\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: používateľ %s je neznámy\n" @@ -1476,7 +1488,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -a, --all zobrazí faillog záznamy všetkých " @@ -1575,9 +1587,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "Žiaden utmp záznam. Musíte spustiť „login“ z najnižšej inštancie „sh“" - #, c-format msgid "" "\n" @@ -1611,14 +1620,6 @@ msgstr "Chybné prihlásenie" msgid "Cannot find user (%s)\n" msgstr "%s: riadok %d: nedá sa nájsť používateľ %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"Prihlasovacie meno na %s: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: chybné vetvenie: %s" @@ -1654,7 +1655,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1682,17 +1684,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: nepodarilo sa odmknúť %s\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: chybný základný adresár „%s“\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: nedá sa vytvoriť adresár %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1725,14 +1723,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: nedá sa vytvoriť adresár %s\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1755,6 +1752,10 @@ msgstr "%s: chybný ID používateľa „%s“\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: chybné používateľské meno „%s“\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: riadok %d: chybný riadok\n" @@ -1776,6 +1777,10 @@ msgstr "%s: riadok %d: nedá sa vytvoriť skupina\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: riadok %d: používateľ „%s“ neexistuje v %s\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: premenovať: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: riadok %d: heslo sa nedá aktualizovať\n" @@ -1796,14 +1801,14 @@ msgstr "%s: riadok %d: volanie chown zlyhalo\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: riadok %d: položka sa nedá aktualizovať\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: zlyhalo pripravenie novej položky %s „%s“\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: nie je možné vytvoriť používateľa\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: zlyhalo pripravenie novej položky %s „%s“\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: súbor s heslami sa nedá aktualizovať\n" @@ -1873,6 +1878,11 @@ msgstr "" " -x, --maxdays MAX_DNÍ nastaví maximálny počet dní pred zmenou\n" " hesla na MAX_DNÍ dní\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr " -l, --list zobrazí časové údaje o účte\n" + msgid "Old password: " msgstr "Staré heslo: " @@ -1892,6 +1902,11 @@ msgstr "" "Zadajte nové heslo (počet znakov v intervale %d až %d).\n" "Použijte kombináciu veľkých a malých písmen s číslicami.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: položka je príliš dlhá\n" + msgid "New password: " msgstr "Nové heslo: " @@ -1934,6 +1949,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: úložisko %s nie je podporované\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: iba root môže používať voľbu -g/--group\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2084,11 +2104,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2175,6 +2193,11 @@ msgstr "%s: Nie ste momentálne oprávnení používať su\n" msgid "No passwd entry for user '%s'\n" msgstr "V súbore passwd nie je položka pre používateľa „root“" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "chybné používateľské meno „%s“\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: musí byť spustené z terminálu\n" @@ -2220,6 +2243,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2250,10 +2279,6 @@ msgstr "%s: nedá sa vytvoriť adresár %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: premenovať: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: skupina „%s“ je skupinou NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: bolo zadaných príliš veľa skupín (max %d).\n" @@ -2375,6 +2400,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: chybný základný adresár „%s“\n" @@ -2511,6 +2541,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Nastavujú sa prístupové práva súboru mailbox" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Vytvára sa súbor mailbox" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Vytvára sa súbor mailbox" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2639,10 +2679,6 @@ msgstr "lastlog: Nepodarilo sa zistiť veľkosť %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: nie je možné odstrániť položku „%s“ z %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: používateľ %s je NIS používateľom\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: chybný domovský adresár „%s“\n" @@ -2767,6 +2803,14 @@ msgstr "" "používateľský\n" " účet\n" +#, fuzzy +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -d, --home DOM_ADR nový domovský adresár pre nový " +"používateľský\n" +" účet\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2854,12 +2898,26 @@ msgstr "" "%s: Nepodarilo sa skopírovať položku lastlog používateľa %lu používateľovi " "%lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: Nepodarilo sa skopírovať položku lastlog používateľa %lu používateľovi " +"%lu: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: Nepodarilo sa skopírovať položku faillog používateľa %lu používateľovi " "%lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: Nepodarilo sa skopírovať položku faillog používateľa %lu používateľovi " +"%lu: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: upozornenie: vlastníkom %s nie je %s\n" @@ -2965,8 +3023,9 @@ msgid "failed to stat edited file" msgstr "chyba pri premenovaní schránky" #, fuzzy -msgid "failed to allocate memory" -msgstr "chyba pri zmene vlastníka schránky" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: nedá sa otvoriť súbor\n" #, fuzzy msgid "failed to create backup file" @@ -2980,6 +3039,49 @@ msgstr "%s: %s sa nedá obnoviť: %s (zmeny sú v %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: chybný základný adresár „%s“\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: na NIC klientovi sa nedá zmeniť používateľ „%s“.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: „%s“ je hlavným NIS serverom pre tohto klienta.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: skupina „%s“ je skupinou NIS.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s je hlavným NIS serverom\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: skupina %s je NIS skupinou\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: skupina „%s“ je skupinou NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: používateľ %s je NIS používateľom\n" + +#~ msgid "too simple" +#~ msgstr "veľmi jednoduché" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Žiaden utmp záznam. Musíte spustiť „login“ z najnižšej inštancie „sh“" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: chybný základný adresár „%s“\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "chyba pri zmene vlastníka schránky" + #~ msgid "Usage: id\n" #~ msgstr "Použitie: id\n" @@ -2995,10 +3097,6 @@ msgstr "%s: chybný základný adresár „%s“\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Upozornenie o uplynutí doby platnosti hesla" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "chybné používateľské meno „%s“\n" - #~ msgid "Username Port From Latest" #~ msgstr "Používateľ Port Z Naposledy" diff --git a/po/sq.po b/po/sq.po index 2cb78d0e..f1581f53 100644 --- a/po/sq.po +++ b/po/sq.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.3\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2004-11-20 03:28+0100\n" "Last-Translator: Elian Myftiu \n" "Language-Team: Albanian \n" @@ -17,218 +17,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "" - -#, c-format -msgid "%s's Password: " -msgstr "" - -msgid "Cannot open audit interface.\n" -msgstr "" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Kujdes: grup i panjohur %s\n" @@ -277,6 +65,11 @@ msgstr "" msgid "%s: failed to unlock %s\n" msgstr "" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, c-format msgid "%s: " msgstr "" @@ -284,6 +77,10 @@ msgstr "" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "" @@ -380,7 +177,14 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "" + +msgid "Could not allocate space for config info.\n" +msgstr "" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" #, c-format @@ -407,9 +211,9 @@ msgstr "" msgid "%s: Could not set caps\n" msgstr "Kujdes: grup i panjohur %s\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: stpeprintf failed!\n" +msgstr "Kujdes: grup i panjohur %s\n" #, fuzzy, c-format msgid "%s: open of %s failed: %s\n" @@ -419,9 +223,19 @@ msgstr "Kujdes: grup i panjohur %s\n" msgid "%s: write to %s failed: %s\n" msgstr "Kujdes: grup i panjohur %s\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + msgid "Too many logins.\n" msgstr "" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" + msgid "You have new mail." msgstr "" @@ -431,6 +245,14 @@ msgstr "" msgid "You have mail." msgstr "" +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "" @@ -443,9 +265,6 @@ msgstr "" msgid "too similar" msgstr "" -msgid "too simple" -msgstr "" - msgid "rotated" msgstr "" @@ -489,6 +308,13 @@ msgid "" "%s\n" msgstr "" +msgid "Password: " +msgstr "" + +#, c-format +msgid "%s's Password: " +msgstr "" + #, c-format msgid "Incorrect password for %s.\n" msgstr "" @@ -513,17 +339,13 @@ msgstr "Kujdes: grup i panjohur %s\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "Kujdes: grup i panjohur %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "Kujdes: grup i panjohur %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "Kujdes: grup i panjohur %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" #, c-format msgid "" @@ -538,6 +360,105 @@ msgid "" "method.\n" msgstr "" +msgid "Cannot open audit interface.\n" +msgstr "" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "" @@ -549,6 +470,10 @@ msgstr "" msgid "Cannot execute %s" msgstr "" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "" @@ -557,6 +482,84 @@ msgstr "" msgid "Can't change root directory to '%s'\n" msgstr "" +#, c-format +msgid "%s: out of memory\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "" @@ -614,6 +617,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -639,10 +645,13 @@ msgstr "" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "" -msgid "Last password change\t\t\t\t\t: " +msgid "never" msgstr "" -msgid "never" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " msgstr "" msgid "password must be changed" @@ -813,14 +822,6 @@ msgstr "" msgid "%s: user '%s' does not exist\n" msgstr "" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "" - #, c-format msgid "Changing the user information for %s\n" msgstr "" @@ -849,6 +850,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "" @@ -899,6 +904,14 @@ msgstr "" msgid "Login Shell" msgstr "" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "Kujdes: grup i panjohur %s\n" + +#, fuzzy, c-format +msgid "Cannot evaluate entries in shell files: %s" +msgstr "Kujdes: grup i panjohur %s\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "" @@ -911,6 +924,10 @@ msgstr "" msgid "%s: Invalid entry: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "Kujdes: grup i panjohur %s\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "" @@ -1119,9 +1136,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1133,6 +1147,10 @@ msgstr "" msgid "%s: '%s' is not a valid group name\n" msgstr "" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "Kujdes: grup i panjohur %s\n" @@ -1175,14 +1193,6 @@ msgstr "" msgid "%s: group '%s' does not exist\n" msgstr "" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "" @@ -1258,10 +1268,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "" - #, c-format msgid "%s: unknown user %s\n" msgstr "" @@ -1377,7 +1383,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1466,9 +1472,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" - #, c-format msgid "" "\n" @@ -1500,12 +1503,6 @@ msgstr "" msgid "Cannot find user (%s)\n" msgstr "Kujdes: grup i panjohur %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" - #, c-format msgid "%s: failure forking: %s" msgstr "" @@ -1539,7 +1536,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1563,17 +1561,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "Kujdes: grup i panjohur %s\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "Kujdes: grup i panjohur %s\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "Kujdes: grup i panjohur %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1607,14 +1601,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "Kujdes: grup i panjohur %s\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1634,6 +1627,10 @@ msgstr "" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "" @@ -1654,6 +1651,10 @@ msgstr "Kujdes: grup i panjohur %s\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "" @@ -1674,14 +1675,14 @@ msgstr "Kujdes: grup i panjohur %s\n" msgid "%s: line %d: can't update entry\n" msgstr "" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "Kujdes: grup i panjohur %s\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "Kujdes: grup i panjohur %s\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "Kujdes: grup i panjohur %s\n" @@ -1740,6 +1741,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "" @@ -1755,6 +1759,10 @@ msgid "" "Please use a combination of upper and lower case letters and numbers.\n" msgstr "" +#, fuzzy +msgid "Password is too long.\n" +msgstr "Fjalëkalimi yt ka skaduar." + msgid "New password: " msgstr "" @@ -1792,6 +1800,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1935,11 +1947,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -1998,6 +2008,10 @@ msgstr "" msgid "No passwd entry for user '%s'\n" msgstr "" +#, c-format +msgid "Overlong user name '%s'\n" +msgstr "" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "" @@ -2041,6 +2055,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format msgid "%s: cannot create new defaults file: %s\n" msgstr "Kujdes: grup i panjohur %s\n" @@ -2069,10 +2089,6 @@ msgstr "Kujdes: grup i panjohur %s\n" msgid "%s: rename: %s: %s\n" msgstr "Kujdes: grup i panjohur %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "" @@ -2182,6 +2198,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "" @@ -2308,6 +2329,12 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "" +msgid "Synchronize mailbox file" +msgstr "" + +msgid "Closing mailbox file" +msgstr "" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2420,10 +2447,6 @@ msgstr "Kujdes: grup i panjohur %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "Kujdes: grup i panjohur %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "" @@ -2521,6 +2544,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2603,10 +2630,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "Kujdes: grup i panjohur %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "" @@ -2702,7 +2737,7 @@ msgstr "" msgid "failed to stat edited file" msgstr "" -msgid "failed to allocate memory" +msgid "asprintf(3) failed" msgstr "" msgid "failed to create backup file" @@ -2717,11 +2752,11 @@ msgid "%s: failed to find tcb directory for %s\n" msgstr "" #, fuzzy, c-format -#~ msgid "%s: password expiry information changed.\n" -#~ msgstr "Fjalëkalimi yt ka skaduar." +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "Kujdes: grup i panjohur %s\n" -#, fuzzy -#~ msgid "Password set to expire." +#, fuzzy, c-format +#~ msgid "%s: password expiry information changed.\n" #~ msgstr "Fjalëkalimi yt ka skaduar." #, fuzzy diff --git a/po/sv.gmo b/po/sv.gmo index 136216abfb37560ae431e71616fa201311dd9ddb..ba47f69653cc1b33d2f907aa975c7d1cf01d269b 100644 GIT binary patch delta 10114 zcmYk=2Y62B8^`enF(L%9A`#xiNQjjvf&{VE9*I>{s9m!N#cPz-sE|Z$wfBy_YE{u1 zRV~tLb^oiwsL>kj|NG1HxUQbd-OqhL=e*}U>%2*NV114|D{^?h4)9rEI4);1rX()& zH)e2l@({HebGE!OdGH)^iMfJ)cooawE##l^2{)z}Mq(YDjg|2X7RLvu>+?kzGYG3; z8)Lj?DM?EjZeu*wtYFM2OvZ-z8`i|C747+c*qnMJj>dbg?jLDPE9#vXgU^u%n3|Q0 zX@S!*8ZWszJH2bl^Gz#~W}HaFEBGaj!|hdU$0Dj4Q=j?`jKe+nGTz5p7+1|cXf� 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 delta 10831 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 diff --git a/po/sv.po b/po/sv.po index f705f48c..a58e87f2 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.1.1\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2011-11-25 22:08+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -17,222 +17,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Flera poster med namnet \"%s\" finns i %s. Rätta till detta med pwck eller " -"grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "krypteringsmetoden stöds inte av libcrypt? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "konfigurationsfel - kan inte tolka %s-värde: \"%s\"" - -msgid "Could not allocate space for config info.\n" -msgstr "Kunde inte allokera plats för konfigurationsinformationen.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "konfigurationsfel - okänd post \"%s\" (informera administratören)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Lösenord: " - -#, c-format -msgid "%s's Password: " -msgstr "%s lösenord: " - -msgid "Cannot open audit interface.\n" -msgstr "" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Kunde inte allokera plats för konfigurationsinformationen.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Ändrar åldersinformationen för %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: Kan inte fastställa ditt användarnamn.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: Kan inte grena användarskal\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: slut på minne\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: Kan inte ta status på %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s är varken en katalog eller symbolisk länk.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: Kan inte läsa symboliska länken %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Misstänkt lång symbolisk länk: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: Kan inte skapa katalogen %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: Kan inte byta ägare för %s: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: Kan inte ändra rättigheter för %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: Kan inte ta bort katalogen %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: Kan inte byta namn på %s till %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: Kan inte ta bort %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: Kan inte skapa symboliska länken %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: Kan inte byta ägare för %s: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: Kan inte lstat %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: Varning, användaren %s har ingen tcb shadow-fil.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: Nödläge: tcb shadow för %s är inte en vanlig fil med st_nlink=1.\n" -"Kontot lämnas kvar som låst.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: Kan inte öppna %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Varning: okänd grupp %s\n" @@ -279,6 +63,13 @@ msgstr "Kunde inte ändra ägare eller rättigheter för tty standard in: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: misslyckades med att låsa upp %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Flera poster med namnet \"%s\" finns i %s. Rätta till detta med pwck eller " +"grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -286,6 +77,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "krypteringsmetoden stöds inte av libcrypt? (%s)\n" + msgid "Environment overflow\n" msgstr "Överskott av miljövariabler\n" @@ -404,8 +199,15 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: Kan inte få unikt UID (inga fler tillgängliga UID)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "konfigurationsfel - kan inte tolka %s-värde: \"%s\"" + +msgid "Could not allocate space for config info.\n" +msgstr "Kunde inte allokera plats för konfigurationsinformationen.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "konfigurationsfel - okänd post \"%s\" (informera administratören)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -433,9 +235,10 @@ msgstr "Kunde inte allokera plats för konfigurationsinformationen.\n" msgid "%s: Could not set caps\n" msgstr "Kunde inte allokera plats för konfigurationsinformationen.\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: stpeprintf failed!\n" +msgstr "%s: rad %d: chown %s misslyckades: %s\n" #, fuzzy, c-format #| msgid "%s: line %d: chown %s failed: %s\n" @@ -447,9 +250,22 @@ msgstr "%s: rad %d: chown %s misslyckades: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: rad %d: chown %s misslyckades: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: rad %d: chown %s misslyckades: %s\n" + msgid "Too many logins.\n" msgstr "För många inloggningsförsök.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s inloggning: " + msgid "You have new mail." msgstr "Du har ny post." @@ -459,6 +275,14 @@ msgstr "Ingen post." msgid "You have mail." msgstr "Du har post." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "ingen ändring" @@ -471,9 +295,6 @@ msgstr "endast ändring av gemener/versaler" msgid "too similar" msgstr "för likt" -msgid "too simple" -msgstr "för enkelt" - msgid "rotated" msgstr "roterat" @@ -519,6 +340,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() misslyckades, fel %d\n" +msgid "Password: " +msgstr "Lösenord: " + +#, c-format +msgid "%s's Password: " +msgstr "%s lösenord: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Felaktigt lösenord för %s.\n" @@ -543,17 +371,13 @@ msgstr "%s: ogiltigt telefonnummer (hem): \"%s\"\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: Kan inte skapa katalogen %s: %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: Kan inte skapa katalogen %s: %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: Misslyckades med att skapa tcb-katalog för %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: Kan inte skapa katalogen %s: %s\n" #, c-format msgid "" @@ -570,6 +394,105 @@ msgid "" "method.\n" msgstr "" +msgid "Cannot open audit interface.\n" +msgstr "" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Kunde inte allokera plats för konfigurationsinformationen.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Kunde inte allokera plats för konfigurationsinformationen.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Ändrar åldersinformationen för %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: Kan inte fastställa ditt användarnamn.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: Kan inte grena användarskal\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Kunde inte byta katalog till \"%s\"\n" @@ -581,6 +504,10 @@ msgstr "Ingen katalog, loggar in med HOME=/" msgid "Cannot execute %s" msgstr "Kunde inte starta %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Felaktig rotkatalog \"%s\"\n" @@ -589,6 +516,86 @@ msgstr "Felaktig rotkatalog \"%s\"\n" msgid "Can't change root directory to '%s'\n" msgstr "Kan inte ändra rotkatalog till \"%s\"\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: slut på minne\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: Kan inte ta status på %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s är varken en katalog eller symbolisk länk.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: Kan inte läsa symboliska länken %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: Misstänkt lång symbolisk länk: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: Kan inte skapa katalogen %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: Kan inte byta ägare för %s: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: Kan inte ändra rättigheter för %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: Kan inte ta bort katalogen %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: Kan inte byta namn på %s till %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: Kan inte ta bort %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: Kan inte skapa symboliska länken %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: Kan inte byta ägare för %s: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: Kan inte lstat %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: Varning, användaren %s har ingen tcb shadow-fil.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: Nödläge: tcb shadow för %s är inte en vanlig fil med st_nlink=1.\n" +"Kontot lämnas kvar som låst.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: Kan inte öppna %s: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: användaren %s är för närvarande inloggad\n" @@ -667,6 +674,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -694,12 +704,15 @@ msgstr "Lösenordet inaktivt" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Utlöpsdatum för kontot (ÅÅÅÅ-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Senaste lösenordsändringen\t\t\t\t: " - msgid "never" msgstr "aldrig" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Senaste lösenordsändringen\t\t\t\t: " + msgid "password must be changed" msgstr "lösenordet måste ändras" @@ -871,14 +884,6 @@ msgstr "%s: \"%s\" innehåller ogiltiga tecken\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: användaren \"%s\" finns inte\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: kan inte ändra användare \"%s\" på en NIS-klient.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: \"%s\" är NIS-master för denna klient.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Ändrar användarinformationen för %s\n" @@ -918,6 +923,11 @@ msgstr "" " -s, --sha-rounds antal SHA-rundor för SHA*-\n" " krypteringsalgoritmerna\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: krypteringsmetoden stöds inte: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: flaggan %s tillåts endast med flaggan %s\n" @@ -969,6 +979,16 @@ msgstr "" msgid "Login Shell" msgstr "Inloggningsskal" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: Kan inte få storleken för %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: kan inte skapa ny standardfil\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Du får inte ändra skalet för \"%s\".\n" @@ -981,6 +1001,11 @@ msgstr "Ändrar inloggningsskal för %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Ogiltig post: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s är ett ogiltigt skal\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s är ett ogiltigt skal\n" @@ -1214,9 +1239,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system skapa ett systemkonto\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1231,6 +1253,11 @@ msgstr "ogiltigt användarnamn \"%s\"\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: \"%s\" är inte ett giltigt gruppnamn\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: Kan inte öppna %s: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: ogiltigt grupp-id \"%s\"\n" @@ -1275,14 +1302,6 @@ msgstr "%s: kan inte ta bort primära gruppen för användaren \"%s\"\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: gruppen \"%s\" finns inte\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: gruppen \"%s\" är en NIS-grupp\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s är NIS master\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: användaren \"%s\" är redan medlem av \"%s\"\n" @@ -1383,10 +1402,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: ogiltigt gruppnamn \"%s\"\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: gruppen %s är en NIS-grupp\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: okänd användare %s\n" @@ -1513,7 +1528,7 @@ msgstr "" #, fuzzy msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -a, --all visa faillog-poster för alla användare\n" @@ -1615,9 +1630,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: Kan inte fungera utan en användbar root\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "Ingen utmp post. Du måste köra \"login\" från den lägsta nivån \"sh\"" - #, c-format msgid "" "\n" @@ -1651,14 +1663,6 @@ msgstr "Inloggning misslyckad" msgid "Cannot find user (%s)\n" msgstr "%s: Kan inte grena användarskal\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s inloggning: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: fel vid processdelning: %s" @@ -1694,7 +1698,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1720,20 +1725,15 @@ msgstr "%s: misslyckades med att ta bort %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: misslyckades med att låsa upp %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: misslyckades med att hitta tcb-katalog för %s\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: Misslyckades med att skapa tcb-katalog för %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1766,14 +1766,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: Misslyckades med att skapa tcb-katalog för %s\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1796,6 +1796,10 @@ msgstr "%s: ogiltigt användar-id \"%s\"\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: ogiltigt användarnamn \"%s\"\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: rad %d: ogiltig rad\n" @@ -1818,6 +1822,11 @@ msgstr "%s: rad %d: kan inte skapa grupp\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: rad %d: användaren \"%s\" finns inte i %s\n" +#, fuzzy, c-format +#| msgid "%s: rename: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: byt namn: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: rad %d: kan inte uppdatera lösenord\n" @@ -1839,14 +1848,14 @@ msgstr "%s: rad %d: chown %s misslyckades: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: rad %d: kan inte uppdatera post\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: misslyckades med att förbereda den nya %s-posten \"%s\"\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: kan inte skapa användare\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: misslyckades med att förbereda den nya %s-posten \"%s\"\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: kan inte skapa grupp\n" @@ -1923,6 +1932,11 @@ msgstr "" "lösenords-\n" " ändring till MAX_DAGAR\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr " -l, --list visa åldringsinformation om kontot\n" + msgid "Old password: " msgstr "Gammalt lösenord: " @@ -1942,6 +1956,11 @@ msgstr "" "Ange det nya lösenordet (minimum %d, maximum %d tecken)\n" "Använd en kombination av gemener, versaler och siffror.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: fälten för långa\n" + msgid "New password: " msgstr "Nytt lösenord: " @@ -1986,6 +2005,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: repository %s stöds inte\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: endast root kan använda flaggan -g/--group\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2139,11 +2163,9 @@ msgstr "%s: signalfel\n" msgid "Session terminated, terminating shell..." msgstr "Sessionen terminerad, terminerar skal..." -#, c-format msgid " ...killed.\n" msgstr " ...dödad.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...väntar på att barn ska termineras.\n" @@ -2230,6 +2252,11 @@ msgstr "%s: Du är inte behörig att använda su för tillfället\n" msgid "No passwd entry for user '%s'\n" msgstr "Ingen lösenordspost för \"root\"" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "ogiltigt användarnamn \"%s\"\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: måste köras från en terminal\n" @@ -2275,6 +2302,13 @@ msgstr "%s: %s skapades men kunde inte tas bort\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: %s-konfigurationen i %s kommer att ignoreras\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: %s-konfigurationen i %s kommer att ignoreras\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2305,10 +2339,6 @@ msgstr "%s: Kan inte skapa symboliska länken %s: %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: byt namn: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: gruppen \"%s\" är en NIS-grupp.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: för många grupper angivna (max %d).\n" @@ -2447,6 +2477,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: ogiltig baskatalog \"%s\"\n" @@ -2594,6 +2629,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Ställer in rättigheter för postlådefil" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Skapar postlådefil" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Skapar postlådefil" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2723,10 +2768,6 @@ msgstr "%s: Kan inte ta bort innehållet i %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: Kan inte ta bort tcb-filer för %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: användaren %s är en NIS-användare\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: %s hemkatalogen (%s) hittades inte\n" @@ -2854,6 +2895,12 @@ msgid "" msgstr "" " -s, --shell SHELL nytt inloggningsskal för användarkontot\n" +#, fuzzy +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -s, --shell SHELL nytt inloggningsskal för användarkontot\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2950,12 +2997,26 @@ msgstr "" "%s: misslyckades med att kopiera lastlog-posten för användaren %lu till " "användaren %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: misslyckades med att kopiera lastlog-posten för användaren %lu till " +"användaren %lu: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: misslyckades med att kopiera faillog-posten för användaren %lu till " "användaren %lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: misslyckades med att kopiera faillog-posten för användaren %lu till " +"användaren %lu: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: varning: %s ägs inte av %s\n" @@ -3057,8 +3118,8 @@ msgstr "" msgid "failed to stat edited file" msgstr "misslyckades med att ta status på redigerade filen" -msgid "failed to allocate memory" -msgstr "misslyckades att allokera minne" +msgid "asprintf(3) failed" +msgstr "" msgid "failed to create backup file" msgstr "misslyckades med att skapa säkerhetskopia" @@ -3071,6 +3132,49 @@ msgstr "%s: kan inte återställa %s: %s (dina ändringar finns i %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: misslyckades med att hitta tcb-katalog för %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: kan inte ändra användare \"%s\" på en NIS-klient.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: \"%s\" är NIS-master för denna klient.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: gruppen \"%s\" är en NIS-grupp\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s är NIS master\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: gruppen %s är en NIS-grupp\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: gruppen \"%s\" är en NIS-grupp.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: användaren %s är en NIS-användare\n" + +#~ msgid "too simple" +#~ msgstr "för enkelt" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Ingen utmp post. Du måste köra \"login\" från den lägsta nivån \"sh\"" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: misslyckades med att hitta tcb-katalog för %s\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "misslyckades att allokera minne" + #~ msgid "Usage: id\n" #~ msgstr "Användning: id\n" @@ -3086,10 +3190,6 @@ msgstr "%s: misslyckades med att hitta tcb-katalog för %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: information om lösenordets utgång har ändrats.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "ogiltigt användarnamn \"%s\"\n" - #~ msgid "Username Port From Latest" #~ msgstr "Användarnamn Port Från Senast" diff --git a/po/tl.gmo b/po/tl.gmo index a75b187a82b9c5a1c95ea62abf21df0166ac9411..b7b9ab4a0e0cfe9308a67355468a922a6dc00fe9 100644 GIT binary patch delta 4353 zcmYk;3vdvF2x+So89(a%w+pC zCgVj^N5bi58JLHaI26lqKIY*z96B?nWJdP`}f@ouG0R{@eYK!%^x`Irhbgs1p{Uj$4l& z?m~6o7^;Kkun#71u+A?)567ZLb~aYwQe=?qee`vw$EbMt4Hjb@J2etz_(PoRwpXLa z_Aa;o7;1zrqVBvOx2X;dLl387H7-Lw_90&kvUQ-Ye>R)(*N`UDecHAms5_`f9e5Aw z_hrb(n)%Y2*o(U0XQ)N_SM)HMlhuJzR0FqR5iUX9@itUP-$Mr5KJCN!H&XeU9Yb(7 zkAR0;PzSVQ5Bvh_@DysX4rCrU#mZ3^9*_KFcVRzVfoiB3bzB=(;O|jSQzG-KDe3J~ z(SZYT7*@LNg>HK-YE`#8e}fv4lgQ&^-B`+MI1zawZ4eH}3ed z>cVF*4&!(lY(O>q0qVk^quvL{QFjo}FlmwXM_qU* z>O$41_ry3{8Zuk#_J7aIK~r`ab)#j4yv}hC*5LUzMZE+8P4t4(&$<(N3W{p2@JXzO4Y&p@~(DzlPpthvsG{@~*L?s0)9G>TxXN zoP}wq4i%$Dr~%V)q1$dmkL?|(>mJ1$@EmF_mC-v7C!x+;Jkk$(vd-;jL*3aYs1v?& z#?%CJJP6f+2GpG`N7j|Kq89PruqWoys*Wo`4=3SxT#R~bk6;d-_o?JjN#PmOj#BK4 zM10|>iC!?PCm8hrU9n=~+jUM)?4c?TMsO$N)RCK3v zP;>MQ>JFMw4e!Cu22qPJX>_oig}Rd(REOuG*346==l)sLB0GS&_;=J)_81ckeQ#u0 z_*P6M#1ASO(yp?b$~f`_X>vQeAv0p@$u@E`d7P-I6Dl6jRNPA<eXAj@ zM316MA<^93q78}`j*6yZ68SOVk?#Bt_Yq_%*kfcF`4w4Aeo5{jQ;43V7_ypZ3RQke z>WHsJb1PAKo@nu?G?Q1!0P-BsD%ZN;CDvK`@cj!?K;9&?$!2nZJWEs#lXc_;GKOp* zDoG@vv&Q^SpmLC~zB-E*iOP@2!z5E1lz9O*8H-2>*+E7V7E}$#*;S zSgYJgenLJXi)i0=QJFzLAW`xmd5Mf7Z`KnTu&OwJLE-DL1vOodibWIK6?G!T{a z0NaDzwS4AN`8AnK-Y3h+8lqB9T1afPD)kScNJ;wG=+^Y4Q1nE`;ZXEs=I>&nALslt zE_&JP**%(FcseGMQ8G39a>?jWq_Q+2nqNArTjWf6YV^-#pT$N$A9imz60S;*wp4FQ Jh)fw<^*`lVwch{$ delta 5074 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\n" "Language-Team: Tagalog \n" @@ -20,222 +20,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n>1;\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "Hindi makapaglaan ng lugar para sa impormasyong pagsasaayos.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"may mali sa pagsasaayos - hindi kilalang item '%s' (ipaalam sa " -"tagapangasiwa)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Kontrasenyas: " - -#, c-format -msgid "%s's Password: " -msgstr "Kontrasenyas ni %s: " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "Hindi mabuksan ang talaksang password\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Hindi makapaglaan ng lugar para sa impormasyong pagsasaayos.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Pinapalitan ang impormasyong pagtanda para kay %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: Hindi makilala ang inyong pangalan.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: linya %d: hindi mahanap ang gumagamit %s\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: nagkulang ng memory\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: hindi ma-apdeyt ang talaksang %s\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: hindi tanggap na directory na tahanan '%s'\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: hindi mapalitan ng pangalan ang directory %s sa %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: hindi malikha ang directory %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: babala: hindi matanggal " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: babala: hindi matanggal " - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: baguhin ang pangalan: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: hindi mapalitan ng pangalan ang directory %s sa %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: hindi mapalitan ng pangalan ang directory %s sa %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: babala: hindi matanggal " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: hindi malikha ang directory %s\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: babala: hindi matanggal " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: hindi ma-apdeyt ang talaksang %s\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: hindi maapdeyt ang talaksang shadow\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: baguhin ang pangalan: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: hindi mabuksan ang talaksang %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Babala: hindi kilalang grupo %s\n" @@ -282,6 +66,11 @@ msgstr "Hindi mabago ang tty %s" msgid "%s: failed to unlock %s\n" msgstr "%s: mahaba masyado ang mga field\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -289,6 +78,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "" + msgid "Environment overflow\n" msgstr "Umapaw ang kapaligiran\n" @@ -393,9 +186,18 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: hindi makakuha ng kakaibang UID\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "Hindi makapaglaan ng lugar para sa impormasyong pagsasaayos.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"may mali sa pagsasaayos - hindi kilalang item '%s' (ipaalam sa " +"tagapangasiwa)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: bigo ang pagpapakilalang PAM\n" @@ -423,7 +225,7 @@ msgstr "Hindi makapaglaan ng lugar para sa impormasyong pagsasaayos.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: hindi mabuksan ang talaksan\n" #, fuzzy, c-format @@ -434,9 +236,21 @@ msgstr "%s: linya %d: bigo ang chown\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: linya %d: bigo ang chown\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: linya %d: bigo ang chown\n" + msgid "Too many logins.\n" msgstr "Labis ang mga login.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s login: " + msgid "You have new mail." msgstr "May bago kang email." @@ -446,6 +260,14 @@ msgstr "Walang email." msgid "You have mail." msgstr "Mayroon kang email." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "walang pagbabago" @@ -458,9 +280,6 @@ msgstr "nagpalit lamang ng laki ng titik" msgid "too similar" msgstr "labis na magkatulad" -msgid "too simple" -msgstr "labis na simple" - msgid "rotated" msgstr "inikot" @@ -507,6 +326,13 @@ msgid "" "%s\n" msgstr "passwd: bigo ang pam_start(), error %d\n" +msgid "Password: " +msgstr "Kontrasenyas: " + +#, c-format +msgid "%s's Password: " +msgstr "Kontrasenyas ni %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Maling kontrasenyas para kay %s.\n" @@ -531,17 +357,13 @@ msgstr "%s: hindi tanggap na telepono sa bahay: '%s'\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: hindi malikha ang directory %s\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: hindi malikha ang directory %s\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: hindi malikha ang directory %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: hindi malikha ang directory %s\n" #, c-format msgid "" @@ -556,6 +378,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "Hindi mabuksan ang talaksang password\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Hindi makapaglaan ng lugar para sa impormasyong pagsasaayos.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Hindi makapaglaan ng lugar para sa impormasyong pagsasaayos.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Pinapalitan ang impormasyong pagtanda para kay %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: Hindi makilala ang inyong pangalan.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: linya %d: hindi mahanap ang gumagamit %s\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Hindi makalipat sa '%s'\n" @@ -567,6 +490,10 @@ msgstr "Walang directory, pumapasok na ang HOME=/" msgid "Cannot execute %s" msgstr "Hindi mapatakbo ang %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Hindi tanggap na root directory '%s'\n" @@ -575,6 +502,84 @@ msgstr "Hindi tanggap na root directory '%s'\n" msgid "Can't change root directory to '%s'\n" msgstr "Hindi mapalitan ang root directory sa '%s'\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: nagkulang ng memory\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: hindi ma-apdeyt ang talaksang %s\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: hindi tanggap na directory na tahanan '%s'\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: hindi mapalitan ng pangalan ang directory %s sa %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: hindi malikha ang directory %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: babala: hindi matanggal " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: babala: hindi matanggal " + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: baguhin ang pangalan: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: hindi mapalitan ng pangalan ang directory %s sa %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: hindi mapalitan ng pangalan ang directory %s sa %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: babala: hindi matanggal " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: hindi malikha ang directory %s\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: babala: hindi matanggal " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: hindi ma-apdeyt ang talaksang %s\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: hindi maapdeyt ang talaksang shadow\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: baguhin ang pangalan: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: hindi mabuksan ang talaksang %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: gumagamit na si %s ay kasalukuyang nakapasok\n" @@ -634,6 +639,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -659,12 +667,15 @@ msgstr "Inaktibo ang Password" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Hangganan ng Account (YYYY-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Huling Pagpalit ng Password : " - msgid "never" msgstr "Hindi kailanman" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Huling Pagpalit ng Password : " + msgid "password must be changed" msgstr "kailangan palitan ang password" @@ -832,14 +843,6 @@ msgstr "%s: '%s' ay may hindi legal na mga karakter\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: walang gumagamit na nagngangalang %s\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: hindi mapalitan ang gumagamit '%s' sa NIS client.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: '%s' ay ang NIS master ng klienteng ito.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Pinapalitan ang impormasyon tungkol sa gumagamit na si %s\n" @@ -868,6 +871,10 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr "" +#, c-format +msgid "%s: no crypt method defined\n" +msgstr "" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: ang flag na -a ay pinapayagan LAMANG kung kasama ang flag na -G\n" @@ -918,6 +925,15 @@ msgstr "" msgid "Login Shell" msgstr "Login Shell" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: hindi mapalitan ng pangalan ang directory %s sa %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: hindi malikha ang bagong talaksan ng mga default\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Hindi niyo mapapalitan ang shell para kay %s.\n" @@ -930,6 +946,10 @@ msgstr "Pinapalitan ang login shell ni %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Hindi tanggap na entry: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "Ang %s ay hindi tanggap na shell.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "Ang %s ay hindi tanggap na shell.\n" @@ -1140,9 +1160,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1155,6 +1172,10 @@ msgstr "hindi tanggap na pangalan '%s'\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: hindi tanggap na pangalan ng grupo ang %s\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: hindi mabuksan ang talaksang %s\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "hindi tanggap na pangalan ng grupo '%s'\n" @@ -1197,14 +1218,6 @@ msgstr "%s: hindi mapalitan ang gumagamit '%s' sa NIS client.\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: walang grupong %s\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: ang grupong '%s' ay grupong NIS.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s ay ang NIS master\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: ang gumagamit na %s ay nasa NIS\n" @@ -1280,10 +1293,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "hindi tanggap na pangalan ng grupo '%s'\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: ang grupong %s ay grupong NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: di kilalang gumagamit %s\n" @@ -1398,7 +1407,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1492,11 +1501,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Walang nakapasok sa utmp. Kailangan niyong mag-exec \"login\" mula sa " -"pinakamababang antas ng \"sh\"" - #, fuzzy, c-format msgid "" "\n" @@ -1530,14 +1534,6 @@ msgstr "Maling pagpasok" msgid "Cannot find user (%s)\n" msgstr "%s: linya %d: hindi mahanap ang gumagamit %s\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s login: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: bigo sa pag-fork: %s" @@ -1574,7 +1570,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1599,17 +1596,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: mahaba masyado ang mga field\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: hindi tanggap na batayang directory '%s'\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: hindi malikha ang directory %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1643,14 +1636,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: hindi malikha ang directory %s\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1671,6 +1663,10 @@ msgstr "%s: hindi tanggap na pangalan `%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: hindi tanggap na pangalan `%s'\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: linya %d: hindi tanggap na linya\n" @@ -1691,6 +1687,10 @@ msgstr "%s: linya %d: hindi makalikha ng GID\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: walang gumagamit na nagngangalang %s\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: baguhin ang pangalan: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: linya %d: hindi ma-apdeyt ang kontrasenyas\n" @@ -1711,14 +1711,14 @@ msgstr "%s: linya %d: bigo ang chown\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: linya %d: hindi ma-apdeyt ang ipinasok\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: bigo sa pagtanggal ng mga pribilehiyo (%s)\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: hindi malikha ang %s\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: bigo sa pagtanggal ng mga pribilehiyo (%s)\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: hindi ma-apdeyt ang talaksang grupo\n" @@ -1777,6 +1777,9 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "Lumang kontrasenyas:" @@ -1796,6 +1799,11 @@ msgstr "" "Ibigay ang bagong kontrasenyas (minimum na %d, maximum na %d karakter)\n" "Gumamit ng kombinasyon ng malaki at maliit na titik at mga numero.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: mahaba masyado ang mga field\n" + msgid "New password: " msgstr "Bagong password: " @@ -1836,6 +1844,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: hindi suportado ang repositoryong %s\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -1980,11 +1992,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2072,6 +2082,11 @@ msgstr "Hindi kayo awtorisadong gumamit ng su %s\n" msgid "No passwd entry for user '%s'\n" msgstr "Walang ipinasok sa password para sa 'root'" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "hindi tanggap na pangalan '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: kinakailangang patakbuhin mula sa isang terminal\n" @@ -2117,6 +2132,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2147,10 +2168,6 @@ msgstr "%s: hindi malikha ang directory %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: baguhin ang pangalan: %s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: ang grupong '%s' ay grupong NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: sobrang dami ng grupo ang nakatakda (max %d).\n" @@ -2260,6 +2277,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: hindi tanggap na batayang directory '%s'\n" @@ -2391,6 +2413,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Itinatakda ang pahintulot sa talaksang mailbox" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Inililikha ang talaksang mailbox" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Inililikha ang talaksang mailbox" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2512,10 +2544,6 @@ msgstr "%s: hindi mapalitan ng pangalan ang directory %s sa %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: hindi mapalitan ng pangalan ang directory %s sa %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: ang gumagamit na %s ay nasa NIS\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: hindi tanggap na directory na tahanan '%s'\n" @@ -2614,6 +2642,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2697,10 +2729,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: hindi maapdeyt ang talaksang password\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: hindi malikha ang directory %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: babala: %s ay hindi pag-aari ni %s\n" @@ -2806,8 +2846,9 @@ msgid "failed to stat edited file" msgstr "bigo sa pagpalit ng pangalan ng mailbox" #, fuzzy -msgid "failed to allocate memory" -msgstr "bigo sa pagpalit ng may-ari ng mailbox" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: hindi mabuksan ang talaksan\n" #, fuzzy msgid "failed to create backup file" @@ -2821,6 +2862,50 @@ msgstr "%s: hindi maibalik ang %s: %s (ang mga pagbabago ay nasa %s)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: hindi tanggap na batayang directory '%s'\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: hindi mapalitan ang gumagamit '%s' sa NIS client.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: '%s' ay ang NIS master ng klienteng ito.\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: ang grupong '%s' ay grupong NIS.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s ay ang NIS master\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: ang grupong %s ay grupong NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: ang grupong '%s' ay grupong NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: ang gumagamit na %s ay nasa NIS\n" + +#~ msgid "too simple" +#~ msgstr "labis na simple" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Walang nakapasok sa utmp. Kailangan niyong mag-exec \"login\" mula sa " +#~ "pinakamababang antas ng \"sh\"" + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: hindi tanggap na batayang directory '%s'\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "bigo sa pagpalit ng may-ari ng mailbox" + #~ msgid "Usage: id\n" #~ msgstr "Pag-gamit: id\n" @@ -2836,10 +2921,6 @@ msgstr "%s: hindi tanggap na batayang directory '%s'\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Babala ng Paglipas ng Taning ng Password" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "hindi tanggap na pangalan '%s'\n" - #~ msgid "Username Port From Latest" #~ msgstr "Pangalan Puerta Mula Hulihan" diff --git a/po/tr.gmo b/po/tr.gmo index 6197b64e5a3f000402716a548de8a514751b735f..67052f9ec7ad2c2f0ac9f3b16817b21da4d453fc 100644 GIT binary patch delta 4768 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 U&_H{^Rd1kw>A{GGi&Jv`2e9Yi-2eap delta 5473 zcmZYC33OD|9mnw-3=k4R2(pDhxCFyaWC=S02_UjXz=fg(3CSdxW|D!K41xlKR%%(R zA|TWn6iZ|)#*sp0v69fTD2qUqut;g4dTi?{mL9Fz)9-KIn;zQUGynPA``(-T{&#tg z@a@L9jho}bS6alcGnA`Ddqrbo`p0228kA347?XsbVHdoGk74^ejTwrIus80-Hh3L7 z<9FB=JGFG$L$N9CS(u1rm|#rU%%?Jk17Y{XHB6!X7bF++9j0Q#R>q`Z8_dGKuG6s> z?Zwy*x4XxWU~Af+qsG#Jh7wFgx-{K!IQKUr+!IeCAG4OPez+Zb;$`fJP5AX)*c~%5 zAC<^F9D^HBBff;)@D?he3=ZmdL(t+Z)C`5O4fi)&sPHlS`BG-*Z~}gYT9O=wtpui` z#d)Zic!4h^yc4;XsYQzyu>*eV9&bk$O1K|p;6teED>1AKS5dLJ9d)AwX z8`K=e1^6*Oi&Gg+f4qPkGRe%huFJ+II0naIKI(B=k4pGe9E1l^H@fATKsHRONk_Ug zgHZ{DAEBZj`f&)ZL_P0EP-}Vyb>Z)EApXN`_hvfO&O;@#5cQb7=Xx6Xm{0iPIXCf4 zgAz!_=GX&Aaep(6%3uyGLUphQ8)6+QvE!(zzJUzJe1%$~bmm)|sy}K5CZQhN>8SH7 zkkv4+p$2pqEuKUr@CCNk^KZI3o2(7;F{Am?jml67tU>mb*^Wx&DC&mws3p0My8au~ z8KeQj#|r!sFBTbosat6 z8rN;88`Po2KO?JUl6yF>-oB`WN1z7sAcjX$DW;-#_*T>p&Y^Dj6>9C1cn0-Di<)dv|>zAk*ZOSvO-*xN7{A=p&Uak> z#N*fmPoom8N0!n23zIO5QLsHsU)1sGsDziG`rUx!V5(39IMJK=*Jk*X1M2u|R7ZDY zJ4=y*^ljSV$~bm9Hl=;`Zs$fnz>Op@3bhydAs;h=FP7UZMvbr*u4_=g+l^X+ zGpLb&gX1uDs58JB*pl|s*akOXI`=obsj%cLCwTVsF`@j^^d6EH)A95K$wBZel{f|ng2VfY~(;H?m}hyE{5>fOW1SzCVk6q~Q5`Hsb+8pXVFa~D&ZGMI789`fz0ThOY1o1GRODS{{HVmLP)iZs zMMYC}1+(yDWvH2Z9ed$X z)Xd#Noo_YS=_dy*_c!@eH1&SeNY?2D9>fH^g1p4cpYSg1$aE#+7}ShRLv6-FWJ=9T zn1si$2cE}nsL?6m?x^48qW=9c)2L+QGwz89Cep4$b#%&YUqn6cH!u#D5wY?n6%B$M z%`3#i#1Dv(gv#RtuMbl}_=(j7MdNp}lG_OSHig6qVg$i5nV%9W&kHdh z{x4XM?uWz$Lgh80I$Cqy4~?m7kHpH|RCW+oV;MG}p-rXIh&V=ERD-gVcu^G!Pp9z_ zi`8(;1Nao7&8D(|SV-imLFrAzM{CCX3|A1PM1+XlKl)$rUvS`kLgj7Z3NejnL8xf2 zsJ!f8PUA|V3Goo2=X^aefOwDCOUxpg5&ejL#8%=Gq4Jy9{f|3sa|g~PIud(`9}*LZ zUlZqvp2TG$M0klO2$fHW*@T{+M~IU|XJQ7SQcj#B1`}%um5+#YjbD$>a-yE#ZwzyQ zP&wpaevG4uBDYj&|%+m1Jhawk9l*L8yF> z7({F)`V)tVvqUoSePTDEvW}Pi(PZ6Ro?~!O9KATT$>eCrv=f|(Ibf_D>&3TCu8@#?R2D3+qdEq zodfDWQr*5qH#^zC=7K~BJ#m^t2nJ1?O*p`uVAHZ`1$&dh(EkKD|;t6}Tdq1)~q ztgDH{4Q-h)GcROyIyzG&-1113*U7-gl#Q*hMYRWxRMj3Ri%yAJPk0ta(~M1^*Va}S o`08rNxUMEpt}2}~!Y8tAq-EZo#KhWaf0>;*=GXMYp diff --git a/po/tr.po b/po/tr.po index 2caeb905..0aa9f4f5 100644 --- a/po/tr.po +++ b/po/tr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2008-03-29 20:31+0200\n" "Last-Translator: Mehmet Türker \n" "Language-Team: Türkçe \n" @@ -19,223 +19,6 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: KBabel 1.11.1\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"'%s' içinde '%s' isminde birden fazla giriş mevcut. Lütfen bunu pwck yada " -"grpck kullanarak düzeltin.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "kripto medotu libcrypt tarafından desteklenmiyor? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "" - -msgid "Could not allocate space for config info.\n" -msgstr "Yapılandırma bilgileri için yer ayrılamadı.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"yapılandırma hatası - bilinmeyen öğe '%s' (sistem yöneticisine bildirin)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "" - -msgid "Password: " -msgstr "Parola: " - -#, c-format -msgid "%s's Password: " -msgstr "%s kullanıcı parolası: " - -#, fuzzy -#| msgid "Cannot open the password file.\n" -msgid "Cannot open audit interface.\n" -msgstr "Parola dosyası açılamıyor.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Could not set sename for %s\n" -msgstr "Yapılandırma bilgileri için yer ayrılamadı.\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "%s için ömür bilgisi değiştiriliyor\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "" - -#, fuzzy, c-format -msgid "Cannot create SELinux user key\n" -msgstr "%s: Kullanıcı isminiz belirlenemedi.\n" - -#, fuzzy, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "%s: satır %d: kullanıcı %s bulunamadı\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: yetersiz bellek\n" - -#, fuzzy, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: %s dosyası güncellenemiyor\n" - -#, fuzzy, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: geçersiz ev dizini '%s'\n" - -#, fuzzy, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: %s dizini %s olarak yeniden adlandırılamıyor\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: %s dizini yaratılamıyor\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: uyarı: silinemiyor " - -#, fuzzy, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: uyarı: silinemiyor " - -#, fuzzy, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: yeniden adlandırma: %s" - -#, fuzzy, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: %s dizini %s olarak yeniden adlandırılamıyor\n" - -#, fuzzy, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: %s dizini %s olarak yeniden adlandırılamıyor\n" - -#, fuzzy, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: uyarı: silinemiyor " - -#, fuzzy, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: %s dizini yaratılamıyor\n" - -#, fuzzy, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: uyarı: silinemiyor " - -#, fuzzy, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: %s dosyası güncellenemiyor\n" - -#, fuzzy, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: gölge dosyası güncellenemedi\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" - -#, fuzzy, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: yeniden adlandırma: %s" - -#, fuzzy, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: %s dosyası açılamıyor\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Uyarı: bilinmeyen grup %s\n" @@ -282,6 +65,13 @@ msgstr "Geçilemeyen tty: %s" msgid "%s: failed to unlock %s\n" msgstr "%s: alanlar çok uzun\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"'%s' içinde '%s' isminde birden fazla giriş mevcut. Lütfen bunu pwck yada " +"grpck kullanarak düzeltin.\n" + #, fuzzy, c-format msgid "%s: " msgstr "%s: %s\n" @@ -289,6 +79,10 @@ msgstr "%s: %s\n" msgid ": " msgstr "" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "kripto medotu libcrypt tarafından desteklenmiyor? (%s)\n" + msgid "Environment overflow\n" msgstr "Ortam taşması\n" @@ -385,9 +179,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "Benzersiz bir UID alınamıyor (mevcut UID yok)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" +msgid "configuration error - cannot parse %s value: '%s'" msgstr "" +msgid "Could not allocate space for config info.\n" +msgstr "Yapılandırma bilgileri için yer ayrılamadı.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"yapılandırma hatası - bilinmeyen öğe '%s' (sistem yöneticisine bildirin)\n" + #, fuzzy, c-format msgid "%s: Memory allocation failure\n" msgstr "%s: PAM yetkilendirmesi başarısız oldu\n" @@ -415,7 +217,7 @@ msgstr "Yapılandırma bilgileri için yer ayrılamadı.\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: dosya açılamıyor\n" #, fuzzy, c-format @@ -426,9 +228,21 @@ msgstr "%s: satır %d: chown başarısız oldu\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: satır %d: chown başarısız oldu\n" +#, fuzzy, c-format +msgid "%s: closing %s failed: %s\n" +msgstr "%s: satır %d: chown başarısız oldu\n" + msgid "Too many logins.\n" msgstr "Çok fazla oturum.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s giriş: " + msgid "You have new mail." msgstr "Yeni e-postanız var." @@ -438,6 +252,14 @@ msgstr "E-Posta yok." msgid "You have mail." msgstr "E-Postanız var." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "" + msgid "no change" msgstr "değişiklik yok" @@ -450,9 +272,6 @@ msgstr "sadece durum değişiklikleri" msgid "too similar" msgstr "çok benzer" -msgid "too simple" -msgstr "çok basit" - msgid "rotated" msgstr "döndürülmüş" @@ -499,6 +318,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() başarısız, hata %d\n" +msgid "Password: " +msgstr "Parola: " + +#, c-format +msgid "%s's Password: " +msgstr "%s kullanıcı parolası: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "`%s' için yanlış parola\n" @@ -523,17 +349,13 @@ msgstr "%s: geçersiz ev telefonu: '%s'\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: %s dizini yaratılamıyor\n" -#, fuzzy, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: %s dizini yaratılamıyor\n" - #, fuzzy, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: %s dizini yaratılamıyor\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: %s dizini yaratılamıyor\n" #, c-format msgid "" @@ -550,6 +372,107 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open the password file.\n" +msgid "Cannot open audit interface.\n" +msgstr "Parola dosyası açılamıyor.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Could not set serange for %s to %s\n" +msgstr "Yapılandırma bilgileri için yer ayrılamadı.\n" + +#, fuzzy, c-format +msgid "Could not set sename for %s\n" +msgstr "Yapılandırma bilgileri için yer ayrılamadı.\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "%s için ömür bilgisi değiştiriliyor\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "" + +#, fuzzy, c-format +msgid "Cannot create SELinux user key\n" +msgstr "%s: Kullanıcı isminiz belirlenemedi.\n" + +#, fuzzy, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "%s: satır %d: kullanıcı %s bulunamadı\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "\"%s\" dizinine geçilemiyor\n" @@ -561,6 +484,10 @@ msgstr "Dizin yok, HOME=/ ile giriş yapılıyor" msgid "Cannot execute %s" msgstr "%s çalıştırılamıyor" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Geçersiz kök dizin '%s'\n" @@ -569,6 +496,84 @@ msgstr "Geçersiz kök dizin '%s'\n" msgid "Can't change root directory to '%s'\n" msgstr "Kök dizin '%s' olarak değiştirilemiyor\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: yetersiz bellek\n" + +#, fuzzy, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: %s dosyası güncellenemiyor\n" + +#, fuzzy, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: geçersiz ev dizini '%s'\n" + +#, fuzzy, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: %s dizini %s olarak yeniden adlandırılamıyor\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: %s dizini yaratılamıyor\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: uyarı: silinemiyor " + +#, fuzzy, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: uyarı: silinemiyor " + +#, fuzzy, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: yeniden adlandırma: %s" + +#, fuzzy, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: %s dizini %s olarak yeniden adlandırılamıyor\n" + +#, fuzzy, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: %s dizini %s olarak yeniden adlandırılamıyor\n" + +#, fuzzy, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: uyarı: silinemiyor " + +#, fuzzy, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: %s dizini yaratılamıyor\n" + +#, fuzzy, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: uyarı: silinemiyor " + +#, fuzzy, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: %s dosyası güncellenemiyor\n" + +#, fuzzy, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: gölge dosyası güncellenemedi\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" + +#, fuzzy, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: yeniden adlandırma: %s" + +#, fuzzy, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: %s dosyası açılamıyor\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: kullanıcı %s şu an oturumda\n" @@ -637,6 +642,9 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr "" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr "" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -662,12 +670,15 @@ msgstr "Parola Pasif" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Hesap Bitimi Tarihi (YYYY-AA-GG)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Son Parola Değişimi\t\t\t\t\t: " - msgid "never" msgstr "Hiçbir zaman" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Son Parola Değişimi\t\t\t\t\t: " + msgid "password must be changed" msgstr "Parola değiştirilmeli" @@ -835,14 +846,6 @@ msgstr "%s: '%s' geçersiz karakterler içeriyor\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: kullanıcı `%s' mevcut değil\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: kullanıcı `%s' NIS istemcisinde değiştirilemedi.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: `%s' bu istemci için NIS efendisidir.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "%s için kullanıcı bilgileri değiştiriliyor\n" @@ -880,6 +883,11 @@ msgstr "" " -s, --sha-rounds SHA* kripto algoritmaları için kullanılacak\n" " SHA yuvarlamaları sayısı\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: desteklenmeyen kripto metodu: %s\n" + #, fuzzy, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: %s bayrağına SADECE %s bayrağı ile kullanıldığında izin verilir\n" @@ -930,6 +938,15 @@ msgstr "" msgid "Login Shell" msgstr "Oturum Kabuğu" +#, fuzzy, c-format +msgid "Cannot parse shell files: %s" +msgstr "%s: %s dizini %s olarak yeniden adlandırılamıyor\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: yeni varsayılanlar dosyası oluşturulamadı\n" + #, fuzzy, c-format msgid "You may not change the shell for '%s'.\n" msgstr "%s için kabuğu değiştiremezsiniz.\n" @@ -942,6 +959,10 @@ msgstr "%s için oturum kabuğu değiştiriliyor\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: Geçersiz kayıt: %s\n" +#, fuzzy, c-format +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s geçersiz bir kabuk.\n" + #, fuzzy, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s geçersiz bir kabuk.\n" @@ -1161,9 +1182,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr "" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr "" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" @@ -1176,6 +1194,10 @@ msgstr "geçersiz kullanıcı adı '%s'\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: %s geçerli bir grup adı değil\n" +#, fuzzy, c-format +msgid "%s: cannot open %s: %s\n" +msgstr "%s: %s dosyası açılamıyor\n" + #, fuzzy, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: geçersiz grup adı `%s'\n" @@ -1220,14 +1242,6 @@ msgstr "" msgid "%s: group '%s' does not exist\n" msgstr "%s: grup %s mevcut değil\n" -#, fuzzy, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: grup '%s' bir NIS grubu.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s NIS efendisidir\n" - #, fuzzy, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: kullanıcı %s bir NIS kullanıcısı\n" @@ -1309,10 +1323,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: geçersiz grup adı `%s'\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: grup %s bir NIS grubudur\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: bilinmeyen kullanıcı %s\n" @@ -1430,7 +1440,7 @@ msgid "" msgstr "" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" @@ -1524,11 +1534,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Bu bir utmp girişi değil. En düşük \"sh\" düzeyinde \"login\" i " -"çalıştırmalısınız. " - #, fuzzy, c-format msgid "" "\n" @@ -1562,14 +1567,6 @@ msgstr "Giriş geçersiz" msgid "Cannot find user (%s)\n" msgstr "%s: satır %d: kullanıcı %s bulunamadı\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s giriş: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: çatallama hatası: %s" @@ -1606,7 +1603,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1631,17 +1629,13 @@ msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: alanlar çok uzun\n" #, fuzzy, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: geçersiz ana dizin '%s'\n" - -#, fuzzy, c-format -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: %s dizini yaratılamıyor\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1674,14 +1668,13 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: %s dizini yaratılamıyor\n" msgid " -b, --badname allow bad names\n" msgstr "" @@ -1702,6 +1695,10 @@ msgstr "%s: geçersiz kullanıcı adı '%s'\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: geçersiz kullanıcı adı '%s'\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: satır %d: geçersiz satır\n" @@ -1724,6 +1721,10 @@ msgstr "%s: satır %d: grup yaratılamıyor\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: kullanıcı `%s' mevcut değil\n" +#, fuzzy, c-format +msgid "%s: line %d: %s\n" +msgstr "%s: yeniden adlandırma: %s" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: satır %d: parola güncellenemiyor\n" @@ -1744,14 +1745,14 @@ msgstr "%s: satır %d: chown başarısız oldu\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: satır %d: kayıt güncellenemiyor\n" -#, fuzzy, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: ayrıcalıklar iptal edilemedi (%s)\n" - #, fuzzy, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: kullanıcı yaratılamıyor\n" +#, fuzzy, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: ayrıcalıklar iptal edilemedi (%s)\n" + #, fuzzy, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: grup dosyası güncellenemiyor\n" @@ -1819,6 +1820,9 @@ msgstr "" " -s, --sha-rounds SHA* kripto algoritmaları için kullanılacak\n" " SHA yuvarlamaları sayısı\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" + msgid "Old password: " msgstr "Eski parola: " @@ -1838,6 +1842,11 @@ msgstr "" "Yeni parolayı girin (asgari %d, azami %d karakter)\n" "Lütfen büyük, küçük harf ve rakamların bir kombinasyonunu kullanın.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: alanlar çok uzun\n" + msgid "New password: " msgstr "Yeni parola: " @@ -1882,6 +1891,10 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: depo %s desteklenmiyor\n" +#, c-format +msgid "%s: only root can use --stdin/-s option\n" +msgstr "" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "" @@ -2025,11 +2038,9 @@ msgstr "" msgid "Session terminated, terminating shell..." msgstr "" -#, c-format msgid " ...killed.\n" msgstr "" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr "" @@ -2116,6 +2127,11 @@ msgstr "su %s için yetkili değilsiniz\n" msgid "No passwd entry for user '%s'\n" msgstr "'root' için parola kaydı yok" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "geçersiz kullanıcı adı '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: bir terminalden çalıştırılmalı\n" @@ -2161,6 +2177,12 @@ msgstr "" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "" +#, c-format +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2191,10 +2213,6 @@ msgstr "%s: %s dizini yaratılamıyor\n" msgid "%s: rename: %s: %s\n" msgstr "%s: yeniden adlandırma: %s" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: grup '%s' bir NIS grubu.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: çok fazla grup verildi (azami %d).\n" @@ -2322,6 +2340,11 @@ msgid "" "mapping\n" msgstr "" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: geçersiz ana dizin '%s'\n" @@ -2453,6 +2476,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Mail kutusu dosyası için yetkiler ayarlanıyor" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Mesaj kutusu dosyası yaratılıyor" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Mesaj kutusu dosyası yaratılıyor" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2578,10 +2611,6 @@ msgstr "%s: %s dizini %s olarak yeniden adlandırılamıyor\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: %s dizini %s olarak yeniden adlandırılamıyor\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: kullanıcı %s bir NIS kullanıcısı\n" - #, fuzzy, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: geçersiz ev dizini '%s'\n" @@ -2695,6 +2724,10 @@ msgid "" "account\n" msgstr "" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" + #, fuzzy, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2781,10 +2814,18 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: parola dosyası güncellenemedi\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" +#, fuzzy, c-format +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: %s dizini yaratılamıyor\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: uyarı: %s %s kullanıcısına ait değil\n" @@ -2893,8 +2934,9 @@ msgid "failed to stat edited file" msgstr "postakutusu isim değişikliği başarısız" #, fuzzy -msgid "failed to allocate memory" -msgstr "postakutusu sahibi değiştirilmedi" +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s: dosya açılamıyor\n" #, fuzzy msgid "failed to create backup file" @@ -2908,6 +2950,50 @@ msgstr "%s: %s geri yüklenemiyor: %s (değişiklikleriniz %s içinde)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: geçersiz ana dizin '%s'\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: kullanıcı `%s' NIS istemcisinde değiştirilemedi.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: `%s' bu istemci için NIS efendisidir.\n" + +#, fuzzy, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: grup '%s' bir NIS grubu.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s NIS efendisidir\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: grup %s bir NIS grubudur\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: grup '%s' bir NIS grubu.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: kullanıcı %s bir NIS kullanıcısı\n" + +#~ msgid "too simple" +#~ msgstr "çok basit" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Bu bir utmp girişi değil. En düşük \"sh\" düzeyinde \"login\" i " +#~ "çalıştırmalısınız. " + +#, fuzzy, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: geçersiz ana dizin '%s'\n" + +#, fuzzy +#~ msgid "failed to allocate memory" +#~ msgstr "postakutusu sahibi değiştirilmedi" + #~ msgid "Usage: id\n" #~ msgstr "Kullanım: id\n" @@ -2923,10 +3009,6 @@ msgstr "%s: geçersiz ana dizin '%s'\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Parola Kullanım Süresi Bitti Uyarısı" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "geçersiz kullanıcı adı '%s'\n" - #~ msgid "Username Port From Latest" #~ msgstr "Kullanıcı adı Port Kimden Sonuncu" diff --git a/po/uk.gmo b/po/uk.gmo index 4fff73a3e1b89b439a6660165c17413689c11a01..4a047038d912d95a7d093fcf07a5efea3c13575c 100644 GIT binary patch delta 14221 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 delta 16789 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 diff --git a/po/uk.po b/po/uk.po index c6099f34..68a4130e 100644 --- a/po/uk.po +++ b/po/uk.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.18\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2022-05-16 19:32+0300\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" @@ -19,225 +19,6 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 20.12.0\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Виявлено декілька записів із назвою «%s» у %s. Будь ласка, виправте це за " -"допомогою pwck або grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "Підтримку методу шифрування не передбачено у libcrypt? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "помилка налаштувань - не вдалося обробити значення %s: «%s»" - -msgid "Could not allocate space for config info.\n" -msgstr "Не вдалося отримати пам'ять для даних налаштувань.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "" -"помилка у налаштуваннях - невідомий запис «%s» (повідомте адміністратора)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: роботу nscd не завершено штатно (сигнал %d)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: роботу nscd завершено зі станом %d\n" - -msgid "Password: " -msgstr "Пароль: " - -#, c-format -msgid "%s's Password: " -msgstr "Пароль користувача %s: " - -msgid "Cannot open audit interface.\n" -msgstr "Не вдалося відкрити інтерфейс рецензування.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "%s: не вдалося отримати попередній контекст процесу SELinux: %s\n" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "Не вдалося створити дескриптор керування SELinux\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "Правила SELinux не є керованими\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "Не вдалося виконати читання правил SELinux зі сховища\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "Не вдалося встановити з'єднання керування SELinux\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "Не вдалося розпочати операцію SELinux\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "Не вдалося опитати seuser для %s\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "Не вдалося встановити serange для %s\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "Не вдалося встановити sename для %s\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "Не вдалося змінити прив'язку облікового запису для %s\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Не вдалося створити прив'язку облікового запису SELinux для %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "Не вдалося вказати назву %s\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "Не вдалося встановити користувача SELinux для %s\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "Не вдалося додати прив'язку входу для %s\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "Не вдалося ініціалізувати керування SELinux\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "Не вдалося створити ключ користувача SELinux\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "Не вдалося пройти перевірку користувача SELinux\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "Не вдалося змінити прив'язку користувача SELinux\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "Не вдалося додати прив'язку користувача SELinux\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "Не вдалося внести операцію SELinux\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"Прив'язку облікового запису для %s не визначено. Це нормально, якщо " -"використано типову прив'язку\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "Прив'язку входу для %s визначено у правилах, не вдалося вилучити\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "Не вдалося вилучити mapping входу для %s" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: брак пам'яті\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: не вдалося виконати stat %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s не є ні каталогом, ні символічним посиланням.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: не вдалося прочитати символічне посилання %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: підозріливо довге символічне посилання: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: не вдалося створити каталог %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: не вдалося змінити власника %s: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: не вдалося змінити режим доступу до %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: скасування посилання: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: не вдалося вилучити каталог %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: не вдалося перейменувати %s на %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: не вдалося вилучити %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: не вдалося створити символічне посилання %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: не вдалося змінити власників %s: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: не вдалося виконати lstat %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: попередження, у користувача %s немає файла shadow tcb.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: критична ситуація: shadow tcb %s не є звичайним файлом з st_nlink=1.\n" -"Обліковий запис залишився заблокованим.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: не вдалося відкрити %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Попередження: невідома група %s\n" @@ -286,6 +67,13 @@ msgstr "" msgid "%s: failed to unlock %s\n" msgstr "%s: не вдалося розблокувати %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Виявлено декілька записів із назвою «%s» у %s. Будь ласка, виправте це за " +"допомогою pwck або grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -293,6 +81,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "Підтримку методу шифрування не передбачено у libcrypt? (%s)\n" + msgid "Environment overflow\n" msgstr "Переповнення середовища\n" @@ -412,8 +204,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: не вдалося отримати унікальний UID (більше немає доступних UID)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "%s: недостатньо аргументів для формування %u прив'язок\n" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "помилка налаштувань - не вдалося обробити значення %s: «%s»" + +msgid "Could not allocate space for config info.\n" +msgstr "Не вдалося отримати пам'ять для даних налаштувань.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"помилка у налаштуваннях - невідомий запис «%s» (повідомте адміністратора)\n" #, c-format msgid "%s: Memory allocation failure\n" @@ -439,8 +239,9 @@ msgstr "%s: не вдалося встановити для seteuid %d\n" msgid "%s: Could not set caps\n" msgstr "%s: не вдалося встановити можливості\n" -#, c-format -msgid "%s: snprintf failed!\n" +#, fuzzy, c-format +#| msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s: помилка snprintf!\n" #, c-format @@ -451,9 +252,22 @@ msgstr "%s: помилка під час спроби відкрити %s: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: помилка під час спроби записати %s: %s\n" +#, fuzzy, c-format +#| msgid "%s: open of %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: помилка під час спроби відкрити %s: %s\n" + msgid "Too many logins.\n" msgstr "Забагато входів.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"Запис %s: " + msgid "You have new mail." msgstr "Ви отримали нову пошту." @@ -463,6 +277,14 @@ msgstr "Пошти немає." msgid "You have mail." msgstr "Для вас є пошта." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: роботу nscd не завершено штатно (сигнал %d)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: роботу nscd завершено зі станом %d\n" + msgid "no change" msgstr "без змін" @@ -475,9 +297,6 @@ msgstr "тільки зміна регістру" msgid "too similar" msgstr "занадто подібні" -msgid "too simple" -msgstr "занадто простий" - msgid "rotated" msgstr "переставлені літери" @@ -522,6 +341,13 @@ msgstr "" "%s: (користувач %s) помилка pam_chauthtok(), повідомлення:\n" "%s\n" +msgid "Password: " +msgstr "Пароль: " + +#, c-format +msgid "%s's Password: " +msgstr "Пароль користувача %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Помилковий пароль для %s.\n" @@ -547,17 +373,14 @@ msgstr "%s: некоректний шлях chroot «%s»\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: не вдалося отримати доступ до каталогу chroot %s: %s\n" -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: не вдалося змінити каталог на каталог chroot %s: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: не вдалося виконати chroot до каталогу %s: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "Не вдалося отримати випадкові байти.\n" +#, fuzzy, c-format +#| msgid "%s: cannot chdir to chroot directory %s: %s\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: не вдалося змінити каталог на каталог chroot %s: %s\n" #, c-format msgid "" @@ -577,6 +400,108 @@ msgstr "" "у ENCRYPT_METHOD і відповідні налаштування для вибраного вами методу " "хешування.\n" +msgid "Cannot open audit interface.\n" +msgstr "Не вдалося відкрити інтерфейс рецензування.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "%s: не вдалося отримати попередній контекст процесу SELinux: %s\n" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "Не вдалося створити дескриптор керування SELinux\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "Правила SELinux не є керованими\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "Не вдалося виконати читання правил SELinux зі сховища\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "Не вдалося встановити з'єднання керування SELinux\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "Не вдалося розпочати операцію SELinux\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "Не вдалося опитати seuser для %s\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "Не вдалося встановити serange для %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "Не вдалося встановити sename для %s\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "Не вдалося змінити прив'язку облікового запису для %s\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Не вдалося створити прив'язку облікового запису SELinux для %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "Не вдалося вказати назву %s\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "Не вдалося встановити користувача SELinux для %s\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "Не вдалося додати прив'язку входу для %s\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "Не вдалося ініціалізувати керування SELinux\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "Не вдалося створити ключ користувача SELinux\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "Не вдалося пройти перевірку користувача SELinux\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "Не вдалося змінити прив'язку користувача SELinux\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "Не вдалося додати прив'язку користувача SELinux\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "Не вдалося внести операцію SELinux\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"Прив'язку облікового запису для %s не визначено. Це нормально, якщо " +"використано типову прив'язку\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "Прив'язку входу для %s визначено у правилах, не вдалося вилучити\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "Не вдалося вилучити mapping входу для %s" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Не вдалося перейти до теки «%s»\n" @@ -588,6 +513,10 @@ msgstr "Немає каталогу, входимо з HOME=/" msgid "Cannot execute %s" msgstr "Не вдалося виконати %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Некоректний кореневий каталог «%s»\n" @@ -596,6 +525,86 @@ msgstr "Некоректний кореневий каталог «%s»\n" msgid "Can't change root directory to '%s'\n" msgstr "Не вдалося змінити кореневий каталог на «%s»\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: брак пам'яті\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: не вдалося виконати stat %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s не є ні каталогом, ні символічним посиланням.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: не вдалося прочитати символічне посилання %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: підозріливо довге символічне посилання: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: не вдалося створити каталог %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: не вдалося змінити власника %s: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: не вдалося змінити режим доступу до %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: скасування посилання: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: не вдалося вилучити каталог %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: не вдалося перейменувати %s на %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: не вдалося вилучити %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: не вдалося створити символічне посилання %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: не вдалося змінити власників %s: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: не вдалося виконати lstat %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: попередження, у користувача %s немає файла shadow tcb.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: критична ситуація: shadow tcb %s не є звичайним файлом з st_nlink=1.\n" +"Обліковий запис залишився заблокованим.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: не вдалося відкрити %s: %s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s: користувач %s зараз працює у системі\n" @@ -671,6 +680,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root КАТ_CHROOT каталог для зміни кореневого\n" +#, fuzzy +#| msgid " -P, --prefix PREFIX_DI directory prefix\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -P, --prefix ПРЕФІКС_КАТ префікс каталогів\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -698,12 +712,15 @@ msgstr "Пароль неактивний" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Дата прострочення облікового запису (РРРР-ММ-ДД)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Остання зміна пароля\t\t\t\t\t: " - msgid "never" msgstr "ніколи" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Остання зміна пароля\t\t\t\t\t: " + msgid "password must be changed" msgstr "Пароль змінено" @@ -879,14 +896,6 @@ msgstr "%s: «%s» містить заборонені символи\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: запису користувача «%s» не існує\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: не вдалося змінити користувача «%s» у клієнті NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: «%s» є NIS-сервером для цього клієнта.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Зміна інформації про користувача %s\n" @@ -923,6 +932,11 @@ msgstr "" " -s, --sha-rounds кількість проходів для алгоритмів\n" " шифрування SHA, BCRYPT та YESCRYPT\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: непідтримуваний метод шифрування: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: прапорець %s можна використовувати лише з прапорцем %s\n" @@ -975,6 +989,16 @@ msgstr "" msgid "Login Shell" msgstr "Оболонка входу" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: не вдалося отримати розмір %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file: %s\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: не вдалося створити файл із типовими значеннями: %s\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Ви не можете змінити оболонку для «%s».\n" @@ -987,6 +1011,11 @@ msgstr "Змінюємо оболонку входу для %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: некоректний запис: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s є некоректною оболонкою\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s є некоректною оболонкою\n" @@ -1230,9 +1259,6 @@ msgid " -r, --system create a system account\n" msgstr "" " -r, --system створити загальносистемний обліковий запис\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -P, --prefix ПРЕФІКС_КАТ префікс каталогів\n" - msgid " -U, --users USERS list of user members of this group\n" msgstr "" " -U, --users КОРИСТУВАЧІ список користувачів-учасників цієї групи\n" @@ -1245,6 +1271,11 @@ msgstr "Некоректне ім'я користувача учасника, %s msgid "%s: '%s' is not a valid group name\n" msgstr "%s: «%s» є некоректною назвою групи\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: не вдалося відкрити %s: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: некоректний ідентифікатор групи «%s»\n" @@ -1291,14 +1322,6 @@ msgstr "%s: не можна вилучати основну групу кори msgid "%s: group '%s' does not exist\n" msgstr "%s: групи «%s» не існує\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: група «%s» є групою NIS.\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s є сервером NIS\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: користувач «%s» вже є учасником «%s»\n" @@ -1390,10 +1413,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: некоректна назва групи «%s»\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: група %s є групою NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: невідомий користувач %s\n" @@ -1521,8 +1540,12 @@ msgstr "" " -b, --before ДНІ вивести лише ті записи lastlog, вік яких " "перевищує ДНІ\n" +#, fuzzy +#| msgid "" +#| " -C, --clear clear lastlog record of an user (usable " +#| "only with -u)\n" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -C, --clear вилучити запис lastlog користувача (можна " @@ -1628,10 +1651,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: робота неможлива без отримання ефективних прав root\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Немає запису utmp. Вам слід виконати \"login\" з \"sh\" найнижчого рівня" - #, c-format msgid "" "\n" @@ -1665,14 +1684,6 @@ msgstr "Некоректний запис" msgid "Cannot find user (%s)\n" msgstr "Не вдалося знайти користувача (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"Запис %s: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: помилка відгалуження: %s" @@ -1706,9 +1717,13 @@ msgstr "Користування: logoutd\n" msgid "%s: gid range [%lu-%lu) -> [%lu-%lu) not allowed\n" msgstr "%s: діапазон gid [%lu-%lu) -> [%lu-%lu) заборонено\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "usage: %s [ " +#| " ] ... \n" msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" "користування: %s <нижній_gid> <кількість> [ <нижній_gid> " "<кількість> ] ... \n" @@ -1733,21 +1748,21 @@ msgstr "%s: не вдалося виконати позиціювання у set msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: не вдалося встановити правила setgroups %s: %s\n" -#, c-format -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: не вдалося відкрити каталог proc для цілі %u\n" - -#, c-format -msgid "%s: Could not stat directory for target %u\n" +#, fuzzy, c-format +#| msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: не вдалося отримати статистичні дані каталогу для цілі %u\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " +#| "st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" -"%s: власником цілі %u є інший користувач: uid:%lu pw_uid:%lu st_uid:%lu, gid:" -"%lu pw_gid:%lu st_gid:%lu\n" +"%s: власником процесу призначення %u є інший користувач: uid:%lu pw_uid:%lu " +"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgid "Usage: newgrp [-] [group]\n" msgstr "Користування: newgrp [-] [група]\n" @@ -1779,20 +1794,21 @@ msgstr "занадто багато груп\n" msgid "%s: uid range [%lu-%lu) -> [%lu-%lu) not allowed\n" msgstr "%s: діапазон uid [%lu-%lu) -> [%lu-%lu) заборонено\n" -#, c-format +#, fuzzy, c-format +#| msgid "" +#| "usage: %s [ " +#| " ] ... \n" msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" "користування: %s <нижній_uid> <кількість> [ <нижній_uid> " "<кількість> ] ... \n" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" -"%s: власником процесу призначення %u є інший користувач: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" +#, fuzzy, c-format +#| msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: не вдалося отримати статистичні дані каталогу для цілі %u\n" msgid " -b, --badname allow bad names\n" msgstr " -b, --badname дозволити «погані» назви\n" @@ -1815,6 +1831,10 @@ msgstr "" "%s: некоректне ім'я користувача «%s»: скористайтеся --badname, щоб " "проігнорувати\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: рядок %d: некоректний рядок\n" @@ -1836,6 +1856,11 @@ msgstr "%s: рядок %d: не вдалося створити групу\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: рядок %d: користувача «%s» не існує у %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: скасування посилання: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: рядок %d: не вдалося оновити пароль\n" @@ -1856,14 +1881,14 @@ msgstr "%s: рядок %d: помилка зміни власника %s: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: рядок %d: не вдалося оновити запис\n" -#, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: не вдалося приготувати новий запис %s\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: не вдалося знайти підлеглий діапазон користувачів\n" +#, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: не вдалося приготувати новий запис %s\n" + #, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: не вдалося знайти підлеглий діапазон груп\n" @@ -1945,6 +1970,13 @@ msgstr "" " -x, --maxdays ДНІ встановити максимальну кількість днів до\n" " зміни пароля у ДНІ\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" +" -l, --list показати дані щодо застарівання облікового " +"запису\n" + msgid "Old password: " msgstr "Старий пароль: " @@ -1964,6 +1996,11 @@ msgstr "" "Введіть новий пароль (від %d до %d символів)\n" "Будь ласка, скористайтеся комбінацією великих і малих літер та цифр.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: поля занадто довгі\n" + msgid "New password: " msgstr "Новий пароль: " @@ -2009,6 +2046,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: підтримки сховища %s не передбачено\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: лише root може використовувати параметр -g/--group\n" + #, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" msgstr "%s: root не уповноважено SELinux не зміну пароля %s\n" @@ -2162,11 +2204,9 @@ msgstr "%s: помилкова роботу сигналів\n" msgid "Session terminated, terminating shell..." msgstr "Сеанс перервано, перериваємо роботу оболонки..." -#, c-format msgid " ...killed.\n" msgstr " ...завершено.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...очікуємо на завершення дочірнього процесу.\n" @@ -2239,6 +2279,11 @@ msgstr "%s: вас не уповноважено на доступ до su ць msgid "No passwd entry for user '%s'\n" msgstr "Немає запису passwd для користувача «%s»\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "невірне ім'я користувача '%s'\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: має бути запущено з термінала\n" @@ -2284,6 +2329,13 @@ msgstr "%s: було створено %s, але його не вдалося в msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: налаштування %s у %s буде проігноровано\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: налаштування %s у %s буде проігноровано\n" + #, c-format msgid "%s: cannot create new defaults file: %s\n" msgstr "%s: не вдалося створити файл із типовими значеннями: %s\n" @@ -2312,10 +2364,6 @@ msgstr "%s: не вдалося створити файл резервної к msgid "%s: rename: %s: %s\n" msgstr "%s: перейменування: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: група «%s» є групою NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: вказано забагато груп (макс %d).\n" @@ -2468,6 +2516,17 @@ msgstr "" " -Z, --selinux-user SEКОР використати вказаного SEКОР для прив'язки " "користувача SELinux\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEКОР використати вказаного SEКОР для прив'язки " +"користувача SELinux\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: некоректна базовий каталог «%s»\n" @@ -2600,6 +2659,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Встановлюємо права доступу на файл поштової скриньки" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Створюємо файл поштової скриньки" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Створюємо файл поштової скриньки" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "%s попередження: UID %s %d перевищує SYS_UID_MAX %d\n" @@ -2735,10 +2804,6 @@ msgstr "%s: не вдалося вилучити вміст %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: не вдалося вилучити файли tcb для %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: користувач %s є користувачем NIS\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: не знайдено домашнього каталогу %s (%s)\n" @@ -2867,6 +2932,16 @@ msgstr "" " -Z, --selinux-user SEКОР нова прив'язка користувача SELinux для " "облікового запису користувача\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEКОР нова прив'язка користувача SELinux для " +"облікового запису користувача\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2964,12 +3039,26 @@ msgstr "" "%s: не вдалося скопіювати запис lastlog користувача %lu до користувача %lu: " "%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: не вдалося скопіювати запис lastlog користувача %lu до користувача %lu: " +"%s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: не вдалося скопіювати запис faillog користувача %lu до користувача %lu: " "%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: не вдалося скопіювати запис faillog користувача %lu до користувача %lu: " +"%s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: попередження: %s не належить %s\n" @@ -3071,8 +3160,10 @@ msgstr "не вдалося скасувати символічне посила msgid "failed to stat edited file" msgstr "не вдалося отримати статистичні дані редагованого файла" -msgid "failed to allocate memory" -msgstr "не вдалося отримати пам'ять" +#, fuzzy +#| msgid "%s: snprintf failed!\n" +msgid "asprintf(3) failed" +msgstr "%s: помилка snprintf!\n" msgid "failed to create backup file" msgstr "не вдалося створити файл резервної копії" @@ -3085,6 +3176,64 @@ msgstr "%s: не вдалося відновити %s: %s (ваші зміни msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: не вдалося знайти каталог tcb для %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: не вдалося змінити користувача «%s» у клієнті NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: «%s» є NIS-сервером для цього клієнта.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: група «%s» є групою NIS.\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s є сервером NIS\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: група %s є групою NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: група «%s» є групою NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: користувач %s є користувачем NIS\n" + +#, c-format +#~ msgid "%s: Not enough arguments to form %u mappings\n" +#~ msgstr "%s: недостатньо аргументів для формування %u прив'язок\n" + +#~ msgid "too simple" +#~ msgstr "занадто простий" + +#, c-format +#~ msgid "Unable to obtain random bytes.\n" +#~ msgstr "Не вдалося отримати випадкові байти.\n" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Немає запису utmp. Вам слід виконати \"login\" з \"sh\" найнижчого рівня" + +#, c-format +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: не вдалося відкрити каталог proc для цілі %u\n" + +#, c-format +#~ msgid "" +#~ "%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +#~ "%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" +#~ msgstr "" +#~ "%s: власником цілі %u є інший користувач: uid:%lu pw_uid:%lu st_uid:%lu, " +#~ "gid:%lu pw_gid:%lu st_gid:%lu\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "не вдалося отримати пам'ять" + #~ msgid "Usage: id\n" #~ msgstr "Використання: id\n" @@ -3100,10 +3249,6 @@ msgstr "%s: не вдалося знайти каталог tcb для %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "Застереження про прострочення пароля" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "невірне ім'я користувача '%s'\n" - #~ msgid "Username Port From Latest" #~ msgstr "Користувач Порт Звідки Останній вхід" diff --git a/po/vi.gmo b/po/vi.gmo index 4ad1f41ae531508061295b8c2805e018a218ac95..bfff0e08835380f243467135956a9526141ed5cd 100644 GIT binary patch delta 12234 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 bTRvd(u-Y3#~{oN9mJ}Tip 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 QS\n" "Language-Team: Vietnamese \n" @@ -19,228 +19,6 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Gtranslator 2.91.7\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "" -"Có nhiều mục tin mang tên “%s” trong %s. Hãy sửa chữa trường hợp này, dùng " -"pwck hoặc grpck.\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "Phương pháp mã hóa không được thư viện libcrypt hỗ trợ? (%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "lỗi cấu hình — không thể phân tích cú pháp của giá trị %s: “%s”" - -msgid "Could not allocate space for config info.\n" -msgstr "Không thể cấp phát sức chứa cho thông tin cấu hình.\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "lỗi cấu hình - không hiểu mục tin “%s” (báo cho người quản trị).\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s: nscd đã kết thúc bất thường (tín hiệu %d)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s: nscd đã thoát với mã là %d\n" - -msgid "Password: " -msgstr "Mật khẩu: " - -#, c-format -msgid "%s's Password: " -msgstr "Mật khẩu của %s: " - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "Không thể mở giao diện thử, kiểm nghiệm nên hủy bỏ.\n" - -#, c-format -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]: %s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "Không thể tạo bộ tiếp hợp quản lý SELinux\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "Chính sách cho SELinux chưa được quản lý\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "Không thể đọc kho lưu chính sách SELinux\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "Không thể thiết lập kết nối quản lý SELinux\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "Không thể bắt đầu phiên giao dịch SELinux\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "Không thể truy vấn seuser cho %s\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "Không thể đặt serange cho %s\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "Không thể đặt sename cho %s\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "Không thể sửa đổi ánh xạ đăng nhập cho %s\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "Không thể tạo ánh xạ đăng nhập SELinux cho %s\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "Không thể đặt tên %s\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "Không thể đặt người dùng SELinux cho %s\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "Không thể thêm ánh xạ đăng nhập cho %s\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "Không thể khởi tạo bộ quản lý SELinux\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "Không thể tạo khóa người dùng SELinux\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "Không thể thẩm định người dùng SELinux\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "Không thể sửa đổi ánh xạ người dùng SELinux\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "Không thể thêm ánh xạ người dùng SELinux\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "Không thể chuyển giao giao dịch SELinux\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "" -"Ánh xạ đăng nhập cho %s chưa được định nghĩa, OK nếu ánh xạ mặc định được " -"dùng\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "" -"Ánh xạ đăng nhập cho %s được định nghĩa trong chính sách, không thể xóa đi\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "Không thể xóa ánh xạ đăng nhập cho %s" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s: hết bộ nhớ\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s: Không thể lấy thống kê về %s: %s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s: %s không phải là thư mục mà cũng không phải là liên kết mềm.\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s: Không thể đọc liên kết mềm %s: %s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s: Liên kết mềm dài một cách điên rồ: %s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s: Không thể tạo thư mục %s: %s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s: Không thể thay đổi người sở hữu của %s: %s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s: Không thể thay đổi chế độ của %s: %s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s: unlink: %s: %s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s: Không thể gỡ bỏ thư mục %s: %s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s: Không thể đổi tên %s thành %s: %s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s: Không thể gỡ bỏ %s: %s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s: Không thể tạo liên kết mềm %s: %s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s: Không thể thay đổi chủ sở hữu của %s: %s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s: Không thể lstat %s: %s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s: Cảnh báo, người dùng %s không có tập tin shadow tcb.\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s: Khẩn cấp: shadow tcb của %s không phải là tập tin thường với " -"st_nlink=1.\n" -"Tài khoản vẫn bị khóa.\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s: mkdir: %s: %s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s: Không thể mở %s: %s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "Cảnh báo: không biết nhóm %s.\n" @@ -288,6 +66,13 @@ msgstr "" msgid "%s: failed to unlock %s\n" msgstr "%s: gặp lỗi khi mở khóa %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "" +"Có nhiều mục tin mang tên “%s” trong %s. Hãy sửa chữa trường hợp này, dùng " +"pwck hoặc grpck.\n" + #, c-format msgid "%s: " msgstr "%s: " @@ -295,6 +80,10 @@ msgstr "%s: " msgid ": " msgstr ": " +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "Phương pháp mã hóa không được thư viện libcrypt hỗ trợ? (%s)\n" + msgid "Environment overflow\n" msgstr "Tràn môi trường\n" @@ -414,8 +203,15 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s: Không thể lấy UID duy nhất (không còn có sẵn UID thêm nữa)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "lỗi cấu hình — không thể phân tích cú pháp của giá trị %s: “%s”" + +msgid "Could not allocate space for config info.\n" +msgstr "Không thể cấp phát sức chứa cho thông tin cấu hình.\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "lỗi cấu hình - không hiểu mục tin “%s” (báo cho người quản trị).\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -445,9 +241,10 @@ msgstr "Không thể đặt tên %s\n" msgid "%s: Could not set caps\n" msgstr "Không thể đặt tên %s\n" -#, c-format -msgid "%s: snprintf failed!\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: stpeprintf failed!\n" +msgstr "%s: dòng %d: lỗi chown (thay đổi quyền sở hữu) %s: %s\n" #, fuzzy, c-format #| msgid "%s: line %d: chown %s failed: %s\n" @@ -459,9 +256,22 @@ msgstr "%s: dòng %d: lỗi chown (thay đổi quyền sở hữu) %s: %s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s: dòng %d: lỗi chown (thay đổi quyền sở hữu) %s: %s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s: dòng %d: lỗi chown (thay đổi quyền sở hữu) %s: %s\n" + msgid "Too many logins.\n" msgstr "Quá nhiều lần đăng nhập.\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s đăng nhập: " + msgid "You have new mail." msgstr "Bạn có thư mới." @@ -471,6 +281,14 @@ msgstr "Không có thư." msgid "You have mail." msgstr "Bạn có thư." +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s: nscd đã kết thúc bất thường (tín hiệu %d)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s: nscd đã thoát với mã là %d\n" + msgid "no change" msgstr "chưa thay đổi gì" @@ -483,9 +301,6 @@ msgstr "chỉ thay đổi HOA/thường" msgid "too similar" msgstr "quá tương tự" -msgid "too simple" -msgstr "quá đơn giản" - msgid "rotated" msgstr "đã xoay" @@ -531,6 +346,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() (mật khẩu: bắt đầu pam) đã thất bại với lỗi %d\n" +msgid "Password: " +msgstr "Mật khẩu: " + +#, c-format +msgid "%s's Password: " +msgstr "Mật khẩu của %s: " + #, c-format msgid "Incorrect password for %s.\n" msgstr "Mật khẩu không đúng cho %s .\n" @@ -556,17 +378,14 @@ msgstr "%s: đường dẫn chroot không hợp lệ “%s”\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s: không thể truy cập thư mục chroot %s: %s\n" -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s: không thể chuyển sang thư mục chroot %s: %s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s: không thể thay đổi thư mục gốc thành %s: %s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: cannot chdir to chroot directory %s: %s\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s: không thể chuyển sang thư mục chroot %s: %s\n" #, c-format msgid "" @@ -583,6 +402,111 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "Không thể mở giao diện thử, kiểm nghiệm nên hủy bỏ.\n" + +#, c-format +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]: %s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "Không thể tạo bộ tiếp hợp quản lý SELinux\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "Chính sách cho SELinux chưa được quản lý\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "Không thể đọc kho lưu chính sách SELinux\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "Không thể thiết lập kết nối quản lý SELinux\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "Không thể bắt đầu phiên giao dịch SELinux\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "Không thể truy vấn seuser cho %s\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "Không thể đặt serange cho %s\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "Không thể đặt sename cho %s\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "Không thể sửa đổi ánh xạ đăng nhập cho %s\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "Không thể tạo ánh xạ đăng nhập SELinux cho %s\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "Không thể đặt tên %s\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "Không thể đặt người dùng SELinux cho %s\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "Không thể thêm ánh xạ đăng nhập cho %s\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "Không thể khởi tạo bộ quản lý SELinux\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "Không thể tạo khóa người dùng SELinux\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "Không thể thẩm định người dùng SELinux\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "Không thể sửa đổi ánh xạ người dùng SELinux\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "Không thể thêm ánh xạ người dùng SELinux\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "Không thể chuyển giao giao dịch SELinux\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "" +"Ánh xạ đăng nhập cho %s chưa được định nghĩa, OK nếu ánh xạ mặc định được " +"dùng\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "" +"Ánh xạ đăng nhập cho %s được định nghĩa trong chính sách, không thể xóa đi\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "Không thể xóa ánh xạ đăng nhập cho %s" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "Không thể cd (chuyển đổi thư mục) sang “%s”.\n" @@ -594,6 +518,10 @@ msgstr "Không có thư mục nên đăng nhập với “HOME=/”" msgid "Cannot execute %s" msgstr "Không thể thực hiện %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "Thư mục gốc không hợp lệ “%s”\n" @@ -602,6 +530,87 @@ msgstr "Thư mục gốc không hợp lệ “%s”\n" msgid "Can't change root directory to '%s'\n" msgstr "Không thể thay đổi thư mục gốc thành “%s”\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: hết bộ nhớ\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s: Không thể lấy thống kê về %s: %s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s: %s không phải là thư mục mà cũng không phải là liên kết mềm.\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s: Không thể đọc liên kết mềm %s: %s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s: Liên kết mềm dài một cách điên rồ: %s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s: Không thể tạo thư mục %s: %s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s: Không thể thay đổi người sở hữu của %s: %s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s: Không thể thay đổi chế độ của %s: %s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s: unlink: %s: %s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s: Không thể gỡ bỏ thư mục %s: %s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s: Không thể đổi tên %s thành %s: %s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s: Không thể gỡ bỏ %s: %s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s: Không thể tạo liên kết mềm %s: %s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s: Không thể thay đổi chủ sở hữu của %s: %s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s: Không thể lstat %s: %s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s: Cảnh báo, người dùng %s không có tập tin shadow tcb.\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s: Khẩn cấp: shadow tcb của %s không phải là tập tin thường với " +"st_nlink=1.\n" +"Tài khoản vẫn bị khóa.\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s: mkdir: %s: %s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s: Không thể mở %s: %s\n" + #, fuzzy, c-format #| msgid "%s: user '%s' does not exist in %s\n" msgid "%s: user %s is currently logged in\n" @@ -681,6 +690,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root THƯ_MỤC_ĐỔI thư mục để chuyển gốc đến\n" +#, fuzzy +#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -R, --root THƯ_MỤC_ĐỔI thư mục để chuyển gốc đến\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr "" @@ -708,12 +722,15 @@ msgstr "Mật khẩu không hoạt động" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "Ngày hết hạn dùng tài khoản (NNNN-TT-Ng)" -msgid "Last password change\t\t\t\t\t: " -msgstr "Thay đổi mặt khẩu cuối cùng\t\t\t\t\t: " - msgid "never" msgstr "chưa bao giờ" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "Thay đổi mặt khẩu cuối cùng\t\t\t\t\t: " + msgid "password must be changed" msgstr "mật khẩu phải thay đổi" @@ -886,14 +903,6 @@ msgstr "%s: “%s” chứa ký tự bị cấm\n" msgid "%s: user '%s' does not exist\n" msgstr "%s: người dùng “%s” không tồn tại\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s: không thể thay đổi người dùng “%s” trên ứng dụng khách NIS.\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s: “%s” là NIS cái cho ứng dụng khách này.\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "Đang thay đổi thông tin về người dùng đối với %s\n" @@ -933,6 +942,11 @@ msgid "" msgstr "" " -s, --sha-rounds số vòng SHA cho thuật toán mã hóa SHA*\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s: phương pháp mã hóa không được hỗ trợ: %s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s: cho phép cờ %s chỉ cùng với cờ %s\n" @@ -985,6 +999,16 @@ msgstr "" msgid "Login Shell" msgstr "Hệ vỏ Đăng nhập" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s: Không thể lấy kích cỡ của %s: %s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s: không thể tạo tập tin mặc định mới\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "Không cho phép bạn thay đổi hệ vỏ đối với “%s”.\n" @@ -997,6 +1021,11 @@ msgstr "Đang thay đổi hệ vỏ đăng nhập đối với %s\n" msgid "%s: Invalid entry: %s\n" msgstr "%s: mục tin không hợp lệ: %s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s: %s không phải là hệ vỏ hợp lệ\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s: %s không phải là hệ vỏ hợp lệ\n" @@ -1242,11 +1271,6 @@ msgstr "" msgid " -r, --system create a system account\n" msgstr " -r, --system tạo một tài khoản hệ thống\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -R, --root THƯ_MỤC_ĐỔI thư mục để chuyển gốc đến\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1261,6 +1285,11 @@ msgstr "tên người dùng không hợp lệ “%s”\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s: “%s” không phải là tên nhóm hợp lệ\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s: Không thể mở %s: %s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s: mã số nhóm (GID) không hợp lệ “%s”\n" @@ -1305,14 +1334,6 @@ msgstr "%s: không thể gỡ bỏ nhóm chính của người dùng “%s”\n" msgid "%s: group '%s' does not exist\n" msgstr "%s: nhóm “%s” không tồn tại\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s: nhóm “%s” là một nhóm kiểu NIS\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s: %s là NIS chủ\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s: người dùng “%s” đã thuộc về “%s”\n" @@ -1407,10 +1428,6 @@ msgstr "" msgid "%s: invalid group name '%s'\n" msgstr "%s: tên nhóm không hợp lệ “%s”\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s: nhóm %s là một nhóm kiểu NIS\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s: không rõ người dùng %s\n" @@ -1537,8 +1554,12 @@ msgstr "" "ngày\n" " cũ hơn số ngày này (_trước_)\n" +#, fuzzy +#| msgid "" +#| " -C, --clear clear lastlog record of an user (usable " +#| "only with -u)\n" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -C, --clear xóa bản ghi lastlog của người dùng (chỉ dùng " @@ -1640,11 +1661,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: Không thể làm việc mà không có gốc có hiệu lực\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "" -"Không có mục tin utmp. Vì thế bạn cần phải thực hiện “login” (đăng nhập) từ " -"“sh” (hệ vỏ) cấp dưới cùng." - #, c-format msgid "" "\n" @@ -1678,14 +1694,6 @@ msgstr "Đăng nhập không đúng" msgid "Cannot find user (%s)\n" msgstr "Không thể tìm thấy người dùng (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s đăng nhập: " - #, c-format msgid "%s: failure forking: %s" msgstr "%s: lỗi tạo tiến trình con: %s" @@ -1721,7 +1729,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1747,20 +1756,15 @@ msgstr "%s: gặp lỗi khi gỡ bỏ %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s: gặp lỗi khi mở khóa %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s: gặp lỗi khi tìm thư mục tcb cho %s\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s: Gặp lỗi khi tạo thư mục tcb cho %s\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1797,14 +1801,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s: Gặp lỗi khi tạo thư mục tcb cho %s\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1828,6 +1832,10 @@ msgstr "%s: mã số người dùng không hợp lệ “%s”\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s: tên dùng không hợp lệ “%s”\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s: dòng %d: dòng không hợp lệ\n" @@ -1850,6 +1858,11 @@ msgstr "%s: dòng %d: không thể tạo nhóm\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s: dòng %d: người dùng “%s” không tồn tại trong %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s: unlink: %s: %s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s: dòng %d: không thể cập nhật mật khẩu\n" @@ -1871,14 +1884,14 @@ msgstr "%s: dòng %d: lỗi chown (thay đổi quyền sở hữu) %s: %s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s: dòng %d: không thể cập nhật mục tin\n" -#, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s: gặp lỗi khi chuẩn bị mục tin mới “%s”\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s: không thể tìm thấy vùng người dùng lệ thuộc\n" +#, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s: gặp lỗi khi chuẩn bị mục tin mới “%s”\n" + #, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s: không thể tìm thấy vùng nhóm phụ thuộc\n" @@ -1955,6 +1968,13 @@ msgstr "" "khi\n" " thay đổi được mật khẩu\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr "" +" -l, --list hiển thị thông tin về khoảng thời gian sử " +"dụng tài khoản\n" + msgid "Old password: " msgstr "Mật khẩu cũ: " @@ -1974,6 +1994,11 @@ msgstr "" "Nhập mật khẩu mới (số ký tự tối thiểu %d, tối đa %d).\n" "Hãy tổ hợp các chữ hoa, chữ thường và chữ số để tạo một mật khẩu mạnh.\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s: trường quá dài\n" + msgid "New password: " msgstr "Mật khẩu mới: " @@ -2017,6 +2042,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s: kho lưu %s không được hỗ trợ\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s: chỉ siêu quản trị có quyền sử dụng tùy chọn “-g/--group”\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2171,11 +2201,9 @@ msgstr "%s: tín hiệu trục trặc\n" msgid "Session terminated, terminating shell..." msgstr "Phiên làm việc đã kết thúc, nên kết thúc hệ vỏ…" -#, c-format msgid " ...killed.\n" msgstr " …đã chết.\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " …đang đợi tiến con chấm dứt.\n" @@ -2266,6 +2294,11 @@ msgstr "" msgid "No passwd entry for user '%s'\n" msgstr "Không có mục tin mật khẩu cho tài khoản “%s”\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "tên người dùng không hợp lệ “%s”\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s: phải chạy từ thiết bị cuối\n" @@ -2311,6 +2344,13 @@ msgstr "%s: %s đã được tạo, nhưng không thể bị gỡ bỏ\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s: cấu hình %s trong %s sẽ bị bỏ qua\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s: cấu hình %s trong %s sẽ bị bỏ qua\n" + #, fuzzy, c-format #| msgid "%s: cannot create new defaults file\n" msgid "%s: cannot create new defaults file: %s\n" @@ -2341,10 +2381,6 @@ msgstr "%s: Không thể tạo tập tin sao lưu dự phòng (%s): %s\n" msgid "%s: rename: %s: %s\n" msgstr "%s: thay tên: %s: %s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s: nhóm “%s” là nhóm kiểu NIS.\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s: ghi rõ quá nhiều nhóm (tối đa %d).\n" @@ -2480,6 +2516,17 @@ msgstr "" " -Z, --selinux-user SEUSER dùng một người dùng SE (SEUSER) riêng cho sự " "ánh xạ người dùng SELinux\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEUSER dùng một người dùng SE (SEUSER) riêng cho sự " +"ánh xạ người dùng SELinux\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s: thư mục cơ sở không hợp lệ “%s”\n" @@ -2623,6 +2670,16 @@ msgstr "" msgid "Setting mailbox file permissions" msgstr "Đang đặt quyền truy cập tập tin hộp thư" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "Đang tạo tập tin hộp thư" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "Đang tạo tập tin hộp thư" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2753,10 +2810,6 @@ msgstr "%s: Không thể gỡ bỏ nội dung của %s: %s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s: Không thể gỡ bỏ tập tin tcb cho %s: %s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s: người dùng %s là người dùng kiểu NIS\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s: %s không tìm thấy thư mục riêng (%s)\n" @@ -2882,6 +2935,15 @@ msgid "" msgstr "" " -Z, --selinux-user SEUSER ánh xạ SELinux mới cho tài khoản người dùng\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUSER ánh xạ SELinux mới cho tài khoản người dùng\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2977,12 +3039,26 @@ msgstr "" "%s: gặp lỗi khi sao chép mục tin lastlog của người dùng %lu sang người dùng " "%lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: gặp lỗi khi sao chép mục tin lastlog của người dùng %lu sang người dùng " +"%lu: %s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "" "%s: không sao chép được mục tin faillog của người dùng %lu sang người dùng " "%lu: %s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "" +"%s: không sao chép được mục tin faillog của người dùng %lu sang người dùng " +"%lu: %s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s: cảnh báo: %s không do %s sở hữu\n" @@ -3084,8 +3160,8 @@ msgstr "gặp lỗi khi bỏ liên kết tập tin hỗn tạp" msgid "failed to stat edited file" msgstr "gặp lỗi khi lấy thống kê tập tin đã sửa" -msgid "failed to allocate memory" -msgstr "gặp lỗi khi phân bổ bộ nhớ" +msgid "asprintf(3) failed" +msgstr "" msgid "failed to create backup file" msgstr "không thể tạo tập tin sao lưu dự phòng" @@ -3098,6 +3174,50 @@ msgstr "%s: không thể phục hồi %s: %s (các thay đổi của bạn nằm msgid "%s: failed to find tcb directory for %s\n" msgstr "%s: gặp lỗi khi tìm thư mục tcb cho %s\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s: không thể thay đổi người dùng “%s” trên ứng dụng khách NIS.\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s: “%s” là NIS cái cho ứng dụng khách này.\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s: nhóm “%s” là một nhóm kiểu NIS\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s: %s là NIS chủ\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s: nhóm %s là một nhóm kiểu NIS\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s: nhóm “%s” là nhóm kiểu NIS.\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s: người dùng %s là người dùng kiểu NIS\n" + +#~ msgid "too simple" +#~ msgstr "quá đơn giản" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "" +#~ "Không có mục tin utmp. Vì thế bạn cần phải thực hiện “login” (đăng nhập) " +#~ "từ “sh” (hệ vỏ) cấp dưới cùng." + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s: gặp lỗi khi tìm thư mục tcb cho %s\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "gặp lỗi khi phân bổ bộ nhớ" + #~ msgid "Usage: id\n" #~ msgstr "Cách dùng: id\n" @@ -3113,10 +3233,6 @@ msgstr "%s: gặp lỗi khi tìm thư mục tcb cho %s\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s: thông tin đã thay đổi về sự hết hạn sử dụng mật khẩu.\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "tên người dùng không hợp lệ “%s”\n" - #~ msgid "Username Port From Latest" #~ msgstr "Tài_khoản Cổng Từ Mới nhất" diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo index 8e20748b06acca6449c5e629c7eedf20c09764b4..8e5e618836184cca48b45f40c2352e7e63ce974d 100644 GIT binary patch delta 18623 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 diff --git a/po/zh_CN.po b/po/zh_CN.po index 46067bea..89ff908b 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.15\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2022-07-27 23:04+0800\n" "Last-Translator: Celeste Liu \n" "Language-Team: Chinese (simplified) \n" @@ -22,15 +22,166 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 2.0.8\n" +#, c-format +msgid "Warning: unknown group %s\n" +msgstr "警告:未知组 %s\n" + +msgid "Warning: too many groups\n" +msgstr "警告:用户组过多\n" + +msgid "Your password has expired." +msgstr "您的密码已过期。" + +msgid "Your password is inactive." +msgstr "您的密码已失效。" + +msgid "Your login has expired." +msgstr "您的帐户已过期。" + +msgid " Contact the system administrator." +msgstr " 请与系统管理员联系。" + +msgid " Choose a new password." +msgstr " 请选择一个新密码。" + +msgid "You must change your password." +msgstr "您必须更改自己的密码。" + +#, c-format +msgid "Your password will expire in %ld days.\n" +msgstr "您的密码将在 %ld 天内过期。\n" + +msgid "Your password will expire tomorrow." +msgstr "您的密码将在明天过期。" + +msgid "Your password will expire today." +msgstr "您的密码今天过期。" + +msgid "Cannot open audit interface - aborting.\n" +msgstr "无法打开审计接口 - 退出。\n" + +#, c-format +msgid "Unable to change owner or mode of tty stdin: %s" +msgstr "不能改变 tty 标准输入的属主或模式:%s" + +#, c-format +msgid "%s: failed to unlock %s\n" +msgstr "%s:解锁 %s 失败\n" + #, c-format msgid "" "Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" msgstr "多个名为“%s”的条目同时存在于 %s 中,请使用 pwck 或 grpck 来修复。\n" +#, c-format +msgid "%s: " +msgstr "%s:" + +msgid ": " +msgstr ":" + #, c-format msgid "crypt method not supported by libcrypt? (%s)\n" msgstr "libcrypt 不支持此加密方法?(%s)\n" +msgid "Environment overflow\n" +msgstr "环境溢出\n" + +#, c-format +msgid "You may not change $%s\n" +msgstr "您不应该改变 $%s\n" + +#, c-format +msgid "" +"%d failure since last login.\n" +"Last was %s on %s.\n" +msgid_plural "" +"%d failures since last login.\n" +"Last was %s on %s.\n" +msgstr[0] "" +"自上一次登录以来已有 %d 次登录失败。\n" +"最后一次是 %s 在 %s 上。\n" + +#, c-format +msgid "" +"%s: Invalid configuration: SYS_GID_MIN (%lu), GID_MIN (%lu), SYS_GID_MAX " +"(%lu)\n" +msgstr "%s:无效的配置:SYS_GID_MIN (%lu), GID_MIN (%lu), SYS_GID_MAX (%lu)\n" + +#, c-format +msgid "%s: Invalid configuration: GID_MIN (%lu), GID_MAX (%lu)\n" +msgstr "%s:无效的配置:GID_MIN (%lu), GID_MAX (%lu)\n" + +#, c-format +msgid "%s: Encountered error attempting to use preferred GID: %s\n" +msgstr "" + +#, c-format +msgid "%s: failed to allocate memory: %s\n" +msgstr "%s:申请内存失败:%s\n" + +#, c-format +msgid "" +"%s: Can't get unique system GID (%s). Suppressing additional messages.\n" +msgstr "%s:无法获取唯一的系统 GID (%s)。抑制额外的消息。\n" + +#, c-format +msgid "%s: Can't get unique GID (%s). Suppressing additional messages.\n" +msgstr "%s:无法获取唯一的 GID (%s)。抑制额外的消息。\n" + +#, c-format +msgid "%s: Can't get unique GID (no more available GIDs)\n" +msgstr "%s:无法获取唯一的 GID (没有更多可用的 GID 了)\n" + +#, c-format +msgid "" +"%s: Invalid configuration: SUB_GID_MIN (%lu), SUB_GID_MAX (%lu), " +"SUB_GID_COUNT (%lu)\n" +msgstr "" +"%s:无效的配置:SYS_GID_MIN (%lu), iSUB_GID_MAX (%lu), SUB_GID_COUNT (%lu)\n" + +#, c-format +msgid "%s: Can't get unique subordinate GID range\n" +msgstr "%s:不能获得唯一的从属GID范围\n" + +#, c-format +msgid "" +"%s: Invalid configuration: SUB_UID_MIN (%lu), SUB_UID_MAX (%lu), " +"SUB_UID_COUNT (%lu)\n" +msgstr "" +"%s:无效的配置:SYS_UID_MIN (%lu), SUB_UID_MAX (%lu), SUB_UID_COUNT (%lu)\n" + +#, c-format +msgid "%s: Can't get unique subordinate UID range\n" +msgstr "%s:不能获得唯一的从属GID范围\n" + +#, c-format +msgid "" +"%s: Invalid configuration: SYS_UID_MIN (%lu), UID_MIN (%lu), SYS_UID_MAX " +"(%lu)\n" +msgstr "%s:无效的配置:SYS_UID_MIN (%lu), UID_MIN (%lu), SYS_UID_MAX (%lu)\n" + +#, c-format +msgid "%s: Invalid configuration: UID_MIN (%lu), UID_MAX (%lu)\n" +msgstr "%s:无效的配置:UID_MIN (%lu), UID_MAX (%lu)\n" + +#, c-format +msgid "%s: Encountered error attempting to use preferred UID: %s\n" +msgstr "" + +#, c-format +msgid "" +"%s: Can't get unique system UID (%s). Suppressing additional messages.\n" +msgstr "%s:无法获取唯一的系统 UID (%s)。抑制额外的消息。\n" + +#, c-format +msgid "%s: Can't get unique UID (%s). Suppressing additional messages.\n" +msgstr "%s:无法获取唯一的UID (%s)。抑制额外的消息。\n" + +#, c-format +msgid "%s: Can't get unique UID (no more available UIDs)\n" +msgstr "%s:无法获取唯一的 UID (没有更多可用的 UID 了)\n" + #, c-format msgid "configuration error - cannot parse %s value: '%s'" msgstr "配置错误 - 无法解析 %s 值:“%s”" @@ -42,6 +193,68 @@ msgstr "无法为配置信息分配空间。\n" msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "配置错误 - 未知项目“%s”(请通知管理员)\n" +#, c-format +msgid "%s: Memory allocation failure\n" +msgstr "%s:内存分配失败\n" + +#, c-format +msgid "%s: subuid overflow detected.\n" +msgstr "%s:检测到subuid溢出。\n" + +#, c-format +msgid "%s: Invalid map file %s specified\n" +msgstr "%s:指定的映射文件“%s无效”\n" + +#, c-format +msgid "%s: Could not prctl(PR_SET_KEEPCAPS)\n" +msgstr "%s:无法执行prctl(PR_SET_KEEPCAPS)\n" + +#, c-format +msgid "%s: Could not seteuid to %d\n" +msgstr "%s:不能seteuid为%d\n" + +#, c-format +msgid "%s: Could not set caps\n" +msgstr "%s:无法设置上限\n" + +#, fuzzy, c-format +#| msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" +msgstr "%s:snprintf 失败\n" + +#, c-format +msgid "%s: open of %s failed: %s\n" +msgstr "%s:打开%s失败:%s\n" + +#, c-format +msgid "%s: write to %s failed: %s\n" +msgstr "%s:写入%s失败:%s\n" + +#, fuzzy, c-format +#| msgid "%s: open of %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s:打开%s失败:%s\n" + +msgid "Too many logins.\n" +msgstr "当前登录数量过多。\n" + +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s 用户名:" + +msgid "You have new mail." +msgstr "您有新信件。" + +msgid "No mail." +msgstr "无信件。" + +msgid "You have mail." +msgstr "您有信件。" + #, c-format msgid "%s: nscd did not terminate normally (signal %d)\n" msgstr "%s:nscd 异常结束 (信号 %d)\n" @@ -50,6 +263,62 @@ msgstr "%s:nscd 异常结束 (信号 %d)\n" msgid "%s: nscd exited with status %d\n" msgstr "%s:nscd 以状态 %d 退出\n" +msgid "no change" +msgstr "没有改变" + +msgid "a palindrome" +msgstr "一个回文词" + +msgid "case changes only" +msgstr "仅有大小写改动" + +msgid "too similar" +msgstr "太相似" + +msgid "rotated" +msgstr "已轮转" + +msgid "too short" +msgstr "太短" + +#, c-format +msgid "Bad password: %s. " +msgstr "错误的密码:%s。 " + +#, c-format +msgid "passwd: pam_start() failed, error %d\n" +msgstr "passwd:pam_start() 失败,错误 %d\n" + +#, c-format +msgid "passwd: %s\n" +msgstr "passwd:%s\n" + +msgid "passwd: password unchanged\n" +msgstr "passwd:密码未更改\n" + +msgid "passwd: password updated successfully\n" +msgstr "passwd:已成功更新密码\n" + +#, c-format +msgid "%s: PAM modules requesting echoing are not supported.\n" +msgstr "" + +#, c-format +msgid "%s: conversation type %d not supported.\n" +msgstr "%s:不支持会话类型%d。\n" + +#, c-format +msgid "%s: (user %s) pam_start failure %d\n" +msgstr "%s:(user %s) pam_start 失败 %d\n" + +#, c-format +msgid "" +"%s: (user %s) pam_chauthtok() failed, error:\n" +"%s\n" +msgstr "" +"%s:(user %s) pam_chauthtok() 失败, 错误:\n" +"%s\n" + msgid "Password: " msgstr "密码:" @@ -57,14 +326,60 @@ msgstr "密码:" msgid "%s's Password: " msgstr "%s 的密码:" -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" +#, c-format +msgid "Incorrect password for %s.\n" +msgstr "%s 的密码不正确。\n" + +#, c-format +msgid "%s: multiple --root options\n" +msgstr "%s:有多个 --root 选项\n" + +#, c-format +msgid "%s: option '%s' requires an argument\n" +msgstr "%s:选项“%s”需要一个选项\n" + +#, c-format +msgid "%s: failed to drop privileges (%s)\n" +msgstr "%s:放弃特权时失败 (%s)\n" + +#, c-format +msgid "%s: invalid chroot path '%s', only absolute paths are supported.\n" +msgstr "%s:无效的 chroot 路径“%s”,仅支持绝对路径。\n" + +#, c-format +msgid "%s: cannot access chroot directory %s: %s\n" +msgstr "%s:无法访问 chroot 目录 %s:%s\n" + +#, c-format +msgid "%s: unable to chroot to directory %s: %s\n" +msgstr "%s:无法 chroot 到目录 %s:%s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot chdir to chroot directory %s: %s\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s:无法进入 chroot 目录 %s:%s\n" + +#, c-format +msgid "" +"Invalid ENCRYPT_METHOD value: '%s'.\n" +"Defaulting to DES.\n" +msgstr "" +"无效的 ENCRYPT_METHOD 值:“%s”。\n" +"默认为 DES。\n" + +#, c-format +msgid "" +"Unable to generate a salt from setting \"%s\", check your settings in " +"ENCRYPT_METHOD and the corresponding configuration for your selected hash " +"method.\n" +msgstr "" + msgid "Cannot open audit interface.\n" -msgstr "无法打开审计接口 - 退出。\n" +msgstr "无法打开审计接口。\n" #, c-format msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "" +msgstr "%s:无法获取以前的SELinux进程上下文:%s\n" #, c-format msgid "[libsemanage]: %s\n" @@ -94,8 +409,9 @@ msgstr "无法开始 SELinux 事务\n" msgid "Could not query seuser for %s\n" msgstr "无法为 %s 查询 seuser\n" -#, c-format -msgid "Could not set serange for %s\n" +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" msgstr "无法为 %s 设置 serange\n" #, c-format @@ -158,6 +474,29 @@ msgstr "在策略中定义了 %s 的登录映射,无法被删除\n" msgid "Could not delete login mapping for %s" msgstr "无法删除 %s 的登录映射" +#, c-format +msgid "Unable to cd to '%s'\n" +msgstr "无法 cd 进入“%s”\n" + +msgid "No directory, logging in with HOME=/" +msgstr "没有目录,将以 HOME=/ 登录" + +#, c-format +msgid "Cannot execute %s" +msgstr "无法执行 %s" + +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + +#, c-format +msgid "Invalid root directory '%s'\n" +msgstr "无效的根目录“%s”\n" + +#, c-format +msgid "Can't change root directory to '%s'\n" +msgstr "无法将根目录改变为“%s”\n" + #, c-format msgid "%s: out of memory\n" msgstr "%s:内存溢出\n" @@ -238,364 +577,13 @@ msgstr "%s:创建目录:%s:%s\n" msgid "%s: Cannot open %s: %s\n" msgstr "%s:无法打开 %s:%s\n" -#, c-format -msgid "Warning: unknown group %s\n" -msgstr "警告:未知组 %s\n" - -msgid "Warning: too many groups\n" -msgstr "警告:用户组过多\n" - -msgid "Your password has expired." -msgstr "您的密码已过期。" - -msgid "Your password is inactive." -msgstr "您的密码已失效。" - -msgid "Your login has expired." -msgstr "您的帐户已过期。" - -msgid " Contact the system administrator." -msgstr " 请与系统管理员联系。" - -msgid " Choose a new password." -msgstr " 请选择一个新密码。" - -msgid "You must change your password." -msgstr "您必须更改自己的密码。" - -#, c-format -msgid "Your password will expire in %ld days.\n" -msgstr "您的密码将在 %ld 天内过期。\n" - -msgid "Your password will expire tomorrow." -msgstr "您的密码将在明天过期。" - -msgid "Your password will expire today." -msgstr "您的密码今天过期。" - -msgid "Cannot open audit interface - aborting.\n" -msgstr "无法打开审计接口 - 退出。\n" - -#, c-format -msgid "Unable to change owner or mode of tty stdin: %s" -msgstr "不能改变 tty 标准输入的属主或模式:%s" - -#, c-format -msgid "%s: failed to unlock %s\n" -msgstr "%s:解锁 %s 失败\n" - -#, c-format -msgid "%s: " -msgstr "%s:" - -msgid ": " -msgstr ":" - -msgid "Environment overflow\n" -msgstr "环境溢出\n" - -#, c-format -msgid "You may not change $%s\n" -msgstr "您不应该改变 $%s\n" - -#, c-format -msgid "" -"%d failure since last login.\n" -"Last was %s on %s.\n" -msgid_plural "" -"%d failures since last login.\n" -"Last was %s on %s.\n" -msgstr[0] "" -"自上一次登录以来已有 %d 次登录失败。\n" -"最后一次是 %s 在 %s 上。\n" - -#, c-format -msgid "" -"%s: Invalid configuration: SYS_GID_MIN (%lu), GID_MIN (%lu), SYS_GID_MAX " -"(%lu)\n" -msgstr "%s:无效的配置:SYS_GID_MIN (%lu), GID_MIN (%lu), SYS_GID_MAX (%lu)\n" - -#, c-format -msgid "%s: Invalid configuration: GID_MIN (%lu), GID_MAX (%lu)\n" -msgstr "%s:无效的配置:GID_MIN (%lu), GID_MAX (%lu)\n" - -#, c-format -msgid "%s: Encountered error attempting to use preferred GID: %s\n" -msgstr "" - -#, c-format -msgid "%s: failed to allocate memory: %s\n" -msgstr "%s:申请内存失败:%s\n" - -#, fuzzy, c-format -#| msgid "%s: Can't get unique system GID (no more available GIDs)\n" -msgid "" -"%s: Can't get unique system GID (%s). Suppressing additional messages.\n" -msgstr "%s:无法获取唯一的系统 GID (没有更多可用的 GID 了)\n" - -#, fuzzy, c-format -#| msgid "%s: Can't get unique GID (no more available GIDs)\n" -msgid "%s: Can't get unique GID (%s). Suppressing additional messages.\n" -msgstr "%s:无法获取唯一的 GID (没有更多可用的 GID 了)\n" - -#, c-format -msgid "%s: Can't get unique GID (no more available GIDs)\n" -msgstr "%s:无法获取唯一的 GID (没有更多可用的 GID 了)\n" - -#, fuzzy, c-format -#| msgid "" -#| "%s: Invalid configuration: SYS_GID_MIN (%lu), GID_MIN (%lu), SYS_GID_MAX " -#| "(%lu)\n" -msgid "" -"%s: Invalid configuration: SUB_GID_MIN (%lu), SUB_GID_MAX (%lu), " -"SUB_GID_COUNT (%lu)\n" -msgstr "%s:无效的配置:SYS_GID_MIN (%lu), GID_MIN (%lu), SYS_GID_MAX (%lu)\n" - -#, fuzzy, c-format -#| msgid "%s: can't find subordinate user range\n" -msgid "%s: Can't get unique subordinate GID range\n" -msgstr "%s:找不到子用户范围\n" - -#, fuzzy, c-format -#| msgid "" -#| "%s: Invalid configuration: SYS_UID_MIN (%lu), UID_MIN (%lu), SYS_UID_MAX " -#| "(%lu)\n" -msgid "" -"%s: Invalid configuration: SUB_UID_MIN (%lu), SUB_UID_MAX (%lu), " -"SUB_UID_COUNT (%lu)\n" -msgstr "%s:无效的配置:SYS_UID_MIN (%lu), UID_MIN (%lu), SYS_UID_MAX (%lu)\n" - -#, fuzzy, c-format -#| msgid "%s: can't find subordinate user range\n" -msgid "%s: Can't get unique subordinate UID range\n" -msgstr "%s:找不到子用户范围\n" - -#, c-format -msgid "" -"%s: Invalid configuration: SYS_UID_MIN (%lu), UID_MIN (%lu), SYS_UID_MAX " -"(%lu)\n" -msgstr "%s:无效的配置:SYS_UID_MIN (%lu), UID_MIN (%lu), SYS_UID_MAX (%lu)\n" - -#, c-format -msgid "%s: Invalid configuration: UID_MIN (%lu), UID_MAX (%lu)\n" -msgstr "%s:无效的配置:UID_MIN (%lu), UID_MAX (%lu)\n" - -#, c-format -msgid "%s: Encountered error attempting to use preferred UID: %s\n" -msgstr "" - -#, fuzzy, c-format -#| msgid "%s: Can't get unique system UID (no more available UIDs)\n" -msgid "" -"%s: Can't get unique system UID (%s). Suppressing additional messages.\n" -msgstr "%s:无法获取唯一的系统 UID (没有更多可用的 UID 了)\n" - -#, fuzzy, c-format -#| msgid "%s: Can't get unique UID (no more available UIDs)\n" -msgid "%s: Can't get unique UID (%s). Suppressing additional messages.\n" -msgstr "%s:无法获取唯一的 UID (没有更多可用的 UID 了)\n" - -#, c-format -msgid "%s: Can't get unique UID (no more available UIDs)\n" -msgstr "%s:无法获取唯一的 UID (没有更多可用的 UID 了)\n" - -#, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "" - -#, fuzzy, c-format -#| msgid "%s: Authentication failure\n" -msgid "%s: Memory allocation failure\n" -msgstr "%s:验证失败\n" - -#, c-format -msgid "%s: subuid overflow detected.\n" -msgstr "" - -#, fuzzy, c-format -#| msgid "%s: invalid field '%s'\n" -msgid "%s: Invalid map file %s specified\n" -msgstr "%s:无效的字段“%s”\n" - -#, c-format -msgid "%s: Could not prctl(PR_SET_KEEPCAPS)\n" -msgstr "" - -#, fuzzy, c-format -#| msgid "Could not set name for %s\n" -msgid "%s: Could not seteuid to %d\n" -msgstr "无法为 %s 设置名称\n" - -#, fuzzy, c-format -#| msgid "Could not set name for %s\n" -msgid "%s: Could not set caps\n" -msgstr "无法为 %s 设置名称\n" - -#, fuzzy, c-format -#| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" -msgstr "%s:无法打开文件\n" - -#, fuzzy, c-format -#| msgid "%s: line %d: chown %s failed: %s\n" -msgid "%s: open of %s failed: %s\n" -msgstr "%s:第 %d 行:改变 %s 的属主失败:%s\n" - -#, fuzzy, c-format -#| msgid "%s: line %d: chown %s failed: %s\n" -msgid "%s: write to %s failed: %s\n" -msgstr "%s:第 %d 行:改变 %s 的属主失败:%s\n" - -msgid "Too many logins.\n" -msgstr "当前登录数量过多。\n" - -msgid "You have new mail." -msgstr "您有新信件。" - -msgid "No mail." -msgstr "无信件。" - -msgid "You have mail." -msgstr "您有信件。" - -msgid "no change" -msgstr "没有改变" - -msgid "a palindrome" -msgstr "一个回文词" - -msgid "case changes only" -msgstr "仅有大小写改动" - -msgid "too similar" -msgstr "太相似" - -msgid "too simple" -msgstr "太简单" - -msgid "rotated" -msgstr "已轮转" - -msgid "too short" -msgstr "太短" - -#, c-format -msgid "Bad password: %s. " -msgstr "错误的密码:%s。 " - -#, c-format -msgid "passwd: pam_start() failed, error %d\n" -msgstr "passwd:pam_start() 失败,错误 %d\n" - -#, c-format -msgid "passwd: %s\n" -msgstr "passwd:%s\n" - -msgid "passwd: password unchanged\n" -msgstr "passwd:密码未更改\n" - -msgid "passwd: password updated successfully\n" -msgstr "passwd:已成功更新密码\n" - -#, c-format -msgid "%s: PAM modules requesting echoing are not supported.\n" -msgstr "" - -#, fuzzy, c-format -#| msgid "%s: repository %s not supported\n" -msgid "%s: conversation type %d not supported.\n" -msgstr "%s:不支持 %s 存储。\n" - -#, fuzzy, c-format -#| msgid "%s: pam_start: error %d\n" -msgid "%s: (user %s) pam_start failure %d\n" -msgstr "%s:pam_start:错误 %d\n" - -#, fuzzy, c-format -#| msgid "passwd: pam_start() failed, error %d\n" -msgid "" -"%s: (user %s) pam_chauthtok() failed, error:\n" -"%s\n" -msgstr "passwd:pam_start() 失败,错误 %d\n" - -#, c-format -msgid "Incorrect password for %s.\n" -msgstr "%s 的密码不正确。\n" - -#, c-format -msgid "%s: multiple --root options\n" -msgstr "%s:有多个 --root 选项\n" - -#, c-format -msgid "%s: option '%s' requires an argument\n" -msgstr "%s:选项“%s”需要一个选项\n" - -#, c-format -msgid "%s: failed to drop privileges (%s)\n" -msgstr "%s:放弃特权时失败 (%s)\n" - -#, c-format -msgid "%s: invalid chroot path '%s', only absolute paths are supported.\n" -msgstr "%s:无效的 chroot 路径“%s”,仅支持绝对路径。\n" - -#, c-format -msgid "%s: cannot access chroot directory %s: %s\n" -msgstr "%s:无法访问 chroot 目录 %s:%s\n" - -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s:无法进入 chroot 目录 %s:%s\n" - -#, c-format -msgid "%s: unable to chroot to directory %s: %s\n" -msgstr "%s:无法 chroot 到目录 %s:%s\n" - -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" - -#, c-format -msgid "" -"Invalid ENCRYPT_METHOD value: '%s'.\n" -"Defaulting to DES.\n" -msgstr "" -"无效的 ENCRYPT_METHOD 值:“%s”。\n" -"默认为 DES。\n" - -#, c-format -msgid "" -"Unable to generate a salt from setting \"%s\", check your settings in " -"ENCRYPT_METHOD and the corresponding configuration for your selected hash " -"method.\n" -msgstr "" - -#, c-format -msgid "Unable to cd to '%s'\n" -msgstr "无法 cd 进入“%s”\n" - -msgid "No directory, logging in with HOME=/" -msgstr "没有目录,将以 HOME=/ 登录" - -#, c-format -msgid "Cannot execute %s" -msgstr "无法执行 %s" - -#, c-format -msgid "Invalid root directory '%s'\n" -msgstr "无效的根目录“%s”\n" - -#, c-format -msgid "Can't change root directory to '%s'\n" -msgstr "无法将根目录改变为“%s”\n" - #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s:用户 %s 目前已登录\n" -#, fuzzy, c-format -#| msgid "%s: user %s is currently logged in\n" +#, c-format msgid "%s: user %s is currently used by process %d\n" -msgstr "%s:用户 %s 目前已登录\n" +msgstr "%s:用户 %s 当前被进程使用 %d\n" msgid "Unable to determine your tty name." msgstr "无法确定您的 tty 终端名。" @@ -625,10 +613,8 @@ msgstr " -E, --expiredate 过期日期 将帐户过期时间设为“过期 msgid " -h, --help display this help message and exit\n" msgstr " -h, --help 显示此帮助信息并退出\n" -#, fuzzy -#| msgid " -g, --group edit group database\n" msgid " -i, --iso8601 use YYYY-MM-DD when printing dates\n" -msgstr " -g, --group 编辑 group 数据库\n" +msgstr " -i, --iso8601 打印日期时使用YYYY-MM-DD\n" msgid "" " -I, --inactive INACTIVE set password inactive after expiration\n" @@ -657,6 +643,11 @@ msgstr "" msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root CHROOT_DIR chroot 到的目录\n" +#, fuzzy +#| msgid " -P, --prefix PREFIX_DI directory prefix\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -R, --root CHROOT_DIR 目录前缀\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr " -W, --warndays 警告天数 将过期警告天数设为“警告天数”\n" @@ -682,12 +673,15 @@ msgstr "密码失效" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "帐户过期时间 (YYYY-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "最近一次密码修改时间\t\t\t\t\t:" - msgid "never" msgstr "从不" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "最近一次密码修改时间\t\t\t\t\t:" + msgid "password must be changed" msgstr "密码必须更改" @@ -858,14 +852,6 @@ msgstr "%s:“%s”包含非法字符\n" msgid "%s: user '%s' does not exist\n" msgstr "%s:用户“%s”不存在\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s:不能在 NIS 客户端上修改用户“%s”。\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s:“%s”是此客户端的 NIS 管理员。\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "正在改变 %s 的用户信息\n" @@ -901,6 +887,11 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr " -s, --sha-rounds 使用 SHA* 加密算法的轮数\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s:不支持的加密方法:%s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s:%s 标记只能和 %s 标记一起使用\n" @@ -951,6 +942,16 @@ msgstr " -s, --shell SHELL 该用户帐号的新登录 shell\n" msgid "Login Shell" msgstr "登录 Shell" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s:无法获得 %s 的大小:%s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file: %s\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s:无法创建新的默认文件:%s\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "您不能为“%s”更改 shell。\n" @@ -963,6 +964,11 @@ msgstr "正在更改 %s 的 shell\n" msgid "%s: Invalid entry: %s\n" msgstr "%s:无效的条目:%s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s:%s 是无效的 shell\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s:%s 是无效的 shell\n" @@ -1183,25 +1189,22 @@ msgstr " -p, --password PASSWORD 为新组使用此加密过的密码\n" msgid " -r, --system create a system account\n" msgstr " -r, --system 创建一个系统账户\n" -#, fuzzy -#| msgid " -R, --root CHROOT_DIR directory to chroot into\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -R, --root CHROOT_DIR chroot 到的目录\n" - -#, fuzzy -#| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" -msgstr " -l, --list 列出组中的所有成员\n" +msgstr " -l, --list 该组的用户成员列表\n" -#, fuzzy, c-format -#| msgid "invalid user name '%s'\n" +#, c-format msgid "Invalid member username %s\n" -msgstr "无效的用户名“%s”\n" +msgstr "无效的成员用户名“%s”\n" #, c-format msgid "%s: '%s' is not a valid group name\n" msgstr "%s:“%s”不是有效的组名\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s:无法打开 %s:%s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s:无效的组 ID “%s”\n" @@ -1244,14 +1247,6 @@ msgstr "%s:不能移除用户“%s”的主组\n" msgid "%s: group '%s' does not exist\n" msgstr "%s:“%s”组不存在\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s:“%s”组是一个 NIS 组。\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s:%s 是 NIS 管理员\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s:用户“%s”已经是“%s”的成员\n" @@ -1306,20 +1301,13 @@ msgstr "%s:您的组名和用户名不匹配\n" msgid "%s: only root can use the -g/--group option\n" msgstr "%s:只有 root 才可以使用 -g/--group 选项\n" -#, fuzzy -#| msgid "" -#| " -a, --append append the user to the supplemental " -#| "GROUPS\n" -#| " mentioned by the -G option without " -#| "removing\n" -#| " the user from other groups\n" msgid "" " -a, --append append the users mentioned by -U option to " "the group \n" " without removing existing user members\n" msgstr "" -" -a, --append GROUP 将用户追加至上边 -G 中提到的附加组中,\n" -" 并不从其它组中删除此用户\n" +" -a, --append 将-U选项提到的用户添加到组中\n" +" 无需删除现有用户成员\n" msgid " -g, --gid GID change the group ID to GID\n" msgstr " -g, --gid GID 将组 ID 改为 GID\n" @@ -1340,10 +1328,6 @@ msgstr " -p, --password PASSWORD 将密码更改为(加密过的) PASSWOR msgid "%s: invalid group name '%s'\n" msgstr "%s:无效的组名“%s”\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s:%s 组是一个 NIS 组\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s:未知用户 %s\n" @@ -1463,8 +1447,12 @@ msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr " -b, --before DAYS 仅打印早于 DAYS 的最近登录记录\n" +#, fuzzy +#| msgid "" +#| " -C, --clear clear lastlog record of an user (usable " +#| "only with -u)\n" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -C, --clear 清除一个用户的最近登录记录(须配合 -u 使用)\n" @@ -1484,10 +1472,9 @@ msgid "" " -u, --user LOGIN print lastlog record of the specified LOGIN\n" msgstr " -u, --user LOGIN 打印 LOGIN 用户的最近登录记录\n" -#, fuzzy, c-format -#| msgid "Username Port Latest" +#, c-format msgid "Username Port From%*sLatest\n" -msgstr "用户名 端口 最后登录时间" +msgstr "用户名 端口 从最近的%*s\n" msgid "Username Port Latest" msgstr "用户名 端口 最后登录时间" @@ -1560,9 +1547,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s:必须持有效 root 身份才能工作\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "没有 utmp 条目。您必须在最底层的“sh”里执行“login”" - #, c-format msgid "" "\n" @@ -1596,14 +1580,6 @@ msgstr "登录错误" msgid "Cannot find user (%s)\n" msgstr "无法找到用户 (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -"%s 用户名:" - #, c-format msgid "%s: failure forking: %s" msgstr "%s:fork 失败:%s" @@ -1639,47 +1615,39 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format msgid "%s: kernel doesn't support setgroups restrictions\n" msgstr "" -#, fuzzy, c-format -#| msgid "%s: can't open group file\n" +#, c-format msgid "%s: couldn't open process setgroups: %s\n" -msgstr "%s:无法打开组文件\n" +msgstr "%s:无法打开进程setgroups:%s\n" -#, fuzzy, c-format -#| msgid "%s: failed to remove %s\n" +#, c-format msgid "%s: failed to read setgroups: %s\n" -msgstr "%s:移除 %s 失败\n" +msgstr "%s:读取setgroups失败:%s\n" -#, fuzzy, c-format -#| msgid "%s: failed to remove %s\n" +#, c-format msgid "%s: failed to seek setgroups: %s\n" -msgstr "%s:移除 %s 失败\n" +msgstr "%s:查询setgroups失败:%s\n" -#, fuzzy, c-format -#| msgid "%s: failed to unlock %s\n" +#, c-format msgid "%s: failed to setgroups %s policy: %s\n" -msgstr "%s:解锁 %s 失败\n" +msgstr "%s:setgroups%s策略失败:%s\n" #, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s:无法为“%s”找到 tcb 目录\n" - -#, fuzzy, c-format -#| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" -msgstr "%s:为 %s 创建 tcb 目录失败\n" +#| msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" +msgstr "%s:无法统计目标目录%u\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1712,19 +1680,17 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s:无法统计目标目录%u\n" -#, fuzzy -#| msgid " -q, --quiet quiet mode\n" msgid " -b, --badname allow bad names\n" -msgstr " -q, --quiet 安静模式\n" +msgstr " -q, --badname 允许 bad name\n" msgid " -r, --system create system accounts\n" msgstr " -r, --system 创建系统帐号\n" @@ -1737,10 +1703,13 @@ msgstr "%s:“%s”组是影子组,但是不存在于 /etc/group\n" msgid "%s: invalid user ID '%s'\n" msgstr "%s:无效的用户 ID“%s”\n" -#, fuzzy, c-format -#| msgid "%s: invalid user name '%s'\n" +#, c-format msgid "%s: invalid user name '%s': use --badname to ignore\n" -msgstr "%s:无效的用户名“%s”\n" +msgstr "%s:无效的用户名“%s”: 使用 --badname 忽略\n" + +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" #, c-format msgid "%s: line %d: invalid line\n" @@ -1762,14 +1731,18 @@ msgstr "%s:第 %d 行:无法创建组\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s:第 %d 行:用户“%s”不存在于 %s 中\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s:删除(unlink):%s:%s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s:第 %d 行:无法更新密码\n" -#, fuzzy, c-format -#| msgid "%s: line %d: mkdir %s failed: %s\n" +#, c-format msgid "%s: line %d: homedir must be an absolute path\n" -msgstr "%s:第 %d 行:创建目录 %s 失败:%s\n" +msgstr "%s:第 %d 行:Homedir必须是绝对路径\n" #, c-format msgid "%s: line %d: mkdir %s failed: %s\n" @@ -1783,14 +1756,14 @@ msgstr "%s:第 %d 行:改变 %s 的属主失败:%s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s:第 %d 行:无法更新条目\n" -#, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s:准备新 %s 条目失败\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s:找不到子用户范围\n" +#, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s:准备新 %s 条目失败\n" + #, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s:找不到子用户组范围\n" @@ -1853,6 +1826,11 @@ msgstr "" " -x, --maxdays MAX_DAYS 设置到下次修改密码所须等待的最多天数\n" " 为 MAX_DAYS\n" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr " -l, --list 显示帐户年龄信息\n" + msgid "Old password: " msgstr "旧密码:" @@ -1872,6 +1850,11 @@ msgstr "" "请输入新密码(最少 %d 最多 %d 个字符)\n" "请混合使用大小写字母和数字。\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s:字段太长\n" + msgid "New password: " msgstr "新密码:" @@ -1896,10 +1879,9 @@ msgstr "无法更改 %s 的密码。\n" msgid "The password for %s cannot be changed yet.\n" msgstr "尚无法更改 %s 的密码。\n" -#, fuzzy, c-format -#| msgid "%s: shadow passwords required for -e\n" +#, c-format msgid "%s: malformed password data obtained for user %s\n" -msgstr "%s:-e 参数需要有影子密码\n" +msgstr "%s:获取的用户密码数据不正确%s\n" #, c-format msgid "" @@ -1915,9 +1897,13 @@ msgid "%s: repository %s not supported\n" msgstr "%s:不支持 %s 存储。\n" #, fuzzy, c-format -#| msgid "%s: %s is not authorized to change the password of %s\n" +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s:只有 root 才可以使用 -g/--group 选项\n" + +#, c-format msgid "%s: root is not authorized by SELinux to change the password of %s\n" -msgstr "%s:%s 没有被授权更改 %s 的密码\n" +msgstr "%s:root没有被SELinux授权修改密码%s\n" #, c-format msgid "%s: You may not view or modify password information for %s.\n" @@ -1968,10 +1954,9 @@ msgstr "无效的密码文件项" msgid "duplicate password entry" msgstr "重复的用户条目" -#, fuzzy, c-format -#| msgid "%s: invalid user name '%s'\n" +#, c-format msgid "invalid user name '%s': use --badname to ignore\n" -msgstr "%s:无效的用户名“%s”\n" +msgstr "无效的用户名'%s':使用 --badname 忽略\n" #, c-format msgid "invalid user ID '%lu'\n" @@ -2064,11 +2049,9 @@ msgstr "%s:信号故障\n" msgid "Session terminated, terminating shell..." msgstr "会话结束,结束 shell ..." -#, c-format msgid " ...killed.\n" msgstr " ...已被杀死。\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...等待子进程结束。\n" @@ -2079,20 +2062,6 @@ msgstr " ...已结束。\n" msgid "%s: %s\n" msgstr "%s:%s\n" -#, fuzzy -#| msgid "" -#| "Usage: su [options] [LOGIN]\n" -#| "\n" -#| "Options:\n" -#| " -c, --command COMMAND pass COMMAND to the invoked shell\n" -#| " -h, --help display this help message and exit\n" -#| " -, -l, --login make the shell a login shell\n" -#| " -m, -p,\n" -#| " --preserve-environment do not reset environment variables, and\n" -#| " keep the same shell\n" -#| " -s, --shell SHELL use SHELL instead of the default in " -#| "passwd\n" -#| "\n" msgid "" "Usage: su [options] [-] [username [args]]\n" "\n" @@ -2107,7 +2076,7 @@ msgid "" "\n" "If no username is given, assume root.\n" msgstr "" -"用法:su [选项] [登录名]\n" +"用法:su [选项] [-] [username [args]]\n" "\n" "选项:\n" " -c, --command COMMAND 将 COMMAND 传递至启动的 shell\n" @@ -2117,6 +2086,7 @@ msgstr "" " --preserve-environment 不重置环境变量并保持同一 shell\n" " -s, --shell SHELL 使用 SHELL 而非 passwd 中的默认值\n" "\n" +" 如果没有给出用户名,假设为root\n" #, c-format msgid "" @@ -2153,6 +2123,11 @@ msgstr "%s:那时,您没有被授权 su\n" msgid "No passwd entry for user '%s'\n" msgstr "没有用户“%s”的密码项\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "无效的用户名“%s”\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s:必须从终端中执行\n" @@ -2199,14 +2174,19 @@ msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%s:%s 配置(位于 %s) 将被忽略\n" #, fuzzy, c-format -#| msgid "%s: cannot create new defaults file\n" -msgid "%s: cannot create new defaults file: %s\n" -msgstr "%s:无法创建新的默认文件\n" +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%s:%s 配置(位于 %s) 将被忽略\n" -#, fuzzy, c-format -#| msgid "%s: cannot create new defaults file\n" +#, c-format +msgid "%s: cannot create new defaults file: %s\n" +msgstr "%s:无法创建新的默认文件:%s\n" + +#, c-format msgid "%s: cannot create directory for defaults file\n" -msgstr "%s:无法创建新的默认文件\n" +msgstr "%s:无法为默认文件创建目录\n" #, c-format msgid "%s: cannot create new defaults file\n" @@ -2228,18 +2208,13 @@ msgstr "%s:无法创建备份文件(%s):%s\n" msgid "%s: rename: %s: %s\n" msgstr "%s:改名:%s:%s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s:“%s”组是一个 NIS 组。\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s:指定了过多组(最多 %d)。\n" -#, fuzzy, c-format -#| msgid "%s: Out of memory. Cannot update %s.\n" +#, c-format msgid "%s: Out of memory. Cannot find group '%s'.\n" -msgstr "%s:超出内存。不能更新 %s。\n" +msgstr "%s:超出内存。找不到组 '%s'。\n" #, c-format msgid "" @@ -2255,10 +2230,8 @@ msgstr "" "\n" "选项:\n" -#, fuzzy -#| msgid " -s, --shadow edit shadow or gshadow database\n" msgid " --badname do not check for bad names\n" -msgstr " -s, --shadow 编辑 shadow 或 gshadow 数据库\n" +msgstr " --badname 不检查 bad names\n" msgid "" " -b, --base-dir BASE_DIR base directory for the home directory of " @@ -2350,6 +2323,15 @@ msgid "" "mapping\n" msgstr " -Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr " -Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s:无效的基目录“%s”\n" @@ -2378,108 +2360,93 @@ msgstr "%s:无效的字段“%s”\n" msgid "%s: invalid shell '%s'\n" msgstr "%s:无效的 shell“%s”\n" -#, fuzzy, c-format -#| msgid "%s: Warning: %s is not executable\n" +#, c-format msgid "%s: Warning: missing or non-executable shell '%s'\n" -msgstr "%s:警告:%s 不可执行\n" +msgstr "%s:警告:缺少或不可执行 shell '%s'\n" -#, fuzzy, c-format -#| msgid "%s: Option -C cannot be used together with option -S\n" +#, c-format msgid "%s: -Z cannot be used with --prefix\n" -msgstr "%s:选项 -C 不能与 -S 选项一起使用\n" +msgstr "%s:-Z 不能与 --prefix一起使用\n" #, c-format msgid "%s: -Z requires SELinux enabled kernel\n" msgstr "%s:-Z 选项要求内核启用 SELinux\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to open the faillog file for UID %lu: %s\n" -msgstr "%s:重置 UID %lu 的登录失败条目失败:%s\n" +msgstr "%s:打开 UID %lu 的登录失败文件失败:%s\n" #, c-format msgid "%s: failed to reset the faillog entry of UID %lu: %s\n" msgstr "%s:重置 UID %lu 的登录失败条目失败:%s\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to close the faillog file for UID %lu: %s\n" -msgstr "%s:重置 UID %lu 的登录失败条目失败:%s\n" +msgstr "%s:关闭 UID %lu 的登录失败文件失败:%s\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to open the lastlog file for UID %lu: %s\n" -msgstr "%s:重置 UID %lu 的最近登录条目失败:%s\n" +msgstr "%s:打开 UID %lu 的最近登录文件失败:%s\n" #, c-format msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n" msgstr "%s:重置 UID %lu 的最近登录条目失败:%s\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the lastlog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to close the lastlog file for UID %lu: %s\n" -msgstr "%s:重置 UID %lu 的最近登录条目失败:%s\n" +msgstr "%s:打开 UID %lu 的最近登录文件失败:%s\n" -#, fuzzy, c-format -#| msgid "%s: failed to reset the faillog entry of UID %lu: %s\n" +#, c-format msgid "%s: failed to reset the tallylog entry of user \"%s\"\n" -msgstr "%s:重置 UID %lu 的登录失败条目失败:%s\n" +msgstr "%s:重置 的记录认证失败条目失败:%s\n" #, c-format msgid "%s: failed to prepare the new %s entry\n" msgstr "%s:准备新 %s 条目失败\n" -#, fuzzy, c-format -#| msgid "%s: error updating files\n" +#, c-format msgid "%s: error while duplicating string %s\n" -msgstr "%s:更新文件出错\n" +msgstr "%s:复制字符串时出错 %s\n" -#, fuzzy, c-format -#| msgid "%s: cannot create directory %s\n" +#, c-format msgid "%s: cannot set SELinux context for home directory %s\n" -msgstr "%s:无法创建目录 %s\n" +msgstr "%s:无法为主目录设置SELinux上下文 %s\n" #, c-format msgid "%s: error while duplicating string in BTRFS check %s\n" msgstr "" -#, fuzzy, c-format -#| msgid "%s: %s home directory (%s) not found\n" +#, c-format msgid "%s: home directory \"%s\" must be mounted on BTRFS\n" -msgstr "%s:未找到 %s 的主目录“%s”\n" +msgstr "%s:home目录\"%s\"必须挂载在BTRFS上\n" -#, fuzzy, c-format -#| msgid "%s: failed to allocate memory: %s\n" +#, c-format msgid "%s: failed to create BTRFS subvolume: %s\n" -msgstr "%s:申请内存失败:%s\n" +msgstr "%s:创建BTRFS子卷失败:%s\n" #, c-format msgid "%s: cannot create directory %s\n" msgstr "%s:无法创建目录 %s\n" -#, fuzzy, c-format -#| msgid "%s: line %d: chown %s failed: %s\n" +#, c-format msgid "%s: warning: chown on `%s' failed: %m\n" -msgstr "%s:第 %d 行:改变 %s 的属主失败:%s\n" +msgstr "%s 警告:改变 `%s' 的属主失败:%m\n" -#, fuzzy, c-format -#| msgid "%s: line %d: chown %s failed: %s\n" +#, c-format msgid "%s: warning: chmod on `%s' failed: %m\n" -msgstr "%s:第 %d 行:改变 %s 的属主失败:%s\n" +msgstr "%s:警告:改变 `%s' 的属主失败:%m\n" -#, fuzzy, c-format -#| msgid "%s: line %d: chown %s failed: %s\n" +#, c-format msgid "%s: warning: chown on '%s' failed: %m\n" -msgstr "%s:第 %d 行:改变 %s 的属主失败:%s\n" +msgstr "%s:警告:改变 %s 的属主失败:%m\n" #, c-format msgid "%s: cannot reset SELinux file creation context\n" msgstr "" -#, fuzzy, c-format -#| msgid "Cannot create SELinux login mapping for %s\n" +#, c-format msgid "%s: cannot set SELinux context for mailbox file %s\n" -msgstr "无法为 %s 创建登录映射\n" +msgstr "%s: 无法为邮箱文件设置SELinux上下文 %s\n" msgid "Creating mailbox file" msgstr "正在创建信箱文件" @@ -2491,6 +2458,16 @@ msgstr "没有找到“mail”组。以 0600 权限模式创建用户的信箱 msgid "Setting mailbox file permissions" msgstr "正在设置信箱文件访问权限" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "正在创建信箱文件" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "正在创建信箱文件" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2612,10 +2589,6 @@ msgstr "%s:无法删除 %s 的内容:%s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s:无法从 %s 中删除 tcb 文件:%s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s:用户 %s 是 NIS 用户\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s:未找到 %s 的主目录“%s”\n" @@ -2624,10 +2597,9 @@ msgstr "%s:未找到 %s 的主目录“%s”\n" msgid "%s: not removing directory %s (would remove home of user %s)\n" msgstr "%s:不删除目录 %s (因为这将删除用户 %s 的主目录)\n" -#, fuzzy, c-format -#| msgid "%s: error removing directory %s\n" +#, c-format msgid "%s: error removing subvolume %s\n" -msgstr "%s:删除目录 %s 时出错\n" +msgstr "%s:删除分卷 %s 时出错\n" #, c-format msgid "%s: error removing directory %s\n" @@ -2727,6 +2699,14 @@ msgid "" "account\n" msgstr " -Z, --selinux-user SEUSER 用户的新的 SELinux 用户映射\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr " -Z, --selinux-user SEUSER 用户的新的 SELinux 用户映射\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2814,10 +2794,20 @@ msgstr "%s:先前的主目录 (%s) 不是一个目录。没有移除它,也 msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "%s:将用户 %lu 的登录失败条目复制给用户 %lu 失败:%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s:将用户 %lu 的登录失败条目复制给用户 %lu 失败:%s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "%s:将用户 %lu 的登录失败条目复制给用户 %lu 失败:%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s:将用户 %lu 的登录失败条目复制给用户 %lu 失败:%s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s:警告:%s 不属于 %s\n" @@ -2918,8 +2908,10 @@ msgstr "删除(unlink)临时文件失败" msgid "failed to stat edited file" msgstr "获取编辑过的文件的信息失败" -msgid "failed to allocate memory" -msgstr "申请内存失败" +#, fuzzy +#| msgid "%s: snprintf failed!\n" +msgid "asprintf(3) failed" +msgstr "%s:snprintf 失败\n" msgid "failed to create backup file" msgstr "创建备份文件失败" @@ -2932,6 +2924,52 @@ msgstr "%s:无法恢复 %s:%s (您的修改在 %s 中)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s:无法为“%s”找到 tcb 目录\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s:不能在 NIS 客户端上修改用户“%s”。\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s:“%s”是此客户端的 NIS 管理员。\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s:“%s”组是一个 NIS 组。\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s:%s 是 NIS 管理员\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s:%s 组是一个 NIS 组\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s:“%s”组是一个 NIS 组。\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s:用户 %s 是 NIS 用户\n" + +#, c-format +#~ msgid "%s: Not enough arguments to form %u mappings\n" +#~ msgstr "%s:没有足够的参数来形成%u映射\n" + +#~ msgid "too simple" +#~ msgstr "太简单" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "没有 utmp 条目。您必须在最底层的“sh”里执行“login”" + +#, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s:无法打开目标的proc目录%u\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "申请内存失败" + #~ msgid "Usage: id\n" #~ msgstr "用法:id\n" @@ -2947,10 +2985,6 @@ msgstr "%s:无法为“%s”找到 tcb 目录\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s:密码过期信息已更改。\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "无效的用户名“%s”\n" - #~ msgid "Username Port From Latest" #~ msgstr "用户名 端口 来自 最后登录时间" diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo index 7d77259682b43d286f66eb8a2a02032265b4563e..b45ff2c9cb17e86e22ec8b420c4d1df2317347a0 100644 GIT binary patch delta 12733 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 diff --git a/po/zh_TW.po b/po/zh_TW.po index 39b57c69..d5c9f036 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow 4.0.9\n" "Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n" -"POT-Creation-Date: 2022-11-08 10:37-0600\n" +"POT-Creation-Date: 2024-03-23 18:35-0500\n" "PO-Revision-Date: 2022-07-27 23:04+0800\n" "Last-Translator: Celeste Liu \n" "Language-Team: Chinese \n" @@ -19,224 +19,6 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Lokalize 19.08.1\n" -#, c-format -msgid "" -"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" -msgstr "%2$s 中有多個項目的名稱是「%1$s」。請使用 pwck 或 grpck 修復。\n" - -#, c-format -msgid "crypt method not supported by libcrypt? (%s)\n" -msgstr "libcrypt 不支援該加密方法?(%s)\n" - -#, c-format -msgid "configuration error - cannot parse %s value: '%s'" -msgstr "組態設定錯誤 - 無法解析 %s 值:「%s」" - -msgid "Could not allocate space for config info.\n" -msgstr "無法為組態設定資訊分配空間。\n" - -#, c-format -msgid "configuration error - unknown item '%s' (notify administrator)\n" -msgstr "組態設定錯誤 - 項目「%s」未知(請通知管理員)\n" - -#, c-format -msgid "%s: nscd did not terminate normally (signal %d)\n" -msgstr "%s:nscd 非正常終止(信號 %d)\n" - -#, c-format -msgid "%s: nscd exited with status %d\n" -msgstr "%s:nscd 結束並回傳狀態碼 %d\n" - -msgid "Password: " -msgstr "密碼:" - -#, c-format -msgid "%s's Password: " -msgstr "%s 的密碼:" - -#, fuzzy -#| msgid "Cannot open audit interface - aborting.\n" -msgid "Cannot open audit interface.\n" -msgstr "無法開啟稽核介面 - 取消。\n" - -#, fuzzy, c-format -#| msgid "%s: cannot reset SELinux file creation context\n" -msgid "%s: can not get previous SELinux process context: %s\n" -msgstr "%s: 無法重設 SELinux 檔案建立上下文\n" - -#, c-format -msgid "[libsemanage]: %s\n" -msgstr "[libsemanage]:%s\n" - -#, c-format -msgid "Cannot create SELinux management handle\n" -msgstr "無法建立 SELinux 管理工具的處理器\n" - -#, c-format -msgid "SELinux policy not managed\n" -msgstr "SELinux 政策未受管理\n" - -#, c-format -msgid "Cannot read SELinux policy store\n" -msgstr "無法讀取 SELinux 原則儲存區\n" - -#, c-format -msgid "Cannot establish SELinux management connection\n" -msgstr "無法建立 SELinux 管理工具的連線\n" - -#, c-format -msgid "Cannot begin SELinux transaction\n" -msgstr "無法開始 SELinux 交易\n" - -#, c-format -msgid "Could not query seuser for %s\n" -msgstr "無法查詢 %s 的 seuser\n" - -#, c-format -msgid "Could not set serange for %s\n" -msgstr "無法設定 %s 的 serange\n" - -#, c-format -msgid "Could not set sename for %s\n" -msgstr "無法設定 %s 的 sename\n" - -#, c-format -msgid "Could not modify login mapping for %s\n" -msgstr "無法修改 %s 的登入映射\n" - -#, c-format -msgid "Cannot create SELinux login mapping for %s\n" -msgstr "無法建立 %s 的 SELinux 登入映射\n" - -#, c-format -msgid "Could not set name for %s\n" -msgstr "無法設定 %s 的名稱\n" - -#, c-format -msgid "Could not set SELinux user for %s\n" -msgstr "無法設定 %s 的 SELinux 使用者\n" - -#, c-format -msgid "Could not add login mapping for %s\n" -msgstr "無法新增 %s 的登入映射\n" - -#, c-format -msgid "Cannot init SELinux management\n" -msgstr "無法初始化 SELinux 管理工具\n" - -#, c-format -msgid "Cannot create SELinux user key\n" -msgstr "無法建立 SELinux 使用者金鑰\n" - -#, c-format -msgid "Cannot verify the SELinux user\n" -msgstr "無法驗證 SELinux 使用者\n" - -#, c-format -msgid "Cannot modify SELinux user mapping\n" -msgstr "無法修改 SELinux 使用者映射\n" - -#, c-format -msgid "Cannot add SELinux user mapping\n" -msgstr "無法新增 SELinux 使用者映射\n" - -#, c-format -msgid "Cannot commit SELinux transaction\n" -msgstr "無法提交 SELinux 交易。\n" - -#, c-format -msgid "Login mapping for %s is not defined, OK if default mapping was used\n" -msgstr "未定義 %s 的登入映射。如果已使用預設映射,那就行\n" - -#, c-format -msgid "Login mapping for %s is defined in policy, cannot be deleted\n" -msgstr "已在原則中定義 %s 的登入映射,不能刪除\n" - -#, c-format -msgid "Could not delete login mapping for %s" -msgstr "無法刪除 %s 的登入映射" - -#, c-format -msgid "%s: out of memory\n" -msgstr "%s:記憶體不足\n" - -#, c-format -msgid "%s: Cannot stat %s: %s\n" -msgstr "%s:無法取得 %s 檔案的資訊 (stat):%s\n" - -#, c-format -msgid "%s: %s is neither a directory, nor a symlink.\n" -msgstr "%s:%s 既不是目錄,也不是符號連結。\n" - -#, c-format -msgid "%s: Cannot read symbolic link %s: %s\n" -msgstr "%s:無法讀取 %s 符號連結:%s\n" - -#, c-format -msgid "%s: Suspiciously long symlink: %s\n" -msgstr "%s:符號連結過長:%s\n" - -#, c-format -msgid "%s: Cannot create directory %s: %s\n" -msgstr "%s:無法建立 %s 目錄:%s\n" - -#, c-format -msgid "%s: Cannot change owner of %s: %s\n" -msgstr "%s:無法變更 %s 的所有者:%s\n" - -#, c-format -msgid "%s: Cannot change mode of %s: %s\n" -msgstr "%s:無法變更 %s 的模式:%s\n" - -#, c-format -msgid "%s: unlink: %s: %s\n" -msgstr "%s:取消連結 (unlink):%s:%s\n" - -#, c-format -msgid "%s: Cannot remove directory %s: %s\n" -msgstr "%s:無法移除 %s 目錄:%s\n" - -#, c-format -msgid "%s: Cannot rename %s to %s: %s\n" -msgstr "%s:無法將 %s 重命名至 %s:%s\n" - -#, c-format -msgid "%s: Cannot remove %s: %s\n" -msgstr "%s:無法移除 %s:%s\n" - -#, c-format -msgid "%s: Cannot create symbolic link %s: %s\n" -msgstr "%s:無法建立 %s 符號連結:%s\n" - -#, c-format -msgid "%s: Cannot change owners of %s: %s\n" -msgstr "%s:無法變更 %s 的所有者:%s\n" - -#, c-format -msgid "%s: Cannot lstat %s: %s\n" -msgstr "%s:無法執行 lstat %s:%s\n" - -#, c-format -msgid "%s: Warning, user %s has no tcb shadow file.\n" -msgstr "%s:警告,使用者 %s 沒有 tcb 陰影檔案。\n" - -#, c-format -msgid "" -"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" -"The account is left locked.\n" -msgstr "" -"%s:緊急情況:%s 的 tcb 陰影檔並非包含 st_nlink=1 的正常檔案。\n" -"已鎖定帳戶。\n" -"\n" - -#, c-format -msgid "%s: mkdir: %s: %s\n" -msgstr "%s:建立目錄 (mkdir):%s:%s\n" - -#, c-format -msgid "%s: Cannot open %s: %s\n" -msgstr "%s:無法開啟 %s:%s\n" - #, c-format msgid "Warning: unknown group %s\n" msgstr "警告:未知群組 %s\n" @@ -283,6 +65,11 @@ msgstr "無法變更 tty 標準輸入的所有者或模式:%s" msgid "%s: failed to unlock %s\n" msgstr "%s:無法解鎖 %s\n" +#, c-format +msgid "" +"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n" +msgstr "%2$s 中有多個項目的名稱是「%1$s」。請使用 pwck 或 grpck 修復。\n" + #, c-format msgid "%s: " msgstr "%s:" @@ -290,6 +77,10 @@ msgstr "%s:" msgid ": " msgstr ":" +#, c-format +msgid "crypt method not supported by libcrypt? (%s)\n" +msgstr "libcrypt 不支援該加密方法?(%s)\n" + msgid "Environment overflow\n" msgstr "環境溢位\n" @@ -399,8 +190,15 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n" msgstr "%s:無法取得唯一 UID(沒有更多可用 UID)\n" #, c-format -msgid "%s: Not enough arguments to form %u mappings\n" -msgstr "" +msgid "configuration error - cannot parse %s value: '%s'" +msgstr "組態設定錯誤 - 無法解析 %s 值:「%s」" + +msgid "Could not allocate space for config info.\n" +msgstr "無法為組態設定資訊分配空間。\n" + +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "組態設定錯誤 - 項目「%s」未知(請通知管理員)\n" #, fuzzy, c-format #| msgid "%s: Authentication failure\n" @@ -432,7 +230,7 @@ msgstr "無法設定 %s 的名稱\n" #, fuzzy, c-format #| msgid "%s: can't open file\n" -msgid "%s: snprintf failed!\n" +msgid "%s: stpeprintf failed!\n" msgstr "%s:無法打開檔案\n" #, fuzzy, c-format @@ -445,9 +243,22 @@ msgstr "%s:第 %d 行:變更 %s 的擁有權失敗:%s\n" msgid "%s: write to %s failed: %s\n" msgstr "%s:第 %d 行:變更 %s 的擁有權失敗:%s\n" +#, fuzzy, c-format +#| msgid "%s: line %d: chown %s failed: %s\n" +msgid "%s: closing %s failed: %s\n" +msgstr "%s:第 %d 行:變更 %s 的擁有權失敗:%s\n" + msgid "Too many logins.\n" msgstr "登入次數過多。\n" +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +" %s 使用者名稱:" + msgid "You have new mail." msgstr "您有新信件。" @@ -457,6 +268,14 @@ msgstr "沒有信件。" msgid "You have mail." msgstr "您有信件。" +#, c-format +msgid "%s: nscd did not terminate normally (signal %d)\n" +msgstr "%s:nscd 非正常終止(信號 %d)\n" + +#, c-format +msgid "%s: nscd exited with status %d\n" +msgstr "%s:nscd 結束並回傳狀態碼 %d\n" + msgid "no change" msgstr "沒有變更" @@ -469,9 +288,6 @@ msgstr "僅變更大小寫" msgid "too similar" msgstr "過於相似" -msgid "too simple" -msgstr "過於簡單" - msgid "rotated" msgstr "已旋轉" @@ -517,6 +333,13 @@ msgid "" "%s\n" msgstr "passwd: pam_start() 失敗,錯誤 %d\n" +msgid "Password: " +msgstr "密碼:" + +#, c-format +msgid "%s's Password: " +msgstr "%s 的密碼:" + #, c-format msgid "Incorrect password for %s.\n" msgstr "%s 的密碼錯誤。\n" @@ -541,17 +364,14 @@ msgstr "%s:chroot 路徑「%s」無效,僅支持絕對路徑。\n" msgid "%s: cannot access chroot directory %s: %s\n" msgstr "%s:無法存取 chroot 目錄 %s:%s\n" -#, c-format -msgid "%s: cannot chdir to chroot directory %s: %s\n" -msgstr "%s:無法切換至 chroot 目錄 %s:%s\n" - #, c-format msgid "%s: unable to chroot to directory %s: %s\n" msgstr "%s:無法 chroot 到 %s 目錄:%s\n" -#, c-format -msgid "Unable to obtain random bytes.\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: cannot chdir to chroot directory %s: %s\n" +msgid "%s: cannot chdir in chroot directory %s: %s\n" +msgstr "%s:無法切換至 chroot 目錄 %s:%s\n" #, c-format msgid "" @@ -568,6 +388,109 @@ msgid "" "method.\n" msgstr "" +#, fuzzy +#| msgid "Cannot open audit interface - aborting.\n" +msgid "Cannot open audit interface.\n" +msgstr "無法開啟稽核介面 - 取消。\n" + +#, fuzzy, c-format +#| msgid "%s: cannot reset SELinux file creation context\n" +msgid "%s: can not get previous SELinux process context: %s\n" +msgstr "%s: 無法重設 SELinux 檔案建立上下文\n" + +#, c-format +msgid "[libsemanage]: %s\n" +msgstr "[libsemanage]:%s\n" + +#, c-format +msgid "Cannot create SELinux management handle\n" +msgstr "無法建立 SELinux 管理工具的處理器\n" + +#, c-format +msgid "SELinux policy not managed\n" +msgstr "SELinux 政策未受管理\n" + +#, c-format +msgid "Cannot read SELinux policy store\n" +msgstr "無法讀取 SELinux 原則儲存區\n" + +#, c-format +msgid "Cannot establish SELinux management connection\n" +msgstr "無法建立 SELinux 管理工具的連線\n" + +#, c-format +msgid "Cannot begin SELinux transaction\n" +msgstr "無法開始 SELinux 交易\n" + +#, c-format +msgid "Could not query seuser for %s\n" +msgstr "無法查詢 %s 的 seuser\n" + +#, fuzzy, c-format +#| msgid "Could not set serange for %s\n" +msgid "Could not set serange for %s to %s\n" +msgstr "無法設定 %s 的 serange\n" + +#, c-format +msgid "Could not set sename for %s\n" +msgstr "無法設定 %s 的 sename\n" + +#, c-format +msgid "Could not modify login mapping for %s\n" +msgstr "無法修改 %s 的登入映射\n" + +#, c-format +msgid "Cannot create SELinux login mapping for %s\n" +msgstr "無法建立 %s 的 SELinux 登入映射\n" + +#, c-format +msgid "Could not set name for %s\n" +msgstr "無法設定 %s 的名稱\n" + +#, c-format +msgid "Could not set SELinux user for %s\n" +msgstr "無法設定 %s 的 SELinux 使用者\n" + +#, c-format +msgid "Could not add login mapping for %s\n" +msgstr "無法新增 %s 的登入映射\n" + +#, c-format +msgid "Cannot init SELinux management\n" +msgstr "無法初始化 SELinux 管理工具\n" + +#, c-format +msgid "Cannot create SELinux user key\n" +msgstr "無法建立 SELinux 使用者金鑰\n" + +#, c-format +msgid "Cannot verify the SELinux user\n" +msgstr "無法驗證 SELinux 使用者\n" + +#, c-format +msgid "Cannot modify SELinux user mapping\n" +msgstr "無法修改 SELinux 使用者映射\n" + +#, c-format +msgid "Cannot add SELinux user mapping\n" +msgstr "無法新增 SELinux 使用者映射\n" + +#, c-format +msgid "Cannot commit SELinux transaction\n" +msgstr "無法提交 SELinux 交易。\n" + +#, c-format +msgid "Login mapping for %s is not defined, OK if default mapping was used\n" +msgstr "未定義 %s 的登入映射。如果已使用預設映射,那就行\n" + +#, c-format +msgid "Login mapping for %s is defined in policy, cannot be deleted\n" +msgstr "已在原則中定義 %s 的登入映射,不能刪除\n" + +#, c-format +msgid "Could not delete login mapping for %s" +msgstr "無法刪除 %s 的登入映射" + #, c-format msgid "Unable to cd to '%s'\n" msgstr "無法切換至「%s」目錄\n" @@ -579,6 +502,10 @@ msgstr "沒有目錄,將以 HOME=/ 登入" msgid "Cannot execute %s" msgstr "無法執行 %s" +#, c-format +msgid "Maximum subsystem depth reached\n" +msgstr "" + #, c-format msgid "Invalid root directory '%s'\n" msgstr "根目錄「%s」無效\n" @@ -587,6 +514,87 @@ msgstr "根目錄「%s」無效\n" msgid "Can't change root directory to '%s'\n" msgstr "無法將根目錄變更至「%s」\n" +#, c-format +msgid "%s: out of memory\n" +msgstr "%s:記憶體不足\n" + +#, c-format +msgid "%s: Cannot stat %s: %s\n" +msgstr "%s:無法取得 %s 檔案的資訊 (stat):%s\n" + +#, c-format +msgid "%s: %s is neither a directory, nor a symlink.\n" +msgstr "%s:%s 既不是目錄,也不是符號連結。\n" + +#, c-format +msgid "%s: Cannot read symbolic link %s: %s\n" +msgstr "%s:無法讀取 %s 符號連結:%s\n" + +#, c-format +msgid "%s: Suspiciously long symlink: %s\n" +msgstr "%s:符號連結過長:%s\n" + +#, c-format +msgid "%s: Cannot create directory %s: %s\n" +msgstr "%s:無法建立 %s 目錄:%s\n" + +#, c-format +msgid "%s: Cannot change owner of %s: %s\n" +msgstr "%s:無法變更 %s 的所有者:%s\n" + +#, c-format +msgid "%s: Cannot change mode of %s: %s\n" +msgstr "%s:無法變更 %s 的模式:%s\n" + +#, c-format +msgid "%s: unlink: %s: %s\n" +msgstr "%s:取消連結 (unlink):%s:%s\n" + +#, c-format +msgid "%s: Cannot remove directory %s: %s\n" +msgstr "%s:無法移除 %s 目錄:%s\n" + +#, c-format +msgid "%s: Cannot rename %s to %s: %s\n" +msgstr "%s:無法將 %s 重命名至 %s:%s\n" + +#, c-format +msgid "%s: Cannot remove %s: %s\n" +msgstr "%s:無法移除 %s:%s\n" + +#, c-format +msgid "%s: Cannot create symbolic link %s: %s\n" +msgstr "%s:無法建立 %s 符號連結:%s\n" + +#, c-format +msgid "%s: Cannot change owners of %s: %s\n" +msgstr "%s:無法變更 %s 的所有者:%s\n" + +#, c-format +msgid "%s: Cannot lstat %s: %s\n" +msgstr "%s:無法執行 lstat %s:%s\n" + +#, c-format +msgid "%s: Warning, user %s has no tcb shadow file.\n" +msgstr "%s:警告,使用者 %s 沒有 tcb 陰影檔案。\n" + +#, c-format +msgid "" +"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n" +"The account is left locked.\n" +msgstr "" +"%s:緊急情況:%s 的 tcb 陰影檔並非包含 st_nlink=1 的正常檔案。\n" +"已鎖定帳戶。\n" +"\n" + +#, c-format +msgid "%s: mkdir: %s: %s\n" +msgstr "%s:建立目錄 (mkdir):%s:%s\n" + +#, c-format +msgid "%s: Cannot open %s: %s\n" +msgstr "%s:無法開啟 %s:%s\n" + #, c-format msgid "%s: user %s is currently logged in\n" msgstr "%s:使用者 %s 目前已登入\n" @@ -650,6 +658,11 @@ msgstr " -M, --maxdays 最長天數 設定密碼變更的最長間隔天 msgid " -R, --root CHROOT_DIR directory to chroot into\n" msgstr " -R, --root CHROOT_目錄 要 chroot 進去的目錄\n" +#, fuzzy +#| msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgid " -P, --prefix PREFIX_DIR directory prefix\n" +msgstr " -P, --prefix 目錄前綴 目錄前綴\n" + msgid "" " -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n" msgstr " -W, --warndays 警告天數 將過期警告天數設成 <警告天數>\n" @@ -675,12 +688,15 @@ msgstr "密碼停用時間" msgid "Account Expiration Date (YYYY-MM-DD)" msgstr "帳戶過期時間 (YYYY-MM-DD)" -msgid "Last password change\t\t\t\t\t: " -msgstr "最近一次密碼變更時間\t\t\t\t:" - msgid "never" msgstr "永不" +msgid "future" +msgstr "" + +msgid "Last password change\t\t\t\t\t: " +msgstr "最近一次密碼變更時間\t\t\t\t:" + msgid "password must be changed" msgstr "必須變更密碼" @@ -853,14 +869,6 @@ msgstr "%s:「%s」包含無效字元\n" msgid "%s: user '%s' does not exist\n" msgstr "%s:使用者「%s」不存在\n" -#, c-format -msgid "%s: cannot change user '%s' on NIS client.\n" -msgstr "%s:無法在 NIS 客戶端變更使用者「%s」。\n" - -#, c-format -msgid "%s: '%s' is the NIS master for this client.\n" -msgstr "%s:「%s」是此客戶端的 NIS 管理員。\n" - #, c-format msgid "Changing the user information for %s\n" msgstr "正在變更 %s 的使用者資訊\n" @@ -898,6 +906,11 @@ msgid "" " or YESCRYPT crypt algorithms\n" msgstr " -s, --sha-rounds SHA* 加密算法的 SHA 回數\n" +#, fuzzy, c-format +#| msgid "%s: unsupported crypt method: %s\n" +msgid "%s: no crypt method defined\n" +msgstr "%s:加密方式不支援:%s\n" + #, c-format msgid "%s: %s flag is only allowed with the %s flag\n" msgstr "%s:%s 旗標僅允許搭配 %s 旗標\n" @@ -948,6 +961,16 @@ msgstr " -s, --shell SHELL 用於此使用者帳號的新登入 She msgid "Login Shell" msgstr "登入 Shell" +#, fuzzy, c-format +#| msgid "%s: Cannot get the size of %s: %s\n" +msgid "Cannot parse shell files: %s" +msgstr "%s:無法取得 %s 的大小:%s\n" + +#, fuzzy, c-format +#| msgid "%s: cannot create new defaults file: %s\n" +msgid "Cannot evaluate entries in shell files: %s" +msgstr "%s:無法建立新的預設檔案:%s\n" + #, c-format msgid "You may not change the shell for '%s'.\n" msgstr "您不能變更「%s」的 Shell。\n" @@ -960,6 +983,11 @@ msgstr "正在變更 %s 的 shell\n" msgid "%s: Invalid entry: %s\n" msgstr "%s:項目無效:%s\n" +#, fuzzy, c-format +#| msgid "%s: %s is an invalid shell\n" +msgid "%s: Warning: %s is an invalid shell\n" +msgstr "%s:%s 為無效 shell\n" + #, c-format msgid "%s: %s is an invalid shell\n" msgstr "%s:%s 為無效 shell\n" @@ -1183,11 +1211,6 @@ msgstr " -p, --password 密碼 對此新群組使用此已加密密碼 msgid " -r, --system create a system account\n" msgstr " -r, --system 建立系統帳號\n" -#, fuzzy -#| msgid " -P, --prefix PREFIX_DIR directory prefix\n" -msgid " -P, --prefix PREFIX_DI directory prefix\n" -msgstr " -P, --prefix 目錄前綴 目錄前綴\n" - #, fuzzy #| msgid " -l, --list list the members of the group\n" msgid " -U, --users USERS list of user members of this group\n" @@ -1202,6 +1225,11 @@ msgstr "無效的使用者名稱「%s」\n" msgid "%s: '%s' is not a valid group name\n" msgstr "%s:「%s」非有效群組名稱\n" +#, fuzzy, c-format +#| msgid "%s: Cannot open %s: %s\n" +msgid "%s: cannot open %s: %s\n" +msgstr "%s:無法開啟 %s:%s\n" + #, c-format msgid "%s: invalid group ID '%s'\n" msgstr "%s:GID「%s」無效\n" @@ -1245,14 +1273,6 @@ msgstr "%s:無法移除「%s」使用者的主要群組\n" msgid "%s: group '%s' does not exist\n" msgstr "%s:「%s」群組不存在\n" -#, c-format -msgid "%s: group '%s' is a NIS group\n" -msgstr "%s:「%s」群組為 NIS 群組\n" - -#, c-format -msgid "%s: %s is the NIS master\n" -msgstr "%s:%s 是 NIS 管理員\n" - #, c-format msgid "%s: user '%s' is already a member of '%s'\n" msgstr "%s:「%s」使用者已是「%s」的一員\n" @@ -1342,10 +1362,6 @@ msgstr " -p, --password 密碼 將密碼變更成此(已加密)< msgid "%s: invalid group name '%s'\n" msgstr "%s:群組名稱「%s」無效\n" -#, c-format -msgid "%s: group %s is a NIS group\n" -msgstr "%s:%s 群組是 NIS 群組\n" - #, c-format msgid "%s: unknown user %s\n" msgstr "%s:未知使用者 %s\n" @@ -1468,8 +1484,12 @@ msgid "" " -b, --before DAYS print only lastlog records older than DAYS\n" msgstr " -b, --before DAYS 僅輸出舊於 DAYS 天的 lastlog 記錄\n" +#, fuzzy +#| msgid "" +#| " -C, --clear clear lastlog record of an user (usable " +#| "only with -u)\n" msgid "" -" -C, --clear clear lastlog record of an user (usable only " +" -C, --clear clear lastlog record of a user (usable only " "with -u)\n" msgstr "" " -C, --clear 清空某使用者的 lastlog 記錄 (僅在使用 -u 時有" @@ -1571,9 +1591,6 @@ msgstr "" msgid "%s: Cannot possibly work without effective root\n" msgstr "%s: 可能無法在無有效 root 時運作\n" -msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" -msgstr "無 utmp 項目。您必須在最低階的 \"sh\" 執行 \"login\"" - #, c-format msgid "" "\n" @@ -1607,14 +1624,6 @@ msgstr "登入錯誤" msgid "Cannot find user (%s)\n" msgstr "找不到使用者 (%s)\n" -#, c-format -msgid "" -"\n" -"%s login: " -msgstr "" -"\n" -" %s 使用者名稱:" - #, c-format msgid "%s: failure forking: %s" msgstr "%s: 無法 fork:%s" @@ -1650,7 +1659,8 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [] [ " +" ] ... \n" msgstr "" #, c-format @@ -1677,20 +1687,15 @@ msgstr "%s:無法移除 %s\n" msgid "%s: failed to setgroups %s policy: %s\n" msgstr "%s:無法解鎖 %s\n" -#, fuzzy, c-format -#| msgid "%s: failed to find tcb directory for %s\n" -msgid "%s: Could not open proc directory for target %u\n" -msgstr "%s:找不到 %s 的 tcb 目錄\n" - #, fuzzy, c-format #| msgid "%s: Failed to create tcb directory for %s\n" -msgid "%s: Could not stat directory for target %u\n" +msgid "%s: Could not stat directory for process\n" msgstr "%s:無法對 %s 建立 tcb 目錄\n" #, c-format msgid "" -"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, " -"gid:%lu pw_gid:%lu st_gid:%lu\n" +"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:" +"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" msgstr "" msgid "Usage: newgrp [-] [group]\n" @@ -1723,14 +1728,14 @@ msgstr "" #, c-format msgid "" -"usage: %s [ ] ... \n" +"usage: %s [|fd:] [ " +" ] ... \n" msgstr "" -#, c-format -msgid "" -"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu " -"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" -msgstr "" +#, fuzzy, c-format +#| msgid "%s: Failed to create tcb directory for %s\n" +msgid "%s: Could not stat directory for target process\n" +msgstr "%s:無法對 %s 建立 tcb 目錄\n" #, fuzzy #| msgid " -q, --quiet quiet mode\n" @@ -1753,6 +1758,10 @@ msgstr "%s:使用者 ID「%s」無效\n" msgid "%s: invalid user name '%s': use --badname to ignore\n" msgstr "%s:無效使用者名稱「%s」\n" +#, c-format +msgid "%s: Provide '--crypt-method' before number of rounds\n" +msgstr "" + #, c-format msgid "%s: line %d: invalid line\n" msgstr "%s:第 %d 行:無效行\n" @@ -1773,6 +1782,11 @@ msgstr "%s:第 %d 行:無法建立群組\n" msgid "%s: line %d: user '%s' does not exist in %s\n" msgstr "%s:第 %d 行:「%s」使用者不存在 %s\n" +#, fuzzy, c-format +#| msgid "%s: unlink: %s: %s\n" +msgid "%s: line %d: %s\n" +msgstr "%s:取消連結 (unlink):%s:%s\n" + #, c-format msgid "%s: line %d: can't update password\n" msgstr "%s:第 %d 行:無法更新密碼\n" @@ -1794,14 +1808,14 @@ msgstr "%s:第 %d 行:變更 %s 的擁有權失敗:%s\n" msgid "%s: line %d: can't update entry\n" msgstr "%s:第 %d 行:無法更新項目\n" -#, c-format -msgid "%s: failed to prepare new %s entry\n" -msgstr "%s:無法準備新 %s 項目\n" - #, c-format msgid "%s: can't find subordinate user range\n" msgstr "%s:找不到次級使用者範圍\n" +#, c-format +msgid "%s: failed to prepare new %s entry\n" +msgstr "%s:無法準備新 %s 項目\n" + #, c-format msgid "%s: can't find subordinate group range\n" msgstr "%s:找不到次級群組範圍\n" @@ -1862,6 +1876,11 @@ msgid "" " change to MAX_DAYS\n" msgstr "" +#, fuzzy +#| msgid " -l, --list show account aging information\n" +msgid " -s, --stdin read new token from stdin\n" +msgstr " -l, --list 顯示帳號的時效資訊\n" + msgid "Old password: " msgstr "舊密碼:" @@ -1881,6 +1900,11 @@ msgstr "" "請輸入新密碼(最少 %d 最多 %d 個字元)\n" "請混合使用大小寫字母和數字。\n" +#, fuzzy +#| msgid "%s: fields too long\n" +msgid "Password is too long.\n" +msgstr "%s:欄位過長\n" + msgid "New password: " msgstr "新密碼:" @@ -1923,6 +1947,11 @@ msgstr "" msgid "%s: repository %s not supported\n" msgstr "%s:不支持 %s 套件存庫。\n" +#, fuzzy, c-format +#| msgid "%s: only root can use the -g/--group option\n" +msgid "%s: only root can use --stdin/-s option\n" +msgstr "%s:只有 root 才能使用 -g/--group 選項\n" + #, fuzzy, c-format #| msgid "%s: %s is not authorized to change the password of %s\n" msgid "%s: root is not authorized by SELinux to change the password of %s\n" @@ -2073,11 +2102,9 @@ msgstr "%s: 訊號發生問題\n" msgid "Session terminated, terminating shell..." msgstr "已終止工作階段,正在終止 shell..." -#, c-format msgid " ...killed.\n" msgstr " ...已強制結束。\n" -#, c-format msgid " ...waiting for child to terminate.\n" msgstr " ...等待子處理程序終止。\n" @@ -2149,6 +2176,11 @@ msgstr "%s:目前您尚未授權使用 su\n" msgid "No passwd entry for user '%s'\n" msgstr "沒有使用者「%s」的 passwd 項目\n" +#, fuzzy, c-format +#| msgid "invalid user name '%s'\n" +msgid "Overlong user name '%s'\n" +msgstr "無效的使用者名稱「%s」\n" + #, c-format msgid "%s: must be run from a terminal\n" msgstr "%s:必須從終端中執行\n" @@ -2198,6 +2230,13 @@ msgstr "%s: %s 已經建立,但是無法移除\n" msgid "%s: the %s configuration in %s will be ignored\n" msgstr "%1$s: 會忽略 %3$s 中的 %2$s 組態設定檔\n" +#, fuzzy, c-format +#| msgid "%s: the %s configuration in %s will be ignored\n" +msgid "" +"%s: the '%s' configuration in %s has an invalid group, ignoring the bad " +"group\n" +msgstr "%1$s: 會忽略 %3$s 中的 %2$s 組態設定檔\n" + #, c-format msgid "%s: cannot create new defaults file: %s\n" msgstr "%s:無法建立新的預設檔案:%s\n" @@ -2227,10 +2266,6 @@ msgstr "%s:無法建立備份檔案 (%s):%s\n" msgid "%s: rename: %s: %s\n" msgstr "%s:重新命名:%s:%s\n" -#, c-format -msgid "%s: group '%s' is a NIS group.\n" -msgstr "%s:群組「%s」是 NIS 群組。\n" - #, c-format msgid "%s: too many groups specified (max %d).\n" msgstr "%s:指定了過多群組(最多 %d)。\n" @@ -2355,6 +2390,16 @@ msgid "" msgstr "" " -Z, --selinux-user SEUSER 使用指定的 SEUSER 來用於 SELinux 使用者映射\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux " +#| "user mapping\n" +msgid "" +" --selinux-range SERANGE use a specific MLS range for the SELinux " +"user mapping\n" +msgstr "" +" -Z, --selinux-user SEUSER 使用指定的 SEUSER 來用於 SELinux 使用者映射\n" + #, c-format msgid "%s: invalid base directory '%s'\n" msgstr "%s:基礎目錄「%s」無效\n" @@ -2488,6 +2533,16 @@ msgstr "找不到 'mail' 群組。將建立模式為 0600 的使用者 mailbox msgid "Setting mailbox file permissions" msgstr "正在設定 mailbox 檔案的權限" +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Synchronize mailbox file" +msgstr "正在建立 mailbox 檔案" + +#, fuzzy +#| msgid "Creating mailbox file" +msgid "Closing mailbox file" +msgstr "正在建立 mailbox 檔案" + #, c-format msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n" msgstr "" @@ -2610,10 +2665,6 @@ msgstr "%s:無法移除 %s 的內容:%s\n" msgid "%s: Cannot remove tcb files for %s: %s\n" msgstr "%s:無法移除 %s 的 tcb 檔案:%s\n" -#, c-format -msgid "%s: user %s is a NIS user\n" -msgstr "%s:使用者 %s 是 NIS 使用者\n" - #, c-format msgid "%s: %s home directory (%s) not found\n" msgstr "%s:找不到 %s 的家目錄 (%s)\n" @@ -2725,6 +2776,15 @@ msgid "" msgstr "" " -Z, --selinux-user SEUSER 對使用者帳戶設定新 SELinux 使用者映射\n" +#, fuzzy +#| msgid "" +#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user " +#| "account\n" +msgid "" +" --selinux-range SERANGE new SELinux MLS range for the user account\n" +msgstr "" +" -Z, --selinux-user SEUSER 對使用者帳戶設定新 SELinux 使用者映射\n" + #, c-format msgid "" "%s: unlocking the user's password would result in a passwordless account.\n" @@ -2815,10 +2875,20 @@ msgstr "" msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" msgstr "%s: 無法複製使用者編號為 %lu 的 lastlog 項目至使用者 %lu:%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n" +msgstr "%s: 無法複製使用者編號為 %lu 的 lastlog 項目至使用者 %lu:%s\n" + #, c-format msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" msgstr "%s: 無法複製使用者編號為 %lu 的 faillog 項目至使用者 %lu:%s\n" +#, fuzzy, c-format +#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n" +msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n" +msgstr "%s: 無法複製使用者編號為 %lu 的 faillog 項目至使用者 %lu:%s\n" + #, c-format msgid "%s: warning: %s not owned by %s\n" msgstr "%s:警告:%s 不屬於 %s\n" @@ -2917,8 +2987,10 @@ msgstr "無法取消暫存檔的連結" msgid "failed to stat edited file" msgstr "無法取得編輯過檔案的資訊" -msgid "failed to allocate memory" -msgstr "無法配置記憶體" +#, fuzzy +#| msgid "%s: can't open file\n" +msgid "asprintf(3) failed" +msgstr "%s:無法打開檔案\n" msgid "failed to create backup file" msgstr "無法建立備份檔案" @@ -2931,6 +3003,48 @@ msgstr "%s:無法復原 %s:%s (您的修改在 %s 中)\n" msgid "%s: failed to find tcb directory for %s\n" msgstr "%s:找不到 %s 的 tcb 目錄\n" +#, c-format +#~ msgid "%s: cannot change user '%s' on NIS client.\n" +#~ msgstr "%s:無法在 NIS 客戶端變更使用者「%s」。\n" + +#, c-format +#~ msgid "%s: '%s' is the NIS master for this client.\n" +#~ msgstr "%s:「%s」是此客戶端的 NIS 管理員。\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group\n" +#~ msgstr "%s:「%s」群組為 NIS 群組\n" + +#, c-format +#~ msgid "%s: %s is the NIS master\n" +#~ msgstr "%s:%s 是 NIS 管理員\n" + +#, c-format +#~ msgid "%s: group %s is a NIS group\n" +#~ msgstr "%s:%s 群組是 NIS 群組\n" + +#, c-format +#~ msgid "%s: group '%s' is a NIS group.\n" +#~ msgstr "%s:群組「%s」是 NIS 群組。\n" + +#, c-format +#~ msgid "%s: user %s is a NIS user\n" +#~ msgstr "%s:使用者 %s 是 NIS 使用者\n" + +#~ msgid "too simple" +#~ msgstr "過於簡單" + +#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\"" +#~ msgstr "無 utmp 項目。您必須在最低階的 \"sh\" 執行 \"login\"" + +#, fuzzy, c-format +#~| msgid "%s: failed to find tcb directory for %s\n" +#~ msgid "%s: Could not open proc directory for target %u\n" +#~ msgstr "%s:找不到 %s 的 tcb 目錄\n" + +#~ msgid "failed to allocate memory" +#~ msgstr "無法配置記憶體" + #~ msgid "Usage: id\n" #~ msgstr "用法:id\n" @@ -2946,10 +3060,6 @@ msgstr "%s:找不到 %s 的 tcb 目錄\n" #~ msgid "%s: password expiry information changed.\n" #~ msgstr "%s:已變更密碼過期資訊。\n" -#, c-format -#~ msgid "invalid user name '%s'\n" -#~ msgstr "無效的使用者名稱「%s」\n" - #~ msgid "Username Port From Latest" #~ msgstr "使用者名 埠號 來自 最後登入時間" diff --git a/shadow.spec.in b/shadow.spec.in deleted file mode 100644 index 0f9a9584..00000000 --- a/shadow.spec.in +++ /dev/null @@ -1,93 +0,0 @@ -# shadow-utils.spec generated automatically from shadow-utils.spec.in -# $Id$ - -Summary: Shadow password file utilities for Linux -Name: shadow-utils -Version: @VERSION@ -Release: 1 -Copyright: Free -Group: Utilities/System -Source: ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/%{name}-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-root -Obsoletes: adduser - -%description -This package includes the programs necessary to convert traditional -V7 UNIX password files to the SVR4 shadow password format and additional -tools to work with shadow passwords. - - 'pwconv' converts everything to the shadow password format. - - 'pwunconv' converts back to non-shadow passwords. - - 'pwck' checks the integrity of the password and shadow files. - - 'lastlog' prints out the last login times of all users. - - 'useradd', 'userdel', 'usermod' to manage user accounts. - - 'groupadd', 'groupdel', 'groupmod' to manage groups. - -A number of man pages are also included that relate to these utilities, -and shadow passwords in general. - -%prep -%setup - -%build -%configure \ - --disable-shared \ - --prefix=/usr \ - --exec-prefix=/usr -make - -%install -rm -rf $RPM_BUILD_ROOT - -make install DESTDIR=$RPM_BUILD_ROOT - -mkdir -p $RPM_BUILD_ROOT/etc/default - -%clean -rm -rf $RPM_BUILD_ROOT - -%files -%doc doc/ANNOUNCE doc/CHANGES doc/HOWTO -%doc doc/LICENSE doc/README doc/README.linux -%dir /etc/default -%config /etc/default/useradd -%config /etc/login.defs -%{_bindir}/chage -%{_bindir}/gpasswd -%{_bindir}/lastlog -%{_mandir}/man1/chage.1* -%{_mandir}/man1/gpasswd.1* -%{_mandir}/man3/shadow.3* -%{_mandir}/man5/shadow.5* -%{_mandir}/man8/chpasswd.8* -%{_mandir}/man8/groupadd.8* -%{_mandir}/man8/groupdel.8* -%{_mandir}/man8/groupmod.8* -%{_mandir}/man8/grpck.8* -%{_mandir}/man8/lastlog.8* -%{_mandir}/man8/newusers.8* -%{_mandir}/man8/pwck.8* -%{_mandir}/man8/pwconv.8* -%{_mandir}/man8/useradd.8* -%{_mandir}/man8/userdel.8* -%{_mandir}/man8/usermod.8* -%{_sbindir}/chpasswd -%{_sbindir}/groupadd -%{_sbindir}/groupdel -%{_sbindir}/groupmod -%{_sbindir}/grpck -%{_sbindir}/grpconv -%{_sbindir}/grpunconv -%{_sbindir}/newusers -%{_sbindir}/pwck -%{_sbindir}/pwconv -%{_sbindir}/pwunconv -%{_sbindir}/useradd -%{_sbindir}/userdel -%{_sbindir}/usermod - -%changelog -* Sun Dec 14 1997 Marek Michalkiewicz -- Lots of changes, see doc/CHANGES for more details - -* Sun Jun 08 1997 Timo Karjalainen -- Initial release diff --git a/src/Makefile.am b/src/Makefile.am index a1a2e4e3..b6cb09ef 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -9,9 +9,11 @@ sgidperms = 2755 AM_CPPFLAGS = \ -I${top_srcdir}/lib \ - -I$(top_srcdir)/libmisc \ -I$(top_srcdir) \ - -DLOCALEDIR=\"$(datadir)/locale\" + -DLOCALEDIR=\"$(datadir)/locale\" \ + $(ECONF_CPPFLAGS) + +AM_CFLAGS = $(LIBBSD_CFLAGS) # XXX why are login and su in /bin anyway (other than for # historical reasons)? @@ -26,10 +28,13 @@ AM_CPPFLAGS = \ bin_PROGRAMS = groups login sbin_PROGRAMS = nologin -ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd +ubin_PROGRAMS = faillog chage chfn chsh expiry gpasswd newgrp passwd if ENABLE_SUBIDS ubin_PROGRAMS += newgidmap newuidmap endif +if ENABLE_LASTLOG +ubin_PROGRAMS += lastlog +endif if WITH_SU bin_PROGRAMS += su endif @@ -79,7 +84,6 @@ shadowsgidubins = passwd endif LDADD = $(INTLLIBS) \ - $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/lib/libshadow.la \ $(LIBTCB) @@ -95,13 +99,13 @@ else LIBCRYPT_NOPAM = $(LIBCRYPT) endif -chage_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) +chage_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl newuidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) $(LIBECONF) -ldl newgidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) $(LIBECONF) -ldl chfn_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) -chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) +chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) -ldl expiry_LDADD = $(LDADD) $(LIBECONF) gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl @@ -115,18 +119,18 @@ lastlog_LDADD = $(LDADD) $(LIBAUDIT) $(LIBECONF) login_SOURCES = \ login.c \ login_nopam.c -login_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) +login_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) $(LIBSELINUX) newgrp_LDADD = $(LDADD) $(LIBAUDIT) $(LIBCRYPT) $(LIBECONF) newusers_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) -ldl nologin_LDADD = -passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBECONF) +passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBECONF) -ldl pwck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) pwconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) pwunconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) su_SOURCES = \ su.c \ suauth.c -su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) +su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) $(LIBSELINUX) sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF) useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -ldl userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF) -ldl @@ -177,59 +181,49 @@ MISCLIBS = \ getsubids_LDADD = \ $(top_builddir)/lib/libshadow.la \ - $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/libsubid/libsubid.la \ $(MISCLIBS) -ldl getsubids_CPPFLAGS = \ -I$(top_srcdir)/lib \ - -I$(top_srcdir)/libmisc \ -I$(top_srcdir) \ - -I$(top_srcdir)/libsubid + -I$(top_builddir)/libsubid get_subid_owners_LDADD = \ $(top_builddir)/lib/libshadow.la \ - $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/libsubid/libsubid.la \ $(MISCLIBS) -ldl get_subid_owners_CPPFLAGS = \ -I$(top_srcdir)/lib \ - -I$(top_srcdir)/libmisc \ -I$(top_srcdir) \ - -I$(top_srcdir)/libsubid + -I$(top_builddir)/libsubid new_subid_range_CPPFLAGS = \ -I$(top_srcdir)/lib \ - -I$(top_srcdir)/libmisc \ -I$(top_srcdir) \ - -I$(top_srcdir)/libsubid + -I$(top_builddir)/libsubid new_subid_range_LDADD = \ $(top_builddir)/lib/libshadow.la \ - $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/libsubid/libsubid.la \ $(MISCLIBS) -ldl free_subid_range_CPPFLAGS = \ -I$(top_srcdir)/lib \ - -I$(top_srcdir)/libmisc \ -I$(top_srcdir) \ - -I$(top_srcdir)/libsubid + -I$(top_builddir)/libsubid free_subid_range_LDADD = \ $(top_builddir)/lib/libshadow.la \ - $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/libsubid/libsubid.la \ $(MISCLIBS) -ldl check_subid_range_CPPFLAGS = \ -I$(top_srcdir)/lib \ - -I$(top_srcdir) \ - -I$(top_srcdir)/libmisc + -I$(top_srcdir) check_subid_range_LDADD = \ $(top_builddir)/lib/libshadow.la \ - $(top_builddir)/libmisc/libmisc.la \ $(MISCLIBS) -ldl endif diff --git a/src/Makefile.in b/src/Makefile.in index da31572f..9f26971e 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -91,11 +91,12 @@ host_triplet = @host@ bin_PROGRAMS = groups$(EXEEXT) login$(EXEEXT) $(am__EXEEXT_1) \ $(am__EXEEXT_2) sbin_PROGRAMS = nologin$(EXEEXT) -ubin_PROGRAMS = faillog$(EXEEXT) lastlog$(EXEEXT) chage$(EXEEXT) \ - chfn$(EXEEXT) chsh$(EXEEXT) expiry$(EXEEXT) gpasswd$(EXEEXT) \ - newgrp$(EXEEXT) passwd$(EXEEXT) $(am__EXEEXT_4) +ubin_PROGRAMS = faillog$(EXEEXT) chage$(EXEEXT) chfn$(EXEEXT) \ + chsh$(EXEEXT) expiry$(EXEEXT) gpasswd$(EXEEXT) newgrp$(EXEEXT) \ + passwd$(EXEEXT) $(am__EXEEXT_4) $(am__EXEEXT_5) @ENABLE_SUBIDS_TRUE@am__append_1 = newgidmap newuidmap -@WITH_SU_TRUE@am__append_2 = su +@ENABLE_LASTLOG_TRUE@am__append_2 = lastlog +@WITH_SU_TRUE@am__append_3 = su usbin_PROGRAMS = chgpasswd$(EXEEXT) chpasswd$(EXEEXT) \ groupadd$(EXEEXT) groupdel$(EXEEXT) groupmems$(EXEEXT) \ groupmod$(EXEEXT) grpck$(EXEEXT) grpconv$(EXEEXT) \ @@ -104,12 +105,12 @@ usbin_PROGRAMS = chgpasswd$(EXEEXT) chpasswd$(EXEEXT) \ useradd$(EXEEXT) userdel$(EXEEXT) usermod$(EXEEXT) \ vipw$(EXEEXT) noinst_PROGRAMS = id$(EXEEXT) sulogin$(EXEEXT) $(am__EXEEXT_3) -@WITH_SU_TRUE@am__append_3 = su -@WITH_TCB_FALSE@am__append_4 = passwd -@ACCT_TOOLS_SETUID_TRUE@am__append_5 = chgpasswd chpasswd groupadd groupdel groupmod newusers useradd userdel usermod -@ENABLE_SUBIDS_TRUE@@FCAPS_FALSE@am__append_6 = newgidmap newuidmap -@ENABLE_SUBIDS_TRUE@am__append_7 = getsubids -@ENABLE_SUBIDS_TRUE@am__append_8 = get_subid_owners \ +@WITH_SU_TRUE@am__append_4 = su +@WITH_TCB_FALSE@am__append_5 = passwd +@ACCT_TOOLS_SETUID_TRUE@am__append_6 = chgpasswd chpasswd groupadd groupdel groupmod newusers useradd userdel usermod +@ENABLE_SUBIDS_TRUE@@FCAPS_FALSE@am__append_7 = newgidmap newuidmap +@ENABLE_SUBIDS_TRUE@am__append_8 = getsubids +@ENABLE_SUBIDS_TRUE@am__append_9 = get_subid_owners \ @ENABLE_SUBIDS_TRUE@ new_subid_range \ @ENABLE_SUBIDS_TRUE@ free_subid_range \ @ENABLE_SUBIDS_TRUE@ check_subid_range @@ -142,13 +143,13 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \ @ENABLE_SUBIDS_TRUE@ check_subid_range$(EXEEXT) @ENABLE_SUBIDS_TRUE@am__EXEEXT_4 = newgidmap$(EXEEXT) \ @ENABLE_SUBIDS_TRUE@ newuidmap$(EXEEXT) +@ENABLE_LASTLOG_TRUE@am__EXEEXT_5 = lastlog$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS) \ $(ubin_PROGRAMS) $(usbin_PROGRAMS) chage_SOURCES = chage.c chage_OBJECTS = chage.$(OBJEXT) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) \ - $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1) @ACCT_TOOLS_SETUID_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) chage_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ @@ -173,7 +174,6 @@ check_subid_range_OBJECTS = \ @ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_1) @ENABLE_SUBIDS_TRUE@check_subid_range_DEPENDENCIES = \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \ -@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \ @ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_5) chfn_SOURCES = chfn.c chfn_OBJECTS = chfn.$(OBJEXT) @@ -204,14 +204,12 @@ faillog_SOURCES = faillog.c faillog_OBJECTS = faillog.$(OBJEXT) faillog_LDADD = $(LDADD) faillog_DEPENDENCIES = $(am__DEPENDENCIES_1) \ - $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1) free_subid_range_SOURCES = free_subid_range.c free_subid_range_OBJECTS = \ free_subid_range-free_subid_range.$(OBJEXT) @ENABLE_SUBIDS_TRUE@free_subid_range_DEPENDENCIES = \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \ -@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \ @ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_5) get_subid_owners_SOURCES = get_subid_owners.c @@ -219,14 +217,12 @@ get_subid_owners_OBJECTS = \ get_subid_owners-get_subid_owners.$(OBJEXT) @ENABLE_SUBIDS_TRUE@get_subid_owners_DEPENDENCIES = \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \ -@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \ @ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_5) getsubids_SOURCES = getsubids.c getsubids_OBJECTS = getsubids-getsubids.$(OBJEXT) @ENABLE_SUBIDS_TRUE@getsubids_DEPENDENCIES = \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \ -@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \ @ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_5) gpasswd_SOURCES = gpasswd.c @@ -258,7 +254,6 @@ groups_SOURCES = groups.c groups_OBJECTS = groups.$(OBJEXT) groups_LDADD = $(LDADD) groups_DEPENDENCIES = $(am__DEPENDENCIES_1) \ - $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1) grpck_SOURCES = grpck.c grpck_OBJECTS = grpck.$(OBJEXT) @@ -276,7 +271,6 @@ id_SOURCES = id.c id_OBJECTS = id.$(OBJEXT) id_LDADD = $(LDADD) id_DEPENDENCIES = $(am__DEPENDENCIES_1) \ - $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1) lastlog_SOURCES = lastlog.c lastlog_OBJECTS = lastlog.$(OBJEXT) @@ -287,18 +281,16 @@ login_OBJECTS = $(am_login_OBJECTS) login_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) logoutd_SOURCES = logoutd.c logoutd_OBJECTS = logoutd.$(OBJEXT) logoutd_LDADD = $(LDADD) logoutd_DEPENDENCIES = $(am__DEPENDENCIES_1) \ - $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/lib/libshadow.la $(am__DEPENDENCIES_1) new_subid_range_SOURCES = new_subid_range.c new_subid_range_OBJECTS = new_subid_range-new_subid_range.$(OBJEXT) @ENABLE_SUBIDS_TRUE@new_subid_range_DEPENDENCIES = \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \ -@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \ @ENABLE_SUBIDS_TRUE@ $(am__DEPENDENCIES_5) newgidmap_SOURCES = newgidmap.c @@ -325,8 +317,7 @@ passwd_SOURCES = passwd.c passwd_OBJECTS = passwd.$(OBJEXT) passwd_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4) \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_1) pwck_SOURCES = pwck.c pwck_OBJECTS = pwck.$(OBJEXT) pwck_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ @@ -344,7 +335,7 @@ su_OBJECTS = $(am_su_OBJECTS) su_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_4) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) sulogin_SOURCES = sulogin.c sulogin_OBJECTS = sulogin.$(OBJEXT) sulogin_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ @@ -478,6 +469,8 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ +CMOCKA_LIBS = @CMOCKA_LIBS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ @@ -511,9 +504,15 @@ 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@ -LIBCRACK = @LIBCRACK@ +LIBBSD = @LIBBSD@ +LIBBSD_CFLAGS = @LIBBSD_CFLAGS@ +LIBBSD_LIBS = @LIBBSD_LIBS@ LIBCRYPT = @LIBCRYPT@ LIBECONF = @LIBECONF@ LIBICONV = @LIBICONV@ @@ -529,6 +528,7 @@ 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@ @@ -537,6 +537,8 @@ 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@ @@ -559,6 +561,9 @@ 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@ @@ -639,17 +644,17 @@ suidperms = 4755 sgidperms = 2755 AM_CPPFLAGS = \ -I${top_srcdir}/lib \ - -I$(top_srcdir)/libmisc \ -I$(top_srcdir) \ - -DLOCALEDIR=\"$(datadir)/locale\" + -DLOCALEDIR=\"$(datadir)/locale\" \ + $(ECONF_CPPFLAGS) -suidusbins = $(am__append_5) -suidbins = $(am__append_3) -suidubins = chage chfn chsh expiry gpasswd newgrp $(am__append_4) \ - $(am__append_6) +AM_CFLAGS = $(LIBBSD_CFLAGS) +suidusbins = $(am__append_6) +suidbins = $(am__append_4) +suidubins = chage chfn chsh expiry gpasswd newgrp $(am__append_5) \ + $(am__append_7) @WITH_TCB_TRUE@shadowsgidubins = passwd LDADD = $(INTLLIBS) \ - $(top_builddir)/libmisc/libmisc.la \ $(top_builddir)/lib/libshadow.la \ $(LIBTCB) @@ -657,13 +662,13 @@ LDADD = $(INTLLIBS) \ @ACCT_TOOLS_SETUID_TRUE@LIBPAM_SUID = $(LIBPAM) @USE_PAM_FALSE@LIBCRYPT_NOPAM = $(LIBCRYPT) @USE_PAM_TRUE@LIBCRYPT_NOPAM = -chage_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) +chage_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl newuidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) $(LIBECONF) -ldl newgidmap_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCAP) $(LIBECONF) -ldl chfn_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) -chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) +chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) -ldl expiry_LDADD = $(LDADD) $(LIBECONF) gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) groupadd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) -ldl @@ -678,11 +683,11 @@ login_SOURCES = \ login.c \ login_nopam.c -login_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) +login_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) $(LIBSELINUX) newgrp_LDADD = $(LDADD) $(LIBAUDIT) $(LIBCRYPT) $(LIBECONF) newusers_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) $(LIBECONF) -ldl nologin_LDADD = -passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBCRACK) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBECONF) +passwd_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBECONF) -ldl pwck_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) pwconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) pwunconv_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) @@ -690,7 +695,7 @@ su_SOURCES = \ su.c \ suauth.c -su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) +su_LDADD = $(LDADD) $(LIBPAM) $(LIBAUDIT) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) $(LIBECONF) $(LIBSELINUX) sulogin_LDADD = $(LDADD) $(LIBCRYPT) $(LIBECONF) useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBECONF) -ldl userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBECONF) -ldl @@ -709,60 +714,50 @@ vipw_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBECONF) @ENABLE_SUBIDS_TRUE@getsubids_LDADD = \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \ -@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \ @ENABLE_SUBIDS_TRUE@ $(MISCLIBS) -ldl @ENABLE_SUBIDS_TRUE@getsubids_CPPFLAGS = \ @ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/lib \ -@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libmisc \ @ENABLE_SUBIDS_TRUE@ -I$(top_srcdir) \ -@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libsubid +@ENABLE_SUBIDS_TRUE@ -I$(top_builddir)/libsubid @ENABLE_SUBIDS_TRUE@get_subid_owners_LDADD = \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \ -@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \ @ENABLE_SUBIDS_TRUE@ $(MISCLIBS) -ldl @ENABLE_SUBIDS_TRUE@get_subid_owners_CPPFLAGS = \ @ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/lib \ -@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libmisc \ @ENABLE_SUBIDS_TRUE@ -I$(top_srcdir) \ -@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libsubid +@ENABLE_SUBIDS_TRUE@ -I$(top_builddir)/libsubid @ENABLE_SUBIDS_TRUE@new_subid_range_CPPFLAGS = \ @ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/lib \ -@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libmisc \ @ENABLE_SUBIDS_TRUE@ -I$(top_srcdir) \ -@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libsubid +@ENABLE_SUBIDS_TRUE@ -I$(top_builddir)/libsubid @ENABLE_SUBIDS_TRUE@new_subid_range_LDADD = \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \ -@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \ @ENABLE_SUBIDS_TRUE@ $(MISCLIBS) -ldl @ENABLE_SUBIDS_TRUE@free_subid_range_CPPFLAGS = \ @ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/lib \ -@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libmisc \ @ENABLE_SUBIDS_TRUE@ -I$(top_srcdir) \ -@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libsubid +@ENABLE_SUBIDS_TRUE@ -I$(top_builddir)/libsubid @ENABLE_SUBIDS_TRUE@free_subid_range_LDADD = \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \ -@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/libsubid/libsubid.la \ @ENABLE_SUBIDS_TRUE@ $(MISCLIBS) -ldl @ENABLE_SUBIDS_TRUE@check_subid_range_CPPFLAGS = \ @ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/lib \ -@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir) \ -@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir)/libmisc +@ENABLE_SUBIDS_TRUE@ -I$(top_srcdir) @ENABLE_SUBIDS_TRUE@check_subid_range_LDADD = \ @ENABLE_SUBIDS_TRUE@ $(top_builddir)/lib/libshadow.la \ -@ENABLE_SUBIDS_TRUE@ $(top_builddir)/libmisc/libmisc.la \ @ENABLE_SUBIDS_TRUE@ $(MISCLIBS) -ldl all: all-am @@ -1220,22 +1215,25 @@ $(am__depfiles_remade): am--depfiles: $(am__depfiles_remade) .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< diff --git a/src/chage.c b/src/chage.c index 01570d72..1c4a2017 100644 --- a/src/chage.c +++ b/src/chage.c @@ -25,21 +25,30 @@ #endif /* USE_PAM */ #endif /* ACCT_TOOLS_SETUID */ #include -#include "prototypes.h" + +#include "alloc.h" #include "defines.h" +#include "memzero.h" +#include "prototypes.h" #include "pwio.h" #include "shadowio.h" #include "shadowlog.h" +#include "string/sprintf.h" +#include "string/strftime.h" +#include "string/strtcpy.h" +#include "time/day_to_str.h" +/*@-exitarg@*/ +#include "exitcodes.h" + #ifdef WITH_TCB #include "tcbfuncs.h" #endif -/*@-exitarg@*/ -#include "exitcodes.h" + /* * Global variables */ -const char *Prog; +static const char Prog[] = "chage"; static bool dflg = false, /* set last password change date */ @@ -52,6 +61,8 @@ static bool Wflg = false; /* set expiration warning days */ static bool amroot = false; +static const char *prefix = ""; + static bool pw_locked = false; /* Indicate if the password file is locked */ static bool spw_locked = false; /* Indicate if the shadow file is locked */ /* The name and UID of the user being worked on */ @@ -66,21 +77,23 @@ static long inactdays; static long expdate; /* local function prototypes */ -static /*@noreturn@*/void usage (int status); +NORETURN static void usage (int status); static int new_fields (void); -static void print_date (time_t date); +static void print_day_as_date (long day); static void list_fields (void); static void process_flags (int argc, char **argv); static void check_flags (int argc, int opt_index); static void check_perms (void); static void open_files (bool readonly); static void close_files (void); -static /*@noreturn@*/void fail_exit (int code); +NORETURN static void fail_exit (int code); /* * fail_exit - do some cleanup and exit with the given error code */ -static /*@noreturn@*/void fail_exit (int code) +NORETURN +static void +fail_exit (int code) { if (spw_locked) { if (spw_unlock () == 0) { @@ -101,8 +114,7 @@ static /*@noreturn@*/void fail_exit (int code) #ifdef WITH_AUDIT if (E_SUCCESS != code) { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, - "change age", - user_name, (unsigned int) user_uid, 0); + "change age", user_name, user_uid, 0); } #endif @@ -112,7 +124,9 @@ static /*@noreturn@*/void fail_exit (int code) /* * usage - print command line syntax and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -132,6 +146,7 @@ static /*@noreturn@*/void usage (int status) (void) fputs (_(" -M, --maxdays MAX_DAYS set maximum number of days before password\n" " change to MAX_DAYS\n"), usageout); (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); + (void) fputs (_(" -P, --prefix PREFIX_DIR directory prefix\n"), usageout); (void) fputs (_(" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"), usageout); (void) fputs ("\n", usageout); exit (status); @@ -148,30 +163,29 @@ static /*@noreturn@*/void usage (int status) */ static int new_fields (void) { - char buf[200]; + char buf[200]; (void) puts (_("Enter the new value, or press ENTER for the default")); (void) puts (""); - (void) snprintf (buf, sizeof buf, "%ld", mindays); + SNPRINTF(buf, "%ld", mindays); change_field (buf, sizeof buf, _("Minimum Password Age")); - if ( (getlong (buf, &mindays) == 0) + if ( (getlong(buf, &mindays) == -1) || (mindays < -1)) { return 0; } - (void) snprintf (buf, sizeof buf, "%ld", maxdays); + SNPRINTF(buf, "%ld", maxdays); change_field (buf, sizeof buf, _("Maximum Password Age")); - if ( (getlong (buf, &maxdays) == 0) + if ( (getlong(buf, &maxdays) == -1) || (maxdays < -1)) { return 0; } - if (-1 == lstchgdate || lstchgdate > LONG_MAX / SCALE) { - strcpy (buf, "-1"); - } else { - date_to_str (sizeof(buf), buf, lstchgdate * SCALE); - } + if (-1 == lstchgdate || lstchgdate > LONG_MAX / DAY) + strcpy(buf, "-1"); + else + DAY_TO_STR(buf, lstchgdate); change_field (buf, sizeof buf, _("Last Password Change (YYYY-MM-DD)")); @@ -184,25 +198,24 @@ static int new_fields (void) } } - (void) snprintf (buf, sizeof buf, "%ld", warndays); + SNPRINTF(buf, "%ld", warndays); change_field (buf, sizeof buf, _("Password Expiration Warning")); - if ( (getlong (buf, &warndays) == 0) + if ( (getlong(buf, &warndays) == -1) || (warndays < -1)) { return 0; } - (void) snprintf (buf, sizeof buf, "%ld", inactdays); + SNPRINTF(buf, "%ld", inactdays); change_field (buf, sizeof buf, _("Password Inactive")); - if ( (getlong (buf, &inactdays) == 0) + if ( (getlong(buf, &inactdays) == -1) || (inactdays < -1)) { return 0; } - if (-1 == expdate || LONG_MAX / SCALE < expdate) { - strcpy (buf, "-1"); - } else { - date_to_str (sizeof(buf), buf, expdate * SCALE); - } + if (-1 == expdate || LONG_MAX / DAY < expdate) + strcpy(buf, "-1"); + else + DAY_TO_STR(buf, expdate); change_field (buf, sizeof buf, _("Account Expiration Date (YYYY-MM-DD)")); @@ -219,20 +232,33 @@ static int new_fields (void) return 1; } -static void print_date (time_t date) -{ - struct tm *tp; - char buf[80]; - tp = gmtime (&date); - if (NULL == tp) { - (void) printf ("time_t: %lu\n", (unsigned long)date); - } else { - (void) strftime (buf, sizeof buf, iflg ? "%Y-%m-%d" : "%b %d, %Y", tp); - (void) puts (buf); +static void +print_day_as_date(long day) +{ + char buf[80]; + time_t date; + struct tm tm; + + if (day < 0) { + puts(_("never")); + return; } + if (__builtin_mul_overflow(day, DAY, &date)) { + puts(_("future")); + return; + } + + if (gmtime_r(&date, &tm) == NULL) { + (void) printf ("time_t: %lu\n", (unsigned long)date); + return; + } + + STRFTIME(buf, iflg ? "%Y-%m-%d" : "%b %d, %Y", &tm); + (void) puts (buf); } + /* * list_fields - display the current values of the expiration fields * @@ -242,21 +268,15 @@ static void print_date (time_t date) */ static void list_fields (void) { - long changed = 0; - long expires; - /* * The "last change" date is either "never" or the date the password * was last modified. The date is the number of days since 1/1/1970. */ (void) fputs (_("Last password change\t\t\t\t\t: "), stdout); - if (lstchgdate < 0 || lstchgdate > LONG_MAX / SCALE) { - (void) puts (_("never")); - } else if (lstchgdate == 0) { + if (lstchgdate == 0) { (void) puts (_("password must be changed")); } else { - changed = lstchgdate * SCALE; - print_date ((time_t) changed); + print_day_as_date(lstchgdate); } /* @@ -267,13 +287,13 @@ static void list_fields (void) if (lstchgdate == 0) { (void) puts (_("password must be changed")); } else if ( (lstchgdate < 0) - || (maxdays >= (10000 * (DAY / SCALE))) + || (maxdays >= 10000) || (maxdays < 0) - || ((LONG_MAX - changed) / SCALE < maxdays)) { + || (LONG_MAX - lstchgdate < maxdays)) + { (void) puts (_("never")); } else { - expires = changed + maxdays * SCALE; - print_date ((time_t) expires); + print_day_as_date(lstchgdate + maxdays); } /* @@ -287,14 +307,14 @@ static void list_fields (void) (void) puts (_("password must be changed")); } else if ( (lstchgdate < 0) || (inactdays < 0) - || (maxdays >= (10000 * (DAY / SCALE))) + || (maxdays >= 10000) || (maxdays < 0) - || (maxdays > LONG_MAX - inactdays) - || ((LONG_MAX - changed) / SCALE < maxdays + inactdays)) { + || (LONG_MAX - inactdays < maxdays) + || (LONG_MAX - lstchgdate < maxdays + inactdays)) + { (void) puts (_("never")); } else { - expires = changed + (maxdays + inactdays) * SCALE; - print_date ((time_t) expires); + print_day_as_date(lstchgdate + maxdays + inactdays); } /* @@ -302,12 +322,7 @@ static void list_fields (void) * password expiring or not. */ (void) fputs (_("Account expires\t\t\t\t\t\t: "), stdout); - if (expdate < 0 || LONG_MAX / SCALE < expdate) { - (void) puts (_("never")); - } else { - expires = expdate * SCALE; - print_date ((time_t) expires); - } + print_day_as_date(expdate); /* * Start with the easy numbers - the number of days before the @@ -344,12 +359,13 @@ static void process_flags (int argc, char **argv) {"mindays", required_argument, NULL, 'm'}, {"maxdays", required_argument, NULL, 'M'}, {"root", required_argument, NULL, 'R'}, + {"prefix", required_argument, NULL, 'P'}, {"warndays", required_argument, NULL, 'W'}, {"iso8601", no_argument, NULL, 'i'}, {NULL, 0, NULL, '\0'} }; - while ((c = getopt_long (argc, argv, "d:E:hiI:lm:M:R:W:", + while ((c = getopt_long (argc, argv, "d:E:hiI:lm:M:R:P:W:", long_options, NULL)) != -1) { switch (c) { case 'd': @@ -380,7 +396,7 @@ static void process_flags (int argc, char **argv) break; case 'I': Iflg = true; - if ( (getlong (optarg, &inactdays) == 0) + if ( (getlong(optarg, &inactdays) == -1) || (inactdays < -1)) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), @@ -393,7 +409,7 @@ static void process_flags (int argc, char **argv) break; case 'm': mflg = true; - if ( (getlong (optarg, &mindays) == 0) + if ( (getlong(optarg, &mindays) == -1) || (mindays < -1)) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), @@ -403,7 +419,7 @@ static void process_flags (int argc, char **argv) break; case 'M': Mflg = true; - if ( (getlong (optarg, &maxdays) == 0) + if ( (getlong(optarg, &maxdays) == -1) || (maxdays < -1)) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), @@ -413,9 +429,11 @@ static void process_flags (int argc, char **argv) break; case 'R': /* no-op, handled in process_root_flag () */ break; + case 'P': /* no-op, handled in process_prefix_flag () */ + break; case 'W': Wflg = true; - if ( (getlong (optarg, &warndays) == 0) + if ( (getlong(optarg, &warndays) == -1) || (warndays < -1)) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), @@ -500,7 +518,7 @@ static void check_perms (void) exit (E_NOPERM); } - retval = pam_start ("chage", pampw->pw_name, &conv, &pamh); + retval = pam_start (Prog, pampw->pw_name, &conv, &pamh); if (PAM_SUCCESS == retval) { retval = pam_authenticate (pamh, 0); @@ -751,24 +769,23 @@ int main (int argc, char **argv) gid_t rgid; const struct passwd *pw; - /* - * Get the program name so that error messages can use it. - */ - Prog = Basename (argv[0]); + sanitize_env (); + check_fds (); + log_set_progname(Prog); log_set_logfd(stderr); - sanitize_env (); (void) setlocale (LC_ALL, ""); (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); process_root_flag ("-R", argc, argv); + prefix = process_prefix_flag ("-P", argc, argv); #ifdef WITH_AUDIT audit_help_open (); #endif - OPENLOG ("chage"); + OPENLOG (Prog); ruid = getuid (); rgid = getgid (); @@ -809,7 +826,7 @@ int main (int argc, char **argv) fail_exit (E_NOPERM); } - STRFCPY (user_name, pw->pw_name); + STRTCPY(user_name, pw->pw_name); #ifdef WITH_TCB if (shadowtcb_set_user (pw->pw_name) == SHADOWTCB_FAILURE) { fail_exit (E_NOPERM); @@ -831,8 +848,7 @@ int main (int argc, char **argv) } #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, - "display aging info", - user_name, (unsigned int) user_uid, 1); + "display aging info", user_name, user_uid, 1); #endif list_fields (); fail_exit (E_SUCCESS); @@ -854,40 +870,38 @@ int main (int argc, char **argv) else { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change all aging information", - user_name, (unsigned int) user_uid, 1); + user_name, user_uid, 1); } #endif } else { #ifdef WITH_AUDIT if (Mflg) { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, - "change max age", - user_name, (unsigned int) user_uid, 1); + "change max age", user_name, user_uid, 1); } if (mflg) { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, - "change min age", - user_name, (unsigned int) user_uid, 1); + "change min age", user_name, user_uid, 1); } if (dflg) { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change last change date", - user_name, (unsigned int) user_uid, 1); + user_name, user_uid, 1); } if (Wflg) { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change passwd warning", - user_name, (unsigned int) user_uid, 1); + user_name, user_uid, 1); } if (Iflg) { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change inactive days", - user_name, (unsigned int) user_uid, 1); + user_name, user_uid, 1); } if (Eflg) { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "change passwd expiration", - user_name, (unsigned int) user_uid, 1); + user_name, user_uid, 1); } #endif } diff --git a/src/check_subid_range.c b/src/check_subid_range.c index 38703b60..5dc0bd7d 100644 --- a/src/check_subid_range.c +++ b/src/check_subid_range.c @@ -12,20 +12,21 @@ #include #include #include + +#include "atoi/strtou_noneg.h" #include "defines.h" #include "prototypes.h" #include "subordinateio.h" #include "idmapping.h" #include "shadowlog.h" -const char *Prog; +static const char Prog[] = "check_subid_range"; int main(int argc, char **argv) { char *owner; unsigned long start, count; bool check_uids; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -34,11 +35,12 @@ int main(int argc, char **argv) owner = argv[1]; check_uids = argv[2][0] == 'u'; - start = strtoul(argv[3], NULL, 10); - if (start == ULONG_MAX && errno == ERANGE) + errno = 0; + start = strtoul_noneg(argv[3], NULL, 10); + if (errno != 0) exit(1); - count = strtoul(argv[4], NULL, 10); - if (count == ULONG_MAX && errno == ERANGE) + count = strtoul_noneg(argv[4], NULL, 10); + if (errno != 0) exit(1); if (check_uids) { if (have_sub_uids(owner, start, count)) diff --git a/src/chfn.c b/src/chfn.c index 1c2f1cce..9043212a 100644 --- a/src/chfn.c +++ b/src/chfn.c @@ -17,6 +17,8 @@ #include #include #include + +#include "alloc.h" #include "defines.h" #include "getdef.h" #include "nscd.h" @@ -30,11 +32,14 @@ /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/sprintf.h" +#include "string/strtcpy.h" + /* * Global variables. */ -const char *Prog; +static const char Prog[] = "chfn"; static char fullnm[BUFSIZ]; static char roomno[BUFSIZ]; static char workph[BUFSIZ]; @@ -54,8 +59,8 @@ static bool pw_locked = false; */ /* local function prototypes */ -static void fail_exit (int code); -static /*@noreturn@*/void usage (int status); +NORETURN static void fail_exit (int code); +NORETURN static void usage (int status); static bool may_change_field (int); static void new_fields (void); static char *copy_field (char *, char *, char *); @@ -86,7 +91,9 @@ static void fail_exit (int code) /* * usage - print command line syntax and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -175,19 +182,19 @@ static void new_fields (void) if (may_change_field ('r')) { change_field (roomno, sizeof roomno, _("Room Number")); } else { - printf (_("\t%s: %s\n"), _("Room Number"), fullnm); + printf (_("\t%s: %s\n"), _("Room Number"), roomno); } if (may_change_field ('w')) { change_field (workph, sizeof workph, _("Work Phone")); } else { - printf (_("\t%s: %s\n"), _("Work Phone"), fullnm); + printf (_("\t%s: %s\n"), _("Work Phone"), workph); } if (may_change_field ('h')) { change_field (homeph, sizeof homeph, _("Home Phone")); } else { - printf (_("\t%s: %s\n"), _("Home Phone"), fullnm); + printf (_("\t%s: %s\n"), _("Home Phone"), homeph); } if (amroot) { @@ -271,7 +278,7 @@ static void process_flags (int argc, char **argv) exit (E_NOPERM); } fflg = true; - STRFCPY (fullnm, optarg); + STRTCPY(fullnm, optarg); break; case 'h': if (!may_change_field ('h')) { @@ -280,7 +287,7 @@ static void process_flags (int argc, char **argv) exit (E_NOPERM); } hflg = true; - STRFCPY (homeph, optarg); + STRTCPY(homeph, optarg); break; case 'o': if (!amroot) { @@ -294,7 +301,7 @@ static void process_flags (int argc, char **argv) _("%s: fields too long\n"), Prog); exit (E_NOPERM); } - STRFCPY (slop, optarg); + STRTCPY(slop, optarg); break; case 'r': if (!may_change_field ('r')) { @@ -303,7 +310,7 @@ static void process_flags (int argc, char **argv) exit (E_NOPERM); } rflg = true; - STRFCPY (roomno, optarg); + STRTCPY(roomno, optarg); break; case 'R': /* no-op, handled in process_root_flag () */ break; @@ -317,7 +324,7 @@ static void process_flags (int argc, char **argv) exit (E_NOPERM); } wflg = true; - STRFCPY (workph, optarg); + STRTCPY(workph, optarg); break; default: usage (E_USAGE); @@ -358,7 +365,7 @@ static void check_perms (const struct passwd *pw) * check if the change is allowed by SELinux policy. */ if ((pw->pw_uid != getuid ()) - && (check_selinux_permit ("chfn") != 0)) { + && (check_selinux_permit (Prog) != 0)) { fprintf (stderr, _("%s: Permission denied.\n"), Prog); closelog (); exit (E_NOPERM); @@ -373,7 +380,7 @@ static void check_perms (const struct passwd *pw) * --marekm */ if (!amroot && getdef_bool ("CHFN_AUTH")) { - passwd_check (pw->pw_name, pw->pw_passwd, "chfn"); + passwd_check (pw->pw_name, pw->pw_passwd, Prog); } #else /* !USE_PAM */ @@ -385,7 +392,7 @@ static void check_perms (const struct passwd *pw) exit (E_NOPERM); } - retval = pam_start ("chfn", pampw->pw_name, &conv, &pamh); + retval = pam_start (Prog, pampw->pw_name, &conv, &pamh); if (PAM_SUCCESS == retval) { retval = pam_authenticate (pamh, 0); @@ -504,34 +511,35 @@ static void get_old_fields (const char *gecos) { char *cp; /* temporary character pointer */ char old_gecos[BUFSIZ]; /* buffer for old GECOS fields */ - STRFCPY (old_gecos, gecos); + + STRTCPY(old_gecos, gecos); /* * Now get the full name. It is the first comma separated field in * the GECOS field. */ - cp = copy_field (old_gecos, fflg ? (char *) 0 : fullnm, slop); + cp = copy_field (old_gecos, fflg ? NULL : fullnm, slop); /* * Now get the room number. It is the next comma separated field, * if there is indeed one. */ if (NULL != cp) { - cp = copy_field (cp, rflg ? (char *) 0 : roomno, slop); + cp = copy_field (cp, rflg ? NULL : roomno, slop); } /* * Now get the work phone number. It is the third field. */ if (NULL != cp) { - cp = copy_field (cp, wflg ? (char *) 0 : workph, slop); + cp = copy_field (cp, wflg ? NULL : workph, slop); } /* * Now get the home phone number. It is the fourth field. */ if (NULL != cp) { - cp = copy_field (cp, hflg ? (char *) 0 : homeph, slop); + cp = copy_field (cp, hflg ? NULL : homeph, slop); } /* @@ -608,19 +616,16 @@ static void check_fields (void) */ int main (int argc, char **argv) { - const struct passwd *pw; /* password file entry */ - char new_gecos[BUFSIZ]; /* buffer for new GECOS fields */ - char *user; + char new_gecos[BUFSIZ]; + char *user; + const struct passwd *pw; + + sanitize_env (); + check_fds (); - /* - * Get the program name. The program name is used as a - * prefix to most error messages. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); - sanitize_env (); (void) setlocale (LC_ALL, ""); (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); @@ -633,7 +638,7 @@ int main (int argc, char **argv) */ amroot = (getuid () == 0); - OPENLOG ("chfn"); + OPENLOG (Prog); /* parse the command line options */ process_flags (argc, argv); @@ -663,29 +668,6 @@ int main (int argc, char **argv) user = xstrdup (pw->pw_name); } -#ifdef USE_NIS - /* - * Now we make sure this is a LOCAL password entry for this user ... - */ - if (__ispwNIS ()) { - char *nis_domain; - char *nis_master; - - fprintf (stderr, - _("%s: cannot change user '%s' on NIS client.\n"), - Prog, user); - - if (!yp_get_default_domain (&nis_domain) && - !yp_master (nis_domain, "passwd.byname", &nis_master)) { - fprintf (stderr, - _ - ("%s: '%s' is the NIS master for this client.\n"), - Prog, nis_master); - } - fail_exit (E_NOPERM); - } -#endif - /* Check that the caller is allowed to change the gecos of the * specified user */ check_perms (pw); @@ -717,9 +699,9 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: fields too long\n"), Prog); fail_exit (E_NOPERM); } - snprintf (new_gecos, sizeof new_gecos, "%s,%s,%s,%s%s%s", - fullnm, roomno, workph, homeph, - ('\0' != slop[0]) ? "," : "", slop); + SNPRINTF(new_gecos, "%s,%s,%s,%s%s%s", + fullnm, roomno, workph, homeph, + ('\0' != slop[0]) ? "," : "", slop); /* Rewrite the user's gecos in the passwd file */ update_gecos (user, new_gecos); diff --git a/src/chgpasswd.c b/src/chgpasswd.c index d17acb67..d7ac85c4 100644 --- a/src/chgpasswd.c +++ b/src/chgpasswd.c @@ -36,7 +36,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "chgpasswd"; static bool eflg = false; static bool md5flg = false; #if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT) @@ -62,8 +62,8 @@ static bool sgr_locked = false; static bool gr_locked = false; /* local function prototypes */ -static void fail_exit (int code); -static /*@noreturn@*/void usage (int status); +NORETURN static void fail_exit (int code); +NORETURN static void usage (int status); static void process_flags (int argc, char **argv); static void check_flags (void); static void check_perms (void); @@ -99,7 +99,9 @@ static void fail_exit (int code) /* * usage - display usage message and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -184,21 +186,28 @@ static void process_flags (int argc, char **argv) case 's': sflg = true; bad_s = 0; + + if (!crypt_method) { + fprintf (stderr, + _("%s: no crypt method defined\n"), + Prog); + usage (E_USAGE); + } #if defined(USE_SHA_CRYPT) if ( ( ((0 == strcmp (crypt_method, "SHA256")) || (0 == strcmp (crypt_method, "SHA512"))) - && (0 == getlong(optarg, &sha_rounds)))) { + && (-1 == getlong(optarg, &sha_rounds)))) { bad_s = 1; } #endif /* USE_SHA_CRYPT */ #if defined(USE_BCRYPT) if (( (0 == strcmp (crypt_method, "BCRYPT")) - && (0 == getlong(optarg, &bcrypt_rounds)))) { + && (-1 == getlong(optarg, &bcrypt_rounds)))) { bad_s = 1; } #endif /* USE_BCRYPT */ #if defined(USE_YESCRYPT) if (( (0 == strcmp (crypt_method, "YESCRYPT")) - && (0 == getlong(optarg, &yescrypt_cost)))) { + && (-1 == getlong(optarg, &yescrypt_cost)))) { bad_s = 1; } #endif /* USE_YESCRYPT */ @@ -294,7 +303,7 @@ static void check_perms (void) exit (1); } - retval = pam_start ("chgpasswd", pampw->pw_name, &conv, &pamh); + retval = pam_start (Prog, pampw->pw_name, &conv, &pamh); if (PAM_SUCCESS == retval) { retval = pam_authenticate (pamh, 0); @@ -414,7 +423,6 @@ int main (int argc, char **argv) int errors = 0; int line = 0; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -422,11 +430,17 @@ int main (int argc, char **argv) (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); +#ifdef WITH_SELINUX + if (check_selinux_permit ("passwd") != 0) { + return (E_NOPERM); + } +#endif /* WITH_SELINUX */ + process_root_flag ("-R", argc, argv); process_flags (argc, argv); - OPENLOG ("chgpasswd"); + OPENLOG (Prog); check_perms (); @@ -441,7 +455,7 @@ int main (int argc, char **argv) * group entry for each group will be looked up in the appropriate * file (gshadow or group) and the password changed. */ - while (fgets (buf, (int) sizeof buf, stdin) != (char *) 0) { + while (fgets (buf, (int) sizeof buf, stdin) != NULL) { line++; cp = strrchr (buf, '\n'); if (NULL != cp) { diff --git a/src/chpasswd.c b/src/chpasswd.c index 48d5178b..82338429 100644 --- a/src/chpasswd.c +++ b/src/chpasswd.c @@ -35,7 +35,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "chpasswd"; static bool eflg = false; static bool md5flg = false; #if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT) @@ -54,13 +54,15 @@ static long bcrypt_rounds = 13; static long yescrypt_cost = 5; #endif +static const char *prefix = ""; + static bool is_shadow_pwd; static bool pw_locked = false; static bool spw_locked = false; /* local function prototypes */ -static void fail_exit (int code); -static /*@noreturn@*/void usage (int status); +NORETURN static void fail_exit (int code); +NORETURN static void usage (int status); static void process_flags (int argc, char **argv); static void check_flags (void); static void check_perms (void); @@ -94,7 +96,9 @@ static void fail_exit (int code) /* * usage - display usage message and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -121,6 +125,7 @@ static /*@noreturn@*/void usage (int status) " the MD5 algorithm\n"), usageout); (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); + (void) fputs (_(" -P, --prefix PREFIX_DIR directory prefix\n"), usageout); #if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT) (void) fputs (_(" -s, --sha-rounds number of rounds for the SHA, BCRYPT\n" " or YESCRYPT crypt algorithms\n"), @@ -148,6 +153,7 @@ static void process_flags (int argc, char **argv) {"help", no_argument, NULL, 'h'}, {"md5", no_argument, NULL, 'm'}, {"root", required_argument, NULL, 'R'}, + {"prefix", required_argument, NULL, 'P'}, #if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT) {"sha-rounds", required_argument, NULL, 's'}, #endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */ @@ -156,9 +162,9 @@ static void process_flags (int argc, char **argv) while ((c = getopt_long (argc, argv, #if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT) - "c:ehmR:s:", + "c:ehmR:P:s:", #else - "c:ehmR:", + "c:ehmR:P:", #endif long_options, NULL)) != -1) { switch (c) { @@ -176,25 +182,27 @@ static void process_flags (int argc, char **argv) break; case 'R': /* no-op, handled in process_root_flag () */ break; + case 'P': /* no-op, handled in process_prefix_flag () */ + break; #if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT) case 's': sflg = true; bad_s = 0; #if defined(USE_SHA_CRYPT) if ((IS_CRYPT_METHOD("SHA256") || IS_CRYPT_METHOD("SHA512")) - && (0 == getlong(optarg, &sha_rounds))) { + && (-1 == getlong(optarg, &sha_rounds))) { bad_s = 1; } #endif /* USE_SHA_CRYPT */ #if defined(USE_BCRYPT) if (IS_CRYPT_METHOD("BCRYPT") - && (0 == getlong(optarg, &bcrypt_rounds))) { + && (-1 == getlong(optarg, &bcrypt_rounds))) { bad_s = 1; } #endif /* USE_BCRYPT */ #if defined(USE_YESCRYPT) if (IS_CRYPT_METHOD("YESCRYPT") - && (0 == getlong(optarg, &yescrypt_cost))) { + && (-1 == getlong(optarg, &yescrypt_cost))) { bad_s = 1; } #endif /* USE_YESCRYPT */ @@ -294,7 +302,7 @@ static void check_perms (void) exit (1); } - retval = pam_start ("chpasswd", pampw->pw_name, &conv, &pamh); + retval = pam_start (Prog, pampw->pw_name, &conv, &pamh); if (PAM_SUCCESS == retval) { retval = pam_authenticate (pamh, 0); @@ -442,7 +450,6 @@ int main (int argc, char **argv) int errors = 0; int line = 0; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -450,18 +457,25 @@ int main (int argc, char **argv) (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); +#ifdef WITH_SELINUX + if (check_selinux_permit ("passwd") != 0) { + return (E_NOPERM); + } +#endif /* WITH_SELINUX */ + process_flags (argc, argv); salt = get_salt(); process_root_flag ("-R", argc, argv); + prefix = process_prefix_flag ("-P", argc, argv); #ifdef USE_PAM - if (md5flg || eflg || cflg) { + if (md5flg || eflg || cflg || prefix[0]) { use_pam = false; } #endif /* USE_PAM */ - OPENLOG ("chpasswd"); + OPENLOG (Prog); check_perms (); @@ -482,7 +496,7 @@ int main (int argc, char **argv) * last change date is set in the age only if aging information is * present. */ - while (fgets (buf, (int) sizeof buf, stdin) != (char *) 0) { + while (fgets (buf, sizeof buf, stdin) != NULL) { line++; cp = strrchr (buf, '\n'); if (NULL != cp) { @@ -491,7 +505,7 @@ int main (int argc, char **argv) if (feof (stdin) == 0) { // Drop all remaining characters on this line. - while (fgets (buf, (int) sizeof buf, stdin) != (char *) 0) { + while (fgets (buf, sizeof buf, stdin) != NULL) { cp = strchr (buf, '\n'); if (cp != NULL) { break; @@ -531,7 +545,7 @@ int main (int argc, char **argv) #ifdef USE_PAM if (use_pam) { - if (do_pam_passwd_non_interactive ("chpasswd", name, newpwd) != 0) { + if (do_pam_passwd_non_interactive (Prog, name, newpwd) != 0) { fprintf (stderr, _("%s: (line %d, user %s) password not changed\n"), Prog, line, name); @@ -606,7 +620,7 @@ int main (int argc, char **argv) if (NULL != sp) { newsp = *sp; newsp.sp_pwdp = cp; - newsp.sp_lstchg = (long) gettime () / SCALE; + newsp.sp_lstchg = gettime () / DAY; if (0 == newsp.sp_lstchg) { /* Better disable aging than requiring a * password change */ diff --git a/src/chsh.c b/src/chsh.c index 21d1c3ef..c4918c1b 100644 --- a/src/chsh.c +++ b/src/chsh.c @@ -16,6 +16,8 @@ #include #include #include + +#include "alloc.h" #include "defines.h" #include "getdef.h" #include "nscd.h" @@ -29,14 +31,22 @@ /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/strtcpy.h" #ifndef SHELLS_FILE #define SHELLS_FILE "/etc/shells" #endif + +#ifdef HAVE_VENDORDIR +#include +#define SHELLS "shells" +#define ETCDIR "/etc" +#endif + /* * Global variables */ -const char *Prog; /* Program name */ +static const char Prog[] = "chsh"; /* Program name */ static bool amroot; /* Real UID is root */ static char loginsh[BUFSIZ]; /* Name of new login shell */ /* command line options */ @@ -46,8 +56,8 @@ static bool pw_locked = false; /* external identifiers */ /* local function prototypes */ -static /*@noreturn@*/void fail_exit (int code); -static /*@noreturn@*/void usage (int status); +NORETURN static void fail_exit (int code); +NORETURN static void usage (int status); static void new_fields (void); static bool shell_is_listed (const char *); static bool is_restricted_shell (const char *); @@ -58,7 +68,9 @@ static void update_shell (const char *user, char *loginsh); /* * fail_exit - do some cleanup and exit with the given error code */ -static /*@noreturn@*/void fail_exit (int code) +NORETURN +static void +fail_exit (int code) { if (pw_locked) { if (pw_unlock () == 0) { @@ -76,7 +88,9 @@ static /*@noreturn@*/void fail_exit (int code) /* * usage - print command line syntax and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -127,17 +141,60 @@ static bool is_restricted_shell (const char *sh) * If getusershell() is available (Linux, *BSD, possibly others), use it * instead of re-implementing it. */ + +#ifdef HAVE_VENDORDIR static bool shell_is_listed (const char *sh) { - char *cp; bool found = false; -#ifndef HAVE_GETUSERSHELL - char buf[BUFSIZ]; - FILE *fp; -#endif + size_t size = 0; + econf_err error; + char **keys; + econf_file *key_file; + + error = econf_readDirs(&key_file, + VENDORDIR, + ETCDIR, + SHELLS, + NULL, + "", /* key only */ + "#" /* comment */); + if (error) { + fprintf (stderr, + _("Cannot parse shell files: %s"), + econf_errString(error)); + fail_exit (1); + } + + error = econf_getKeys(key_file, NULL, &size, &keys); + if (error) { + fprintf (stderr, + _("Cannot evaluate entries in shell files: %s"), + econf_errString(error)); + econf_free (key_file); + fail_exit (1); + } + + for (size_t i = 0; i < size; i++) { + if (strcmp (keys[i], sh) == 0) { + found = true; + break; + } + } + econf_free (keys); + econf_free (key_file); + + return found; +} + +#else /* without HAVE_VENDORDIR */ + +static bool shell_is_listed (const char *sh) +{ + bool found = false; #ifdef HAVE_GETUSERSHELL + char *cp; setusershell (); while ((cp = getusershell ())) { if (strcmp (cp, sh) == 0) { @@ -147,18 +204,17 @@ static bool shell_is_listed (const char *sh) } endusershell (); #else + char *buf = NULL; + FILE *fp; + size_t n = 0; + fp = fopen (SHELLS_FILE, "r"); if (NULL == fp) { return false; } - while (fgets (buf, sizeof (buf), fp) == buf) { - cp = strrchr (buf, '\n'); - if (NULL != cp) { - *cp = '\0'; - } - - if (buf[0] == '#') { + while (getline (&buf, &n, fp) != -1) { + if (buf[0] != '/') { continue; } @@ -167,10 +223,13 @@ static bool shell_is_listed (const char *sh) break; } } + + free(buf); fclose (fp); #endif return found; } +#endif /* with HAVE_VENDORDIR */ /* * process_flags - parse the command line options @@ -197,7 +256,7 @@ static void process_flags (int argc, char **argv) break; case 's': sflg = true; - STRFCPY (loginsh, optarg); + STRTCPY(loginsh, optarg); break; default: usage (E_USAGE); @@ -260,7 +319,7 @@ static void check_perms (const struct passwd *pw) * check if the change is allowed by SELinux policy. */ if ((pw->pw_uid != getuid ()) - && (check_selinux_permit("chsh") != 0)) { + && (check_selinux_permit(Prog) != 0)) { SYSLOG ((LOG_WARN, "can't change shell for '%s'", pw->pw_name)); fprintf (stderr, _("You may not change the shell for '%s'.\n"), @@ -277,7 +336,7 @@ static void check_perms (const struct passwd *pw) * chfn/chsh. --marekm */ if (!amroot && getdef_bool ("CHSH_AUTH")) { - passwd_check (pw->pw_name, pw->pw_passwd, "chsh"); + passwd_check (pw->pw_name, pw->pw_passwd, Prog); } #else /* !USE_PAM */ @@ -289,7 +348,7 @@ static void check_perms (const struct passwd *pw) exit (E_NOPERM); } - retval = pam_start ("chsh", pampw->pw_name, &conv, &pamh); + retval = pam_start (Prog, pampw->pw_name, &conv, &pamh); if (PAM_SUCCESS == retval) { retval = pam_authenticate (pamh, 0); @@ -413,12 +472,8 @@ int main (int argc, char **argv) const struct passwd *pw; /* Password entry from /etc/passwd */ sanitize_env (); + check_fds (); - /* - * Get the program name. The program name is used as a prefix to - * most error messages. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -433,7 +488,7 @@ int main (int argc, char **argv) */ amroot = (getuid () == 0); - OPENLOG ("chsh"); + OPENLOG (Prog); /* parse the command line options */ process_flags (argc, argv); @@ -463,28 +518,6 @@ int main (int argc, char **argv) user = xstrdup (pw->pw_name); } -#ifdef USE_NIS - /* - * Now we make sure this is a LOCAL password entry for this user ... - */ - if (__ispwNIS ()) { - char *nis_domain; - char *nis_master; - - fprintf (stderr, - _("%s: cannot change user '%s' on NIS client.\n"), - Prog, user); - - if (!yp_get_default_domain (&nis_domain) && - !yp_master (nis_domain, "passwd.byname", &nis_master)) { - fprintf (stderr, - _("%s: '%s' is the NIS master for this client.\n"), - Prog, nis_master); - } - fail_exit (1); - } -#endif - check_perms (pw); /* @@ -492,7 +525,7 @@ int main (int argc, char **argv) * file, or use the value from the command line. */ if (!sflg) { - STRFCPY (loginsh, pw->pw_shell); + STRTCPY(loginsh, pw->pw_shell); } /* @@ -514,11 +547,15 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: Invalid entry: %s\n"), Prog, loginsh); fail_exit (1); } - if ( !amroot - && ( is_restricted_shell (loginsh) - || (access (loginsh, X_OK) != 0))) { - fprintf (stderr, _("%s: %s is an invalid shell\n"), Prog, loginsh); - fail_exit (1); + if (loginsh[0] != '/' + || is_restricted_shell (loginsh) + || (access (loginsh, X_OK) != 0)) { + if (amroot) { + fprintf (stderr, _("%s: Warning: %s is an invalid shell\n"), Prog, loginsh); + } else { + fprintf (stderr, _("%s: %s is an invalid shell\n"), Prog, loginsh); + fail_exit (1); + } } /* Even for root, warn if an invalid shell is specified. */ diff --git a/src/expiry.c b/src/expiry.c index dc20b90e..12647a23 100644 --- a/src/expiry.c +++ b/src/expiry.c @@ -16,6 +16,8 @@ #include #include #include + +#include "attr.h" #include "defines.h" #include "prototypes.h" /*@-exitarg@*/ @@ -23,18 +25,18 @@ #include "shadowlog.h" /* Global variables */ -const char *Prog; +static const char Prog[] = "expiry"; static bool cflg = false; /* local function prototypes */ -static void catch_signals (unused int sig); -static /*@noreturn@*/void usage (int status); +static void catch_signals (MAYBE_UNUSED int sig); +NORETURN static void usage (int status); static void process_flags (int argc, char **argv); /* * catch_signals - signal catcher */ -static void catch_signals (unused int sig) +static void catch_signals (MAYBE_UNUSED int sig) { _exit (10); } @@ -42,7 +44,9 @@ static void catch_signals (unused int sig) /* * usage - print syntax message and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -121,21 +125,19 @@ int main (int argc, char **argv) struct passwd *pwd; struct spwd *spwd; - Prog = Basename (argv[0]); + sanitize_env (); + check_fds (); + log_set_progname(Prog); log_set_logfd(stderr); - sanitize_env (); - /* * Start by disabling all of the keyboard signals. */ (void) signal (SIGHUP, catch_signals); (void) signal (SIGINT, catch_signals); (void) signal (SIGQUIT, catch_signals); -#ifdef SIGTSTP (void) signal (SIGTSTP, catch_signals); -#endif /* * expiry takes one of two arguments. The default action is to give @@ -145,7 +147,7 @@ int main (int argc, char **argv) (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); - OPENLOG ("expiry"); + OPENLOG (Prog); process_flags (argc, argv); diff --git a/src/faillog.c b/src/faillog.c index 0f94836f..61180273 100644 --- a/src/faillog.c +++ b/src/faillog.c @@ -18,15 +18,19 @@ #include #include #include + #include "defines.h" #include "faillog.h" +#include "memzero.h" #include "prototypes.h" /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/strftime.h" + /* local function prototypes */ -static /*@noreturn@*/void usage (int status); +NORETURN static void usage (int status); static void print_one (/*@null@*/const struct passwd *pw, bool force); static void set_locktime (long locktime); static bool set_locktime_one (uid_t uid, long locktime); @@ -39,7 +43,7 @@ static void reset (void); /* * Global variables */ -const char *Prog; /* Program name */ +static const char Prog[] = "faillog"; /* Program name */ static FILE *fail; /* failure file stream */ static time_t seconds; /* that number of days in seconds */ static unsigned long umin; /* if uflg and has_umin, only display users with uid >= umin */ @@ -57,9 +61,11 @@ static bool rflg = false; /* reset the counters of login failures */ static struct stat statbuf; /* fstat buffer for file size */ -#define NOW (time((time_t *) 0)) +#define NOW time(NULL) -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -81,11 +87,53 @@ static /*@noreturn@*/void usage (int status) exit (status); } +/* + * Looks up the offset in the faillog file for the given uid. + * Returns -1 on error. + */ +static off_t lookup_faillog(struct faillog *fl, uid_t uid) +{ + off_t offset, size; + + /* Ensure multiplication does not overflow and retrieving a wrong entry */ + if (__builtin_mul_overflow(uid, sizeof(*fl), &offset)) { + fprintf(stderr, + _("%s: Failed to get the entry for UID %lu\n"), + Prog, (unsigned long)uid); + return -1; + } + + if (!__builtin_add_overflow(offset, sizeof(*fl), &size) + && size <= statbuf.st_size) { + /* fseeko errors are not really relevant for us. */ + int err = fseeko(fail, offset, SEEK_SET); + assert(0 == err); + /* faillog is a sparse file. Even if no entries were + * entered for this user, which should be able to get the + * empty entry in this case. + */ + if (fread(fl, sizeof(*fl), 1, fail) != 1) { + fprintf(stderr, + _("%s: Failed to get the entry for UID %lu\n"), + Prog, (unsigned long)uid); + return -1; + } + } else { + /* Outsize of the faillog file. + * Behave as if there were a missing entry (same behavior + * as if we were reading an non existing entry in the + * sparse faillog file). + */ + memzero(fl, sizeof(*fl)); + } + + return offset; +} + static void print_one (/*@null@*/const struct passwd *pw, bool force) { static bool once = false; struct tm *tm; - off_t offset; struct faillog fl; time_t now; char *cp; @@ -95,28 +143,8 @@ static void print_one (/*@null@*/const struct passwd *pw, bool force) return; } - offset = (off_t) pw->pw_uid * sizeof (fl); - if (offset + sizeof (fl) <= statbuf.st_size) { - /* fseeko errors are not really relevant for us. */ - int err = fseeko (fail, offset, SEEK_SET); - assert (0 == err); - /* faillog is a sparse file. Even if no entries were - * entered for this user, which should be able to get the - * empty entry in this case. - */ - if (fread ((char *) &fl, sizeof (fl), 1, fail) != 1) { - fprintf (stderr, - _("%s: Failed to get the entry for UID %lu\n"), - Prog, (unsigned long int)pw->pw_uid); - return; - } - } else { - /* Outsize of the faillog file. - * Behave as if there were a missing entry (same behavior - * as if we were reading an non existing entry in the - * sparse faillog file). - */ - memzero (&fl, sizeof (fl)); + if (lookup_faillog(&fl, pw->pw_uid) < 0) { + return; } /* Nothing to report */ @@ -142,7 +170,7 @@ static void print_one (/*@null@*/const struct passwd *pw, bool force) fprintf (stderr, "Cannot read time from faillog.\n"); return; } - strftime (ptime, sizeof (ptime), "%D %H:%M:%S %z", tm); + STRFTIME(ptime, "%D %H:%M:%S %z", tm); cp = ptime; printf ("%-9s %5d %5d ", @@ -164,7 +192,7 @@ static void print_one (/*@null@*/const struct passwd *pw, bool force) static void print (void) { if (uflg && has_umin && has_umax && (umin==umax)) { - print_one (getpwuid ((uid_t)umin), true); + print_one (getpwuid (umin), true); } else { /* We only print records for existing users. * Loop based on the user database instead of reading the @@ -197,28 +225,10 @@ static bool reset_one (uid_t uid) off_t offset; struct faillog fl; - offset = (off_t) uid * sizeof (fl); - if (offset + sizeof (fl) <= statbuf.st_size) { - /* fseeko errors are not really relevant for us. */ - int err = fseeko (fail, offset, SEEK_SET); - assert (0 == err); - /* faillog is a sparse file. Even if no entries were - * entered for this user, which should be able to get the - * empty entry in this case. - */ - if (fread ((char *) &fl, sizeof (fl), 1, fail) != 1) { - fprintf (stderr, - _("%s: Failed to get the entry for UID %lu\n"), - Prog, (unsigned long int)uid); - return true; - } - } else { - /* Outsize of the faillog file. - * Behave as if there were a missing entry (same behavior - * as if we were reading an non existing entry in the - * sparse faillog file). - */ - memzero (&fl, sizeof (fl)); + offset = lookup_faillog(&fl, uid); + if (offset < 0) { + /* failure */ + return true; } if (0 == fl.fail_cnt) { @@ -232,21 +242,21 @@ static bool reset_one (uid_t uid) fl.fail_cnt = 0; if ( (fseeko (fail, offset, SEEK_SET) == 0) - && (fwrite ((char *) &fl, sizeof (fl), 1, fail) == 1)) { + && (fwrite (&fl, sizeof (fl), 1, fail) == 1)) { (void) fflush (fail); return false; } fprintf (stderr, _("%s: Failed to reset fail count for UID %lu\n"), - Prog, (unsigned long int)uid); + Prog, (unsigned long)uid); return true; } static void reset (void) { if (uflg && has_umin && has_umax && (umin==umax)) { - if (reset_one ((uid_t)umin)) { + if (reset_one (umin)) { errors = true; } } else { @@ -258,7 +268,7 @@ static void reset (void) uidmax--; } if (has_umax && (uid_t)umax < uidmax) { - uidmax = (uid_t)umax; + uidmax = umax; } /* Reset all entries in the specified range. @@ -271,7 +281,7 @@ static void reset (void) /* Make sure we stay in the umin-umax range if specified */ if (has_umin) { - uid = (uid_t)umin; + uid = umin; } while (uid <= uidmax) { @@ -289,7 +299,7 @@ static void reset (void) while ( (pwent = getpwent ()) != NULL ) { if ( uflg && ( (has_umin && (pwent->pw_uid < (uid_t)umin)) - || (pwent->pw_uid > (uid_t)uidmax))) { + || (pwent->pw_uid > uidmax))) { continue; } if (reset_one (pwent->pw_uid)) { @@ -311,28 +321,9 @@ static bool setmax_one (uid_t uid, short max) off_t offset; struct faillog fl; - offset = (off_t) uid * sizeof (fl); - if (offset + sizeof (fl) <= statbuf.st_size) { - /* fseeko errors are not really relevant for us. */ - int err = fseeko (fail, offset, SEEK_SET); - assert (0 == err); - /* faillog is a sparse file. Even if no entries were - * entered for this user, which should be able to get the - * empty entry in this case. - */ - if (fread ((char *) &fl, sizeof (fl), 1, fail) != 1) { - fprintf (stderr, - _("%s: Failed to get the entry for UID %lu\n"), - Prog, (unsigned long int)uid); - return true; - } - } else { - /* Outsize of the faillog file. - * Behave as if there were a missing entry (same behavior - * as if we were reading an non existing entry in the - * sparse faillog file). - */ - memzero (&fl, sizeof (fl)); + offset = lookup_faillog(&fl, uid); + if (offset < 0) { + return true; } if (max == fl.fail_max) { @@ -347,21 +338,21 @@ static bool setmax_one (uid_t uid, short max) fl.fail_max = max; if ( (fseeko (fail, offset, SEEK_SET) == 0) - && (fwrite ((char *) &fl, sizeof (fl), 1, fail) == 1)) { + && (fwrite (&fl, sizeof (fl), 1, fail) == 1)) { (void) fflush (fail); return false; } fprintf (stderr, _("%s: Failed to set max for UID %lu\n"), - Prog, (unsigned long int)uid); + Prog, (unsigned long)uid); return true; } static void setmax (short max) { if (uflg && has_umin && has_umax && (umin==umax)) { - if (setmax_one ((uid_t)umin, max)) { + if (setmax_one (umin, max)) { errors = true; } } else { @@ -385,10 +376,10 @@ static void setmax (short max) /* Make sure we stay in the umin-umax range if specified */ if (has_umin) { - uid = (uid_t)umin; + uid = umin; } if (has_umax) { - uidmax = (uid_t)umax; + uidmax = umax; } while (uid <= uidmax) { @@ -428,28 +419,9 @@ static bool set_locktime_one (uid_t uid, long locktime) off_t offset; struct faillog fl; - offset = (off_t) uid * sizeof (fl); - if (offset + sizeof (fl) <= statbuf.st_size) { - /* fseeko errors are not really relevant for us. */ - int err = fseeko (fail, offset, SEEK_SET); - assert (0 == err); - /* faillog is a sparse file. Even if no entries were - * entered for this user, which should be able to get the - * empty entry in this case. - */ - if (fread ((char *) &fl, sizeof (fl), 1, fail) != 1) { - fprintf (stderr, - _("%s: Failed to get the entry for UID %lu\n"), - Prog, (unsigned long int)uid); - return true; - } - } else { - /* Outsize of the faillog file. - * Behave as if there were a missing entry (same behavior - * as if we were reading an non existing entry in the - * sparse faillog file). - */ - memzero (&fl, sizeof (fl)); + offset = lookup_faillog(&fl, uid); + if (offset < 0) { + return true; } if (locktime == fl.fail_locktime) { @@ -464,21 +436,21 @@ static bool set_locktime_one (uid_t uid, long locktime) fl.fail_locktime = locktime; if ( (fseeko (fail, offset, SEEK_SET) == 0) - && (fwrite ((char *) &fl, sizeof (fl), 1, fail) == 1)) { + && (fwrite (&fl, sizeof (fl), 1, fail) == 1)) { (void) fflush (fail); return false; } fprintf (stderr, _("%s: Failed to set locktime for UID %lu\n"), - Prog, (unsigned long int)uid); + Prog, (unsigned long)uid); return true; } static void set_locktime (long locktime) { if (uflg && has_umin && has_umax && (umin==umax)) { - if (set_locktime_one ((uid_t)umin, locktime)) { + if (set_locktime_one (umin, locktime)) { errors = true; } } else { @@ -502,10 +474,10 @@ static void set_locktime (long locktime) /* Make sure we stay in the umin-umax range if specified */ if (has_umin) { - uid = (uid_t)umin; + uid = umin; } if (has_umax) { - uidmax = (uid_t)umax; + uidmax = umax; } while (uid <= uidmax) { @@ -541,11 +513,6 @@ int main (int argc, char **argv) short fail_max = 0; // initialize to silence compiler warning long days = 0; - /* - * Get the program name. The program name is used as a prefix to - * most error messages. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -578,7 +545,7 @@ int main (int argc, char **argv) usage (E_SUCCESS); /*@notreached@*/break; case 'l': - if (getlong (optarg, &fail_locktime) == 0) { + if (getlong(optarg, &fail_locktime) == -1) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -588,15 +555,16 @@ int main (int argc, char **argv) break; case 'm': { - long int lmax; - if ( (getlong (optarg, &lmax) == 0) - || ((long int)(short) lmax != lmax)) { + long lmax; + + if ( (getlong(optarg, &lmax) == -1) + || ((long)(short) lmax != lmax)) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); exit (E_BAD_ARG); } - fail_max = (short) lmax; + fail_max = lmax; mflg = true; break; } @@ -606,7 +574,7 @@ int main (int argc, char **argv) case 'R': /* no-op, handled in process_root_flag () */ break; case 't': - if (getlong (optarg, &days) == 0) { + if (getlong(optarg, &days) == -1) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -630,14 +598,14 @@ int main (int argc, char **argv) /* local, no need for xgetpwnam */ pwent = getpwnam (optarg); if (NULL != pwent) { - umin = (unsigned long) pwent->pw_uid; + umin = pwent->pw_uid; has_umin = true; umax = umin; has_umax = true; } else { - if (getrange (optarg, - &umin, &has_umin, - &umax, &has_umax) == 0) { + if (getrange(optarg, + &umin, &has_umin, + &umax, &has_umax) == -1) { fprintf (stderr, _("%s: Unknown user or range: %s\n"), Prog, optarg); diff --git a/src/free_subid_range.c b/src/free_subid_range.c index d9a2cd8d..441c2277 100644 --- a/src/free_subid_range.c +++ b/src/free_subid_range.c @@ -9,7 +9,7 @@ /* Test program for the subid freeing routine */ -const char *Prog; +static const char Prog[] = "free_subid_range"; static void usage(void) { @@ -25,7 +25,6 @@ int main(int argc, char *argv[]) struct subordinate_range range; bool group = false; // get subuids by default - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); while ((c = getopt(argc, argv, "g")) != EOF) { diff --git a/src/get_subid_owners.c b/src/get_subid_owners.c index 36974b84..e1c1e795 100644 --- a/src/get_subid_owners.c +++ b/src/get_subid_owners.c @@ -6,7 +6,7 @@ #include "prototypes.h" #include "shadowlog.h" -const char *Prog; +static const char Prog[] = "get_subid_owners"; static void usage(void) { @@ -21,7 +21,6 @@ int main(int argc, char *argv[]) int i, n; uid_t *uids; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); if (argc < 2) { diff --git a/src/getsubids.c b/src/getsubids.c index c91ae39e..fb645b19 100644 --- a/src/getsubids.c +++ b/src/getsubids.c @@ -7,7 +7,7 @@ #include "prototypes.h" #include "shadowlog.h" -const char *Prog; +static const char Prog[] = "getsubids"; static void usage(void) { @@ -23,7 +23,6 @@ int main(int argc, char *argv[]) struct subid_range *ranges; const char *owner; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); if (argc < 2) diff --git a/src/gpasswd.c b/src/gpasswd.c index 5983f787..de6b1c4c 100644 --- a/src/gpasswd.c +++ b/src/gpasswd.c @@ -19,8 +19,13 @@ #include #include #include + +#include "agetpass.h" +#include "alloc.h" +#include "attr.h" #include "defines.h" #include "groupio.h" +#include "memzero.h" #include "nscd.h" #include "sssd.h" #include "prototypes.h" @@ -29,13 +34,16 @@ #endif /*@-exitarg@*/ #include "exitcodes.h" - #include "shadowlog.h" +#include "string/sprintf.h" +#include "string/strtcpy.h" + + /* * Global variables */ /* The name of this command, as it is invoked */ -const char *Prog; +static const char Prog[] = "gpasswd"; #ifdef SHADOWGRP /* Indicate if shadow groups are enabled on the system @@ -73,6 +81,7 @@ static uid_t bywho; #endif /* local function prototypes */ +NORETURN static void failure(void); static void usage (int status); static void catch_signals (int killed); static bool is_valid_user_list (const char *users); @@ -92,14 +101,14 @@ static void update_group (struct group *gr); static void change_passwd (struct group *gr); #endif static void log_gpasswd_failure (const char *suffix); -static void log_gpasswd_failure_system (/*@null@*/unused void *arg); -static void log_gpasswd_failure_group (/*@null@*/unused void *arg); +static void log_gpasswd_failure_system (/*@null@*/MAYBE_UNUSED void *arg); +static void log_gpasswd_failure_group (/*@null@*/MAYBE_UNUSED void *arg); #ifdef SHADOWGRP -static void log_gpasswd_failure_gshadow (/*@null@*/unused void *arg); +static void log_gpasswd_failure_gshadow (/*@null@*/MAYBE_UNUSED void *arg); #endif static void log_gpasswd_success (const char *suffix); -static void log_gpasswd_success_system (/*@null@*/unused void *arg); -static void log_gpasswd_success_group (/*@null@*/unused void *arg); +static void log_gpasswd_success_system (/*@null@*/MAYBE_UNUSED void *arg); +static void log_gpasswd_success_group (/*@null@*/MAYBE_UNUSED void *arg); /* * usage - display usage message @@ -194,11 +203,11 @@ static bool is_valid_user_list (const char *users) return is_valid; } -static void failure (void) +static void failure(void) { - fprintf (stderr, _("%s: Permission denied.\n"), Prog); - log_gpasswd_failure (": Permission denied"); - exit (E_NOPERM); + fprintf(stderr, _("%s: Permission denied.\n"), Prog); + log_gpasswd_failure(": Permission denied"); + exit(E_NOPERM); } /* @@ -376,17 +385,16 @@ static void open_files (void) static void log_gpasswd_failure (const char *suffix) { #ifdef WITH_AUDIT - char buf[1024]; + char buf[1024]; #endif + if (aflg) { SYSLOG ((LOG_ERR, "%s failed to add user %s to group %s%s", myname, user, group, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "%s failed to add user %s to group %s%s", - myname, user, group, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "%s failed to add user %s to group %s%s", + myname, user, group, suffix); audit_logger (AUDIT_USER_ACCT, Prog, buf, group, AUDIT_NO_ID, @@ -397,10 +405,8 @@ static void log_gpasswd_failure (const char *suffix) "%s failed to remove user %s from group %s%s", myname, user, group, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "%s failed to remove user %s from group %s%s", - myname, user, group, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "%s failed to remove user %s from group %s%s", + myname, user, group, suffix); audit_logger (AUDIT_USER_ACCT, Prog, buf, group, AUDIT_NO_ID, @@ -411,10 +417,8 @@ static void log_gpasswd_failure (const char *suffix) "%s failed to remove password of group %s%s", myname, group, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "%s failed to remove password of group %s%s", - myname, group, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "%s failed to remove password of group %s%s", + myname, group, suffix); audit_logger (AUDIT_USER_CHAUTHTOK, Prog, buf, group, AUDIT_NO_ID, @@ -425,10 +429,8 @@ static void log_gpasswd_failure (const char *suffix) "%s failed to restrict access to group %s%s", myname, group, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "%s failed to restrict access to group %s%s", - myname, group, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "%s failed to restrict access to group %s%s", + myname, group, suffix); audit_logger (AUDIT_USER_CHAUTHTOK, Prog, buf, group, AUDIT_NO_ID, @@ -441,10 +443,8 @@ static void log_gpasswd_failure (const char *suffix) "%s failed to set the administrators of group %s to %s%s", myname, group, admins, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "%s failed to set the administrators of group %s to %s%s", - myname, group, admins, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "%s failed to set the administrators of group %s to %s%s", + myname, group, admins, suffix); audit_logger (AUDIT_USER_ACCT, Prog, buf, group, AUDIT_NO_ID, @@ -457,10 +457,8 @@ static void log_gpasswd_failure (const char *suffix) "%s failed to set the members of group %s to %s%s", myname, group, members, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "%s failed to set the members of group %s to %s%s", - myname, group, members, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "%s failed to set the members of group %s to %s%s", + myname, group, members, suffix); audit_logger (AUDIT_USER_ACCT, Prog, buf, group, AUDIT_NO_ID, @@ -472,10 +470,8 @@ static void log_gpasswd_failure (const char *suffix) "%s failed to change password of group %s%s", myname, group, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "%s failed to change password of group %s%s", - myname, group, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "%s failed to change password of group %s%s", + myname, group, suffix); audit_logger (AUDIT_USER_CHAUTHTOK, Prog, buf, group, AUDIT_NO_ID, @@ -484,25 +480,25 @@ static void log_gpasswd_failure (const char *suffix) } } -static void log_gpasswd_failure_system (unused void *arg) +static void log_gpasswd_failure_system (MAYBE_UNUSED void *arg) { log_gpasswd_failure (""); } -static void log_gpasswd_failure_group (unused void *arg) +static void log_gpasswd_failure_group (MAYBE_UNUSED void *arg) { - char buf[1024]; - snprintf (buf, 1023, " in %s", gr_dbname ()); - buf[1023] = '\0'; + char buf[1024]; + + SNPRINTF(buf, " in %s", gr_dbname()); log_gpasswd_failure (buf); } #ifdef SHADOWGRP -static void log_gpasswd_failure_gshadow (unused void *arg) +static void log_gpasswd_failure_gshadow (MAYBE_UNUSED void *arg) { - char buf[1024]; - snprintf (buf, 1023, " in %s", sgr_dbname ()); - buf[1023] = '\0'; + char buf[1024]; + + SNPRINTF(buf, " in %s", sgr_dbname()); log_gpasswd_failure (buf); } #endif /* SHADOWGRP */ @@ -510,17 +506,16 @@ static void log_gpasswd_failure_gshadow (unused void *arg) static void log_gpasswd_success (const char *suffix) { #ifdef WITH_AUDIT - char buf[1024]; + char buf[1024]; #endif + if (aflg) { SYSLOG ((LOG_INFO, "user %s added by %s to group %s%s", user, myname, group, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "user %s added by %s to group %s%s", - user, myname, group, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "user %s added by %s to group %s%s", + user, myname, group, suffix); audit_logger (AUDIT_USER_ACCT, Prog, buf, group, AUDIT_NO_ID, @@ -531,10 +526,8 @@ static void log_gpasswd_success (const char *suffix) "user %s removed by %s from group %s%s", user, myname, group, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "user %s removed by %s from group %s%s", - user, myname, group, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "user %s removed by %s from group %s%s", + user, myname, group, suffix); audit_logger (AUDIT_USER_ACCT, Prog, buf, group, AUDIT_NO_ID, @@ -545,10 +538,8 @@ static void log_gpasswd_success (const char *suffix) "password of group %s removed by %s%s", group, myname, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "password of group %s removed by %s%s", - group, myname, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "password of group %s removed by %s%s", + group, myname, suffix); audit_logger (AUDIT_USER_CHAUTHTOK, Prog, buf, group, AUDIT_NO_ID, @@ -559,10 +550,8 @@ static void log_gpasswd_success (const char *suffix) "access to group %s restricted by %s%s", group, myname, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "access to group %s restricted by %s%s", - group, myname, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "access to group %s restricted by %s%s", + group, myname, suffix); audit_logger (AUDIT_USER_CHAUTHTOK, Prog, buf, group, AUDIT_NO_ID, @@ -575,10 +564,8 @@ static void log_gpasswd_success (const char *suffix) "administrators of group %s set by %s to %s%s", group, myname, admins, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "administrators of group %s set by %s to %s%s", - group, myname, admins, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "administrators of group %s set by %s to %s%s", + group, myname, admins, suffix); audit_logger (AUDIT_USER_ACCT, Prog, buf, group, AUDIT_NO_ID, @@ -591,10 +578,8 @@ static void log_gpasswd_success (const char *suffix) "members of group %s set by %s to %s%s", group, myname, members, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "members of group %s set by %s to %s%s", - group, myname, members, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "members of group %s set by %s to %s%s", + group, myname, members, suffix); audit_logger (AUDIT_USER_ACCT, Prog, buf, group, AUDIT_NO_ID, @@ -606,10 +591,8 @@ static void log_gpasswd_success (const char *suffix) "password of group %s changed by %s%s", group, myname, suffix)); #ifdef WITH_AUDIT - snprintf (buf, 1023, - "password of group %s changed by %s%s", - group, myname, suffix); - buf[1023] = '\0'; + SNPRINTF(buf, "password of group %s changed by %s%s", + group, myname, suffix); audit_logger (AUDIT_USER_CHAUTHTOK, Prog, buf, group, AUDIT_NO_ID, @@ -618,16 +601,16 @@ static void log_gpasswd_success (const char *suffix) } } -static void log_gpasswd_success_system (unused void *arg) +static void log_gpasswd_success_system (MAYBE_UNUSED void *arg) { log_gpasswd_success (""); } -static void log_gpasswd_success_group (unused void *arg) +static void log_gpasswd_success_group (MAYBE_UNUSED void *arg) { - char buf[1024]; - snprintf (buf, 1023, " in %s", gr_dbname ()); - buf[1023] = '\0'; + char buf[1024]; + + SNPRINTF(buf, " in %s", gr_dbname()); log_gpasswd_success (buf); } @@ -704,8 +687,7 @@ static void check_perms (const struct group *gr) } } else #endif /* SHADOWGRP */ - { -#ifdef FIRST_MEMBER_IS_ADMIN + if (!amroot) { /* * The policy here for changing a group is that * 1) you must be root or @@ -720,20 +702,14 @@ static void check_perms (const struct group *gr) * first group member might be just a normal user. * --marekm */ - if (!amroot) { - if (gr->gr_mem[0] == (char *) 0) { - failure (); - } - - if (strcmp (gr->gr_mem[0], myname) != 0) { - failure (); - } - } -#else /* ! FIRST_MEMBER_IS_ADMIN */ - if (!amroot) { - failure (); - } +#if !defined(FIRST_MEMBER_IS_ADMIN) + failure(); #endif + if (gr->gr_mem[0] == NULL) + failure(); + + if (strcmp(gr->gr_mem[0], myname) != 0) + failure(); } } @@ -834,7 +810,7 @@ static void get_group (struct group *gr) sg->sg_mem = dup_list (gr->gr_mem); - sg->sg_adm = (char **) xmalloc (sizeof (char *) * 2); + sg->sg_adm = XMALLOC(2, char *); #ifdef FIRST_MEMBER_IS_ADMIN if (sg->sg_mem[0]) { sg->sg_adm[0] = xstrdup (sg->sg_mem[0]); @@ -887,25 +863,26 @@ static void change_passwd (struct group *gr) printf (_("Changing the password for group %s\n"), group); for (retries = 0; retries < RETRIES; retries++) { - cp = getpass (_("New Password: ")); + cp = agetpass (_("New Password: ")); if (NULL == cp) { exit (1); } - STRFCPY (pass, cp); - strzero (cp); - cp = getpass (_("Re-enter new password: ")); + STRTCPY(pass, cp); + erase_pass (cp); + cp = agetpass (_("Re-enter new password: ")); if (NULL == cp) { + MEMZERO(pass); exit (1); } if (strcmp (pass, cp) == 0) { - strzero (cp); + erase_pass (cp); break; } - strzero (cp); - memzero (pass, sizeof pass); + erase_pass (cp); + MEMZERO(pass); if (retries + 1 < RETRIES) { puts (_("They don't match; try again")); @@ -925,7 +902,7 @@ static void change_passwd (struct group *gr) Prog, salt, strerror (errno)); exit (1); } - memzero (pass, sizeof pass); + MEMZERO(pass); #ifdef SHADOWGRP if (is_shadowgrp) { gr->gr_passwd = SHADOW_PASSWD_STRING; @@ -953,6 +930,8 @@ int main (int argc, char **argv) #endif sanitize_env (); + check_fds (); + (void) setlocale (LC_ALL, ""); (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); @@ -965,11 +944,10 @@ int main (int argc, char **argv) * with this command. */ bywho = getuid (); - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); - OPENLOG ("gpasswd"); + OPENLOG (Prog); setbuf (stdout, NULL); setbuf (stderr, NULL); @@ -1145,9 +1123,7 @@ int main (int argc, char **argv) (void) signal (SIGINT, catch_signals); (void) signal (SIGQUIT, catch_signals); (void) signal (SIGTERM, catch_signals); -#ifdef SIGTSTP (void) signal (SIGTSTP, catch_signals); -#endif /* Prompt for the new password */ #ifdef SHADOWGRP diff --git a/src/groupadd.c b/src/groupadd.c index 66ccb53e..46e6550a 100644 --- a/src/groupadd.c +++ b/src/groupadd.c @@ -27,6 +27,7 @@ #include "defines.h" #include "getdef.h" #include "groupio.h" +#include "memzero.h" #include "nscd.h" #include "sssd.h" #include "prototypes.h" @@ -34,6 +35,7 @@ #include "sgroupio.h" #endif #include "shadowlog.h" +#include "run_part.h" /* * exit status values @@ -49,7 +51,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "groupadd"; static /*@null@*/char *group_name; static gid_t group_id; @@ -70,7 +72,7 @@ static bool is_shadow_grp; #endif /* local function prototypes */ -static /*@noreturn@*/void usage (int status); +NORETURN static void usage (int status); static void new_grent (struct group *grent); #ifdef SHADOWGRP @@ -87,7 +89,9 @@ static void check_perms (void); /* * usage - display usage message and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -105,7 +109,7 @@ static /*@noreturn@*/void usage (int status) (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), usageout); (void) fputs (_(" -r, --system create a system account\n"), usageout); (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); - (void) fputs (_(" -P, --prefix PREFIX_DI directory prefix\n"), usageout); + (void) fputs (_(" -P, --prefix PREFIX_DIR directory prefix\n"), usageout); (void) fputs (_(" -U, --users USERS list of user members of this group\n"), usageout); (void) fputs ("\n", usageout); exit (status); @@ -262,8 +266,7 @@ static void close_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_ADD_GROUP, Prog, "adding group to /etc/group", - group_name, (unsigned int) group_id, - SHADOW_AUDIT_SUCCESS); + group_name, group_id, SHADOW_AUDIT_SUCCESS); #endif SYSLOG ((LOG_INFO, "group added to %s: name=%s, GID=%u", gr_dbname (), group_name, (unsigned int) group_id)); @@ -284,8 +287,7 @@ static void close_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_ADD_GROUP, Prog, "adding group to /etc/gshadow", - group_name, (unsigned int) group_id, - SHADOW_AUDIT_SUCCESS); + group_name, group_id, SHADOW_AUDIT_SUCCESS); #endif SYSLOG ((LOG_INFO, "group added to %s: name=%s", sgr_dbname (), group_name)); @@ -299,9 +301,7 @@ static void close_files (void) /* Report success at the system level */ #ifdef WITH_AUDIT audit_logger (AUDIT_ADD_GROUP, Prog, - "", - group_name, (unsigned int) group_id, - SHADOW_AUDIT_SUCCESS); + "", group_name, group_id, SHADOW_AUDIT_SUCCESS); #endif SYSLOG ((LOG_INFO, "new group: name=%s, GID=%u", group_name, (unsigned int) group_id)); @@ -344,8 +344,8 @@ static void open_files (void) /* And now open the databases */ if (gr_open (O_CREAT | O_RDWR) == 0) { - fprintf (stderr, _("%s: cannot open %s\n"), Prog, gr_dbname ()); - SYSLOG ((LOG_WARN, "cannot open %s", gr_dbname ())); + fprintf (stderr, _("%s: cannot open %s: %s\n"), Prog, gr_dbname (), strerror(errno)); + SYSLOG ((LOG_WARN, "cannot open %s: %s", gr_dbname (), strerror(errno))); exit (E_GRP_UPDATE); } @@ -353,9 +353,9 @@ static void open_files (void) if (is_shadow_grp) { if (sgr_open (O_CREAT | O_RDWR) == 0) { fprintf (stderr, - _("%s: cannot open %s\n"), - Prog, sgr_dbname ()); - SYSLOG ((LOG_WARN, "cannot open %s", sgr_dbname ())); + _("%s: cannot open %s: %s\n"), + Prog, sgr_dbname (), strerror(errno)); + SYSLOG ((LOG_WARN, "cannot open %s: %s", sgr_dbname (), strerror(errno))); exit (E_GRP_UPDATE); } } @@ -403,7 +403,7 @@ static void process_flags (int argc, char **argv) break; case 'g': gflg = true; - if ( (get_gid (optarg, &group_id) == 0) + if ( (get_gid(optarg, &group_id) == -1) || (group_id == (gid_t)-1)) { fprintf (stderr, _("%s: invalid group ID '%s'\n"), @@ -429,7 +429,7 @@ static void process_flags (int argc, char **argv) } /* terminate name, point to value */ *cp++ = '\0'; - if (putdef_str (optarg, cp) < 0) { + if (putdef_str (optarg, cp, NULL) < 0) { exit (E_BAD_ARG); } break; @@ -511,7 +511,7 @@ static void check_flags (void) } else { fprintf (stderr, _("%s: GID '%lu' already exists\n"), - Prog, (unsigned long int) group_id); + Prog, (unsigned long) group_id); exit (E_GID_IN_USE); } } @@ -543,7 +543,7 @@ static void check_perms (void) exit (1); } - retval = pam_start ("groupadd", pampw->pw_name, &conv, &pamh); + retval = pam_start (Prog, pampw->pw_name, &conv, &pamh); if (PAM_SUCCESS == retval) { retval = pam_authenticate (pamh, 0); @@ -572,10 +572,6 @@ static void check_perms (void) */ int main (int argc, char **argv) { - /* - * Get my name so that I can use it to report errors. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -586,7 +582,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); prefix = process_prefix_flag ("-P", argc, argv); - OPENLOG ("groupadd"); + OPENLOG (Prog); #ifdef WITH_AUDIT audit_help_open (); #endif @@ -605,6 +601,11 @@ int main (int argc, char **argv) check_perms (); + if (run_parts ("/etc/shadow-maint/groupadd-pre.d", group_name, + Prog)) { + exit(1); + } + #ifdef SHADOWGRP is_shadow_grp = sgr_file_present (); #endif @@ -623,6 +624,11 @@ int main (int argc, char **argv) grp_update (); close_files (); + if (run_parts ("/etc/shadow-maint/groupadd-post.d", group_name, + Prog)) { + exit(1); + } + nscd_flush_cache ("group"); sssd_flush_cache (SSSD_DB_GROUP); diff --git a/src/groupdel.c b/src/groupdel.c index c84faa79..4bc58aa9 100644 --- a/src/groupdel.c +++ b/src/groupdel.c @@ -32,10 +32,11 @@ #include "sgroupio.h" #endif #include "shadowlog.h" +#include "run_part.h" /* * Global variables */ -const char *Prog; +static const char Prog[] = "groupdel"; static char *group_name; static gid_t group_id = -1; @@ -58,7 +59,7 @@ static bool is_shadow_grp; #define E_GRP_UPDATE 10 /* can't update group file */ /* local function prototypes */ -static /*@noreturn@*/void usage (int status); +NORETURN static void usage (int status); static void grp_update (void); static void close_files (void); static void open_files (void); @@ -68,7 +69,9 @@ static void process_flags (int argc, char **argv); /* * usage - display usage message and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -147,8 +150,7 @@ static void close_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_GROUP, Prog, "removing group from /etc/group", - group_name, (unsigned int) group_id, - SHADOW_AUDIT_SUCCESS); + group_name, group_id, SHADOW_AUDIT_SUCCESS); #endif SYSLOG ((LOG_INFO, "group '%s' removed from %s", @@ -172,8 +174,7 @@ static void close_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_GROUP, Prog, "removing group from /etc/gshadow", - group_name, (unsigned int) group_id, - SHADOW_AUDIT_SUCCESS); + group_name, group_id, SHADOW_AUDIT_SUCCESS); #endif SYSLOG ((LOG_INFO, "group '%s' removed from %s", @@ -188,9 +189,7 @@ static void close_files (void) /* Report success at the system level */ #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_GROUP, Prog, - "", - group_name, (unsigned int) group_id, - SHADOW_AUDIT_SUCCESS); + "", group_name, group_id, SHADOW_AUDIT_SUCCESS); #endif SYSLOG ((LOG_INFO, "group '%s' removed\n", group_name)); del_cleanup (cleanup_report_del_group); @@ -275,7 +274,7 @@ static void group_busy (gid_t gid) * If pwd isn't NULL, it stopped because the gid's matched. */ - if (pwd == (struct passwd *) 0) { + if (pwd == NULL) { return; } @@ -350,10 +349,6 @@ int main (int argc, char **argv) #endif /* USE_PAM */ #endif /* ACCT_TOOLS_SETUID */ - /* - * Get my name so that I can use it to report errors. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -364,7 +359,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); prefix = process_prefix_flag ("-P", argc, argv); - OPENLOG ("groupdel"); + OPENLOG (Prog); #ifdef WITH_AUDIT audit_help_open (); #endif @@ -390,7 +385,7 @@ int main (int argc, char **argv) exit (1); } - retval = pam_start ("groupdel", pampw->pw_name, &conv, &pamh); + retval = pam_start (Prog, pampw->pw_name, &conv, &pamh); } if (PAM_SUCCESS == retval) { @@ -434,28 +429,6 @@ int main (int argc, char **argv) group_id = grp->gr_gid; } -#ifdef USE_NIS - /* - * Make sure this isn't a NIS group - */ - if (__isgrNIS ()) { - char *nis_domain; - char *nis_master; - - fprintf (stderr, - _("%s: group '%s' is a NIS group\n"), - Prog, group_name); - - if (!yp_get_default_domain (&nis_domain) && - !yp_master (nis_domain, "group.byname", &nis_master)) { - fprintf (stderr, - _("%s: %s is the NIS master\n"), - Prog, nis_master); - } - exit (E_NOTFOUND); - } -#endif - /* * Make sure this isn't the primary group of anyone. */ @@ -463,6 +436,11 @@ int main (int argc, char **argv) group_busy (group_id); } + if (run_parts ("/etc/shadow-maint/groupdel-pre.d", group_name, + Prog)) { + exit(1); + } + /* * Do the hard stuff - open the files, delete the group entries, * then close and update the files. @@ -473,6 +451,11 @@ int main (int argc, char **argv) close_files (); + if (run_parts ("/etc/shadow-maint/groupdel-post.d", group_name, + Prog)) { + exit(1); + } + nscd_flush_cache ("group"); sssd_flush_cache (SSSD_DB_GROUP); diff --git a/src/groupmems.c b/src/groupmems.c index a0e3266b..a369a619 100644 --- a/src/groupmems.c +++ b/src/groupmems.c @@ -18,6 +18,8 @@ #include "pam_defs.h" #endif /* USE_PAM */ #include + +#include "alloc.h" #include "defines.h" #include "prototypes.h" #include "groupio.h" @@ -42,7 +44,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "groupmems"; static char *adduser = NULL; static char *deluser = NULL; @@ -66,10 +68,10 @@ static void remove_user (const char *user, const struct group *grp); static void purge_members (const struct group *grp); static void display_members (const char *const *members); -static /*@noreturn@*/void usage (int status); +NORETURN static void usage (int status); static void process_flags (int argc, char **argv); static void check_perms (void); -static void fail_exit (int code); +NORETURN static void fail_exit (int code); #define isroot() (getuid () == 0) static char *whoami (void) @@ -89,7 +91,7 @@ static char *whoami (void) } /* - * add_user - Add an user to the specified group + * add_user - Add a user to the specified group */ static void add_user (const char *user, const struct group *grp) @@ -125,7 +127,7 @@ static void add_user (const char *user, static struct sgrp sgrent; sgrent.sg_name = xstrdup (newgrp->gr_name); sgrent.sg_mem = dup_list (newgrp->gr_mem); - sgrent.sg_adm = (char **) xmalloc (sizeof (char *)); + sgrent.sg_adm = XMALLOC(1, char *); #ifdef FIRST_MEMBER_IS_ADMIN if (sgrent.sg_mem[0]) { sgrent.sg_adm[0] = xstrdup (sgrent.sg_mem[0]); @@ -172,7 +174,7 @@ static void add_user (const char *user, } /* - * remove_user - Remove an user from a given group + * remove_user - Remove a user from a given group */ static void remove_user (const char *user, const struct group *grp) @@ -208,7 +210,7 @@ static void remove_user (const char *user, static struct sgrp sgrent; sgrent.sg_name = xstrdup (newgrp->gr_name); sgrent.sg_mem = dup_list (newgrp->gr_mem); - sgrent.sg_adm = (char **) xmalloc (sizeof (char *)); + sgrent.sg_adm = XMALLOC(1, char *); #ifdef FIRST_MEMBER_IS_ADMIN if (sgrent.sg_mem[0]) { sgrent.sg_adm[0] = xstrdup (sgrent.sg_mem[0]); @@ -281,9 +283,9 @@ static void purge_members (const struct group *grp) /* Create a shadow group based on this group */ static struct sgrp sgrent; sgrent.sg_name = xstrdup (newgrp->gr_name); - sgrent.sg_mem = (char **) xmalloc (sizeof (char *)); + sgrent.sg_mem = XMALLOC(1, char *); sgrent.sg_mem[0] = NULL; - sgrent.sg_adm = (char **) xmalloc (sizeof (char *)); + sgrent.sg_adm = XMALLOC(1, char *); sgrent.sg_adm[0] = NULL; /* Move any password to gshadow */ @@ -339,7 +341,9 @@ static void display_members (const char *const *members) } } -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (EXIT_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -439,7 +443,7 @@ static void check_perms (void) fail_exit (1); } - retval = pam_start ("groupmems", pampw->pw_name, &conv, &pamh); + retval = pam_start (Prog, pampw->pw_name, &conv, &pamh); if (PAM_SUCCESS == retval) { retval = pam_authenticate (pamh, 0); @@ -569,10 +573,6 @@ int main (int argc, char **argv) char *name; const struct group *grp; - /* - * Get my name so that I can use it to report errors. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -582,7 +582,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); - OPENLOG ("groupmems"); + OPENLOG (Prog); #ifdef SHADOWGRP is_shadowgrp = sgr_file_present (); diff --git a/src/groupmod.c b/src/groupmod.c index 006eca1c..a29cf73f 100644 --- a/src/groupmod.c +++ b/src/groupmod.c @@ -15,7 +15,9 @@ #include #include #include +#include #include +#include #include #ifdef ACCT_TOOLS_SETUID #ifdef USE_PAM @@ -23,6 +25,8 @@ #include #endif /* USE_PAM */ #endif /* ACCT_TOOLS_SETUID */ + +#include "alloc.h" #include "chkname.h" #include "defines.h" #include "groupio.h" @@ -34,6 +38,8 @@ #include "sgroupio.h" #endif #include "shadowlog.h" +#include "string/stpecpy.h" +#include "string/stpeprintf.h" /* * exit status values */ @@ -53,7 +59,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "groupmod"; #ifdef SHADOWGRP static bool is_shadow_grp; @@ -224,7 +230,7 @@ static void grp_update (void) * shadowed password, we force the creation of a * gshadow entry when a new password is requested. */ - memset (&sgrp, 0, sizeof sgrp); + bzero(&sgrp, sizeof sgrp); sgrp.sg_name = xstrdup (grp.gr_name); sgrp.sg_passwd = xstrdup (grp.gr_passwd); sgrp.sg_adm = ∅ @@ -246,8 +252,8 @@ static void grp_update (void) // requested to replace the existing groups if (NULL != grp.gr_mem[0]) gr_free_members(&grp); - grp.gr_mem = (char **)xmalloc(sizeof(char *)); - grp.gr_mem[0] = (char *)0; + grp.gr_mem = XMALLOC(1, char *); + grp.gr_mem[0] = NULL; } else { // append to existing groups if (NULL != grp.gr_mem[0]) @@ -333,7 +339,7 @@ static void check_new_gid (void) */ fprintf (stderr, _("%s: GID '%lu' already exists\n"), - Prog, (unsigned long int) group_newid); + Prog, (unsigned long) group_newid); exit (E_GID_IN_USE); } @@ -408,7 +414,7 @@ static void process_flags (int argc, char **argv) break; case 'g': gflg = true; - if ( (get_gid (optarg, &group_newid) == 0) + if ( (get_gid(optarg, &group_newid) == -1) || (group_newid == (gid_t)-1)) { fprintf (stderr, _("%s: invalid group ID '%s'\n"), @@ -542,95 +548,74 @@ static void close_files (void) */ static void prepare_failure_reports (void) { + char *gr, *gr_end; +#ifdef SHADOWGRP + char *sgr, *sgr_end; +#endif + char *pw, *pw_end; + info_group.name = group_name; #ifdef SHADOWGRP info_gshadow.name = group_name; #endif info_passwd.name = group_name; - info_group.audit_msg = xmalloc (512); + gr = XMALLOC(512, char); + info_group.audit_msg = gr; + gr_end = gr + 512; #ifdef SHADOWGRP - info_gshadow.audit_msg = xmalloc (512); + sgr = XMALLOC(512, char); + info_gshadow.audit_msg = sgr; + sgr_end = sgr + 512; #endif - info_passwd.audit_msg = xmalloc (512); + pw = XMALLOC(512, char); + info_passwd.audit_msg = pw; + pw_end = pw + 512; - (void) snprintf (info_group.audit_msg, 511, - "changing %s; ", gr_dbname ()); + gr = stpeprintf(gr, gr_end, "changing %s; ", gr_dbname ()); #ifdef SHADOWGRP - (void) snprintf (info_gshadow.audit_msg, 511, - "changing %s; ", sgr_dbname ()); + sgr = stpeprintf(sgr, sgr_end, "changing %s; ", sgr_dbname ()); #endif - (void) snprintf (info_passwd.audit_msg, 511, - "changing %s; ", pw_dbname ()); + pw = stpeprintf(pw, pw_end, "changing %s; ", pw_dbname ()); - info_group.action = info_group.audit_msg - + strlen (info_group.audit_msg); + info_group.action = gr; #ifdef SHADOWGRP - info_gshadow.action = info_gshadow.audit_msg - + strlen (info_gshadow.audit_msg); + info_gshadow.action = sgr; #endif - info_passwd.action = info_passwd.audit_msg - + strlen (info_passwd.audit_msg); + info_passwd.action = pw; - (void) snprintf (info_group.action, - 511 - strlen (info_group.audit_msg), - "group %s/%lu", - group_name, (unsigned long int) group_id); + gr = stpeprintf(gr, gr_end, + "group %s/%ju", group_name, (uintmax_t) group_id); #ifdef SHADOWGRP - (void) snprintf (info_gshadow.action, - 511 - strlen (info_group.audit_msg), + sgr = stpeprintf(sgr, sgr_end, "group %s", group_name); #endif - (void) snprintf (info_passwd.action, - 511 - strlen (info_group.audit_msg), - "group %s/%lu", - group_name, (unsigned long int) group_id); + pw = stpeprintf(pw, pw_end, + "group %s/%ju", group_name, (uintmax_t) group_id); if (nflg) { - strncat (info_group.action, ", new name: ", - 511 - strlen (info_group.audit_msg)); - strncat (info_group.action, group_newname, - 511 - strlen (info_group.audit_msg)); - + gr = stpecpy(gr, gr_end, ", new name: "); + gr = stpecpy(gr, gr_end, group_newname); #ifdef SHADOWGRP - strncat (info_gshadow.action, ", new name: ", - 511 - strlen (info_gshadow.audit_msg)); - strncat (info_gshadow.action, group_newname, - 511 - strlen (info_gshadow.audit_msg)); + sgr = stpecpy(sgr, sgr_end, ", new name: "); + sgr = stpecpy(sgr, sgr_end, group_newname); #endif - - strncat (info_passwd.action, ", new name: ", - 511 - strlen (info_passwd.audit_msg)); - strncat (info_passwd.action, group_newname, - 511 - strlen (info_passwd.audit_msg)); + pw = stpecpy(pw, pw_end, ", new name: "); + pw = stpecpy(pw, pw_end, group_newname); } if (pflg) { - strncat (info_group.action, ", new password", - 511 - strlen (info_group.audit_msg)); - + gr = stpecpy(gr, gr_end, ", new password"); #ifdef SHADOWGRP - strncat (info_gshadow.action, ", new password", - 511 - strlen (info_gshadow.audit_msg)); + sgr = stpecpy(sgr, sgr_end, ", new password"); #endif } if (gflg) { - strncat (info_group.action, ", new gid: ", - 511 - strlen (info_group.audit_msg)); - (void) snprintf (info_group.action+strlen (info_group.action), - 511 - strlen (info_group.audit_msg), - "%lu", (unsigned long int) group_newid); + gr = stpecpy(gr, gr_end, ", new gid: "); + stpeprintf(gr, gr_end, "%ju", (uintmax_t) group_newid); - strncat (info_passwd.action, ", new gid: ", - 511 - strlen (info_passwd.audit_msg)); - (void) snprintf (info_passwd.action+strlen (info_passwd.action), - 511 - strlen (info_passwd.audit_msg), - "%lu", (unsigned long int) group_newid); + pw = stpecpy(pw, pw_end, ", new gid: "); + stpeprintf(pw, pw_end, "%ju", (uintmax_t) group_newid); } - info_group.audit_msg[511] = '\0'; -#ifdef SHADOWGRP - info_gshadow.audit_msg[511] = '\0'; -#endif - info_passwd.audit_msg[511] = '\0'; // FIXME: add a system cleanup add_cleanup (cleanup_report_mod_group, &info_group); @@ -766,10 +751,6 @@ int main (int argc, char **argv) #endif /* USE_PAM */ #endif /* ACCT_TOOLS_SETUID */ - /* - * Get my name so that I can use it to report errors. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -780,7 +761,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); prefix = process_prefix_flag ("-P", argc, argv); - OPENLOG ("groupmod"); + OPENLOG (Prog); #ifdef WITH_AUDIT audit_help_open (); #endif @@ -806,7 +787,7 @@ int main (int argc, char **argv) exit (E_PAM_USERNAME); } - retval = pam_start ("groupmod", pampw->pw_name, &conv, &pamh); + retval = pam_start (Prog, pampw->pw_name, &conv, &pamh); } if (PAM_SUCCESS == retval) { @@ -849,28 +830,6 @@ int main (int argc, char **argv) } } -#ifdef USE_NIS - /* - * Now make sure it isn't an NIS group. - */ - if (__isgrNIS ()) { - char *nis_domain; - char *nis_master; - - fprintf (stderr, - _("%s: group %s is a NIS group\n"), - Prog, group_name); - - if (!yp_get_default_domain (&nis_domain) && - !yp_master (nis_domain, "group.byname", &nis_master)) { - fprintf (stderr, - _("%s: %s is the NIS master\n"), - Prog, nis_master); - } - exit (E_NOTFOUND); - } -#endif - if (gflg) { check_new_gid (); } diff --git a/src/groups.c b/src/groups.c index 12bd224b..d19a80a3 100644 --- a/src/groups.c +++ b/src/groups.c @@ -14,13 +14,16 @@ #include #include #include + +#include "alloc.h" #include "defines.h" #include "prototypes.h" #include "shadowlog.h" + /* * Global variables */ -const char *Prog; +static const char Prog[] = "groups"; /* local function prototypes */ static void print_groups (const char *member); @@ -88,16 +91,12 @@ int main (int argc, char **argv) GETGROUPS_T *groups; sys_ngroups = sysconf (_SC_NGROUPS_MAX); - groups = (GETGROUPS_T *) malloc (sizeof (GETGROUPS_T) * sys_ngroups); + groups = XMALLOC(sys_ngroups, GETGROUPS_T); (void) setlocale (LC_ALL, ""); (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); - /* - * Get the program name so that error messages can use it. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); diff --git a/src/grpck.c b/src/grpck.c index 881fb4de..4ef1b154 100644 --- a/src/grpck.c +++ b/src/grpck.c @@ -43,7 +43,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "grpck"; static const char *grp_file = GROUP_FILE; static bool use_system_grp_file = true; @@ -62,7 +62,7 @@ static bool silence_warnings = false; /* local function prototypes */ static void fail_exit (int status); -static /*@noreturn@*/void usage (int status); +NORETURN static void usage (int status); static void delete_member (char **, const char *); static void process_flags (int argc, char **argv); static void open_files (void); @@ -114,7 +114,9 @@ static void fail_exit (int status) /* * usage - print syntax message and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; #ifdef SHADOWGRP @@ -814,10 +816,6 @@ int main (int argc, char **argv) int errors = 0; bool changed = false; - /* - * Get my name so that I can use it to report errors. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -827,7 +825,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); - OPENLOG ("grpck"); + OPENLOG (Prog); /* Parse the command line arguments */ process_flags (argc, argv); diff --git a/src/grpconv.c b/src/grpconv.c index 57d8d58e..4d941cdc 100644 --- a/src/grpconv.c +++ b/src/grpconv.c @@ -21,9 +21,12 @@ #include #include #include +#include #include #include #include + +#include "attr.h" #include "nscd.h" #include "sssd.h" #include "prototypes.h" @@ -36,7 +39,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "grpconv"; static bool gr_locked = false; static bool sgr_locked = false; @@ -123,7 +126,6 @@ int main (int argc, char **argv) const struct sgrp *sg; struct sgrp sgent; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -133,7 +135,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); - OPENLOG ("grpconv"); + OPENLOG (Prog); process_flags (argc, argv); @@ -198,7 +200,7 @@ int main (int argc, char **argv) static char *empty = 0; /* add new shadow group entry */ - memset (&sgent, 0, sizeof sgent); + bzero(&sgent, sizeof sgent); sgent.sg_name = gr->gr_name; sgent.sg_passwd = gr->gr_passwd; sgent.sg_adm = ∅ @@ -259,7 +261,7 @@ int main (int argc, char **argv) return 0; } #else /* !SHADOWGRP */ -int main (int unused(argc), char **argv) +int main (MAYBE_UNUSED int argc, char **argv) { fprintf (stderr, "%s: not configured for shadow group support.\n", argv[0]); diff --git a/src/grpunconv.c b/src/grpunconv.c index fc6cecf9..d001ece7 100644 --- a/src/grpunconv.c +++ b/src/grpunconv.c @@ -24,6 +24,8 @@ #include #include #include + +#include "attr.h" #include "nscd.h" #include "sssd.h" #include "prototypes.h" @@ -36,7 +38,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "grpunconv"; static bool gr_locked = false; static bool sgr_locked = false; @@ -122,7 +124,6 @@ int main (int argc, char **argv) struct group grent; const struct sgrp *sg; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -132,7 +133,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); - OPENLOG ("grpunconv"); + OPENLOG (Prog); process_flags (argc, argv); @@ -222,7 +223,7 @@ int main (int argc, char **argv) return 0; } #else /* !SHADOWGRP */ -int main (int unused(argc), char **argv) +int main (MAYBE_UNUSED int argc, char **argv) { fprintf (stderr, "%s: not configured for shadow group support.\n", argv[0]); diff --git a/src/id.c b/src/id.c index 49521093..673693e0 100644 --- a/src/id.c +++ b/src/id.c @@ -23,7 +23,10 @@ #include #include #include + +#include "alloc.h" #include "defines.h" + /* local function prototypes */ static void usage (void); @@ -33,7 +36,8 @@ static void usage (void) exit (EXIT_FAILURE); } - /*ARGSUSED*/ int main (int argc, char **argv) +int +main(int argc, char *argv[]) { uid_t ruid, euid; gid_t rgid, egid; @@ -63,7 +67,7 @@ static void usage (void) * work if the system library is recompiled. */ sys_ngroups = sysconf (_SC_NGROUPS_MAX); - groups = (GETGROUPS_T *) malloc (sizeof (GETGROUPS_T) * sys_ngroups); + groups = MALLOC(sys_ngroups, GETGROUPS_T); /* * See if the -a flag has been given to print out the concurrent @@ -71,11 +75,10 @@ static void usage (void) */ if (argc > 1) { - if ((argc > 2) || (strcmp (argv[1], "-a") != 0)) { - usage (); - } else { + if (argc > 2 || strcmp(argv[1], "-a") != 0) + usage(); + else aflg = true; - } } ruid = getuid (); diff --git a/src/lastlog.c b/src/lastlog.c index f5c0a5cc..74b2faea 100644 --- a/src/lastlog.c +++ b/src/lastlog.c @@ -22,12 +22,16 @@ #ifdef HAVE_LL_HOST #include #endif + #include "defines.h" #include "prototypes.h" #include "getdef.h" +#include "memzero.h" /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/strftime.h" + /* * Needed for MkLinux DR1/2/2.1 - J. @@ -39,7 +43,7 @@ /* * Global variables */ -const char *Prog; /* Program name */ +static const char Prog[] = "lastlog"; /* Program name */ static FILE *lastlogfile; /* lastlog file stream */ static unsigned long umin; /* if uflg and has_umin, only display users with uid >= umin */ static bool has_umin = false; @@ -50,15 +54,17 @@ static time_t inverse_seconds; /* that number of days in seconds */ static struct stat statbuf; /* fstat buffer for file size */ -static bool uflg = false; /* print only an user of range of users */ +static bool uflg = false; /* print only a user of range of users */ static bool tflg = false; /* print is restricted to most recent days */ static bool bflg = false; /* print excludes most recent days */ static bool Cflg = false; /* clear record for user */ static bool Sflg = false; /* set record for user */ -#define NOW (time ((time_t *) 0)) +#define NOW time(NULL) -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -67,7 +73,7 @@ static /*@noreturn@*/void usage (int status) "Options:\n"), Prog); (void) fputs (_(" -b, --before DAYS print only lastlog records older than DAYS\n"), usageout); - (void) fputs (_(" -C, --clear clear lastlog record of an user (usable only with -u)\n"), usageout); + (void) fputs (_(" -C, --clear clear lastlog record of a user (usable only with -u)\n"), usageout); (void) fputs (_(" -h, --help display this help message and exit\n"), usageout); (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); (void) fputs (_(" -S, --set set lastlog record to current time (usable only with -u)\n"), usageout); @@ -114,10 +120,10 @@ static void print_one (/*@null@*/const struct passwd *pw) * entered for this user, which should be able to get the * empty entry in this case. */ - if (fread ((char *) &ll, sizeof (ll), 1, lastlogfile) != 1) { + if (fread (&ll, sizeof (ll), 1, lastlogfile) != 1) { fprintf (stderr, _("%s: Failed to get the entry for UID %lu\n"), - Prog, (unsigned long int)pw->pw_uid); + Prog, (unsigned long)pw->pw_uid); exit (EXIT_FAILURE); } } else { @@ -141,7 +147,7 @@ static void print_one (/*@null@*/const struct passwd *pw) /* Print the header only once */ if (!once) { #ifdef HAVE_LL_HOST - printf (_("Username Port From%*sLatest\n"), maxIPv6Addrlen-3, " "); + printf (_("Username Port From%*sLatest\n"), maxIPv6Addrlen-4, " "); #else puts (_("Username Port Latest")); #endif @@ -153,7 +159,7 @@ static void print_one (/*@null@*/const struct passwd *pw) if (tm == NULL) { cp = "(unknown)"; } else { - strftime (ptime, sizeof (ptime), "%a %b %e %H:%M:%S %z %Y", tm); + STRFTIME(ptime, "%a %b %e %H:%M:%S %z %Y", tm); cp = ptime; } if (ll.ll_time == (time_t) 0) { @@ -182,7 +188,7 @@ static void print (void) } if (uflg && has_umin && has_umax && (umin == umax)) { - print_one (getpwuid ((uid_t)umin)); + print_one (getpwuid (umin)); } else { setpwent (); while ( (pwent = getpwent ()) != NULL ) { @@ -225,21 +231,21 @@ static void update_one (/*@null@*/const struct passwd *pw) #ifdef WITH_AUDIT audit_logger (AUDIT_ACCT_UNLOCK, Prog, "clearing-lastlog", - pw->pw_name, (unsigned int) pw->pw_uid, SHADOW_AUDIT_SUCCESS); + pw->pw_name, pw->pw_uid, SHADOW_AUDIT_SUCCESS); #endif } #ifdef WITH_AUDIT else { audit_logger (AUDIT_ACCT_UNLOCK, Prog, "refreshing-lastlog", - pw->pw_name, (unsigned int) pw->pw_uid, SHADOW_AUDIT_SUCCESS); + pw->pw_name, pw->pw_uid, SHADOW_AUDIT_SUCCESS); } #endif if (fwrite (&ll, sizeof(ll), 1, lastlogfile) != 1) { fprintf (stderr, _("%s: Failed to update the entry for UID %lu\n"), - Prog, (unsigned long int)pw->pw_uid); + Prog, (unsigned long)pw->pw_uid); exit (EXIT_FAILURE); } } @@ -261,7 +267,7 @@ static void update (void) } if (has_umin && has_umax && (umin == umax)) { - update_one (getpwuid ((uid_t)umin)); + update_one (getpwuid (umin)); } else { setpwent (); while ( (pwent = getpwent ()) != NULL ) { @@ -288,7 +294,6 @@ int main (int argc, char **argv) * Get the program name. The program name is used as a prefix to * most error messages. */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -321,7 +326,7 @@ int main (int argc, char **argv) case 'b': { unsigned long inverse_days; - if (getulong (optarg, &inverse_days) == 0) { + if (getulong(optarg, &inverse_days) == -1) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -349,7 +354,7 @@ int main (int argc, char **argv) case 't': { unsigned long days; - if (getulong (optarg, &days) == 0) { + if (getulong(optarg, &days) == -1) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), Prog, optarg); @@ -373,14 +378,14 @@ int main (int argc, char **argv) /* local, no need for xgetpwnam */ pwent = getpwnam (optarg); if (NULL != pwent) { - umin = (unsigned long) pwent->pw_uid; + umin = pwent->pw_uid; has_umin = true; umax = umin; has_umax = true; } else { - if (getrange (optarg, - &umin, &has_umin, - &umax, &has_umax) == 0) { + if (getrange(optarg, + &umin, &has_umin, + &umax, &has_umax) == -1) { fprintf (stderr, _("%s: Unknown user or range: %s\n"), Prog, optarg); diff --git a/src/login.c b/src/login.c index 00482816..a862c6bd 100644 --- a/src/login.c +++ b/src/login.c @@ -14,7 +14,9 @@ #include #include #ifndef USE_PAM +#ifdef ENABLE_LASTLOG #include +#endif /* ENABLE_LASTLOG */ #endif /* !USE_PAM */ #include #include @@ -22,15 +24,23 @@ #include #include #include + +#include "alloc.h" +#include "attr.h" #include "defines.h" #include "faillog.h" #include "failure.h" #include "getdef.h" +#include "memzero.h" #include "prototypes.h" #include "pwauth.h" /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/sprintf.h" +#include "string/strftime.h" +#include "string/strtcpy.h" + #ifdef USE_PAM #include "pam_defs.h" @@ -60,14 +70,16 @@ static pam_handle_t *pamh = NULL; /* * Global variables */ -const char *Prog; +static const char Prog[] = "login"; static const char *hostname = ""; static /*@null@*/ /*@only@*/char *username = NULL; static int reason = PW_LOGIN; #ifndef USE_PAM +#ifdef ENABLE_LASTLOG static struct lastlog ll; +#endif /* ENABLE_LASTLOG */ #endif /* !USE_PAM */ static bool pflg = false; static bool fflg = false; @@ -89,7 +101,6 @@ static char tmsg[256]; extern char **newenvp; extern size_t newenvc; -extern char **environ; #ifndef ALARM #define ALARM 60 @@ -104,15 +115,6 @@ static void usage (void); static void setup_tty (void); static void process_flags (int argc, char *const *argv); static /*@observer@*/const char *get_failent_user (/*@returned@*/const char *user); -static void update_utmp (const char *user, - const char *tty, - const char *host, -#ifdef USE_UTMPX - /*@null@*/const struct utmpx *utent -#else - /*@null@*/const struct utmp *utent -#endif - ); #ifndef USE_PAM static struct faillog faillog; @@ -125,6 +127,7 @@ static void get_pam_user (char **ptr_pam_user); static void init_env (void); static void alarm_handler (int); +static void exit_handler (int); /* * usage - print login command usage and exit @@ -172,10 +175,10 @@ static void setup_tty (void) #endif /* leave these values unchanged if not specified in login.defs */ - erasechar = getdef_num ("ERASECHAR", (int) termio.c_cc[VERASE]); - killchar = getdef_num ("KILLCHAR", (int) termio.c_cc[VKILL]); - termio.c_cc[VERASE] = (cc_t) erasechar; - termio.c_cc[VKILL] = (cc_t) killchar; + erasechar = getdef_num ("ERASECHAR", termio.c_cc[VERASE]); + killchar = getdef_num ("KILLCHAR", termio.c_cc[VKILL]); + termio.c_cc[VERASE] = erasechar; + termio.c_cc[VKILL] = killchar; /* Make sure the values were valid. * getdef_num cannot validate this. */ @@ -396,13 +399,18 @@ static void init_env (void) #endif /* !USE_PAM */ } - -static void alarm_handler (unused int sig) +static void exit_handler (MAYBE_UNUSED int sig) { - write (STDERR_FILENO, tmsg, strlen (tmsg)); _exit (0); } +static void alarm_handler (MAYBE_UNUSED int sig) +{ + write_full(STDERR_FILENO, tmsg, strlen(tmsg)); + signal(SIGALRM, exit_handler); + alarm(2); +} + #ifdef USE_PAM /* * get_pam_user - Get the username according to PAM @@ -411,17 +419,17 @@ static void alarm_handler (unused int sig) */ static void get_pam_user (char **ptr_pam_user) { - int retcode; - void *ptr_user; + int retcode; + const void *ptr_user; assert (NULL != ptr_pam_user); - retcode = pam_get_item (pamh, PAM_USER, (const void **)&ptr_user); + retcode = pam_get_item (pamh, PAM_USER, &ptr_user); PAM_FAIL_CHECK; free (*ptr_pam_user); if (NULL != ptr_user) { - *ptr_pam_user = xstrdup ((const char *)ptr_user); + *ptr_pam_user = xstrdup (ptr_user); } else { *ptr_pam_user = NULL; } @@ -430,7 +438,7 @@ static void get_pam_user (char **ptr_pam_user) /* * get_failent_user - Return a string that can be used to log failure - * from an user. + * from a user. * * This will be either the user argument, or "UNKNOWN". * @@ -452,38 +460,6 @@ static /*@observer@*/const char *get_failent_user (/*@returned@*/const char *use return failent_user; } -/* - * update_utmp - Update or create an utmp entry in utmp, wtmp, utmpw, and - * wtmpx - * - * utent should be the utmp entry returned by get_current_utmp (or - * NULL). - */ -static void update_utmp (const char *user, - const char *tty, - const char *host, -#ifdef USE_UTMPX - /*@null@*/const struct utmpx *utent -#else - /*@null@*/const struct utmp *utent -#endif - ) -{ -#ifdef USE_UTMPX - struct utmpx *utx = prepare_utmpx (user, tty, host, utent); -#else - struct utmp *ut = prepare_utmp (user, tty, host, utent); -#endif /* USE_UTMPX */ - -#ifndef USE_UTMPX - (void) setutmp (ut); /* make entry in the utmp & wtmp files */ - free (ut); -#else - (void) setutmpx (utx); /* make entry in the utmpx & wtmpx files */ - free (utx); -#endif /* USE_UTMPX */ -} - /* * login - create a new login session for a user * @@ -503,42 +479,36 @@ static void update_utmp (const char *user, */ int main (int argc, char **argv) { - const char *tmptty; - char tty[BUFSIZ]; + int err; + bool subroot = false; + char **envp = environ; + char *host = NULL; + char tty[BUFSIZ]; + char fromhost[512]; + const char *failent_user; + const char *tmptty; + const char *cp; + const char *tmp; + unsigned int delay; + unsigned int retries; + unsigned int timeout; + struct passwd *pwd = NULL; -#ifdef RLOGIN - char term[128] = ""; -#endif /* RLOGIN */ -#if !defined(USE_PAM) - char ptime[80]; -#endif - unsigned int delay; - unsigned int retries; - bool subroot = false; -#ifndef USE_PAM +#if defined(USE_PAM) + int retcode; + char *pam_user = NULL; + pid_t child; +#else bool is_console; + struct spwd *spwd = NULL; +# if defined(ENABLE_LASTLOG) + char ptime[80]; +# endif #endif - int err; - unsigned int timeout; - const char *cp; - const char *tmp; - char fromhost[512]; - struct passwd *pwd = NULL; - char **envp = environ; - const char *failent_user; -#ifdef USE_UTMPX - /*@null@*/struct utmpx *utent; -#else - /*@null@*/struct utmp *utent; +#if defined(RLOGIN) + char term[128] = ""; #endif -#ifdef USE_PAM - int retcode; - pid_t child; - char *pam_user = NULL; -#else - struct spwd *spwd = NULL; -#endif /* * Some quick initialization. */ @@ -552,7 +522,6 @@ int main (int argc, char **argv) initenv (); amroot = (getuid () == 0); - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -567,25 +536,23 @@ int main (int argc, char **argv) exit (1); /* must be a terminal */ } - utent = get_current_utmp (); + err = get_session_host(&host); /* * Be picky if run by normal users (possible if installed setuid - * root), but not if run by root. This way it still allows logins - * even if your getty is broken, or if something corrupts utmp, - * but users must "exec login" which will use the existing utmp - * entry (will not overwrite remote hostname). --marekm + * root), but not if run by root. */ - if (!amroot && (NULL == utent)) { - (void) puts (_("No utmp entry. You must exec \"login\" from the lowest level \"sh\"")); + if (!amroot && (err != 0)) { + SYSLOG ((LOG_ERR, + "No session entry, error %d. You must exec \"login\" from the lowest level \"sh\"", + err)); exit (1); } - /* NOTE: utent might be NULL afterwards */ tmptty = ttyname (0); if (NULL == tmptty) { tmptty = "UNKNOWN"; } - STRFCPY (tty, tmptty); + STRTCPY(tty, tmptty); #ifndef USE_PAM is_console = console (tty); @@ -606,10 +573,13 @@ int main (int argc, char **argv) } #ifdef RLOGIN if (rflg) { + size_t max_size = sysconf(_SC_LOGIN_NAME_MAX); + assert (NULL == username); - username = xmalloc (USER_NAME_MAX_LENGTH + 1); - username[USER_NAME_MAX_LENGTH] = '\0'; - if (do_rlogin (hostname, username, USER_NAME_MAX_LENGTH, term, sizeof term)) { + username = XMALLOC(max_size, char); + username[max_size - 1] = '\0'; + if (do_rlogin(hostname, username, max_size, term, sizeof(term))) + { preauth_flag = true; } else { free (username); @@ -618,7 +588,7 @@ int main (int argc, char **argv) } #endif /* RLOGIN */ - OPENLOG ("login"); + OPENLOG (Prog); setup_tty (); @@ -674,27 +644,23 @@ int main (int argc, char **argv) if (rflg || hflg) { cp = hostname; -#if defined(HAVE_STRUCT_UTMP_UT_HOST) || defined(USE_UTMPX) - } else if ((NULL != utent) && ('\0' != utent->ut_host[0])) { - cp = utent->ut_host; -#endif /* HAVE_STRUCT_UTMP_UT_HOST */ + } else if ((host != NULL) && (host[0] != '\0')) { + cp = host; } else { cp = ""; } if ('\0' != *cp) { - snprintf (fromhost, sizeof fromhost, - " on '%.100s' from '%.200s'", tty, cp); + SNPRINTF(fromhost, " on '%.100s' from '%.200s'", tty, cp); } else { - snprintf (fromhost, sizeof fromhost, - " on '%.100s'", tty); + SNPRINTF(fromhost, " on '%.100s'", tty); } + free(host); top: /* only allow ALARM sec. for login */ timeout = getdef_unum ("LOGIN_TIMEOUT", ALARM); - snprintf (tmsg, sizeof tmsg, - _("\nLogin timed out after %u seconds.\n"), timeout); + SNPRINTF(tmsg, _("\nLogin timed out after %u seconds.\n"), timeout); (void) signal (SIGALRM, alarm_handler); if (timeout > 0) { (void) alarm (timeout); @@ -705,7 +671,7 @@ int main (int argc, char **argv) retries = getdef_unum ("LOGIN_RETRIES", RETRIES); #ifdef USE_PAM - retcode = pam_start ("login", username, &conv, &pamh); + retcode = pam_start (Prog, username, &conv, &pamh); if (retcode != PAM_SUCCESS) { fprintf (stderr, _("login: PAM Failure, aborting: %s\n"), @@ -733,18 +699,15 @@ int main (int argc, char **argv) #endif /* if fflg, then the user has already been authenticated */ if (!fflg) { - unsigned int failcount = 0; - char hostn[256]; - char loginprompt[256]; /* That's one hell of a prompt :) */ + char hostn[256]; + char loginprompt[256]; //That's one hell of a prompt :) + unsigned int failcount = 0; /* Make the login prompt look like we want it */ if (gethostname (hostn, sizeof (hostn)) == 0) { - snprintf (loginprompt, - sizeof (loginprompt), - _("%s login: "), hostn); + SNPRINTF(loginprompt, _("%s login: "), hostn); } else { - strncpy (loginprompt, _("login: "), - sizeof (loginprompt)); + STRTCPY(loginprompt, _("login: ")); } retcode = pam_set_item (pamh, PAM_USER_PROMPT, loginprompt); @@ -919,14 +882,16 @@ int main (int argc, char **argv) failed = false; /* haven't failed authentication yet */ if (NULL == username) { /* need to get a login id */ + size_t max_size = sysconf(_SC_LOGIN_NAME_MAX); + if (subroot) { closelog (); exit (1); } preauth_flag = false; - username = xmalloc (USER_NAME_MAX_LENGTH + 1); - username[USER_NAME_MAX_LENGTH] = '\0'; - login_prompt (_("\n%s login: "), username, USER_NAME_MAX_LENGTH); + username = XMALLOC(max_size, char); + username[max_size - 1] = '\0'; + login_prompt(username, max_size); if ('\0' == username[0]) { /* Prompt for a new login */ @@ -956,7 +921,8 @@ int main (int argc, char **argv) } if (strcmp (user_passwd, "") == 0) { - char *prevent_no_auth = getdef_str("PREVENT_NO_AUTH"); + const char *prevent_no_auth = getdef_str("PREVENT_NO_AUTH"); + if (prevent_no_auth == NULL) { prevent_no_auth = "superuser"; } @@ -992,7 +958,7 @@ int main (int argc, char **argv) goto auth_ok; } - if (pw_auth (user_passwd, username, reason, (char *) 0) == 0) { + if (pw_auth (user_passwd, username, reason, NULL) == 0) { goto auth_ok; } @@ -1035,23 +1001,9 @@ int main (int argc, char **argv) if ((NULL != pwd) && getdef_bool ("FAILLOG_ENAB")) { failure (pwd->pw_uid, tty, &faillog); } - if (getdef_str ("FTMP_FILE") != NULL) { -#ifdef USE_UTMPX - struct utmpx *failent = - prepare_utmpx (failent_user, - tty, - /* FIXME: or fromhost? */hostname, - utent); -#else /* !USE_UTMPX */ - struct utmp *failent = - prepare_utmp (failent_user, - tty, - hostname, - utent); -#endif /* !USE_UTMPX */ - failtmp (failent_user, failent); - free (failent); - } +#ifndef ENABLE_LOGIND + record_failure(failent_user, tty, hostname); +#endif /* ENABLE_LOGIND */ retries--; if (retries <= 0) { @@ -1067,7 +1019,7 @@ int main (int argc, char **argv) * all). --marekm */ if (user_passwd[0] == '\0') { - pw_auth ("!", username, reason, (char *) 0); + pw_auth ("!", username, reason, NULL); } /* @@ -1107,7 +1059,7 @@ int main (int argc, char **argv) * by Ivan Nejgebauer . --marekm */ if ( getdef_bool ("PORTTIME_CHECKS_ENAB") - && !isttytime (username, tty, time ((time_t *) 0))) { + && !isttytime (username, tty, time (NULL))) { SYSLOG ((LOG_WARN, "invalid login time for '%s'%s", username, fromhost)); closelog (); @@ -1151,11 +1103,13 @@ int main (int argc, char **argv) #endif /* WITH_AUDIT */ #ifndef USE_PAM /* pam_lastlog handles this */ +#ifdef ENABLE_LASTLOG if ( getdef_bool ("LASTLOG_ENAB") && pwd->pw_uid <= (uid_t) getdef_ulong ("LASTLOG_UID_MAX", 0xFFFFFFFFUL)) { /* give last login and log this one */ dolastlog (&ll, pwd, tty, hostname); } +#endif /* ENABLE_LASTLOG */ #endif #ifndef USE_PAM /* PAM handles this as well */ @@ -1220,11 +1174,16 @@ int main (int argc, char **argv) } } +#ifndef ENABLE_LOGIND /* * The utmp entry needs to be updated to indicate the new status * of the session, the new PID and SID. */ - update_utmp (username, tty, hostname, utent); + err = update_utmp (username, tty, hostname); + if (err != 0) { + SYSLOG ((LOG_WARN, "Unable to update utmp entry for %s", username)); + } +#endif /* ENABLE_LOGIND */ /* The pwd and spwd entries for the user have been copied. * @@ -1289,14 +1248,16 @@ int main (int argc, char **argv) username, (int) faillog.fail_cnt)); } } +#ifdef ENABLE_LASTLOG if ( getdef_bool ("LASTLOG_ENAB") && pwd->pw_uid <= (uid_t) getdef_ulong ("LASTLOG_UID_MAX", 0xFFFFFFFFUL) - && (ll.ll_time != 0)) { - time_t ll_time = ll.ll_time; + && (ll.ll_time != 0)) + { + time_t ll_time = ll.ll_time; + struct tm tm; - (void) strftime (ptime, sizeof (ptime), - "%a %b %e %H:%M:%S %z %Y", - localtime (&ll_time)); + localtime_r(&ll_time, &tm); + STRFTIME(ptime, "%a %b %e %H:%M:%S %z %Y", &tm); printf (_("Last login: %s on %s"), ptime, ll.ll_line); #ifdef HAVE_LL_HOST /* __linux__ || SUN4 */ @@ -1307,6 +1268,7 @@ int main (int argc, char **argv) #endif printf (".\n"); } +#endif /* ENABLE_LASTLOG */ agecheck (spwd); mailcheck (); /* report on the status of mail */ @@ -1334,7 +1296,7 @@ int main (int argc, char **argv) err = shell (tmp, pwd->pw_shell, newenvp); /* fake shell */ } else { /* exec the shell finally */ - err = shell (pwd->pw_shell, (char *) 0, newenvp); + err = shell (pwd->pw_shell, NULL, newenvp); } return ((err == ENOENT) ? E_CMD_NOTFOUND : E_CMD_NOEXEC); diff --git a/src/login_nopam.c b/src/login_nopam.c index df6ba882..e6f77d1c 100644 --- a/src/login_nopam.c +++ b/src/login_nopam.c @@ -39,12 +39,11 @@ * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. */ #include +#include #include #include #include -#ifdef HAVE_NETDB_H #include -#endif #include #ifdef PRIMARY_GROUP_MATCH #include @@ -57,6 +56,8 @@ #include #include /* for inet_ntoa() */ +#include "sizeof.h" + #if !defined(MAXHOSTNAMELEN) || (MAXHOSTNAMELEN < 64) #undef MAXHOSTNAMELEN #define MAXHOSTNAMELEN 256 @@ -98,11 +99,11 @@ int login_access (const char *user, const char *from) if (NULL != fp) { int lineno = 0; /* for diagnostics */ while ( !match - && (fgets (line, (int) sizeof (line), fp) == line)) { - int end; + && (fgets (line, sizeof (line), fp) == line)) { + ptrdiff_t end; lineno++; - end = (int) strlen (line) - 1; - if (line[end] != '\n') { + end = strlen (line) - 1; + if (line[0] == '\0' || line[end] != '\n') { SYSLOG ((LOG_ERR, "%s: line %d: missing newline or line too long", TABLE, lineno)); @@ -119,9 +120,9 @@ int login_access (const char *user, const char *from) continue; } if ( ((perm = strtok (line, fs)) == NULL) - || ((users = strtok ((char *) 0, fs)) == NULL) - || ((froms = strtok ((char *) 0, fs)) == NULL) - || (strtok ((char *) 0, fs) != NULL)) { + || ((users = strtok (NULL, fs)) == NULL) + || ((froms = strtok (NULL, fs)) == NULL) + || (strtok (NULL, fs) != NULL)) { SYSLOG ((LOG_ERR, "%s: line %d: bad field count", TABLE, lineno)); @@ -156,7 +157,7 @@ static bool list_match (char *list, const char *item, bool (*match_fn) (const ch * a match, look for an "EXCEPT" list and recurse to determine whether * the match is affected by any exceptions. */ - for (tok = strtok (list, sep); tok != NULL; tok = strtok ((char *) 0, sep)) { + for (tok = strtok (list, sep); tok != NULL; tok = strtok (NULL, sep)) { if (strcasecmp (tok, "EXCEPT") == 0) { /* EXCEPT: give up */ break; } @@ -168,10 +169,10 @@ static bool list_match (char *list, const char *item, bool (*match_fn) (const ch /* Process exceptions to matches. */ if (match) { - while ( ((tok = strtok ((char *) 0, sep)) != NULL) + while ( ((tok = strtok (NULL, sep)) != NULL) && (strcasecmp (tok, "EXCEPT") != 0)) /* VOID */ ; - if (tok == 0 || !list_match ((char *) 0, item, match_fn)) { + if (tok == 0 || !list_match (NULL, item, match_fn)) { return (match); } } @@ -195,9 +196,9 @@ static char *myhostname (void) static bool netgroup_match (const char *group, const char *machine, const char *user) { - static char *mydomain = (char *)0; + static char *mydomain = NULL; - if (mydomain == (char *)0) { + if (mydomain == NULL) { static char domain[MAXHOSTNAMELEN + 1]; getdomainname (domain, MAXHOSTNAMELEN); @@ -230,7 +231,7 @@ static bool user_match (const char *tok, const char *string) && from_match (at + 1, myhostname ())); #if HAVE_INNETGR } else if (tok[0] == '@') { /* netgroup */ - return (netgroup_match (tok + 1, (char *) 0, string)); + return (netgroup_match (tok + 1, NULL, string)); #endif } else if (string_match (tok, string)) { /* ALL or exact match */ return true; @@ -244,7 +245,7 @@ static bool user_match (const char *tok, const char *string) } #ifdef PRIMARY_GROUP_MATCH /* - * If the string is an user whose initial GID matches the token, + * If the string is a user whose initial GID matches the token, * accept it. May avoid excessively long lines in /etc/group. * Radu-Adrian Feurdean * @@ -265,19 +266,28 @@ static bool user_match (const char *tok, const char *string) static const char *resolve_hostname (const char *string) { - /* - * Resolve hostname to numeric IP address, as suggested - * by Dave Hagewood . --marekm - */ - struct hostent *hp; + int gai_err; + const char *addr_str; + struct addrinfo *addrs; - hp = gethostbyname (string); - if (NULL != hp) { - return inet_ntoa (*((struct in_addr *) *(hp->h_addr_list))); + static char host[MAXHOSTNAMELEN]; + + gai_err = getaddrinfo(string, NULL, NULL, &addrs); + if (gai_err != 0) { + SYSLOG ((LOG_ERR, "getaddrinfo(%s): %s", string, gai_strerror(gai_err))); + return string; } - SYSLOG ((LOG_ERR, "%s - unknown host", string)); - return string; + addr_str = host; + gai_err = getnameinfo(addrs[0].ai_addr, addrs[0].ai_addrlen, + host, NITEMS(host), NULL, 0, NI_NUMERICHOST); + if (gai_err != 0) { + SYSLOG ((LOG_ERR, "getnameinfo(%s): %s", string, gai_strerror(gai_err))); + addr_str = string; + } + + freeaddrinfo(addrs); + return addr_str; } /* from_match - match a host or tty against a list of tokens */ @@ -296,7 +306,7 @@ static bool from_match (const char *tok, const char *string) */ #if HAVE_INNETGR if (tok[0] == '@') { /* netgroup */ - return (netgroup_match (tok + 1, string, (char *) 0)); + return (netgroup_match (tok + 1, string, NULL)); } else #endif if (string_match (tok, string)) { /* ALL or exact match */ @@ -313,7 +323,7 @@ static bool from_match (const char *tok, const char *string) if (strchr (string, '.') == NULL) { return true; } - } else if ( (tok[(tok_len = strlen (tok)) - 1] == '.') /* network */ + } else if ( (tok[0] != '\0' && tok[(tok_len = strlen (tok)) - 1] == '.') /* network */ && (strncmp (tok, resolve_hostname (string), tok_len) == 0)) { return true; } @@ -337,5 +347,5 @@ static bool string_match (const char *tok, const char *string) } #else /* !USE_PAM */ -extern int errno; /* warning: ANSI C forbids an empty source file */ +extern int ISO_C_forbids_an_empty_translation_unit; #endif /* !USE_PAM */ diff --git a/src/logoutd.c b/src/logoutd.c index 03680f3f..c8705101 100644 --- a/src/logoutd.c +++ b/src/logoutd.c @@ -15,13 +15,16 @@ #include #include #include +#include #include "defines.h" #include "prototypes.h" #include "shadowlog.h" +#include "sizeof.h" +#include "string/zustr2stp.h" /* * Global variables */ -const char *Prog; +static const char Prog[] = "logoutd"; #ifndef DEFAULT_HUP_MESG #define DEFAULT_HUP_MESG _("login time exceeded\n\n") @@ -31,38 +34,31 @@ const char *Prog; #define HUP_MESG_FILE "/etc/logoutd.mesg" #endif + /* local function prototypes */ -#ifdef USE_UTMPX static int check_login (const struct utmpx *ut); -#else /* !USE_UTMPX */ -static int check_login (const struct utmp *ut); -#endif /* !USE_UTMPX */ static void send_mesg_to_tty (int tty_fd); -/* - * check_login - check if user (struct utmpx/utmp) allowed to stay logged in - */ -#ifdef USE_UTMPX -static int check_login (const struct utmpx *ut) -#else /* !USE_UTMPX */ -static int check_login (const struct utmp *ut) -#endif /* !USE_UTMPX */ -{ - char user[sizeof (ut->ut_user) + 1]; - time_t now; - /* - * ut_user may not have the terminating NUL. - */ - strncpy (user, ut->ut_user, sizeof (ut->ut_user)); - user[sizeof (ut->ut_user)] = '\0'; +/* + * check_login - check if user (struct utmpx) allowed to stay logged in + */ +static int +check_login(const struct utmpx *ut) +{ + char user[sizeof(ut->ut_user) + 1]; + char line[sizeof(ut->ut_line) + 1]; + time_t now; + + ZUSTR2STP(user, ut->ut_user); + ZUSTR2STP(line, ut->ut_line); (void) time (&now); /* * Check if they are allowed to be logged in right now. */ - if (!isttytime (user, ut->ut_line, now)) { + if (!isttytime(user, line, now)) { return 0; } return 1; @@ -116,23 +112,20 @@ static void send_mesg_to_tty (int tty_fd) * * logoutd is started at system boot time and enforces the login * time and port restrictions specified in /etc/porttime. The - * utmpx/utmp file is periodically scanned and offending users are logged + * utmp file is periodically scanned and offending users are logged * off from the system. */ -int main (int argc, char **argv) +int +main(int argc, char **argv) { - int i; - int status; - pid_t pid; + int i; + int status; + pid_t pid; -#ifdef USE_UTMPX - struct utmpx *ut; -#else /* !USE_UTMPX */ - struct utmp *ut; -#endif /* !USE_UTMPX */ - char user[sizeof (ut->ut_user) + 1]; /* terminating NUL */ - char tty_name[sizeof (ut->ut_line) + 6]; /* /dev/ + NUL */ - int tty_fd; + struct utmpx *ut; + char user[sizeof (ut->ut_user) + 1]; /* terminating NUL */ + char tty_name[sizeof (ut->ut_line) + 6]; /* /dev/ + NUL */ + int tty_fd; if (1 != argc) { (void) fputs (_("Usage: logoutd\n"), stderr); @@ -164,39 +157,29 @@ int main (int argc, char **argv) /* * Start syslogging everything */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); - OPENLOG ("logoutd"); + OPENLOG (Prog); /* - * Scan the utmpx/utmp file once per minute looking for users that + * Scan the utmp file once per minute looking for users that * are not supposed to still be logged in. */ while (true) { /* - * Attempt to re-open the utmpx/utmp file. The file is only + * Attempt to re-open the utmp file. The file is only * open while it is being used. */ -#ifdef USE_UTMPX - setutxent (); -#else /* !USE_UTMPX */ - setutent (); -#endif /* !USE_UTMPX */ + setutxent(); /* - * Read all of the entries in the utmpx/utmp file. The entries + * Read all of the entries in the utmp file. The entries * for login sessions will be checked to see if the user * is permitted to be signed on at this time. */ -#ifdef USE_UTMPX - while ((ut = getutxent ()) != NULL) -#else /* !USE_UTMPX */ - while ((ut = getutent ()) != NULL) -#endif /* !USE_UTMPX */ - { + while ((ut = getutxent()) != NULL) { if (ut->ut_type != USER_PROCESS) { continue; } @@ -228,7 +211,7 @@ int main (int argc, char **argv) tty_name[0] = '\0'; } - strncat (tty_name, ut->ut_line, UT_LINESIZE); + strncat(tty_name, ut->ut_line, NITEMS(ut->ut_line)); #ifndef O_NOCTTY #define O_NOCTTY 0 #endif @@ -246,8 +229,7 @@ int main (int argc, char **argv) kill (-ut->ut_pid, SIGKILL); } - strncpy (user, ut->ut_user, sizeof (user) - 1); - user[sizeof (user) - 1] = '\0'; + ZUSTR2STP(user, ut->ut_user); SYSLOG ((LOG_NOTICE, "logged off user '%s' on '%s'", user, @@ -259,11 +241,7 @@ int main (int argc, char **argv) exit (EXIT_SUCCESS); } -#ifdef USE_UTMPX - endutxent (); -#else /* !USE_UTMPX */ - endutent (); -#endif /* !USE_UTMPX */ + endutxent(); #ifndef DEBUG sleep (60); diff --git a/src/new_subid_range.c b/src/new_subid_range.c index 523d480a..1ef71f36 100644 --- a/src/new_subid_range.c +++ b/src/new_subid_range.c @@ -9,7 +9,7 @@ /* Test program for the subid creation routine */ -const char *Prog; +static const char Prog[] = "new_subid_range"; static void usage(void) { @@ -28,7 +28,6 @@ int main(int argc, char *argv[]) bool group = false; // get subuids by default bool ok; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); while ((c = getopt(argc, argv, "gn")) != EOF) { diff --git a/src/newgidmap.c b/src/newgidmap.c index 5b42431b..96a89de7 100644 --- a/src/newgidmap.c +++ b/src/newgidmap.c @@ -23,7 +23,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "newgidmap"; static bool verify_range(struct passwd *pw, struct map_range *range, bool *allow_setgroups) @@ -69,7 +69,7 @@ static void verify_ranges(struct passwd *pw, int ranges, static void usage(void) { - fprintf(stderr, _("usage: %s [ ] ... \n"), Prog); + fprintf(stderr, _("usage: %s [] [ ] ... \n"), Prog); exit(EXIT_FAILURE); } @@ -143,18 +143,14 @@ out: */ int main(int argc, char **argv) { - char proc_dir_name[32]; char *target_str; - pid_t target; int proc_dir_fd; int ranges; struct map_range *mappings; struct stat st; struct passwd *pw; - int written; bool allow_setgroups = false; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -168,25 +164,19 @@ int main(int argc, char **argv) /* Find the process that needs its user namespace * gid mapping set. */ + target_str = argv[1]; - if (!get_pid(target_str, &target)) - usage(); - - /* max string length is 6 + 10 + 1 + 1 = 18, allocate 32 bytes */ - written = snprintf(proc_dir_name, sizeof(proc_dir_name), "/proc/%u/", - target); - if ((written <= 0) || (written >= sizeof(proc_dir_name))) { - fprintf(stderr, "%s: snprintf of proc path failed: %s\n", - Prog, strerror(errno)); + if (strlen(target_str) > 3 && strncmp(target_str, "fd:", 3) == 0) { + /* the user passed in a /proc/pid fd for the process */ + target_str = &target_str[3]; + proc_dir_fd = get_pidfd_from_fd(target_str); + if (proc_dir_fd < 0) + usage(); + } else { + proc_dir_fd = open_pidfd(target_str); + if (proc_dir_fd < 0) + usage(); } - - proc_dir_fd = open(proc_dir_name, O_DIRECTORY); - if (proc_dir_fd < 0) { - fprintf(stderr, _("%s: Could not open proc directory for target %u\n"), - Prog, target); - return EXIT_FAILURE; - } - /* Who am i? */ pw = get_my_pwent (); if (NULL == pw) { @@ -200,8 +190,8 @@ int main(int argc, char **argv) /* Get the effective uid and effective gid of the target process */ if (fstat(proc_dir_fd, &st) < 0) { - fprintf(stderr, _("%s: Could not stat directory for target %u\n"), - Prog, target); + fprintf(stderr, _("%s: Could not stat directory for process\n"), + Prog); return EXIT_FAILURE; } @@ -213,10 +203,10 @@ int main(int argc, char **argv) (!getdef_bool("GRANT_AUX_GROUP_SUBIDS") && (getgid() != pw->pw_gid)) || (pw->pw_uid != st.st_uid) || (getgid() != st.st_gid)) { - fprintf(stderr, _( "%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" ), - Prog, target, - (unsigned long int)getuid(), (unsigned long int)pw->pw_uid, (unsigned long int)st.st_uid, - (unsigned long int)getgid(), (unsigned long int)pw->pw_gid, (unsigned long int)st.st_gid); + fprintf(stderr, _( "%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" ), + Prog, + (unsigned long)getuid(), (unsigned long)pw->pw_uid, (unsigned long)st.st_uid, + (unsigned long)getgid(), (unsigned long)pw->pw_gid, (unsigned long)st.st_gid); return EXIT_FAILURE; } diff --git a/src/newgrp.c b/src/newgrp.c index 99820832..1b3d76b8 100644 --- a/src/newgrp.c +++ b/src/newgrp.c @@ -16,20 +16,24 @@ #include #include #include + +#include "agetpass.h" +#include "alloc.h" #include "defines.h" #include "getdef.h" #include "prototypes.h" /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/sprintf.h" + /* * Global variables */ -const char *Prog; +static const char *Prog; extern char **newenvp; -extern char **environ; #ifdef HAVE_SETGROUPS static int ngroups; @@ -158,7 +162,7 @@ static void check_perms (const struct group *grp, * get the password from her, and set the salt for * the decryption from the group file. */ - cp = getpass (_("Password: ")); + cp = agetpass (_("Password: ")); if (NULL == cp) { goto failure; } @@ -169,7 +173,7 @@ static void check_perms (const struct group *grp, * must match the previously encrypted value in the file. */ cpasswd = pw_encrypt (cp, grp->gr_passwd); - strzero (cp); + erase_pass (cp); if (NULL == cpasswd) { fprintf (stderr, @@ -184,12 +188,10 @@ static void check_perms (const struct group *grp, if (grp->gr_passwd[0] == '\0' || strcmp (cpasswd, grp->gr_passwd) != 0) { #ifdef WITH_AUDIT - snprintf (audit_buf, sizeof(audit_buf), - "authentication new-gid=%lu", - (unsigned long) grp->gr_gid); + SNPRINTF(audit_buf, "authentication new-gid=%lu", + (unsigned long) grp->gr_gid); audit_logger (AUDIT_GRP_AUTH, Prog, - audit_buf, NULL, - (unsigned int) getuid (), 0); + audit_buf, NULL, getuid (), 0); #endif SYSLOG ((LOG_INFO, "Invalid password for group '%s' from '%s'", @@ -199,12 +201,10 @@ static void check_perms (const struct group *grp, goto failure; } #ifdef WITH_AUDIT - snprintf (audit_buf, sizeof(audit_buf), - "authentication new-gid=%lu", - (unsigned long) grp->gr_gid); + SNPRINTF(audit_buf, "authentication new-gid=%lu", + (unsigned long) grp->gr_gid); audit_logger (AUDIT_GRP_AUTH, Prog, - audit_buf, NULL, - (unsigned int) getuid (), 1); + audit_buf, NULL, getuid (), 1); #endif } @@ -217,21 +217,17 @@ failure: closelog (); #ifdef WITH_AUDIT if (groupname) { - snprintf (audit_buf, sizeof(audit_buf), - "changing new-group=%s", groupname); + SNPRINTF(audit_buf, "changing new-group=%s", groupname); audit_logger (AUDIT_CHGRP_ID, Prog, - audit_buf, NULL, - (unsigned int) getuid (), 0); + audit_buf, NULL, getuid (), 0); } else { audit_logger (AUDIT_CHGRP_ID, Prog, - "changing", NULL, - (unsigned int) getuid (), 0); + "changing", NULL, getuid (), 0); } #endif exit (EXIT_FAILURE); } -#ifdef USE_SYSLOG /* * syslog_sg - log the change of group to syslog * @@ -292,6 +288,9 @@ static void syslog_sg (const char *name, const char *group) (void) signal (SIGTSTP, SIG_IGN); (void) signal (SIGTTIN, SIG_IGN); (void) signal (SIGTTOU, SIG_IGN); + /* set SIGCHLD to default for waitpid */ + (void) signal(SIGCHLD, SIG_DFL); + child = fork (); if ((pid_t)-1 == child) { /* error in fork() */ @@ -299,15 +298,13 @@ static void syslog_sg (const char *name, const char *group) is_newgrp ? "newgrp" : "sg", strerror (errno)); #ifdef WITH_AUDIT if (group) { - snprintf (audit_buf, sizeof(audit_buf), - "changing new-group=%s", group); + SNPRINTF(audit_buf, + "changing new-group=%s", group); audit_logger (AUDIT_CHGRP_ID, Prog, - audit_buf, NULL, - (unsigned int) getuid (), 0); + audit_buf, NULL, getuid (), 0); } else { audit_logger (AUDIT_CHGRP_ID, Prog, - "changing", NULL, - (unsigned int) getuid (), 0); + "changing", NULL, getuid (), 0); } #endif exit (EXIT_FAILURE); @@ -365,7 +362,6 @@ static void syslog_sg (const char *name, const char *group) free(free_login); free(free_tty); } -#endif /* USE_SYSLOG */ /* * newgrp - change the invokers current real and effective group id @@ -394,12 +390,15 @@ int main (int argc, char **argv) #ifdef WITH_AUDIT audit_help_open (); #endif + + check_fds (); + (void) setlocale (LC_ALL, ""); (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); /* - * Save my name for error messages and save my real gid incase of + * Save my name for error messages and save my real gid in case of * errors. If there is an error i have to exec a new login shell for * the user since her old shell won't have fork'd to create the * process. Skip over the program name to the next command line @@ -421,11 +420,18 @@ int main (int argc, char **argv) * but we do not need to restore the previous process persona and we * don't need to re-exec anything. -- JWP */ - Prog = Basename (argv[0]); + + /* + * Ensure that "Prog" is always either "newgrp" or "sg" to avoid + * injecting arbitrary strings into our stderr/stdout, as this can + * be an exploit vector. + */ + is_newgrp = (strcmp (Basename (argv[0]), "newgrp") == 0); + Prog = is_newgrp ? "newgrp" : "sg"; + log_set_progname(Prog); log_set_logfd(stderr); - is_newgrp = (strcmp (Prog, "newgrp") == 0); - OPENLOG (is_newgrp ? "newgrp" : "sg"); + OPENLOG (Prog); argc--; argv++; @@ -437,8 +443,7 @@ int main (int argc, char **argv) Prog); #ifdef WITH_AUDIT audit_logger (AUDIT_CHGRP_ID, Prog, - "changing", NULL, - (unsigned int) getuid (), 0); + "changing", NULL, getuid (), 0); #endif SYSLOG ((LOG_WARN, "Cannot determine the user name of the caller (UID %lu)", (unsigned long) getuid ())); @@ -507,7 +512,7 @@ int main (int argc, char **argv) if ((argc > 0) && (argv[0][0] == '-')) { usage (); goto failure; - } else if (argv[0] != (char *) 0) { + } else if (argv[0] != NULL) { group = argv[0]; } else { /* @@ -541,7 +546,7 @@ int main (int argc, char **argv) /* don't use getgroups(0, 0) - it doesn't work on some systems */ i = 16; for (;;) { - grouplist = (GETGROUPS_T *) xmalloc (i * sizeof (GETGROUPS_T)); + grouplist = XMALLOC(i, GETGROUPS_T); ngroups = getgroups (i, grouplist); if (i > ngroups && !(ngroups == -1 && errno == EINVAL)) { break; @@ -554,15 +559,12 @@ int main (int argc, char **argv) perror ("getgroups"); #ifdef WITH_AUDIT if (group) { - snprintf (audit_buf, sizeof(audit_buf), - "changing new-group=%s", group); + SNPRINTF(audit_buf, "changing new-group=%s", group); audit_logger (AUDIT_CHGRP_ID, Prog, - audit_buf, NULL, - (unsigned int) getuid (), 0); + audit_buf, NULL, getuid (), 0); } else { audit_logger (AUDIT_CHGRP_ID, Prog, - "changing", NULL, - (unsigned int) getuid (), 0); + "changing", NULL, getuid (), 0); } #endif exit (EXIT_FAILURE); @@ -628,7 +630,7 @@ int main (int argc, char **argv) } #endif /* HAVE_SETGROUPS */ /* - * For splitted groups (due to limitations of NIS), check all + * For split groups (due to limitations of NIS), check all * groups of the same GID like the requested group for * membership of the current user. */ @@ -665,11 +667,9 @@ int main (int argc, char **argv) * all successful validations pass through this point. The group id * will be set, and the group added to the concurrent groupset. */ -#ifdef USE_SYSLOG if (getdef_bool ("SYSLOG_SG_ENAB")) { syslog_sg (name, group); } -#endif /* USE_SYSLOG */ gid = grp->gr_gid; @@ -718,11 +718,9 @@ int main (int argc, char **argv) if (setgid (gid) != 0) { perror ("setgid"); #ifdef WITH_AUDIT - snprintf (audit_buf, sizeof(audit_buf), - "changing new-gid=%lu", (unsigned long) gid); + SNPRINTF(audit_buf, "changing new-gid=%lu", (unsigned long) gid); audit_logger (AUDIT_CHGRP_ID, Prog, - audit_buf, NULL, - (unsigned int) getuid (), 0); + audit_buf, NULL, getuid (), 0); #endif exit (EXIT_FAILURE); } @@ -730,11 +728,9 @@ int main (int argc, char **argv) if (setuid (getuid ()) != 0) { perror ("setuid"); #ifdef WITH_AUDIT - snprintf (audit_buf, sizeof(audit_buf), - "changing new-gid=%lu", (unsigned long) gid); + SNPRINTF(audit_buf, "changing new-gid=%lu", (unsigned long) gid); audit_logger (AUDIT_CHGRP_ID, Prog, - audit_buf, NULL, - (unsigned int) getuid (), 0); + audit_buf, NULL, getuid (), 0); #endif exit (EXIT_FAILURE); } @@ -745,13 +741,11 @@ int main (int argc, char **argv) */ if (cflag) { closelog (); - execl (SHELL, "sh", "-c", command, (char *) 0); + execl (SHELL, "sh", "-c", command, (char *) NULL); #ifdef WITH_AUDIT - snprintf (audit_buf, sizeof(audit_buf), - "changing new-gid=%lu", (unsigned long) gid); + SNPRINTF(audit_buf, "changing new-gid=%lu", (unsigned long) gid); audit_logger (AUDIT_CHGRP_ID, Prog, - audit_buf, NULL, - (unsigned int) getuid (), 0); + audit_buf, NULL, getuid (), 0); #endif perror (SHELL); exit ((errno == ENOENT) ? E_CMD_NOTFOUND : E_CMD_NOEXEC); @@ -815,17 +809,15 @@ int main (int argc, char **argv) } #ifdef WITH_AUDIT - snprintf (audit_buf, sizeof(audit_buf), "changing new-gid=%lu", - (unsigned long) gid); + SNPRINTF(audit_buf, "changing new-gid=%lu", (unsigned long) gid); audit_logger (AUDIT_CHGRP_ID, Prog, - audit_buf, NULL, - (unsigned int) getuid (), 1); + audit_buf, NULL, getuid (), 1); #endif /* * Exec the login shell and go away. We are trying to get back to * the previous environment which should be the user's login shell. */ - err = shell (prog, initflag ? (char *) 0 : progbase, newenvp); + err = shell (prog, initflag ? NULL : progbase, newenvp); exit ((err == ENOENT) ? E_CMD_NOTFOUND : E_CMD_NOEXEC); /*@notreached@*/ failure: @@ -843,15 +835,12 @@ int main (int argc, char **argv) closelog (); #ifdef WITH_AUDIT if (NULL != group) { - snprintf (audit_buf, sizeof(audit_buf), - "changing new-group=%s", group); + SNPRINTF(audit_buf, "changing new-group=%s", group); audit_logger (AUDIT_CHGRP_ID, Prog, - audit_buf, NULL, - (unsigned int) getuid (), 0); + audit_buf, NULL, getuid (), 0); } else { audit_logger (AUDIT_CHGRP_ID, Prog, - "changing", NULL, - (unsigned int) getuid (), 0); + "changing", NULL, getuid (), 0); } #endif exit (EXIT_FAILURE); diff --git a/src/newuidmap.c b/src/newuidmap.c index 546856a2..e2652b50 100644 --- a/src/newuidmap.c +++ b/src/newuidmap.c @@ -23,7 +23,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "newuidmap"; static bool verify_range(struct passwd *pw, struct map_range *range) { @@ -64,7 +64,7 @@ static void verify_ranges(struct passwd *pw, int ranges, static void usage(void) { - fprintf(stderr, _("usage: %s [ ] ... \n"), Prog); + fprintf(stderr, _("usage: %s [|fd:] [ ] ... \n"), Prog); exit(EXIT_FAILURE); } @@ -73,17 +73,13 @@ static void usage(void) */ int main(int argc, char **argv) { - char proc_dir_name[32]; char *target_str; - pid_t target; int proc_dir_fd; int ranges; struct map_range *mappings; struct stat st; struct passwd *pw; - int written; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -94,26 +90,20 @@ int main(int argc, char **argv) if (argc < 2) usage(); + target_str = argv[1]; /* Find the process that needs its user namespace * uid mapping set. */ - target_str = argv[1]; - if (!get_pid(target_str, &target)) - usage(); - - /* max string length is 6 + 10 + 1 + 1 = 18, allocate 32 bytes */ - written = snprintf(proc_dir_name, sizeof(proc_dir_name), "/proc/%u/", - target); - if ((written <= 0) || (written >= sizeof(proc_dir_name))) { - fprintf(stderr, "%s: snprintf of proc path failed: %s\n", - Prog, strerror(errno)); - } - - proc_dir_fd = open(proc_dir_name, O_DIRECTORY); - if (proc_dir_fd < 0) { - fprintf(stderr, _("%s: Could not open proc directory for target %u\n"), - Prog, target); - return EXIT_FAILURE; + if (strlen(target_str) > 3 && strncmp(target_str, "fd:", 3) == 0) { + /* the user passed in a /proc/pid fd for the process */ + target_str = &target_str[3]; + proc_dir_fd = get_pidfd_from_fd(target_str); + if (proc_dir_fd < 0) + usage(); + } else { + proc_dir_fd = open_pidfd(target_str); + if (proc_dir_fd < 0) + usage(); } /* Who am i? */ @@ -129,8 +119,7 @@ int main(int argc, char **argv) /* Get the effective uid and effective gid of the target process */ if (fstat(proc_dir_fd, &st) < 0) { - fprintf(stderr, _("%s: Could not stat directory for target %u\n"), - Prog, target); + fprintf(stderr, _("%s: Could not stat directory for target process\n"), Prog); return EXIT_FAILURE; } @@ -142,10 +131,10 @@ int main(int argc, char **argv) (!getdef_bool("GRANT_AUX_GROUP_SUBIDS") && (getgid() != pw->pw_gid)) || (pw->pw_uid != st.st_uid) || (getgid() != st.st_gid)) { - fprintf(stderr, _( "%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" ), - Prog, target, - (unsigned long int)getuid(), (unsigned long int)pw->pw_uid, (unsigned long int)st.st_uid, - (unsigned long int)getgid(), (unsigned long int)pw->pw_gid, (unsigned long int)st.st_gid); + fprintf(stderr, _( "%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n" ), + Prog, + (unsigned long)getuid(), (unsigned long)pw->pw_uid, (unsigned long)st.st_uid, + (unsigned long)getgid(), (unsigned long)pw->pw_gid, (unsigned long)st.st_gid); return EXIT_FAILURE; } diff --git a/src/newusers.c b/src/newusers.c index deeb3614..bff20b44 100644 --- a/src/newusers.c +++ b/src/newusers.c @@ -29,6 +29,8 @@ #include #include #include + +#include "alloc.h" #ifdef ACCT_TOOLS_SETUID #ifdef USE_PAM #include "pam_defs.h" @@ -48,17 +50,19 @@ #endif /* ENABLE_SUBIDS */ #include "chkname.h" #include "shadowlog.h" +#include "string/sprintf.h" + /* * Global variables */ -const char *Prog; +static const char Prog[] = "newusers"; static bool rflg = false; /* create a system account */ #ifndef USE_PAM static /*@null@*//*@observer@*/char *crypt_method = NULL; #define cflg (NULL != crypt_method) -#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) +#if defined(USE_SHA_CRYPT) || defined(USE_BCRYPT) || defined(USE_YESCRYPT) static bool sflg = false; #endif #ifdef USE_SHA_CRYPT @@ -88,8 +92,8 @@ static bool sub_gid_locked = false; #endif /* ENABLE_SUBIDS */ /* local function prototypes */ -static void usage (int status); -static void fail_exit (int); +NORETURN static void usage (int status); +NORETURN static void fail_exit (int); static int add_group (const char *, const char *, gid_t *, gid_t); static int get_user_id (const char *, uid_t *); static int add_user (const char *, uid_t, gid_t); @@ -235,7 +239,7 @@ static int add_group (const char *name, const char *gid, gid_t *ngid, uid_t uid) * new group, or an existing group. */ - if (get_gid (gid, &grent.gr_gid) == 0) { + if (get_gid(gid, &grent.gr_gid) == -1) { fprintf (stderr, _("%s: invalid group ID '%s'\n"), Prog, gid); @@ -245,11 +249,11 @@ static int add_group (const char *name, const char *gid, gid_t *ngid, uid_t uid) /* Look in both the system database (getgrgid) and in the * internal database (gr_locate_gid), which may contain * uncommitted changes */ - if ( (getgrgid ((gid_t) grent.gr_gid) != NULL) - || (gr_locate_gid ((gid_t) grent.gr_gid) != NULL)) { + if ( (getgrgid (grent.gr_gid) != NULL) + || (gr_locate_gid (grent.gr_gid) != NULL)) { /* The user will use this ID for her * primary group */ - *ngid = (gid_t) grent.gr_gid; + *ngid = grent.gr_gid; return 0; } @@ -339,7 +343,7 @@ static int get_user_id (const char *uid, uid_t *nuid) { * caller provided, or the next available UID. */ if (isdigit (uid[0])) { - if ((get_uid (uid, nuid) == 0) || (*nuid == (uid_t)-1)) { + if ((get_uid(uid, nuid) == -1) || (*nuid == (uid_t)-1)) { fprintf (stderr, _("%s: invalid user ID '%s'\n"), Prog, uid); @@ -350,22 +354,20 @@ static int get_user_id (const char *uid, uid_t *nuid) { const struct passwd *pwd; /* local, no need for xgetpwnam */ pwd = getpwnam (uid); - if (NULL == pwd) { + if (pwd == NULL) pwd = pw_locate (uid); - } - if (NULL != pwd) { - *nuid = pwd->pw_uid; - } else { + if (pwd == NULL) { fprintf (stderr, _("%s: user '%s' does not exist\n"), Prog, uid); return -1; } + + *nuid = pwd->pw_uid; } else { - if (find_new_uid (rflg, nuid, NULL) < 0) { + if (find_new_uid (rflg, nuid, NULL) < 0) return -1; - } } } @@ -527,7 +529,7 @@ static int add_passwd (struct passwd *pwd, const char *password) } spent.sp_pwdp = cp; } - spent.sp_lstchg = (long) gettime () / SCALE; + spent.sp_lstchg = gettime () / DAY; if (0 == spent.sp_lstchg) { /* Better disable aging than requiring a password * change */ @@ -584,7 +586,7 @@ static int add_passwd (struct passwd *pwd, const char *password) */ spent.sp_pwdp = "!"; #endif - spent.sp_lstchg = (long) gettime () / SCALE; + spent.sp_lstchg = gettime () / DAY; if (0 == spent.sp_lstchg) { /* Better disable aging than requiring a password change */ spent.sp_lstchg = -1; @@ -662,21 +664,28 @@ static void process_flags (int argc, char **argv) case 's': sflg = true; bad_s = 0; + + if (!crypt_method){ + fprintf(stderr, + _("%s: Provide '--crypt-method' before number of rounds\n"), + Prog); + usage (EXIT_FAILURE); + } #if defined(USE_SHA_CRYPT) if ( ( ((0 == strcmp (crypt_method, "SHA256")) || (0 == strcmp (crypt_method, "SHA512"))) - && (0 == getlong(optarg, &sha_rounds)))) { + && (-1 == getlong(optarg, &sha_rounds)))) { bad_s = 1; } #endif /* USE_SHA_CRYPT */ #if defined(USE_BCRYPT) if (( (0 == strcmp (crypt_method, "BCRYPT")) - && (0 == getlong(optarg, &bcrypt_rounds)))) { + && (-1 == getlong(optarg, &bcrypt_rounds)))) { bad_s = 1; } #endif /* USE_BCRYPT */ #if defined(USE_YESCRYPT) if (( (0 == strcmp (crypt_method, "YESCRYPT")) - && (0 == getlong(optarg, &yescrypt_cost)))) { + && (-1 == getlong(optarg, &yescrypt_cost)))) { bad_s = 1; } #endif /* USE_YESCRYPT */ @@ -702,8 +711,9 @@ static void process_flags (int argc, char **argv) if (argv[optind] != NULL) { if (freopen (argv[optind], "r", stdin) == NULL) { - char buf[BUFSIZ]; - snprintf (buf, sizeof buf, "%s: %s", Prog, argv[1]); + char buf[BUFSIZ]; + + SNPRINTF(buf, "%s: %s", Prog, argv[1]); perror (buf); fail_exit (EXIT_FAILURE); } @@ -1039,7 +1049,6 @@ int main (int argc, char **argv) char *cp; const struct passwd *pw; struct passwd newpw; - int errors = 0; int line = 0; uid_t uid; gid_t gid; @@ -1050,7 +1059,6 @@ int main (int argc, char **argv) unsigned int nusers = 0; #endif /* USE_PAM */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -1088,19 +1096,16 @@ int main (int argc, char **argv) * over 100 is allocated. The pw_gid field will be updated with that * value. */ - while (fgets (buf, (int) sizeof buf, stdin) != (char *) 0) { + while (fgets (buf, sizeof buf, stdin) != NULL) { line++; cp = strrchr (buf, '\n'); - if (NULL != cp) { + if (cp == NULL && feof (stdin) == 0) { + fprintf (stderr, _("%s: line %d: line too long\n"), + Prog, line); + fail_exit (EXIT_FAILURE); + } + if (cp != NULL) { *cp = '\0'; - } else { - if (feof (stdin) == 0) { - fprintf (stderr, - _("%s: line %d: line too long\n"), - Prog, line); - errors++; - continue; - } } /* @@ -1111,39 +1116,35 @@ int main (int argc, char **argv) for (cp = buf, nfields = 0; nfields < 7; nfields++) { fields[nfields] = cp; cp = strchr (cp, ':'); - if (NULL != cp) { - *cp = '\0'; - cp++; - } else { + if (cp == NULL) break; - } + + *cp = '\0'; + cp++; } if (nfields != 6) { fprintf (stderr, _("%s: line %d: invalid line\n"), Prog, line); - errors++; - continue; + fail_exit (EXIT_FAILURE); } /* - * First check if we have to create or update an user + * First check if we have to create or update a user */ pw = pw_locate (fields[0]); /* local, no need for xgetpwnam */ - if ( (NULL == pw) - && (getpwnam (fields[0]) != NULL)) { - fprintf (stderr, _("%s: cannot update the entry of user %s (not in the passwd database)\n"), Prog, fields[0]); - errors++; - continue; + if (NULL == pw && getpwnam(fields[0]) != NULL) { + fprintf (stderr, + _("%s: cannot update the entry of user %s (not in the passwd database)\n"), + Prog, fields[0]); + fail_exit (EXIT_FAILURE); } - if ( (NULL == pw) - && (get_user_id (fields[2], &uid) != 0)) { + if (NULL == pw && get_user_id(fields[2], &uid) != 0) { fprintf (stderr, _("%s: line %d: can't create user\n"), Prog, line); - errors++; - continue; + fail_exit (EXIT_FAILURE); } /* @@ -1163,8 +1164,7 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: line %d: can't create group\n"), Prog, line); - errors++; - continue; + fail_exit (EXIT_FAILURE); } /* @@ -1179,8 +1179,7 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: line %d: can't create user\n"), Prog, line); - errors++; - continue; + fail_exit (EXIT_FAILURE); } /* @@ -1192,17 +1191,22 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: line %d: user '%s' does not exist in %s\n"), Prog, line, fields[0], pw_dbname ()); - errors++; - continue; + fail_exit (EXIT_FAILURE); } newpw = *pw; #ifdef USE_PAM /* keep the list of user/password for later update by PAM */ nusers++; - lines = realloc (lines, sizeof (lines[0]) * nusers); - usernames = realloc (usernames, sizeof (usernames[0]) * nusers); - passwords = realloc (passwords, sizeof (passwords[0]) * nusers); + lines = REALLOCF(lines, nusers, int); + usernames = REALLOCF(usernames, nusers, char *); + passwords = REALLOCF(passwords, nusers, char *); + if (lines == NULL || usernames == NULL || passwords == NULL) { + fprintf (stderr, + _("%s: line %d: %s\n"), + Prog, line, strerror(errno)); + fail_exit (EXIT_FAILURE); + } lines[nusers-1] = line; usernames[nusers-1] = strdup (fields[0]); passwords[nusers-1] = strdup (fields[1]); @@ -1211,8 +1215,7 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: line %d: can't update password\n"), Prog, line); - errors++; - continue; + fail_exit (EXIT_FAILURE); } if ('\0' != fields[4][0]) { newpw.pw_gecos = fields[4]; @@ -1235,21 +1238,24 @@ int main (int argc, char **argv) fprintf(stderr, _("%s: line %d: homedir must be an absolute path\n"), Prog, line); - errors++; - continue; - }; + fail_exit (EXIT_FAILURE); + } if (mkdir (newpw.pw_dir, mode) != 0) { fprintf (stderr, _("%s: line %d: mkdir %s failed: %s\n"), Prog, line, newpw.pw_dir, strerror (errno)); - } else if (chown (newpw.pw_dir, - newpw.pw_uid, - newpw.pw_gid) != 0) { + if (errno != EEXIST) { + fail_exit (EXIT_FAILURE); + } + } + if (chown(newpw.pw_dir, newpw.pw_uid, newpw.pw_gid) != 0) + { fprintf (stderr, _("%s: line %d: chown %s failed: %s\n"), Prog, line, newpw.pw_dir, strerror (errno)); + fail_exit (EXIT_FAILURE); } } @@ -1260,8 +1266,7 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: line %d: can't update entry\n"), Prog, line); - errors++; - continue; + fail_exit (EXIT_FAILURE); } #ifdef ENABLE_SUBIDS @@ -1271,17 +1276,19 @@ int main (int argc, char **argv) if (is_sub_uid && want_subuids() && !local_sub_uid_assigned(fields[0])) { uid_t sub_uid_start = 0; unsigned long sub_uid_count = 0; - if (find_new_sub_uids(&sub_uid_start, &sub_uid_count) == 0) { - if (sub_uid_add(fields[0], sub_uid_start, sub_uid_count) == 0) { - fprintf (stderr, - _("%s: failed to prepare new %s entry\n"), - Prog, sub_uid_dbname ()); - } - } else { + if (find_new_sub_uids(&sub_uid_start, &sub_uid_count) != 0) + { fprintf (stderr, _("%s: can't find subordinate user range\n"), Prog); - errors++; + fail_exit (EXIT_FAILURE); + } + if (sub_uid_add(fields[0], sub_uid_start, sub_uid_count) == 0) + { + fprintf (stderr, + _("%s: failed to prepare new %s entry\n"), + Prog, sub_uid_dbname ()); + fail_exit (EXIT_FAILURE); } } @@ -1291,17 +1298,17 @@ int main (int argc, char **argv) if (is_sub_gid && want_subgids() && !local_sub_gid_assigned(fields[0])) { gid_t sub_gid_start = 0; unsigned long sub_gid_count = 0; - if (find_new_sub_gids(&sub_gid_start, &sub_gid_count) == 0) { - if (sub_gid_add(fields[0], sub_gid_start, sub_gid_count) == 0) { - fprintf (stderr, - _("%s: failed to prepare new %s entry\n"), - Prog, sub_uid_dbname ()); - } - } else { + if (find_new_sub_gids(&sub_gid_start, &sub_gid_count) != 0) { fprintf (stderr, _("%s: can't find subordinate group range\n"), Prog); - errors++; + fail_exit (EXIT_FAILURE); + } + if (sub_gid_add(fields[0], sub_gid_start, sub_gid_count) == 0) { + fprintf (stderr, + _("%s: failed to prepare new %s entry\n"), + Prog, sub_uid_dbname ()); + fail_exit (EXIT_FAILURE); } } #endif /* ENABLE_SUBIDS */ @@ -1314,12 +1321,6 @@ int main (int argc, char **argv) * changes to be written out all at once, and then unlocked * afterwards. */ - if (0 != errors) { - fprintf (stderr, - _("%s: error detected, changes ignored\n"), Prog); - fail_exit (EXIT_FAILURE); - } - close_files (); nscd_flush_cache ("passwd"); @@ -1334,11 +1335,11 @@ int main (int argc, char **argv) fprintf (stderr, _("%s: (line %d, user %s) password not changed\n"), Prog, lines[i], usernames[i]); - errors++; + exit (EXIT_FAILURE); } } #endif /* USE_PAM */ - return ((0 == errors) ? EXIT_SUCCESS : EXIT_FAILURE); + exit (EXIT_SUCCESS); } diff --git a/src/passwd.c b/src/passwd.c index 8c6f81a9..d90bc659 100644 --- a/src/passwd.c +++ b/src/passwd.c @@ -19,8 +19,12 @@ #include #include #include + +#include "agetpass.h" +#include "alloc.h" #include "defines.h" #include "getdef.h" +#include "memzero.h" #include "nscd.h" #include "sssd.h" #include "prototypes.h" @@ -28,6 +32,9 @@ #include "pwio.h" #include "shadowio.h" #include "shadowlog.h" +#include "string/strtcpy.h" +#include "time/day_to_str.h" + /* * exit status values @@ -43,12 +50,14 @@ /* * Global variables */ -const char *Prog; /* Program name */ +static const char Prog[] = "passwd"; /* Program name */ static char *name; /* The name of user whose password is being changed */ static char *myname; /* The current user's name */ static bool amroot; /* The caller's real UID was 0 */ +static const char *prefix = ""; + static bool aflg = false, /* -a - show status for all users */ dflg = false, /* -d - delete password */ @@ -61,7 +70,8 @@ static bool Sflg = false, /* -S - show password status */ uflg = false, /* -u - unlock the user's password */ wflg = false, /* -w - set warning days */ - xflg = false; /* -x - set maximum days */ + xflg = false, /* -x - set maximum days */ + sflg = false; /* -s - read passwd from stdin */ /* * set to 1 if there are any flags which require root privileges, @@ -74,14 +84,16 @@ static long age_max = 0; /* Maximum days until change */ static long warn = 0; /* Warning days before change */ static long inact = 0; /* Days without change before locked */ -#ifndef USE_PAM static bool do_update_age = false; -#endif /* ! USE_PAM */ +#ifdef USE_PAM +static bool use_pam = true; +#else +static bool use_pam = false; +#endif /* USE_PAM */ static bool pw_locked = false; static bool spw_locked = false; -#ifndef USE_PAM /* * Size of the biggest passwd: * $6$ 3 @@ -97,25 +109,21 @@ static bool spw_locked = false; */ static char crypt_passwd[256]; static bool do_update_pwd = false; -#endif /* !USE_PAM */ /* * External identifiers */ /* local function prototypes */ -static /*@noreturn@*/void usage (int); +NORETURN static void usage (int); -#ifndef USE_PAM -static bool reuse (const char *, const struct passwd *); static int new_password (const struct passwd *); static void check_password (const struct passwd *, const struct spwd *); -#endif /* !USE_PAM */ static /*@observer@*/const char *pw_status (const char *); static void print_status (const struct passwd *); -static /*@noreturn@*/void fail_exit (int); -static /*@noreturn@*/void oom (void); +NORETURN static void fail_exit (int); +NORETURN static void oom (void); static char *update_crypt_pw (char *); static void update_noshadow (void); @@ -124,7 +132,9 @@ static void update_shadow (void); /* * usage - print command usage and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -145,37 +155,17 @@ static /*@noreturn@*/void usage (int status) (void) fputs (_(" -q, --quiet quiet mode\n"), usageout); (void) fputs (_(" -r, --repository REPOSITORY change password in REPOSITORY repository\n"), usageout); (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); + (void) fputs (_(" -P, --prefix PREFIX_DIR directory prefix\n"), usageout); (void) fputs (_(" -S, --status report password status on the named account\n"), usageout); (void) fputs (_(" -u, --unlock unlock the password of the named account\n"), usageout); (void) fputs (_(" -w, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"), usageout); (void) fputs (_(" -x, --maxdays MAX_DAYS set maximum number of days before password\n" " change to MAX_DAYS\n"), usageout); + (void) fputs (_(" -s, --stdin read new token from stdin\n"), usageout); (void) fputs ("\n", usageout); exit (status); } -#ifndef USE_PAM -static bool reuse (const char *pass, const struct passwd *pw) -{ -#ifdef HAVE_LIBCRACK_HIST - const char *reason; - -#ifdef HAVE_LIBCRACK_PW - const char *FascistHistoryPw (const char *, const struct passwd *); - - reason = FascistHistory (pass, pw); -#else /* !HAVE_LIBCRACK_PW */ - const char *FascistHistory (const char *, int); - - reason = FascistHistory (pass, pw->pw_uid); -#endif /* !HAVE_LIBCRACK_PW */ - if (NULL != reason) { - (void) printf (_("Bad password: %s. "), reason); - return true; - } -#endif /* HAVE_LIBCRACK_HIST */ - return false; -} /* * new_password - validate old password and replace with new (both old and @@ -186,25 +176,22 @@ static int new_password (const struct passwd *pw) char *clear; /* Pointer to clear text */ char *cipher; /* Pointer to cipher text */ const char *salt; /* Pointer to new salt */ - char *cp; /* Pointer to getpass() response */ - char orig[200]; /* Original password */ - char pass[200]; /* New password */ + char *cp; /* Pointer to agetpass() response */ + char orig[PASS_MAX + 1]; /* Original password */ + char pass[PASS_MAX + 1]; /* New password */ int i; /* Counter for retries */ + int ret; bool warned; int pass_max_len = -1; const char *method; -#ifdef HAVE_LIBCRACK_HIST - int HistUpdate (const char *, const char *); -#endif /* HAVE_LIBCRACK_HIST */ - /* * Authenticate the user. The user will be prompted for their own * password. */ if (!amroot && ('\0' != crypt_passwd[0])) { - clear = getpass (_("Old password: ")); + clear = agetpass (_("Old password: ")); if (NULL == clear) { return -1; } @@ -212,7 +199,7 @@ static int new_password (const struct passwd *pw) cipher = pw_encrypt (clear, crypt_passwd); if (NULL == cipher) { - strzero (clear); + erase_pass (clear); fprintf (stderr, _("%s: failed to crypt password with previous salt: %s\n"), Prog, strerror (errno)); @@ -223,7 +210,7 @@ static int new_password (const struct passwd *pw) } if (strcmp (cipher, crypt_passwd) != 0) { - strzero (clear); + erase_pass (clear); strzero (cipher); SYSLOG ((LOG_WARN, "incorrect password for %s", pw->pw_name)); @@ -233,8 +220,8 @@ static int new_password (const struct passwd *pw) pw->pw_name); return -1; } - STRFCPY (orig, clear); - strzero (clear); + STRTCPY(orig, clear); + erase_pass (clear); strzero (cipher); } else { orig[0] = '\0'; @@ -270,7 +257,7 @@ static int new_password (const struct passwd *pw) pass_max_len = getdef_num ("PASS_MAX_LEN", 8); } } - if (!qflg) { + if (!qflg && !sflg) { if (pass_max_len == -1) { (void) printf (_( "Enter the new password (minimum of %d characters)\n" @@ -284,62 +271,87 @@ static int new_password (const struct passwd *pw) } } - warned = false; - for (i = getdef_num ("PASS_CHANGE_TRIES", 5); i > 0; i--) { - cp = getpass (_("New password: ")); - if (NULL == cp) { - memzero (orig, sizeof orig); - memzero (pass, sizeof pass); - return -1; - } - if (warned && (strcmp (pass, cp) != 0)) { - warned = false; - } - STRFCPY (pass, cp); - strzero (cp); - - if (!amroot && (!obscure (orig, pass, pw) || reuse (pass, pw))) { - (void) puts (_("Try again.")); - continue; - } - + if (sflg) { /* - * If enabled, warn about weak passwords even if you are - * root (enter this password again to use it anyway). - * --marekm + * root is setting the passphrase from stdin */ - if (amroot && !warned && getdef_bool ("PASS_ALWAYS_WARN") - && (!obscure (orig, pass, pw) || reuse (pass, pw))) { - (void) puts (_("\nWarning: weak password (enter it again to use it anyway).")); - warned = true; - continue; - } - cp = getpass (_("Re-enter new password: ")); + cp = agetpass_stdin (); if (NULL == cp) { - memzero (orig, sizeof orig); - memzero (pass, sizeof pass); return -1; } - if (strcmp (cp, pass) != 0) { - (void) fputs (_("They don't match; try again.\n"), stderr); - } else { - strzero (cp); - break; + ret = STRTCPY (pass, cp); + erase_pass (cp); + if (ret == -1) { + (void) fputs (_("Password is too long.\n"), stderr); + MEMZERO(pass); + return -1; + } + } else { + warned = false; + for (i = getdef_num ("PASS_CHANGE_TRIES", 5); i > 0; i--) { + cp = agetpass (_("New password: ")); + if (NULL == cp) { + MEMZERO(orig); + MEMZERO(pass); + return -1; + } + if (warned && (strcmp (pass, cp) != 0)) { + warned = false; + } + ret = STRTCPY (pass, cp); + erase_pass (cp); + if (ret == -1) { + (void) fputs (_("Password is too long.\n"), stderr); + MEMZERO(orig); + MEMZERO(pass); + return -1; + } + + if (!amroot && !obscure(orig, pass, pw)) { + (void) puts (_("Try again.")); + continue; + } + + /* + * If enabled, warn about weak passwords even if you are + * root (enter this password again to use it anyway). + * --marekm + */ + if (amroot && !warned && getdef_bool ("PASS_ALWAYS_WARN") + && !obscure(orig, pass, pw)) { + (void) puts (_("\nWarning: weak password (enter it again to use it anyway).")); + warned = true; + continue; + } + cp = agetpass (_("Re-enter new password: ")); + if (NULL == cp) { + MEMZERO(orig); + MEMZERO(pass); + return -1; + } + if (strcmp (cp, pass) != 0) { + erase_pass (cp); + (void) fputs (_("They don't match; try again.\n"), stderr); + } else { + erase_pass (cp); + break; + } + } + MEMZERO(orig); + + if (i == 0) { + MEMZERO(pass); + return -1; } } - memzero (orig, sizeof orig); - if (i == 0) { - memzero (pass, sizeof pass); - return -1; - } /* * Encrypt the password, then wipe the cleartext password. */ salt = crypt_make_salt (NULL, NULL); cp = pw_encrypt (pass, salt); - memzero (pass, sizeof pass); + MEMZERO(pass); if (NULL == cp) { fprintf (stderr, @@ -348,10 +360,7 @@ static int new_password (const struct passwd *pw) return -1; } -#ifdef HAVE_LIBCRACK_HIST - HistUpdate (pw->pw_name, crypt_passwd); -#endif /* HAVE_LIBCRACK_HIST */ - STRFCPY (crypt_passwd, cp); + STRTCPY(crypt_passwd, cp); return 0; } @@ -363,7 +372,6 @@ static int new_password (const struct passwd *pw) */ static void check_password (const struct passwd *pw, const struct spwd *sp) { - time_t now; int exp_status; exp_status = isexpired (pw, sp); @@ -383,8 +391,6 @@ static void check_password (const struct passwd *pw, const struct spwd *sp) return; } - (void) time (&now); - /* * Expired accounts cannot be changed ever. Passwords which are * locked may not be changed. Passwords where min > max may not be @@ -407,10 +413,12 @@ static void check_password (const struct passwd *pw, const struct spwd *sp) * Passwords may only be changed after sp_min time is up. */ if (sp->sp_lstchg > 0) { - time_t ok; - ok = (time_t) sp->sp_lstchg * SCALE; - if (sp->sp_min > 0) { - ok += (time_t) sp->sp_min * SCALE; + long now, ok; + now = time(NULL) / DAY; + ok = sp->sp_lstchg; + if ( (sp->sp_min > 0) + && __builtin_add_overflow(ok, sp->sp_min, &ok)) { + ok = LONG_MAX; } if (now < ok) { @@ -423,7 +431,6 @@ static void check_password (const struct passwd *pw, const struct spwd *sp) } } } -#endif /* !USE_PAM */ static /*@observer@*/const char *pw_status (const char *pass) { @@ -444,17 +451,17 @@ static void print_status (const struct passwd *pw) char date[80]; struct spwd *sp; - sp = getspnam (pw->pw_name); /* local, no need for xgetspnam */ + sp = prefix_getspnam (pw->pw_name); /* local, no need for xprefix_getspnam */ if (NULL != sp) { - date_to_str (sizeof(date), date, sp->sp_lstchg * SCALE), - (void) printf ("%s %s %s %lld %lld %lld %lld\n", + DAY_TO_STR(date, sp->sp_lstchg); + (void) printf ("%s %s %s %ld %ld %ld %ld\n", pw->pw_name, pw_status (sp->sp_pwdp), date, - ((long long)sp->sp_min * SCALE) / DAY, - ((long long)sp->sp_max * SCALE) / DAY, - ((long long)sp->sp_warn * SCALE) / DAY, - ((long long)sp->sp_inact * SCALE) / DAY); + sp->sp_min, + sp->sp_max, + sp->sp_warn, + sp->sp_inact); } else if (NULL != pw->pw_passwd) { (void) printf ("%s %s\n", pw->pw_name, pw_status (pw->pw_passwd)); @@ -465,7 +472,9 @@ static void print_status (const struct passwd *pw) } -static /*@noreturn@*/void fail_exit (int status) +NORETURN +static void +fail_exit (int status) { if (pw_locked) { if (pw_unlock () == 0) { @@ -486,7 +495,9 @@ static /*@noreturn@*/void fail_exit (int status) exit (status); } -static /*@noreturn@*/void oom (void) +NORETURN +static void +oom (void) { (void) fprintf (stderr, _("%s: out of memory\n"), Prog); fail_exit (E_FAILURE); @@ -494,11 +505,12 @@ static /*@noreturn@*/void oom (void) static char *update_crypt_pw (char *cp) { -#ifndef USE_PAM - if (do_update_pwd) { - cp = xstrdup (crypt_passwd); + if (!use_pam) + { + if (do_update_pwd) { + cp = xstrdup (crypt_passwd); + } } -#endif /* !USE_PAM */ if (dflg) { *cp = '\0'; @@ -517,15 +529,16 @@ static char *update_crypt_pw (char *cp) } if (lflg && *cp != '!') { - char *newpw = xmalloc (strlen (cp) + 2); + char *newpw = XMALLOC(strlen(cp) + 2, char); strcpy (newpw, "!"); strcat (newpw, cp); -#ifndef USE_PAM - if (do_update_pwd) { - free (cp); + if (!use_pam) + { + if (do_update_pwd) { + free (cp); + } } -#endif /* USE_PAM */ cp = newpw; } return cp; @@ -626,27 +639,28 @@ static void update_shadow (void) } nsp->sp_pwdp = update_crypt_pw (nsp->sp_pwdp); if (xflg) { - nsp->sp_max = (age_max * DAY) / SCALE; + nsp->sp_max = age_max; } if (nflg) { - nsp->sp_min = (age_min * DAY) / SCALE; + nsp->sp_min = age_min; } if (wflg) { - nsp->sp_warn = (warn * DAY) / SCALE; + nsp->sp_warn = warn; } if (iflg) { - nsp->sp_inact = (inact * DAY) / SCALE; + nsp->sp_inact = inact; } -#ifndef USE_PAM - if (do_update_age) { - nsp->sp_lstchg = (long) gettime () / SCALE; - if (0 == nsp->sp_lstchg) { - /* Better disable aging than requiring a password - * change */ - nsp->sp_lstchg = -1; + if (!use_pam) + { + if (do_update_age) { + nsp->sp_lstchg = gettime () / DAY; + if (0 == nsp->sp_lstchg) { + /* Better disable aging than requiring a password + * change */ + nsp->sp_lstchg = -1; + } } } -#endif /* !USE_PAM */ /* * Force change on next login, like SunOS 4.x passwd -e or Solaris @@ -690,18 +704,16 @@ static void update_shadow (void) * * -d delete the password for the named account (*) * -e expire the password for the named account (*) - * -f execute chfn command to interpret flags - * -g execute gpasswd command to interpret flags * -i # set sp_inact to # days (*) * -k change password only if expired * -l lock the password of the named account (*) * -n # set sp_min to # days (*) * -r # change password in # repository - * -s execute chsh command to interpret flags * -S show password status of named account * -u unlock the password of the named account (*) * -w # set sp_warn to # days (*) * -x # set sp_max to # days (*) + * -s read password from stdin (*) * * (*) requires root permission to execute. * @@ -713,19 +725,13 @@ int main (int argc, char **argv) { const struct passwd *pw; /* Password file entry for user */ -#ifndef USE_PAM char *cp; /* Miscellaneous character pointing */ const struct spwd *sp; /* Shadow file entry for user */ -#endif /* !USE_PAM */ sanitize_env (); + check_fds (); - /* - * Get the program name. The program name is used as a prefix to - * most error messages. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -734,6 +740,12 @@ int main (int argc, char **argv) (void) textdomain (PACKAGE); process_root_flag ("-R", argc, argv); + prefix = process_prefix_flag ("-P", argc, argv); + + if (prefix[0]) { + use_pam = false; + do_update_age = true; + } /* * The program behaves differently when executed by root than when @@ -741,7 +753,7 @@ int main (int argc, char **argv) */ amroot = (getuid () == 0); - OPENLOG ("passwd"); + OPENLOG (Prog); { /* @@ -760,14 +772,16 @@ int main (int argc, char **argv) {"quiet", no_argument, NULL, 'q'}, {"repository", required_argument, NULL, 'r'}, {"root", required_argument, NULL, 'R'}, + {"prefix", required_argument, NULL, 'P'}, {"status", no_argument, NULL, 'S'}, {"unlock", no_argument, NULL, 'u'}, {"warndays", required_argument, NULL, 'w'}, {"maxdays", required_argument, NULL, 'x'}, + {"stdin", no_argument, NULL, 's'}, {NULL, 0, NULL, '\0'} }; - while ((c = getopt_long (argc, argv, "adehi:kln:qr:R:Suw:x:", + while ((c = getopt_long (argc, argv, "adehi:kln:qr:R:P:Suw:x:s", long_options, NULL)) != -1) { switch (c) { case 'a': @@ -785,7 +799,7 @@ int main (int argc, char **argv) usage (E_SUCCESS); /*@notreached@*/break; case 'i': - if ( (getlong (optarg, &inact) == 0) + if ( (getlong(optarg, &inact) == -1) || (inact < -1)) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), @@ -804,7 +818,7 @@ int main (int argc, char **argv) anyflag = true; break; case 'n': - if ( (getlong (optarg, &age_min) == 0) + if ( (getlong(optarg, &age_min) == -1) || (age_min < -1)) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), @@ -829,6 +843,8 @@ int main (int argc, char **argv) break; case 'R': /* no-op, handled in process_root_flag () */ break; + case 'P': /* no-op, handled in process_prefix_flag () */ + break; case 'S': Sflg = true; /* ok for users */ break; @@ -837,7 +853,7 @@ int main (int argc, char **argv) anyflag = true; break; case 'w': - if ( (getlong (optarg, &warn) == 0) + if ( (getlong(optarg, &warn) == -1) || (warn < -1)) { (void) fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), @@ -848,7 +864,7 @@ int main (int argc, char **argv) anyflag = true; break; case 'x': - if ( (getlong (optarg, &age_max) == 0) + if ( (getlong(optarg, &age_max) == -1) || (age_max < -1)) { (void) fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), @@ -858,6 +874,15 @@ int main (int argc, char **argv) xflg = true; anyflag = true; break; + case 's': + if (!amroot) { + (void) fprintf (stderr, + _("%s: only root can use --stdin/-s option\n"), + Prog); + usage (E_BAD_ARG); + } + sflg = true; + break; default: usage (E_BAD_ARG); } @@ -906,11 +931,11 @@ int main (int argc, char **argv) Prog); exit (E_NOPERM); } - setpwent (); - while ( (pw = getpwent ()) != NULL ) { + prefix_setpwent (); + while ( (pw = prefix_getpwent ()) != NULL ) { print_status (pw); } - endpwent (); + prefix_endpwent (); exit (E_SUCCESS); } #if 0 @@ -947,7 +972,7 @@ int main (int argc, char **argv) exit (E_NOPERM); } - pw = xgetpwnam (name); + pw = xprefix_getpwnam (name); if (NULL == pw) { (void) fprintf (stderr, _("%s: user '%s' does not exist\n"), @@ -957,7 +982,7 @@ int main (int argc, char **argv) #ifdef WITH_SELINUX /* only do this check when getuid()==0 because it's a pre-condition for changing a password without entering the old one */ - if (amroot && (check_selinux_permit ("passwd") != 0)) { + if (amroot && (check_selinux_permit (Prog) != 0)) { SYSLOG ((LOG_ALERT, "root is not authorized by SELinux to change the password of %s", name)); @@ -977,8 +1002,8 @@ int main (int argc, char **argv) _("%s: You may not view or modify password information for %s.\n"), Prog, name); SYSLOG ((LOG_WARN, - "%s: can't view or modify password information for %s", - Prog, name)); + "can't view or modify password information for %s", + name)); closelog (); exit (E_NOPERM); } @@ -987,53 +1012,55 @@ int main (int argc, char **argv) print_status (pw); exit (E_SUCCESS); } -#ifndef USE_PAM - /* - * The user name is valid, so let's get the shadow file entry. - */ - sp = getspnam (name); /* !USE_PAM, no need for xgetspnam */ - if (NULL == sp) { - if (errno == EACCES) { - (void) fprintf (stderr, - _("%s: Permission denied.\n"), - Prog); - exit (E_NOPERM); + if (!use_pam) + { + /* + * The user name is valid, so let's get the shadow file entry. + */ + sp = prefix_getspnam (name); /* !use_pam, no need for xprefix_getspnam */ + if (NULL == sp) { + if (errno == EACCES) { + (void) fprintf (stderr, + _("%s: Permission denied.\n"), + Prog); + exit (E_NOPERM); + } + sp = pwd_to_spwd (pw); } - sp = pwd_to_spwd (pw); - } - cp = sp->sp_pwdp; - - /* - * If there are no other flags, just change the password. - */ - if (!anyflag) { - STRFCPY (crypt_passwd, cp); + cp = sp->sp_pwdp; /* - * See if the user is permitted to change the password. - * Otherwise, go ahead and set a new password. + * If there are no other flags, just change the password. */ - check_password (pw, sp); + if (!anyflag) { + STRTCPY(crypt_passwd, cp); - /* - * Let the user know whose password is being changed. - */ - if (!qflg) { - (void) printf (_("Changing password for %s\n"), name); - } + /* + * See if the user is permitted to change the password. + * Otherwise, go ahead and set a new password. + */ + check_password (pw, sp); - if (new_password (pw) != 0) { - (void) fprintf (stderr, - _("The password for %s is unchanged.\n"), - name); - closelog (); - exit (E_NOPERM); + /* + * Let the user know whose password is being changed. + */ + if (!qflg) { + (void) printf (_("Changing password for %s\n"), name); + } + + if (new_password (pw) != 0) { + (void) fprintf (stderr, + _("The password for %s is unchanged.\n"), + name); + closelog (); + exit (E_NOPERM); + } + do_update_pwd = true; + do_update_age = true; } - do_update_pwd = true; - do_update_age = true; } -#endif /* !USE_PAM */ + /* * Before going any further, raise the ulimit to prevent colliding * into a lowered ulimit, and set the real UID to root to protect @@ -1046,8 +1073,17 @@ int main (int argc, char **argv) /* * Don't set the real UID for PAM... */ - if (!anyflag) { - do_pam_passwd (name, qflg, kflg); + if (!anyflag && use_pam) { + if (sflg) { + cp = agetpass_stdin (); + if (cp == NULL) { + exit (E_FAILURE); + } + do_pam_passwd_non_interactive ("passwd", name, cp); + erase_pass (cp); + } else { + do_pam_passwd (name, qflg, kflg); + } exit (E_SUCCESS); } #endif /* USE_PAM */ @@ -1081,4 +1117,3 @@ int main (int argc, char **argv) return E_SUCCESS; } - diff --git a/src/pwck.c b/src/pwck.c index eaa4163f..70ff5e68 100644 --- a/src/pwck.c +++ b/src/pwck.c @@ -47,7 +47,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "pwck"; static bool use_system_pw_file = true; static bool use_system_spw_file = true; @@ -66,7 +66,7 @@ static bool quiet = false; /* don't report warnings, only errors */ /* local function prototypes */ static void fail_exit (int code); -static /*@noreturn@*/void usage (int status); +NORETURN static void usage (int status); static void process_flags (int argc, char **argv); static void open_files (void); static void close_files (bool changed); @@ -109,7 +109,9 @@ static void fail_exit (int code) /* * usage - print syntax message and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; #ifdef WITH_TCB @@ -367,8 +369,8 @@ static void check_pw_file (int *errors, bool *changed) struct commonio_entry *pfe, *tpfe; struct passwd *pwd; const struct spwd *spw; - uid_t min_sys_id = (uid_t) getdef_ulong ("SYS_UID_MIN", 101UL); - uid_t max_sys_id = (uid_t) getdef_ulong ("SYS_UID_MAX", 999UL); + uid_t min_sys_id = getdef_ulong ("SYS_UID_MIN", 101UL); + uid_t max_sys_id = getdef_ulong ("SYS_UID_MAX", 999UL); /* * Loop through the entire password file. @@ -607,7 +609,7 @@ static void check_pw_file (int *errors, bool *changed) sp.sp_inact = -1; sp.sp_expire = -1; sp.sp_flag = SHADOW_SP_FLAG_UNSET; - sp.sp_lstchg = (long) gettime () / SCALE; + sp.sp_lstchg = gettime () / DAY; if (0 == sp.sp_lstchg) { /* Better disable aging than * requiring a password change @@ -812,9 +814,9 @@ static void check_spw_file (int *errors, bool *changed) * Warn if last password change in the future. --marekm */ if (!quiet) { - time_t t = time ((time_t *) 0); + time_t t = time (NULL); if ( (t != 0) - && (spw->sp_lstchg > (long) t / SCALE)) { + && (spw->sp_lstchg > t / DAY)) { printf (_("user %s: last password change in the future\n"), spw->sp_namp); *errors += 1; @@ -831,10 +833,6 @@ int main (int argc, char **argv) int errors = 0; bool changed = false; - /* - * Get my name so that I can use it to report errors. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -844,7 +842,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); - OPENLOG ("pwck"); + OPENLOG (Prog); /* Parse the command line arguments */ process_flags (argc, argv); diff --git a/src/pwconv.c b/src/pwconv.c index 21d36e7f..7dd327ae 100644 --- a/src/pwconv.c +++ b/src/pwconv.c @@ -40,9 +40,11 @@ #include #include #include +#include #include #include #include + #include "defines.h" #include "getdef.h" #include "prototypes.h" @@ -66,7 +68,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "pwconv"; static bool spw_locked = false; static bool pw_locked = false; @@ -153,7 +155,6 @@ int main (int argc, char **argv) const struct spwd *sp; struct spwd spent; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -163,7 +164,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); - OPENLOG ("pwconv"); + OPENLOG (Prog); process_flags (argc, argv); @@ -237,7 +238,7 @@ int main (int argc, char **argv) spent = *sp; } else { /* add new shadow entry */ - memset (&spent, 0, sizeof spent); + bzero(&spent, sizeof spent); spent.sp_namp = pw->pw_name; spent.sp_min = getdef_num ("PASS_MIN_DAYS", -1); spent.sp_max = getdef_num ("PASS_MAX_DAYS", -1); @@ -247,7 +248,7 @@ int main (int argc, char **argv) spent.sp_flag = SHADOW_SP_FLAG_UNSET; } spent.sp_pwdp = pw->pw_passwd; - spent.sp_lstchg = (long) gettime () / SCALE; + spent.sp_lstchg = gettime () / DAY; if (0 == spent.sp_lstchg) { /* Better disable aging than requiring a password * change */ diff --git a/src/pwunconv.c b/src/pwunconv.c index b8624359..fe18113a 100644 --- a/src/pwunconv.c +++ b/src/pwunconv.c @@ -18,6 +18,7 @@ #include #include #include "defines.h" +#include "getdef.h" #include "nscd.h" #include "sssd.h" #include "prototypes.h" @@ -30,7 +31,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "pwunconv"; static bool spw_locked = false; static bool pw_locked = false; @@ -114,7 +115,6 @@ int main (int argc, char **argv) struct passwd pwent; const struct spwd *spwd; - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -124,7 +124,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); - OPENLOG ("pwunconv"); + OPENLOG (Prog); process_flags (argc, argv); diff --git a/src/su.c b/src/su.c index 6cd82fca..80c08597 100644 --- a/src/su.c +++ b/src/su.c @@ -45,6 +45,10 @@ #include #include #endif /* !USE_PAM */ + +#include "alloc.h" +#include "attr.h" +#include "cast.h" #include "prototypes.h" #include "defines.h" #include "pwauth.h" @@ -55,11 +59,14 @@ /*@-exitarg@*/ #include "exitcodes.h" #include "shadowlog.h" +#include "string/sprintf.h" +#include "string/strtcpy.h" + /* * Global variables */ -const char *Prog; +static const char Prog[] = "su"; static /*@observer@*/const char *caller_tty = NULL; /* Name of tty SU is run from */ static bool caller_is_root = false; static uid_t caller_uid; @@ -95,8 +102,8 @@ static pid_t pid_child = 0; * External identifiers */ -extern char **newenvp; /* libmisc/env.c */ -extern size_t newenvc; /* libmisc/env.c */ +extern char **newenvp; /* lib/env.c */ +extern size_t newenvc; /* lib/env.c */ /* local function prototypes */ @@ -104,15 +111,16 @@ static void execve_shell (const char *shellname, char *args[], char *const envp[]); #ifdef USE_PAM -static void kill_child (int unused(s)); +static void kill_child (MAYBE_UNUSED int s); static void prepare_pam_close_session (void); #else /* !USE_PAM */ static void die (int); static bool iswheel (const char *); #endif /* !USE_PAM */ static bool restricted_shell (const char *shellname); -static /*@noreturn@*/void su_failure (const char *tty, bool su_to_root); +NORETURN static void su_failure (const char *tty, bool su_to_root); static /*@only@*/struct passwd * check_perms (void); +static /*@only@*/struct passwd * do_check_perms (void); #ifdef USE_PAM static void check_perms_pam (const struct passwd *pw); #else /* !USE_PAM */ @@ -157,13 +165,13 @@ static bool iswheel (const char *username) return is_on_list (grp->gr_mem, username); } #else /* USE_PAM */ -static void kill_child (int unused(s)) +static void kill_child (MAYBE_UNUSED int s) { if (0 != pid_child) { (void) kill (-pid_child, SIGKILL); - (void) write (STDERR_FILENO, kill_msg, strlen (kill_msg)); + (void) write_full(STDERR_FILENO, kill_msg, strlen(kill_msg)); } else { - (void) write (STDERR_FILENO, wait_msg, strlen (wait_msg)); + (void) write_full(STDERR_FILENO, wait_msg, strlen(wait_msg)); } _exit (255); } @@ -185,10 +193,11 @@ static bool restricted_shell (const char *shellname) return true; } -static /*@noreturn@*/void su_failure (const char *tty, bool su_to_root) +NORETURN +static void +su_failure (const char *tty, bool su_to_root) { sulog (tty, false, caller_name, name); /* log failed attempt */ -#ifdef USE_SYSLOG if (getdef_bool ("SYSLOG_SU_ENAB")) { SYSLOG ((su_to_root ? LOG_NOTICE : LOG_INFO, "- %s %s:%s", tty, @@ -196,7 +205,6 @@ static /*@noreturn@*/void su_failure (const char *tty, bool su_to_root) ('\0' != name[0]) ? name : "???")); } closelog (); -#endif #ifdef WITH_AUDIT audit_fd = audit_open (); @@ -225,7 +233,7 @@ static void execve_shell (const char *shellname, char *const envp[]) { int err; - (void) execve (shellname, (char **) args, envp); + (void) execve (shellname, args, envp); err = errno; if (access (shellname, R_OK|X_OK) == 0) { @@ -238,7 +246,7 @@ static void execve_shell (const char *shellname, while (NULL != args[n_args]) { n_args++; } - targs = (char **) xmalloc ((n_args + 3) * sizeof (args[0])); + targs = XMALLOC(n_args + 3, char *); targs[0] = "sh"; targs[1] = "-"; targs[2] = xstrdup (shellname); @@ -382,8 +390,8 @@ static void prepare_pam_close_session (void) stderr); (void) kill (-pid_child, caught); - snprintf (kill_msg, sizeof kill_msg, _(" ...killed.\n")); - snprintf (wait_msg, sizeof wait_msg, _(" ...waiting for child to terminate.\n")); + SNPRINTF(kill_msg, _(" ...killed.\n")); + SNPRINTF(wait_msg, _(" ...waiting for child to terminate.\n")); /* Any signals other than SIGCHLD and SIGALRM will no longer have any effect, * so it's time to block all of them. */ @@ -430,6 +438,7 @@ static void prepare_pam_close_session (void) /* * usage - print command line syntax and exit */ +NORETURN static void usage (int status) { (void) @@ -501,7 +510,8 @@ static void check_perms_nopam (const struct passwd *pw) } if (strcmp (pw->pw_passwd, "") == 0) { - char *prevent_no_auth = getdef_str("PREVENT_NO_AUTH"); + const char *prevent_no_auth = getdef_str("PREVENT_NO_AUTH"); + if (prevent_no_auth == NULL) { prevent_no_auth = "superuser"; } @@ -577,7 +587,7 @@ static void check_perms_nopam (const struct passwd *pw) * The first character of an administrator defined method is an '@' * character. */ - if (pw_auth (password, name, PW_SU, (char *) 0) != 0) { + if (pw_auth (password, name, PW_SU, NULL) != 0) { SYSLOG (((pw->pw_uid != 0)? LOG_NOTICE : LOG_WARN, "Authentication failed for %s", name)); fprintf(stderr, _("%s: Authentication failure\n"), Prog); @@ -600,7 +610,7 @@ static void check_perms_nopam (const struct passwd *pw) * there is a "SU" entry in the /etc/porttime file denying access to * the account. */ - if (!isttytime (name, "SU", time ((time_t *) 0))) { + if (!isttytime (name, "SU", time (NULL))) { SYSLOG (((0 != pw->pw_uid) ? LOG_WARN : LOG_CRIT, "SU by %s to restricted account %s", caller_name, name)); @@ -615,14 +625,30 @@ static void check_perms_nopam (const struct passwd *pw) /* * check_perms - check permissions to switch to the user 'name' * - * In case of subsystem login, the user is first authenticated in the - * caller's root subsystem, and then in the user's target subsystem. + * The user is authenticated in all subsystems iterately. */ static /*@only@*/struct passwd * check_perms (void) +{ + struct passwd *pw = NULL; + + while (pw == NULL) + pw = do_check_perms(); + return pw; +} + +/* + * do_check_perms - check permissions to switch to the user 'name' + * + * The user is authenticated in current subsystem, if any. Returns + * NULL if permissions have to be checked in next subsystem, in + * which case the subsystem has already been entered. + */ +static /*@only@*/struct passwd * do_check_perms (void) { #ifdef USE_PAM - const char *tmp_name; - int ret; + int ret; + const char *tmp_name; + const void *item; #endif /* !USE_PAM */ /* * The password file entries for the user is gotten and the account @@ -642,7 +668,7 @@ static /*@only@*/struct passwd * check_perms (void) #ifdef USE_PAM check_perms_pam (pw); /* PAM authentication can request a change of account */ - ret = pam_get_item(pamh, PAM_USER, (const void **) &tmp_name); + ret = pam_get_item(pamh, PAM_USER, &item); if (ret != PAM_SUCCESS) { SYSLOG((LOG_ERR, "pam_get_item: internal PAM error\n")); (void) fprintf (stderr, @@ -651,12 +677,18 @@ static /*@only@*/struct passwd * check_perms (void) (void) pam_end (pamh, ret); su_failure (caller_tty, 0 == pw->pw_uid); } + tmp_name = item; if (strcmp (name, tmp_name) != 0) { SYSLOG ((LOG_INFO, "Change user from '%s' to '%s' as requested by PAM", name, tmp_name)); - strncpy (name, tmp_name, sizeof(name) - 1); - name[sizeof(name) - 1] = '\0'; + if (STRTCPY(name, tmp_name) == -1) { + fprintf (stderr, _("Overlong user name '%s'\n"), + tmp_name); + SYSLOG ((LOG_NOTICE, "Overlong user name '%s'", + tmp_name)); + su_failure (caller_tty, true); + } pw = xgetpwnam (name); if (NULL == pw) { (void) fprintf (stderr, @@ -684,7 +716,7 @@ static /*@only@*/struct passwd * check_perms (void) endpwent (); /* close the old password databases */ endspent (); pw_free (pw); - return check_perms (); /* authenticate in the subsystem */ + return NULL; /* authenticate in the subsystem */ } return pw; @@ -706,11 +738,6 @@ static void save_caller_context (char **argv) const char *password = NULL; #endif /* SU_ACCESS */ #endif /* !USE_PAM */ - /* - * Get the program name. The program name is used as a prefix to - * most error messages. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -752,7 +779,7 @@ static void save_caller_context (char **argv) (unsigned long) caller_uid)); su_failure (caller_tty, true); /* unknown target UID*/ } - STRFCPY (caller_name, pw->pw_name); + STRTCPY(caller_name, pw->pw_name); #ifndef USE_PAM #ifdef SU_ACCESS @@ -808,7 +835,7 @@ static void process_flags (int argc, char **argv) case 'm': case 'p': /* This will only have an effect if the target - * user do not have a restricted shell, or if + * user does not have a restricted shell, or if * su is called by root. */ change_environment = false; @@ -827,7 +854,7 @@ static void process_flags (int argc, char **argv) } if (optind < argc) { - STRFCPY (name, argv[optind++]); /* use this login id */ + STRTCPY(name, argv[optind++]); /* use this login id */ } if ('\0' == name[0]) { /* use default user */ struct passwd *root_pw = getpwnam ("root"); @@ -980,20 +1007,22 @@ int main (int argc, char **argv) int ret; #endif /* USE_PAM */ + check_fds (); + (void) setlocale (LC_ALL, ""); (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); save_caller_context (argv); - OPENLOG ("su"); + OPENLOG (Prog); process_flags (argc, argv); initenv (); #ifdef USE_PAM - ret = pam_start ("su", name, &conv, &pamh); + ret = pam_start (Prog, name, &conv, &pamh); if (PAM_SUCCESS != ret) { SYSLOG ((LOG_ERR, "pam_start: error %d", ret); fprintf (stderr, @@ -1002,9 +1031,9 @@ int main (int argc, char **argv) exit (1); } - ret = pam_set_item (pamh, PAM_TTY, (const void *) caller_tty); + ret = pam_set_item (pamh, PAM_TTY, caller_tty); if (PAM_SUCCESS == ret) { - ret = pam_set_item (pamh, PAM_RUSER, (const void *) caller_name); + ret = pam_set_item (pamh, PAM_RUSER, caller_name); } if (PAM_SUCCESS != ret) { SYSLOG ((LOG_ERR, "pam_set_item: %s", @@ -1017,7 +1046,7 @@ int main (int argc, char **argv) pw = check_perms (); - /* If the user do not want to change the environment, + /* If the user does not want to change the environment, * use the current SHELL. * (unless another shell is required by the command line) */ @@ -1050,13 +1079,11 @@ int main (int argc, char **argv) } sulog (caller_tty, true, caller_name, name); /* save SU information */ -#ifdef USE_SYSLOG if (getdef_bool ("SYSLOG_SU_ENAB")) { SYSLOG ((LOG_INFO, "+ %s %s:%s", caller_tty, ('\0' != caller_name[0]) ? caller_name : "???", ('\0' != name[0]) ? name : "???")); } -#endif #ifdef USE_PAM /* set primary group id and supplementary groups */ @@ -1135,7 +1162,7 @@ int main (int argc, char **argv) int fd = open ("/dev/tty", O_RDWR); if (fd >= 0) { - err = ioctl (fd, TIOCNOTTY, (char *) 0); + err = ioctl (fd, TIOCNOTTY, (char *) NULL); (void) close (fd); } else if (ENXIO == errno) { /* There are no controlling terminal already */ @@ -1178,7 +1205,7 @@ int main (int argc, char **argv) cp = Basename (shellstr); } - arg0 = xmalloc (strlen (cp) + 2); + arg0 = XMALLOC(strlen(cp) + 2, char); arg0[0] = '-'; strcpy (arg0 + 1, cp); cp = arg0; @@ -1199,7 +1226,7 @@ int main (int argc, char **argv) * Use the shell and create an argv * with the rest of the command line included. */ - argv[-1] = cp; + argv[-1] = const_cast(char *, cp); execve_shell (shellstr, &argv[-1], environ); err = errno; (void) fprintf (stderr, diff --git a/src/suauth.c b/src/suauth.c index 2641d334..4d631904 100644 --- a/src/suauth.c +++ b/src/suauth.c @@ -68,8 +68,9 @@ int check_su_auth (const char *actual_id, while (fgets (temp, sizeof (temp), authfile_fd) != NULL) { lines++; + endline = strlen(temp) - 1; - if (temp[endline = strlen (temp) - 1] != '\n') { + if (temp[0] == '\0' || temp[endline] != '\n') { SYSLOG ((LOG_ERR, "%s, line %d: line too long or missing newline", SUAUTHFILE, lines)); @@ -91,9 +92,9 @@ int check_su_auth (const char *actual_id, continue; } if (!(to_users = strtok (temp + posn, field)) - || !(from_users = strtok ((char *) NULL, field)) - || !(action = strtok ((char *) NULL, field)) - || strtok ((char *) NULL, field)) { + || !(from_users = strtok (NULL, field)) + || !(action = strtok (NULL, field)) + || strtok (NULL, field)) { SYSLOG ((LOG_ERR, "%s, line %d. Bad number of fields.\n", SUAUTHFILE, lines)); diff --git a/src/sulogin.c b/src/sulogin.c index 2c5e0943..20971743 100644 --- a/src/sulogin.c +++ b/src/sulogin.c @@ -16,6 +16,11 @@ #include #include #include +#include + +#include "agetpass.h" +#include "alloc.h" +#include "attr.h" #include "defines.h" #include "getdef.h" #include "prototypes.h" @@ -24,113 +29,76 @@ #include "exitcodes.h" #include "shadowlog.h" + /* * Global variables */ -const char *Prog; +static const char Prog[] = "sulogin"; -static char name[BUFSIZ]; -static char pass[BUFSIZ]; - -static struct passwd pwent; extern char **newenvp; -extern size_t newenvc; - -extern char **environ; #ifndef ALARM #define ALARM 60 #endif -/* local function prototypes */ -static void catch_signals (int); -static void catch_signals (unused int sig) +static void catch_signals (int); +static int pw_entry(const char *name, struct passwd *pwent); + + +static void catch_signals (MAYBE_UNUSED int sig) { _exit (1); } -/* - * syslogd is usually not running at the time when sulogin is typically - * called, cluttering the screen with unnecessary messages. Suggested by - * Ivan Nejgebauer . --marekm - */ -#undef USE_SYSLOG - /*ARGSUSED*/ int main (int argc, char **argv) +int +main(int argc, char *argv[]) { + int err = 0; + char **envp = environ; + TERMIO termio; + struct passwd pwent = {}; + bool done; #ifndef USE_PAM - const char *env; -#endif /* !USE_PAM */ - char **envp = environ; - TERMIO termio; - int err = 0; - -#ifdef USE_TERMIO - ioctl (0, TCGETA, &termio); - termio.c_iflag |= (ICRNL | IXON); - termio.c_oflag |= (OPOST | ONLCR); - termio.c_cflag |= (CREAD); - termio.c_lflag |= (ISIG | ICANON | ECHO | ECHOE | ECHOK); - ioctl (0, TCSETAF, &termio); + const char *env; #endif -#ifdef USE_TERMIOS + + tcgetattr (0, &termio); termio.c_iflag |= (ICRNL | IXON); termio.c_oflag |= (CREAD); termio.c_lflag |= (ECHO | ECHOE | ECHOK | ICANON | ISIG); tcsetattr (0, TCSANOW, &termio); -#endif - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); (void) setlocale (LC_ALL, ""); (void) bindtextdomain (PACKAGE, LOCALEDIR); (void) textdomain (PACKAGE); -#ifdef USE_SYSLOG - OPENLOG ("sulogin"); -#endif - initenv (); + initenv(); if (argc > 1) { - close (0); - close (1); - close (2); + close(0); + close(1); + close(2); - if (open (argv[1], O_RDWR) >= 0) { - dup (0); - dup (0); - } else { -#ifdef USE_SYSLOG - SYSLOG (LOG_WARN, "cannot open %s\n", argv[1]); - closelog (); -#endif - exit (1); - } + if (open(argv[1], O_RDWR) == -1) + exit(1); + dup(0); + dup(0); } if (access (PASSWD_FILE, F_OK) == -1) { /* must be a password file! */ (void) puts (_("No password file")); -#ifdef USE_SYSLOG - SYSLOG (LOG_WARN, "No password file\n"); - closelog (); -#endif exit (1); } #if !defined(DEBUG) && defined(SULOGIN_ONLY_INIT) if (getppid () != 1) { /* parent must be INIT */ -#ifdef USE_SYSLOG - SYSLOG (LOG_WARN, "Pid == %d, not 1\n", getppid ()); - closelog (); -#endif exit (1); } #endif if ((isatty (0) == 0) || (isatty (1) == 0) || (isatty (2) == 0)) { -#ifdef USE_SYSLOG - closelog (); -#endif exit (1); /* must be a terminal */ } /* If we were init, we need to start a new session */ @@ -156,24 +124,17 @@ static void catch_signals (unused int sig) } #endif /* !USE_PAM */ - (void) strcpy (name, "root"); /* KLUDGE!!! */ - (void) signal (SIGALRM, catch_signals); /* exit if the timer expires */ (void) alarm (ALARM); /* only wait so long ... */ - while (true) { /* repeatedly get login/password pairs */ - char *cp; - pw_entry (name, &pwent); /* get entry from password file */ - if (pwent.pw_name == (char *) 0) { + do { /* repeatedly get login/password pairs */ + char *pass; + if (pw_entry("root", &pwent) == -1) { /* get entry from password file */ /* * Fail secure */ - (void) puts (_("No password entry for 'root'")); -#ifdef USE_SYSLOG - SYSLOG (LOG_WARN, "No password entry for 'root'\n"); - closelog (); -#endif - exit (1); + (void) puts(_("No password entry for 'root'")); + exit(1); } /* @@ -182,7 +143,7 @@ static void catch_signals (unused int sig) */ /* get a password for root */ - cp = getpass (_( + pass = agetpass (_( "\n" "Type control-d to proceed with normal startup,\n" "(or give root password for system maintenance):")); @@ -192,46 +153,65 @@ static void catch_signals (unused int sig) * it will work with standard getpass() (no NULL on EOF). * --marekm */ - if ((NULL == cp) || ('\0' == *cp)) { -#ifdef USE_SYSLOG - SYSLOG (LOG_INFO, "Normal startup\n"); - closelog (); -#endif + if ((NULL == pass) || ('\0' == *pass)) { + erase_pass (pass); (void) puts (""); #ifdef TELINIT - execl (PATH_TELINIT, "telinit", RUNLEVEL, (char *) 0); + execl (PATH_TELINIT, "telinit", RUNLEVEL, (char *) NULL); #endif exit (0); - } else { - STRFCPY (pass, cp); - strzero (cp); - } - if (valid (pass, &pwent)) { /* check encrypted passwords ... */ - break; /* ... encrypted passwords matched */ } -#ifdef USE_SYSLOG - SYSLOG (LOG_WARN, "Incorrect root password\n"); -#endif - sleep (2); - (void) puts (_("Login incorrect")); - } - memzero (pass, sizeof pass); + done = valid(pass, &pwent); + erase_pass (pass); + + if (!done) { /* check encrypted passwords ... */ + /* ... encrypted passwords did not match */ + sleep (2); + (void) puts (_("Login incorrect")); + } + } while (!done); (void) alarm (0); (void) signal (SIGALRM, SIG_DFL); environ = newenvp; /* make new environment active */ (void) puts (_("Entering System Maintenance Mode")); -#ifdef USE_SYSLOG - SYSLOG (LOG_INFO, "System Maintenance Mode\n"); -#endif -#ifdef USE_SYSLOG - closelog (); -#endif /* exec the shell finally. */ - err = shell (pwent.pw_shell, (char *) 0, environ); + err = shell (pwent.pw_shell, NULL, environ); return ((err == ENOENT) ? E_CMD_NOTFOUND : E_CMD_NOEXEC); } + +static int +pw_entry(const char *name, struct passwd *pwent) +{ + struct spwd *spwd; + struct passwd *passwd; + + if (!(passwd = getpwnam(name))) /* local, no need for xgetpwnam */ + return -1; + + free(pwent->pw_name); + pwent->pw_name = xstrdup(passwd->pw_name); + pwent->pw_uid = passwd->pw_uid; + pwent->pw_gid = passwd->pw_gid; + free(pwent->pw_gecos); + pwent->pw_gecos = xstrdup(passwd->pw_gecos); + free(pwent->pw_dir); + pwent->pw_dir = xstrdup(passwd->pw_dir); + free(pwent->pw_shell); + pwent->pw_shell = xstrdup(passwd->pw_shell); +#if !defined(AUTOSHADOW) + /* local, no need for xgetspnam */ + if ((spwd = getspnam(name))) { + free(pwent->pw_passwd); + pwent->pw_passwd = xstrdup(spwd->sp_pwdp); + return 0; + } +#endif + free(pwent->pw_passwd); + pwent->pw_passwd = xstrdup(passwd->pw_passwd); + return 0; +} diff --git a/src/useradd.c b/src/useradd.c index 7ea0a9c4..15e4f160 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -17,9 +17,12 @@ #include #include #include +#ifdef ENABLE_LASTLOG #include +#endif /* ENABLE_LASTLOG */ #include #include +#include #ifdef ACCT_TOOLS_SETUID #ifdef USE_PAM #include "pam_defs.h" @@ -32,11 +35,14 @@ #include #include #include + +#include "alloc.h" #include "chkname.h" #include "defines.h" #include "faillog.h" #include "getdef.h" #include "groupio.h" +#include "memzero.h" #include "nscd.h" #include "sssd.h" #include "prototypes.h" @@ -57,10 +63,15 @@ #include "tcbfuncs.h" #endif #include "shadowlog.h" +#include "string/sprintf.h" + #ifndef SKEL_DIR #define SKEL_DIR "/etc/skel" #endif +#ifndef USRSKELDIR +#define USRSKELDIR "/usr/etc/skel" +#endif #ifndef USER_DEFAULTS_FILE #define USER_DEFAULTS_FILE "/etc/default/useradd" #define NEW_USER_FILE "/etc/default/nuaddXXXXXX" @@ -74,16 +85,18 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "useradd"; /* * These defaults are used if there is no defaults file. */ static gid_t def_group = 1000; +static const char *def_groups = ""; static const char *def_gname = "other"; static const char *def_home = "/home"; static const char *def_shell = "/bin/bash"; static const char *def_template = SKEL_DIR; +static const char *def_usrtemplate = USRSKELDIR; static const char *def_create_mail_spool = "yes"; static const char *def_log_init = "yes"; @@ -106,6 +119,7 @@ static const char *prefix_user_home = NULL; #ifdef WITH_SELINUX static /*@notnull@*/const char *user_selinux = ""; +static const char *user_selinux_range = NULL; #endif /* WITH_SELINUX */ static long user_expire = -1; @@ -183,25 +197,26 @@ static bool home_added = false; #endif /* ENABLE_SUBIDS */ #define DGROUP "GROUP=" +#define DGROUPS "GROUPS=" #define DHOME "HOME=" #define DSHELL "SHELL=" #define DINACT "INACTIVE=" #define DEXPIRE "EXPIRE=" #define DSKEL "SKEL=" +#define DUSRSKEL "USRSKEL=" #define DCREATE_MAIL_SPOOL "CREATE_MAIL_SPOOL=" #define DLOG_INIT "LOG_INIT=" /* local function prototypes */ -static void fail_exit (int); +NORETURN static void fail_exit (int); static void get_defaults (void); static void show_defaults (void); static int set_defaults (void); static int get_groups (char *); static struct group * get_local_group (char * grp_name); -static void usage (int status); +NORETURN static void usage (int status); static void new_pwent (struct passwd *); -static long scale_age (long); static void new_spent (struct spwd *); static void grp_update (void); @@ -213,7 +228,9 @@ static void open_files (void); static void open_group_files (void); static void open_shadow (void); static void faillog_reset (uid_t); +#ifdef ENABLE_LASTLOG static void lastlog_reset (uid_t); +#endif /* ENABLE_LASTLOG */ static void tallylog_reset (const char *); static void usr_update (unsigned long subuid_count, unsigned long subgid_count); static void create_home (void); @@ -225,106 +242,80 @@ static void check_uid_range(int rflg, uid_t user_id); */ static void fail_exit (int code) { - if (home_added) { - if (rmdir (prefix_user_home) != 0) { - fprintf (stderr, - _("%s: %s was created, but could not be removed\n"), - Prog, prefix_user_home); - SYSLOG ((LOG_ERR, "failed to remove %s", prefix_user_home)); - } + if (home_added && rmdir(prefix_user_home) != 0) { + fprintf(stderr, + _("%s: %s was created, but could not be removed\n"), + Prog, prefix_user_home); + SYSLOG((LOG_ERR, "failed to remove %s", prefix_user_home)); } - if (spw_locked) { - if (spw_unlock () == 0) { - fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, spw_dbname ()); - SYSLOG ((LOG_ERR, "failed to unlock %s", spw_dbname ())); + if (spw_locked && spw_unlock() == 0) { + fprintf(stderr, _("%s: failed to unlock %s\n"), Prog, spw_dbname()); + SYSLOG((LOG_ERR, "failed to unlock %s", spw_dbname())); #ifdef WITH_AUDIT - audit_logger (AUDIT_ADD_USER, Prog, - "unlocking shadow file", - user_name, AUDIT_NO_ID, - SHADOW_AUDIT_FAILURE); + audit_logger(AUDIT_ADD_USER, Prog, "unlocking shadow file", + user_name, AUDIT_NO_ID, SHADOW_AUDIT_FAILURE); #endif - /* continue */ - } + /* continue */ } - if (pw_locked) { - if (pw_unlock () == 0) { - fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, pw_dbname ()); - SYSLOG ((LOG_ERR, "failed to unlock %s", pw_dbname ())); + if (pw_locked && pw_unlock() == 0) { + fprintf(stderr, _("%s: failed to unlock %s\n"), Prog, pw_dbname()); + SYSLOG((LOG_ERR, "failed to unlock %s", pw_dbname())); #ifdef WITH_AUDIT - audit_logger (AUDIT_ADD_USER, Prog, - "unlocking passwd file", - user_name, AUDIT_NO_ID, - SHADOW_AUDIT_FAILURE); + audit_logger(AUDIT_ADD_USER, Prog, "unlocking passwd file", + user_name, AUDIT_NO_ID, SHADOW_AUDIT_FAILURE); #endif - /* continue */ - } + /* continue */ } - if (gr_locked) { - if (gr_unlock () == 0) { - fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, gr_dbname ()); - SYSLOG ((LOG_ERR, "failed to unlock %s", gr_dbname ())); + if (gr_locked && gr_unlock() == 0) { + fprintf(stderr, _("%s: failed to unlock %s\n"), Prog, gr_dbname()); + SYSLOG((LOG_ERR, "failed to unlock %s", gr_dbname())); #ifdef WITH_AUDIT - audit_logger (AUDIT_ADD_USER, Prog, - "unlocking group file", - user_name, AUDIT_NO_ID, - SHADOW_AUDIT_FAILURE); + audit_logger(AUDIT_ADD_USER, Prog, "unlocking group file", + user_name, AUDIT_NO_ID, SHADOW_AUDIT_FAILURE); #endif - /* continue */ - } + /* continue */ } -#ifdef SHADOWGRP - if (sgr_locked) { - if (sgr_unlock () == 0) { - fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, sgr_dbname ()); - SYSLOG ((LOG_ERR, "failed to unlock %s", sgr_dbname ())); -#ifdef WITH_AUDIT - audit_logger (AUDIT_ADD_USER, Prog, - "unlocking gshadow file", - user_name, AUDIT_NO_ID, - SHADOW_AUDIT_FAILURE); -#endif - /* continue */ - } +#ifdef SHADOWGRP + if (sgr_locked && sgr_unlock() == 0) { + fprintf(stderr, _("%s: failed to unlock %s\n"), Prog, sgr_dbname()); + SYSLOG((LOG_ERR, "failed to unlock %s", sgr_dbname())); +# ifdef WITH_AUDIT + audit_logger(AUDIT_ADD_USER, Prog, "unlocking gshadow file", + user_name, AUDIT_NO_ID, SHADOW_AUDIT_FAILURE); +# endif + /* continue */ } #endif #ifdef ENABLE_SUBIDS - if (sub_uid_locked) { - if (sub_uid_unlock () == 0) { - fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, sub_uid_dbname ()); - SYSLOG ((LOG_ERR, "failed to unlock %s", sub_uid_dbname ())); -#ifdef WITH_AUDIT - audit_logger (AUDIT_ADD_USER, Prog, - "unlocking subordinate user file", - user_name, AUDIT_NO_ID, - SHADOW_AUDIT_FAILURE); -#endif - /* continue */ - } + if (sub_uid_locked && sub_uid_unlock() == 0) { + fprintf(stderr, _("%s: failed to unlock %s\n"), Prog, sub_uid_dbname()); + SYSLOG((LOG_ERR, "failed to unlock %s", sub_uid_dbname())); +# ifdef WITH_AUDIT + audit_logger(AUDIT_ADD_USER, Prog, + "unlocking subordinate user file", + user_name, AUDIT_NO_ID, SHADOW_AUDIT_FAILURE); +# endif + /* continue */ } - if (sub_gid_locked) { - if (sub_gid_unlock () == 0) { - fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, sub_gid_dbname ()); - SYSLOG ((LOG_ERR, "failed to unlock %s", sub_gid_dbname ())); -#ifdef WITH_AUDIT - audit_logger (AUDIT_ADD_USER, Prog, - "unlocking subordinate group file", - user_name, AUDIT_NO_ID, - SHADOW_AUDIT_FAILURE); -#endif - /* continue */ - } + if (sub_gid_locked && sub_gid_unlock() == 0) { + fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, sub_gid_dbname()); + SYSLOG ((LOG_ERR, "failed to unlock %s", sub_gid_dbname())); +# ifdef WITH_AUDIT + audit_logger(AUDIT_ADD_USER, Prog, + "unlocking subordinate group file", + user_name, AUDIT_NO_ID, SHADOW_AUDIT_FAILURE); +# endif + /* continue */ } -#endif /* ENABLE_SUBIDS */ +#endif /* ENABLE_SUBIDS */ #ifdef WITH_AUDIT - audit_logger (AUDIT_ADD_USER, Prog, - "adding user", - user_name, AUDIT_NO_ID, - SHADOW_AUDIT_FAILURE); + audit_logger(AUDIT_ADD_USER, Prog, "adding user", + user_name, AUDIT_NO_ID, SHADOW_AUDIT_FAILURE); #endif - SYSLOG ((LOG_INFO, "failed adding user '%s', exit code: %d", user_name, code)); - exit (code); + SYSLOG((LOG_INFO, "failed adding user '%s', exit code: %d", user_name, code)); + exit(code); } #define MATCH(x,y) (strncmp((x),(y),strlen(y)) == 0) @@ -338,21 +329,15 @@ static void fail_exit (int code) */ static void get_defaults (void) { - FILE *fp; - char *default_file = USER_DEFAULTS_FILE; - char buf[1024]; - char *cp; + FILE *fp; + char *default_file = USER_DEFAULTS_FILE; + char buf[1024]; + char *cp; + const char *ccp; if (prefix[0]) { - size_t len; - int wlen; - - len = strlen(prefix) + strlen(USER_DEFAULTS_FILE) + 2; - default_file = malloc(len); - if (default_file == NULL) - return; - wlen = snprintf(default_file, len, "%s/%s", prefix, USER_DEFAULTS_FILE); - assert (wlen == (int) len -1); + if (asprintf(&default_file, "%s/%s", prefix, USER_DEFAULTS_FILE) == -1) + return; } /* @@ -368,7 +353,7 @@ static void get_defaults (void) * Read the file a line at a time. Only the lines that have relevant * values are used, everything else can be ignored. */ - while (fgets (buf, (int) sizeof buf, fp) == buf) { + while (fgets (buf, sizeof buf, fp) == buf) { cp = strrchr (buf, '\n'); if (NULL != cp) { *cp = '\0'; @@ -399,29 +384,42 @@ static void get_defaults (void) } } + ccp = cp; + + if (MATCH (buf, DGROUPS)) { + if (get_groups (cp) != 0) { + fprintf (stderr, + _("%s: the '%s' configuration in %s has an invalid group, ignoring the bad group\n"), + Prog, DGROUPS, default_file); + } + if (user_groups[0] != NULL) { + do_grp_update = true; + def_groups = xstrdup (cp); + } + } /* * Default HOME filesystem */ else if (MATCH (buf, DHOME)) { - def_home = xstrdup (cp); + def_home = xstrdup(ccp); } /* * Default Login Shell command */ else if (MATCH (buf, DSHELL)) { - def_shell = xstrdup (cp); + def_shell = xstrdup(ccp); } /* * Default Password Inactive value */ else if (MATCH (buf, DINACT)) { - if ( (getlong (cp, &def_inactive) == 0) + if ( (getlong(ccp, &def_inactive) == -1) || (def_inactive < -1)) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), - Prog, cp); + Prog, ccp); fprintf (stderr, _("%s: the %s configuration in %s will be ignored\n"), Prog, DINACT, default_file); @@ -433,52 +431,60 @@ static void get_defaults (void) * Default account expiration date */ else if (MATCH (buf, DEXPIRE)) { - def_expire = xstrdup (cp); + def_expire = xstrdup(ccp); } /* * Default Skeleton information */ else if (MATCH (buf, DSKEL)) { - if ('\0' == *cp) { - cp = SKEL_DIR; /* XXX warning: const */ - } + if ('\0' == *ccp) + ccp = SKEL_DIR; if (prefix[0]) { - size_t len; - int wlen; - char* _def_template; /* avoid const warning */ + char *dt; - len = strlen(prefix) + strlen(cp) + 2; - _def_template = xmalloc(len); - wlen = snprintf(_def_template, len, "%s/%s", prefix, cp); - assert (wlen == (int) len -1); - def_template = _def_template; - } - else { - def_template = xstrdup (cp); + xasprintf(&dt, "%s/%s", prefix, ccp); + def_template = dt; + } else { + def_template = xstrdup(ccp); } } + /* + * Default Usr Skeleton information + */ + else if (MATCH (buf, DUSRSKEL)) { + if ('\0' == *ccp) + ccp = USRSKELDIR; + + if (prefix[0]) { + char *dut; + + xasprintf(&dut, "%s/%s", prefix, ccp); + def_usrtemplate = dut; + } else { + def_usrtemplate = xstrdup(ccp); + } + } /* * Create by default user mail spool or not ? */ else if (MATCH (buf, DCREATE_MAIL_SPOOL)) { - if (*cp == '\0') { - cp = "no"; /* XXX warning: const */ - } + if (*ccp == '\0') + ccp = "no"; - def_create_mail_spool = xstrdup (cp); + def_create_mail_spool = xstrdup(ccp); } /* * By default do we add the user to the lastlog and faillog databases ? */ else if (MATCH (buf, DLOG_INIT)) { - if (*cp == '\0') { - cp = def_log_init; /* XXX warning: const */ - } - def_log_init = xstrdup (cp); + if (*ccp == '\0') + ccp = def_log_init; + + def_log_init = xstrdup(ccp); } } (void) fclose (fp); @@ -497,11 +503,13 @@ static void get_defaults (void) static void show_defaults (void) { printf ("GROUP=%u\n", (unsigned int) def_group); + printf ("GROUPS=%s\n", def_groups); printf ("HOME=%s\n", def_home); printf ("INACTIVE=%ld\n", def_inactive); printf ("EXPIRE=%s\n", def_expire); printf ("SHELL=%s\n", def_shell); printf ("SKEL=%s\n", def_template); + printf ("USRSKEL=%s\n", def_usrtemplate); printf ("CREATE_MAIL_SPOOL=%s\n", def_create_mail_spool); printf ("LOG_INIT=%s\n", def_log_init); } @@ -515,49 +523,42 @@ static void show_defaults (void) */ static int set_defaults (void) { - FILE *ifp; - FILE *ofp; - char buf[1024]; - char *new_file = NULL; - char *new_file_dup = NULL; - char *default_file = USER_DEFAULTS_FILE; - char *cp; - int ofd; - int wlen; - bool out_group = false; - bool out_home = false; - bool out_inactive = false; - bool out_expire = false; - bool out_shell = false; - bool out_skel = false; - bool out_create_mail_spool = false; - bool out_log_init = false; - size_t len; - int ret = -1; + int ofd; + int ret = -1; + bool out_group = false; + bool out_groups = false; + bool out_home = false; + bool out_inactive = false; + bool out_expire = false; + bool out_shell = false; + bool out_skel = false; + bool out_usrskel = false; + bool out_create_mail_spool = false; + bool out_log_init = false; + char buf[1024]; + char *new_file = NULL; + char *new_file_dup = NULL; + char *default_file = USER_DEFAULTS_FILE; + char *cp; + FILE *ifp; + FILE *ofp; - len = strlen(prefix) + strlen(NEW_USER_FILE) + 2; - new_file = malloc(len); - if (new_file == NULL) { - fprintf (stderr, - _("%s: cannot create new defaults file: %s\n"), - Prog, strerror(errno)); + if (asprintf(&new_file, "%s%s%s", prefix, prefix[0]?"/":"", NEW_USER_FILE) == -1) + { + fprintf(stderr, _("%s: cannot create new defaults file: %s\n"), + Prog, strerror(errno)); return -1; } - wlen = snprintf(new_file, len, "%s%s%s", prefix, prefix[0]?"/":"", NEW_USER_FILE); - assert (wlen <= (int) len -1); if (prefix[0]) { - len = strlen(prefix) + strlen(USER_DEFAULTS_FILE) + 2; - default_file = malloc(len); - if (default_file == NULL) { - fprintf (stderr, - _("%s: cannot create new defaults file: %s\n"), - Prog, strerror(errno)); + if (asprintf(&default_file, "%s/%s", prefix, USER_DEFAULTS_FILE) == -1) + { + fprintf(stderr, + _("%s: cannot create new defaults file: %s\n"), + Prog, strerror(errno)); goto setdef_err; } - wlen = snprintf(default_file, len, "%s/%s", prefix, USER_DEFAULTS_FILE); - assert (wlen == (int) len -1); } new_file_dup = strdup(new_file); @@ -608,7 +609,7 @@ static int set_defaults (void) goto skip; } - while (fgets (buf, (int) sizeof buf, ifp) == buf) { + while (fgets (buf, sizeof buf, ifp) == buf) { cp = strrchr (buf, '\n'); if (NULL != cp) { *cp = '\0'; @@ -628,6 +629,9 @@ static int set_defaults (void) if (!out_group && MATCH (buf, DGROUP)) { fprintf (ofp, DGROUP "%u\n", (unsigned int) def_group); out_group = true; + } else if (!out_groups && MATCH (buf, DGROUPS)) { + fprintf (ofp, DGROUPS "%s\n", def_groups); + out_groups = true; } else if (!out_home && MATCH (buf, DHOME)) { fprintf (ofp, DHOME "%s\n", def_home); out_home = true; @@ -643,6 +647,9 @@ static int set_defaults (void) } else if (!out_skel && MATCH (buf, DSKEL)) { fprintf (ofp, DSKEL "%s\n", def_template); out_skel = true; + } else if (!out_usrskel && MATCH (buf, DUSRSKEL)) { + fprintf (ofp, DUSRSKEL "%s\n", def_usrtemplate); + out_usrskel = true; } else if (!out_create_mail_spool && MATCH (buf, DCREATE_MAIL_SPOOL)) { fprintf (ofp, @@ -668,6 +675,8 @@ static int set_defaults (void) */ if (!out_group) fprintf (ofp, DGROUP "%u\n", (unsigned int) def_group); + if (!out_groups) + fprintf (ofp, DGROUPS "%s\n", def_groups); if (!out_home) fprintf (ofp, DHOME "%s\n", def_home); if (!out_inactive) @@ -678,6 +687,8 @@ static int set_defaults (void) fprintf (ofp, DSHELL "%s\n", def_shell); if (!out_skel) fprintf (ofp, DSKEL "%s\n", def_template); + if (!out_usrskel) + fprintf (ofp, DUSRSKEL "%s\n", def_usrtemplate); if (!out_create_mail_spool) fprintf (ofp, DCREATE_MAIL_SPOOL "%s\n", def_create_mail_spool); @@ -698,8 +709,7 @@ static int set_defaults (void) /* * Rename the current default file to its backup name. */ - wlen = snprintf (buf, sizeof buf, "%s-", default_file); - assert (wlen < (int) sizeof buf); + assert(SNPRINTF(buf, "%s-", default_file) != -1); unlink (buf); if ((link (default_file, buf) != 0) && (ENOENT != errno)) { int err = errno; @@ -807,20 +817,6 @@ static int get_groups (char *list) continue; } -#ifdef USE_NIS - /* - * Don't add this group if they are an NIS group. Tell - * the user to go to the server for this group. - */ - if (__isgrNIS ()) { - fprintf (stderr, - _("%s: group '%s' is a NIS group.\n"), - Prog, grp->gr_name); - gr_free(grp); - continue; - } -#endif - if (ngroups == sys_ngroups) { fprintf (stderr, _("%s: too many groups specified (max %d).\n"), @@ -839,7 +835,7 @@ static int get_groups (char *list) close_group_files (); unlock_group_files (); - user_groups[ngroups] = (char *) 0; + user_groups[ngroups] = NULL; /* * Any errors in finding group names are fatal @@ -862,7 +858,7 @@ static struct group * get_local_group(char * grp_name) { const struct group *grp; struct group *result_grp = NULL; - long long int gid; + long long gid; char *endptr; gid = strtoll (grp_name, &endptr, 10); @@ -870,7 +866,7 @@ static struct group * get_local_group(char * grp_name) && ('\0' == *endptr) && (ERANGE != errno) && (gid == (gid_t)gid)) { - grp = gr_locate_gid ((gid_t) gid); + grp = gr_locate_gid (gid); } else { grp = gr_locate(grp_name); @@ -923,8 +919,10 @@ static void usage (int status) (void) fputs (_(" -h, --help display this help message and exit\n"), usageout); (void) fputs (_(" -k, --skel SKEL_DIR use this alternative skeleton directory\n"), usageout); (void) fputs (_(" -K, --key KEY=VALUE override /etc/login.defs defaults\n"), usageout); +#ifdef ENABLE_LASTLOG (void) fputs (_(" -l, --no-log-init do not add the user to the lastlog and\n" " faillog databases\n"), usageout); +#endif /* ENABLE_LASTLOG */ (void) fputs (_(" -m, --create-home create the user's home directory\n"), usageout); (void) fputs (_(" -M, --no-create-home do not create the user's home directory\n"), usageout); (void) fputs (_(" -N, --no-user-group do not create a group with the same name as\n" @@ -940,6 +938,7 @@ static void usage (int status) (void) fputs (_(" -U, --user-group create a group with the same name as the user\n"), usageout); #ifdef WITH_SELINUX (void) fputs (_(" -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user mapping\n"), usageout); + (void) fputs (_(" --selinux-range SERANGE use a specific MLS range for the SELinux user mapping\n"), usageout); #endif /* WITH_SELINUX */ (void) fputs ("\n", usageout); exit (status); @@ -968,15 +967,6 @@ static void new_pwent (struct passwd *pwent) pwent->pw_shell = (char *) user_shell; } -static long scale_age (long x) -{ - if (x <= 0) { - return x; - } - - return x * (DAY / SCALE); -} - /* * new_spent - initialize the values in a shadow password file entry * @@ -988,17 +978,17 @@ static void new_spent (struct spwd *spent) memzero (spent, sizeof *spent); spent->sp_namp = (char *) user_name; spent->sp_pwdp = (char *) user_pass; - spent->sp_lstchg = (long) gettime () / SCALE; + spent->sp_lstchg = gettime () / DAY; if (0 == spent->sp_lstchg) { /* Better disable aging than requiring a password change */ spent->sp_lstchg = -1; } if (!rflg) { - spent->sp_min = scale_age (getdef_num ("PASS_MIN_DAYS", -1)); - spent->sp_max = scale_age (getdef_num ("PASS_MAX_DAYS", -1)); - spent->sp_warn = scale_age (getdef_num ("PASS_WARN_AGE", -1)); - spent->sp_inact = scale_age (def_inactive); - spent->sp_expire = scale_age (user_expire); + spent->sp_min = getdef_num ("PASS_MIN_DAYS", -1); + spent->sp_max = getdef_num ("PASS_MAX_DAYS", -1); + spent->sp_warn = getdef_num ("PASS_WARN_AGE", -1); + spent->sp_inact = def_inactive; + spent->sp_expire = user_expire; } else { spent->sp_min = -1; spent->sp_max = -1; @@ -1223,6 +1213,7 @@ static void process_flags (int argc, char **argv) {"user-group", no_argument, NULL, 'U'}, #ifdef WITH_SELINUX {"selinux-user", required_argument, NULL, 'Z'}, + {"selinux-range", required_argument, NULL, 202}, #endif /* WITH_SELINUX */ {NULL, 0, NULL, '\0'} }; @@ -1310,7 +1301,7 @@ static void process_flags (int argc, char **argv) eflg = true; break; case 'f': - if ( (getlong (optarg, &def_inactive) == 0) + if ( (getlong(optarg, &def_inactive) == -1) || (def_inactive < -1)) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), @@ -1382,7 +1373,7 @@ static void process_flags (int argc, char **argv) /* terminate name, point to value */ *cp = '\0'; cp++; - if (putdef_str (optarg, cp) < 0) { + if (putdef_str (optarg, cp, NULL) < 0) { exit (E_BAD_ARG); } break; @@ -1442,7 +1433,7 @@ static void process_flags (int argc, char **argv) sflg = true; break; case 'u': - if ( (get_uid (optarg, &user_id) == 0) + if ( (get_uid(optarg, &user_id) == -1) || (user_id == (gid_t)-1)) { fprintf (stderr, _("%s: invalid user ID '%s'\n"), @@ -1472,6 +1463,9 @@ static void process_flags (int argc, char **argv) exit (E_BAD_ARG); } break; + case 202: + user_selinux_range = optarg; + break; #endif /* WITH_SELINUX */ default: usage (E_USAGE); @@ -1519,6 +1513,14 @@ static void process_flags (int argc, char **argv) Prog, "-m", "-M"); usage (E_USAGE); } +#ifdef WITH_SELINUX + if (user_selinux_range && !Zflg) { + fprintf (stderr, + _("%s: %s flag is only allowed with the %s flag\n"), + Prog, "--selinux-range", "--selinux-user"); + usage (E_USAGE); + } +#endif /* WITH_SELINUX */ /* * Either -D or username is required. Defaults can be set with -D @@ -1551,26 +1553,17 @@ static void process_flags (int argc, char **argv) exit (E_BAD_ARG); } if (!dflg) { - char *uh; - size_t len = strlen (def_home) + strlen (user_name) + 2; - int wlen; - - uh = xmalloc (len); - wlen = snprintf (uh, len, "%s/%s", def_home, user_name); - assert (wlen == (int) len -1); + char *uh; + xasprintf(&uh, "%s/%s", def_home, user_name); user_home = uh; } if (prefix[0]) { - size_t len = strlen(prefix) + strlen(user_home) + 2; - int wlen; - char* _prefix_user_home; /* to avoid const warning */ - _prefix_user_home = xmalloc(len); - wlen = snprintf(_prefix_user_home, len, "%s/%s", prefix, user_home); - assert (wlen == (int) len -1); - prefix_user_home = _prefix_user_home; - } - else { + char *puh; /* to avoid const warning */ + + xasprintf(&puh, "%s/%s", prefix, user_home); + prefix_user_home = puh; + } else { prefix_user_home = user_home; } } @@ -1716,23 +1709,25 @@ static void close_files (void) */ static void close_group_files (void) { - if (do_grp_update) { - if (gr_close () == 0) { - fprintf (stderr, - _("%s: failure while writing changes to %s\n"), Prog, gr_dbname ()); - SYSLOG ((LOG_ERR, "failure while writing changes to %s", gr_dbname ())); - fail_exit (E_GRP_UPDATE); - } -#ifdef SHADOWGRP - if (is_shadow_grp && (sgr_close () == 0)) { - fprintf (stderr, - _("%s: failure while writing changes to %s\n"), - Prog, sgr_dbname ()); - SYSLOG ((LOG_ERR, "failure while writing changes to %s", sgr_dbname ())); - fail_exit (E_GRP_UPDATE); - } -#endif /* SHADOWGRP */ + if (!do_grp_update) + return; + + if (gr_close() == 0) { + fprintf(stderr, + _("%s: failure while writing changes to %s\n"), + Prog, gr_dbname()); + SYSLOG((LOG_ERR, "failure while writing changes to %s", gr_dbname())); + fail_exit(E_GRP_UPDATE); } +#ifdef SHADOWGRP + if (is_shadow_grp && sgr_close() == 0) { + fprintf(stderr, + _("%s: failure while writing changes to %s\n"), + Prog, sgr_dbname()); + SYSLOG((LOG_ERR, "failure while writing changes to %s", sgr_dbname())); + fail_exit(E_GRP_UPDATE); + } +#endif /* SHADOWGRP */ } /* @@ -2013,14 +2008,14 @@ static void faillog_reset (uid_t uid) return; } if ( (lseek (fd, offset_uid, SEEK_SET) != offset_uid) - || (write (fd, &fl, sizeof (fl)) != (ssize_t) sizeof (fl)) + || (write_full(fd, &fl, sizeof (fl)) == -1) || (fsync (fd) != 0)) { fprintf (stderr, _("%s: failed to reset the faillog entry of UID %lu: %s\n"), Prog, (unsigned long) uid, strerror (errno)); SYSLOG ((LOG_WARN, "failed to reset the faillog entry of UID %lu", (unsigned long) uid)); } - if (close (fd) != 0) { + if (close (fd) != 0 && errno != EINTR) { fprintf (stderr, _("%s: failed to close the faillog file for UID %lu: %s\n"), Prog, (unsigned long) uid, strerror (errno)); @@ -2028,6 +2023,7 @@ static void faillog_reset (uid_t uid) } } +#ifdef ENABLE_LASTLOG static void lastlog_reset (uid_t uid) { struct lastlog ll; @@ -2040,7 +2036,7 @@ static void lastlog_reset (uid_t uid) return; } - max_uid = (uid_t) getdef_ulong ("LASTLOG_UID_MAX", 0xFFFFFFFFUL); + max_uid = getdef_ulong ("LASTLOG_UID_MAX", 0xFFFFFFFFUL); if (uid > max_uid) { /* do not touch lastlog for large uids */ return; @@ -2057,7 +2053,7 @@ static void lastlog_reset (uid_t uid) return; } if ( (lseek (fd, offset_uid, SEEK_SET) != offset_uid) - || (write (fd, &ll, sizeof (ll)) != (ssize_t) sizeof (ll)) + || (write_full (fd, &ll, sizeof (ll)) != (ssize_t) sizeof (ll)) || (fsync (fd) != 0)) { fprintf (stderr, _("%s: failed to reset the lastlog entry of UID %lu: %s\n"), @@ -2065,7 +2061,7 @@ static void lastlog_reset (uid_t uid) SYSLOG ((LOG_WARN, "failed to reset the lastlog entry of UID %lu", (unsigned long) uid)); /* continue */ } - if (close (fd) != 0) { + if (close (fd) != 0 && errno != EINTR) { fprintf (stderr, _("%s: failed to close the lastlog file for UID %lu: %s\n"), Prog, (unsigned long) uid, strerror (errno)); @@ -2073,6 +2069,7 @@ static void lastlog_reset (uid_t uid) /* continue */ } } +#endif /* ENABLE_LASTLOG */ static void tallylog_reset (const char *user_name) { @@ -2085,6 +2082,9 @@ static void tallylog_reset (const char *user_name) if (access(pam_tally2, X_OK) == -1) return; + /* set SIGCHLD to default for waitpid */ + signal(SIGCHLD, SIG_DFL); + failed = 0; switch (childpid = fork()) { @@ -2159,7 +2159,9 @@ static void usr_update (unsigned long subuid_count, unsigned long subgid_count) /* local, no need for xgetpwuid */ if ((!lflg) && (prefix_getpwuid (user_id) == NULL)) { faillog_reset (user_id); +#ifdef ENABLE_LASTLOG lastlog_reset (user_id); +#endif /* ENABLE_LASTLOG */ } /* @@ -2182,20 +2184,19 @@ static void usr_update (unsigned long subuid_count, unsigned long subgid_count) #ifdef WITH_AUDIT audit_logger (AUDIT_ADD_USER, Prog, "adding shadow password", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif fail_exit (E_PW_UPDATE); } #ifdef ENABLE_SUBIDS - if (is_sub_uid && + if (is_sub_uid && !local_sub_uid_assigned(user_name) && (sub_uid_add(user_name, sub_uid_start, subuid_count) == 0)) { fprintf (stderr, _("%s: failed to prepare the new %s entry\n"), Prog, sub_uid_dbname ()); fail_exit (E_SUB_UID_UPDATE); } - if (is_sub_gid && + if (is_sub_gid && !local_sub_gid_assigned(user_name) && (sub_gid_add(user_name, sub_gid_start, subgid_count) == 0)) { fprintf (stderr, _("%s: failed to prepare the new %s entry\n"), @@ -2205,9 +2206,14 @@ static void usr_update (unsigned long subuid_count, unsigned long subgid_count) #endif /* ENABLE_SUBIDS */ #ifdef WITH_AUDIT + /* + * Even though we have the ID of the user, we won't send it now + * because its not written to disk yet. After close_files it is + * and we can use the real ID thereafter. + */ audit_logger (AUDIT_ADD_USER, Prog, "adding user", - user_name, (unsigned int) user_id, + user_name, AUDIT_NO_ID, SHADOW_AUDIT_SUCCESS); #endif /* @@ -2227,123 +2233,120 @@ static void usr_update (unsigned long subuid_count, unsigned long subgid_count) */ static void create_home (void) { - if (access (prefix_user_home, F_OK) != 0) { - char path[strlen (prefix_user_home) + 2]; - char *bhome, *cp; + char path[strlen(prefix_user_home) + 2]; + char *bhome, *cp; + mode_t mode; - path[0] = '\0'; - bhome = strdup (prefix_user_home); - if (!bhome) { - fprintf (stderr, - _("%s: error while duplicating string %s\n"), - Prog, user_home); - fail_exit (E_HOMEDIR); - } + if (access (prefix_user_home, F_OK) == 0) + return; -#ifdef WITH_SELINUX - if (set_selinux_file_context (prefix_user_home, S_IFDIR) != 0) { - fprintf (stderr, - _("%s: cannot set SELinux context for home directory %s\n"), - Prog, user_home); - fail_exit (E_HOMEDIR); - } -#endif - - /* Check for every part of the path, if the directory - exists. If not, create it with permissions 755 and - owner root:root. - */ - cp = strtok (bhome, "/"); - while (cp) { - /* Avoid turning a relative path into an absolute path. - */ - if (bhome[0] == '/' || strlen (path) != 0) { - strcat (path, "/"); - } - strcat (path, cp); - if (access (path, F_OK) != 0) { - /* Check if parent directory is BTRFS, fail if requesting - subvolume but no BTRFS. The paths cound be different by the - trailing slash - */ -#if WITH_BTRFS - if (subvolflg && (strlen(prefix_user_home) - (int)strlen(path)) <= 1) { - char *btrfs_check = strdup(path); - - if (!btrfs_check) { - fprintf (stderr, - _("%s: error while duplicating string in BTRFS check %s\n"), - Prog, path); - fail_exit (E_HOMEDIR); - } - btrfs_check[strlen(path) - strlen(cp) - 1] = '\0'; - if (is_btrfs(btrfs_check) <= 0) { - fprintf (stderr, - _("%s: home directory \"%s\" must be mounted on BTRFS\n"), - Prog, path); - fail_exit (E_HOMEDIR); - } - // make subvolume to mount for user instead of directory - if (btrfs_create_subvolume(path)) { - fprintf (stderr, - _("%s: failed to create BTRFS subvolume: %s\n"), - Prog, path); - fail_exit (E_HOMEDIR); - } - } - else -#endif - if (mkdir (path, 0) != 0) { - fprintf (stderr, - _("%s: cannot create directory %s\n"), - Prog, path); -#ifdef WITH_AUDIT - audit_logger (AUDIT_ADD_USER, Prog, - "adding home directory", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); -#endif - fail_exit (E_HOMEDIR); - } - if (chown (path, 0, 0) < 0) { - fprintf (stderr, - _("%s: warning: chown on `%s' failed: %m\n"), - Prog, path); - } - if (chmod (path, 0755) < 0) { - fprintf (stderr, - _("%s: warning: chmod on `%s' failed: %m\n"), - Prog, path); - } - } - cp = strtok (NULL, "/"); - } - free (bhome); - - (void) chown (prefix_user_home, user_id, user_gid); - mode_t mode = getdef_num ("HOME_MODE", - 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); - if (chmod (prefix_user_home, mode)) { - fprintf (stderr, _("%s: warning: chown on '%s' failed: %m\n"), - Prog, path); - } - home_added = true; -#ifdef WITH_AUDIT - audit_logger (AUDIT_ADD_USER, Prog, - "adding home directory", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_SUCCESS); -#endif -#ifdef WITH_SELINUX - /* Reset SELinux to create files with default contexts */ - if (reset_selinux_file_context () != 0) { - fprintf (stderr, - _("%s: cannot reset SELinux file creation context\n"), - Prog); - fail_exit (E_HOMEDIR); - } -#endif + path[0] = '\0'; + bhome = strdup(prefix_user_home); + if (!bhome) { + fprintf(stderr, + _("%s: error while duplicating string %s\n"), + Prog, user_home); + fail_exit(E_HOMEDIR); } + +#ifdef WITH_SELINUX + if (set_selinux_file_context(prefix_user_home, S_IFDIR) != 0) { + fprintf(stderr, + _("%s: cannot set SELinux context for home directory %s\n"), + Prog, user_home); + fail_exit(E_HOMEDIR); + } +#endif + + /* Check for every part of the path, if the directory + exists. If not, create it with permissions 755 and + owner root:root. + */ + for (cp = strtok(bhome, "/"); cp != NULL; cp = strtok(NULL, "/")) { + /* Avoid turning a relative path into an absolute path. */ + if (bhome[0] == '/' || strlen(path) != 0) { + strcat(path, "/"); + } + strcat(path, cp); + if (access(path, F_OK) == 0) { + continue; + } + + /* Check if parent directory is BTRFS, fail if requesting + subvolume but no BTRFS. The paths could be different by the + trailing slash + */ +#if WITH_BTRFS + if (subvolflg && (strlen(prefix_user_home) - (int)strlen(path)) <= 1) { + char *btrfs_check = strdup(path); + + if (!btrfs_check) { + fprintf(stderr, + _("%s: error while duplicating string in BTRFS check %s\n"), + Prog, path); + fail_exit(E_HOMEDIR); + } + btrfs_check[strlen(path) - strlen(cp) - 1] = '\0'; + if (is_btrfs(btrfs_check) <= 0) { + fprintf(stderr, + _("%s: home directory \"%s\" must be mounted on BTRFS\n"), + Prog, path); + fail_exit(E_HOMEDIR); + } + free(btrfs_check); + // make subvolume to mount for user instead of directory + if (btrfs_create_subvolume(path)) { + fprintf(stderr, + _("%s: failed to create BTRFS subvolume: %s\n"), + Prog, path); + fail_exit(E_HOMEDIR); + } + } + else +#endif + if (mkdir(path, 0) != 0) { + fprintf(stderr, _("%s: cannot create directory %s\n"), + Prog, path); +#ifdef WITH_AUDIT + audit_logger(AUDIT_ADD_USER, Prog, "adding home directory", + user_name, user_id, SHADOW_AUDIT_FAILURE); +#endif + fail_exit(E_HOMEDIR); + } + if (chown(path, 0, 0) < 0) { + fprintf(stderr, + _("%s: warning: chown on `%s' failed: %m\n"), + Prog, path); + } + if (chmod(path, 0755) < 0) { + fprintf(stderr, + _("%s: warning: chmod on `%s' failed: %m\n"), + Prog, path); + } + } + free(bhome); + + (void) chown(prefix_user_home, user_id, user_gid); + mode = getdef_num("HOME_MODE", + 0777 & ~getdef_num("UMASK", GETDEF_DEFAULT_UMASK)); + if (chmod(prefix_user_home, mode)) { + fprintf(stderr, _("%s: warning: chown on '%s' failed: %m\n"), + Prog, path); + } + home_added = true; +#ifdef WITH_AUDIT + audit_logger(AUDIT_ADD_USER, Prog, "adding home directory", + user_name, user_id, SHADOW_AUDIT_SUCCESS); +#endif +#ifdef WITH_SELINUX + /* Reset SELinux to create files with default contexts */ + if (reset_selinux_file_context() != 0) { + fprintf(stderr, + _("%s: cannot reset SELinux file creation context\n"), + Prog); + fail_exit(E_HOMEDIR); + } +#endif } /* @@ -2355,72 +2358,79 @@ static void create_home (void) */ static void create_mail (void) { - if (strcasecmp (create_mail_spool, "yes") == 0) { - const char *spool; - char *file; - int fd; - struct group *gr; - gid_t gid; - mode_t mode; + int fd; + char *file; + gid_t gid; + mode_t mode; + const char *spool; + struct group *gr; - spool = getdef_str ("MAIL_DIR"); + if (strcasecmp(create_mail_spool, "yes") != 0) + return; + + spool = getdef_str("MAIL_DIR"); #ifdef MAIL_SPOOL_DIR - if ((NULL == spool) && (getdef_str ("MAIL_FILE") == NULL)) { - spool = MAIL_SPOOL_DIR; - } -#endif /* MAIL_SPOOL_DIR */ - if (NULL == spool) { - return; - } - file = alloca (strlen (prefix) + strlen (spool) + strlen (user_name) + 3); - if (prefix[0]) - sprintf (file, "%s/%s/%s", prefix, spool, user_name); - else - sprintf (file, "%s/%s", spool, user_name); - -#ifdef WITH_SELINUX - if (set_selinux_file_context (file, S_IFREG) != 0) { - fprintf (stderr, - _("%s: cannot set SELinux context for mailbox file %s\n"), - Prog, file); - fail_exit (E_MAILBOXFILE); - } -#endif - - fd = open (file, O_CREAT | O_WRONLY | O_TRUNC | O_EXCL, 0); - if (fd < 0) { - perror (_("Creating mailbox file")); - return; - } - - gr = prefix_getgrnam ("mail"); /* local, no need for xgetgrnam */ - if (NULL == gr) { - fputs (_("Group 'mail' not found. Creating the user mailbox file with 0600 mode.\n"), - stderr); - gid = user_gid; - mode = 0600; - } else { - gid = gr->gr_gid; - mode = 0660; - } - - if ( (fchown (fd, user_id, gid) != 0) - || (fchmod (fd, mode) != 0)) { - perror (_("Setting mailbox file permissions")); - } - - fsync (fd); - close (fd); -#ifdef WITH_SELINUX - /* Reset SELinux to create files with default contexts */ - if (reset_selinux_file_context () != 0) { - fprintf (stderr, - _("%s: cannot reset SELinux file creation context\n"), - Prog); - fail_exit (E_MAILBOXFILE); - } -#endif + if ((NULL == spool) && (getdef_str("MAIL_FILE") == NULL)) { + spool = MAIL_SPOOL_DIR; } +#endif /* MAIL_SPOOL_DIR */ + if (NULL == spool) { + return; + } + if (prefix[0]) + xasprintf(&file, "%s/%s/%s", prefix, spool, user_name); + else + xasprintf(&file, "%s/%s", spool, user_name); + +#ifdef WITH_SELINUX + if (set_selinux_file_context(file, S_IFREG) != 0) { + fprintf(stderr, + _("%s: cannot set SELinux context for mailbox file %s\n"), + Prog, file); + fail_exit(E_MAILBOXFILE); + } +#endif + + fd = open(file, O_CREAT | O_WRONLY | O_TRUNC | O_EXCL, 0); + free(file); + + if (fd < 0) { + perror(_("Creating mailbox file")); + return; + } + + gr = prefix_getgrnam("mail"); /* local, no need for xgetgrnam */ + if (NULL == gr) { + fputs(_("Group 'mail' not found. Creating the user mailbox file with 0600 mode.\n"), + stderr); + gid = user_gid; + mode = 0600; + } else { + gid = gr->gr_gid; + mode = 0660; + } + + if (fchown(fd, user_id, gid) != 0 + || fchmod(fd, mode) != 0) + { + perror(_("Setting mailbox file permissions")); + } + + if (fsync(fd) != 0) { + perror (_("Synchronize mailbox file")); + } + if (close(fd) != 0 && errno != EINTR) { + perror (_("Closing mailbox file")); + } +#ifdef WITH_SELINUX + /* Reset SELinux to create files with default contexts */ + if (reset_selinux_file_context() != 0) { + fprintf(stderr, + _("%s: cannot reset SELinux file creation context\n"), + Prog); + fail_exit(E_MAILBOXFILE); + } +#endif } static void check_uid_range(int rflg, uid_t user_id) @@ -2428,13 +2438,13 @@ static void check_uid_range(int rflg, uid_t user_id) uid_t uid_min ; uid_t uid_max ; if (rflg) { - uid_max = (uid_t)getdef_ulong("SYS_UID_MAX",getdef_ulong("UID_MIN",1000UL)-1); + uid_max = getdef_ulong("SYS_UID_MAX",getdef_ulong("UID_MIN",1000UL)-1); if (user_id > uid_max) { fprintf(stderr, _("%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"), Prog, user_name, user_id, uid_max); } }else{ - uid_min = (uid_t)getdef_ulong("UID_MIN", 1000UL); - uid_max = (uid_t)getdef_ulong("UID_MAX", 6000UL); + uid_min = getdef_ulong("UID_MIN", 1000UL); + uid_max = getdef_ulong("UID_MAX", 6000UL); if (uid_min <= uid_max) { if (user_id < uid_min || user_id >uid_max) fprintf(stderr, _("%s warning: %s's uid %d outside of the UID_MIN %d and UID_MAX %d range.\n"), Prog, user_name, user_id, uid_min, uid_max); @@ -2461,10 +2471,6 @@ int main (int argc, char **argv) unsigned long subuid_count = 0; unsigned long subgid_count = 0; - /* - * Get my name so that I can use it to report errors. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -2476,17 +2482,17 @@ int main (int argc, char **argv) prefix = process_prefix_flag("-P", argc, argv); - OPENLOG ("useradd"); + OPENLOG (Prog); #ifdef WITH_AUDIT audit_help_open (); #endif sys_ngroups = sysconf (_SC_NGROUPS_MAX); - user_groups = (char **) xmalloc ((1 + sys_ngroups) * sizeof (char *)); + user_groups = XMALLOC(1 + sys_ngroups, char *); /* * Initialize the list to be empty */ - user_groups[0] = (char *) 0; + user_groups[0] = NULL; is_shadow_pwd = spw_file_present (); @@ -2499,8 +2505,8 @@ int main (int argc, char **argv) process_flags (argc, argv); #ifdef ENABLE_SUBIDS - uid_min = (uid_t) getdef_ulong ("UID_MIN", 1000UL); - uid_max = (uid_t) getdef_ulong ("UID_MAX", 60000UL); + uid_min = getdef_ulong ("UID_MIN", 1000UL); + uid_max = getdef_ulong ("UID_MAX", 60000UL); subuid_count = getdef_ulong ("SUB_UID_COUNT", 65536); subgid_count = getdef_ulong ("SUB_GID_COUNT", 65536); is_sub_uid = subuid_count > 0 && sub_uid_file_present () && @@ -2528,7 +2534,7 @@ int main (int argc, char **argv) fail_exit (1); } - retval = pam_start ("useradd", pampw?pampw->pw_name:"root", &conv, &pamh); + retval = pam_start (Prog, pampw?pampw->pw_name:"root", &conv, &pamh); } if (PAM_SUCCESS == retval) { @@ -2629,7 +2635,7 @@ int main (int argc, char **argv) #ifdef WITH_AUDIT audit_logger (AUDIT_ADD_USER, Prog, "adding user", - user_name, (unsigned int) user_id, + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif fail_exit (E_UID_IN_USE); @@ -2701,14 +2707,14 @@ int main (int argc, char **argv) #ifdef WITH_SELINUX if (Zflg) { - if (set_seuser (user_name, user_selinux) != 0) { + if (set_seuser (user_name, user_selinux, user_selinux_range) != 0) { fprintf (stderr, _("%s: warning: the user name %s to %s SELinux user mapping failed.\n"), Prog, user_name, user_selinux); #ifdef WITH_AUDIT audit_logger (AUDIT_ADD_USER, Prog, "adding SELinux user mapping", - user_name, (unsigned int) user_id, 0); + user_name, user_id, 0); #endif /* WITH_AUDIT */ fail_exit (E_SE_UPDATE); } @@ -2720,6 +2726,8 @@ int main (int argc, char **argv) if (home_added) { copy_tree (def_template, prefix_user_home, false, true, (uid_t)-1, user_id, (gid_t)-1, user_gid); + copy_tree (def_usrtemplate, prefix_user_home, false, true, + (uid_t)-1, user_id, (gid_t)-1, user_gid); } else { fprintf (stderr, _("%s: warning: the home directory %s already exists.\n" diff --git a/src/userdel.c b/src/userdel.c index 7012b0e0..ff1f7ddf 100644 --- a/src/userdel.c +++ b/src/userdel.c @@ -19,6 +19,8 @@ #include #include #include + +#include "alloc.h" #ifdef ACCT_TOOLS_SETUID #ifdef USE_PAM #include "pam_defs.h" @@ -50,6 +52,8 @@ #include "subordinateio.h" #endif /* ENABLE_SUBIDS */ #include "shadowlog.h" +#include "string/sprintf.h" + /* * exit status values @@ -68,7 +72,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "userdel"; static char *user_name; static uid_t user_id; @@ -204,8 +208,7 @@ static void update_groups (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "deleting user from group", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_SUCCESS); + user_name, user_id, SHADOW_AUDIT_SUCCESS); #endif /* WITH_AUDIT */ SYSLOG ((LOG_INFO, "delete '%s' from group '%s'\n", user_name, ngrp->gr_name)); @@ -266,8 +269,7 @@ static void update_groups (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "deleting user from shadow group", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_SUCCESS); + user_name, user_id, SHADOW_AUDIT_SUCCESS); #endif /* WITH_AUDIT */ SYSLOG ((LOG_INFO, "delete '%s' from shadow group '%s'\n", user_name, nsgrp->sg_name)); @@ -526,8 +528,7 @@ static void fail_exit (int code) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "deleting user", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ exit (code); @@ -548,8 +549,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "locking password file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_PW_UPDATE); } @@ -560,8 +560,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "opening password file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_PW_UPDATE); } @@ -573,8 +572,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "locking shadow password file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_PW_UPDATE); } @@ -586,8 +584,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "opening shadow password file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_PW_UPDATE); } @@ -599,8 +596,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "locking group file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_GRP_UPDATE); } @@ -610,8 +606,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "opening group file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_GRP_UPDATE); } @@ -624,8 +619,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "locking shadow group file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_GRP_UPDATE); } @@ -636,8 +630,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "opening shadow group file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_GRP_UPDATE); } @@ -652,8 +645,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "locking subordinate user file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_SUB_UID_UPDATE); } @@ -664,8 +656,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "opening subordinate user file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_SUB_UID_UPDATE); } @@ -678,8 +669,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "locking subordinate group file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_SUB_GID_UPDATE); } @@ -690,8 +680,7 @@ static void open_files (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "opening subordinate group file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_SUB_GID_UPDATE); } @@ -738,8 +727,7 @@ static void update_user (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "deleting user entries", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_SUCCESS); + user_name, user_id, SHADOW_AUDIT_SUCCESS); #endif /* WITH_AUDIT */ SYSLOG ((LOG_INFO, "delete user '%s'\n", user_name)); } @@ -763,7 +751,7 @@ static void user_cancel (const char *user) } argv[0] = cmd; argv[1] = user; - argv[2] = (char *)0; + argv[2] = NULL; (void) run_command (cmd, argv, NULL, &status); } @@ -802,11 +790,9 @@ static int is_owner (uid_t uid, const char *path) static int remove_mailbox (void) { - const char *maildir; - char* mailfile; - int i; - int errors = 0; - size_t len; + int i, errors = 0; + char *mailfile; + const char *maildir; maildir = getdef_str ("MAIL_DIR"); #ifdef MAIL_SPOOL_DIR @@ -818,18 +804,11 @@ static int remove_mailbox (void) return 0; } - len = strlen (prefix) + strlen (maildir) + strlen (user_name) + 2; - mailfile = xmalloc (len); - if (prefix[0]) { - (void) snprintf (mailfile, len, "%s/%s/%s", - prefix, maildir, user_name); + xasprintf(&mailfile, "%s/%s/%s", prefix, maildir, user_name); + } else { + xasprintf(&mailfile, "%s/%s", maildir, user_name); } - else { - (void) snprintf (mailfile, len, "%s/%s", - maildir, user_name); - } - mailfile[len-1] = '\0'; if (access (mailfile, F_OK) != 0) { if (ENOENT == errno) { @@ -846,8 +825,7 @@ static int remove_mailbox (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "deleting mail file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ free(mailfile); return -1; @@ -863,8 +841,7 @@ static int remove_mailbox (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "deleting mail file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ errors = 1; /* continue */ @@ -874,8 +851,7 @@ static int remove_mailbox (void) { audit_logger (AUDIT_DEL_USER, Prog, "deleting mail file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_SUCCESS); + user_name, user_id, SHADOW_AUDIT_SUCCESS); } #endif /* WITH_AUDIT */ free(mailfile); @@ -892,8 +868,7 @@ static int remove_mailbox (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "deleting mail file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ free(mailfile); return 1; @@ -909,8 +884,7 @@ static int remove_mailbox (void) #ifdef WITH_AUDIT audit_logger (AUDIT_DEL_USER, Prog, "deleting mail file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ errors = 1; /* continue */ @@ -920,8 +894,7 @@ static int remove_mailbox (void) { audit_logger (AUDIT_DEL_USER, Prog, "deleting mail file", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_SUCCESS); + user_name, user_id, SHADOW_AUDIT_SUCCESS); } #endif /* WITH_AUDIT */ free(mailfile); @@ -931,22 +904,19 @@ static int remove_mailbox (void) #ifdef WITH_TCB static int remove_tcbdir (const char *user_name, uid_t user_id) { - char *buf; - int ret = 0; - size_t buflen = (sizeof TCB_DIR) + strlen (user_name) + 2; + int ret = 0; + char *buf; if (!getdef_bool ("USE_TCB")) { return 0; } - buf = malloc (buflen); - if (NULL == buf) { - fprintf (stderr, _("%s: Can't allocate memory, " - "tcb entry for %s not removed.\n"), - Prog, user_name); + if (asprintf(&buf, TCB_DIR "/%s", user_name) == -1) { + fprintf(stderr, + _("%s: Can't allocate memory, tcb entry for %s not removed.\n"), + Prog, user_name); return 1; } - snprintf (buf, buflen, TCB_DIR "/%s", user_name); if (shadowtcb_drop_priv () == SHADOWTCB_FAILURE) { fprintf (stderr, _("%s: Cannot drop privileges: %s\n"), Prog, strerror (errno)); @@ -989,10 +959,6 @@ int main (int argc, char **argv) #endif /* USE_PAM */ #endif /* ACCT_TOOLS_SETUID */ - /* - * Get my name so that I can use it to report errors. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); (void) setlocale (LC_ALL, ""); @@ -1002,7 +968,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); prefix = process_prefix_flag ("-P", argc, argv); - OPENLOG ("userdel"); + OPENLOG (Prog); #ifdef WITH_AUDIT audit_help_open (); #endif /* WITH_AUDIT */ @@ -1086,7 +1052,7 @@ int main (int argc, char **argv) exit (E_PW_UPDATE); } - retval = pam_start ("userdel", pampw->pw_name, &conv, &pamh); + retval = pam_start (Prog, pampw->pw_name, &conv, &pamh); } if (PAM_SUCCESS == retval) { @@ -1148,15 +1114,9 @@ int main (int argc, char **argv) user_gid = pwd->pw_gid; if (prefix[0]) { - - size_t len = strlen(prefix) + strlen(pwd->pw_dir) + 2; - int wlen; - user_home = xmalloc(len); - wlen = snprintf(user_home, len, "%s/%s", prefix, pwd->pw_dir); - assert (wlen == (int) len -1); - } - else { - user_home = xstrdup (pwd->pw_dir); + xasprintf(&user_home, "%s/%s", prefix, pwd->pw_dir); + } else { + user_home = xstrdup(pwd->pw_dir); } pw_close(); } @@ -1165,26 +1125,6 @@ int main (int argc, char **argv) exit (E_NOTFOUND); } #endif /* WITH_TCB */ -#ifdef USE_NIS - - /* - * Now make sure it isn't an NIS user. - */ - if (__ispwNIS ()) { - char *nis_domain; - char *nis_master; - - fprintf (stderr, - _("%s: user %s is a NIS user\n"), Prog, user_name); - if ( !yp_get_default_domain (&nis_domain) - && !yp_master (nis_domain, "passwd.byname", &nis_master)) { - fprintf (stderr, - _("%s: %s is the NIS master\n"), - Prog, nis_master); - } - exit (E_NOTFOUND); - } -#endif /* USE_NIS */ /* * Check to make certain the user isn't logged in. * Note: This is a best effort basis. The user may log in between, @@ -1290,8 +1230,7 @@ int main (int argc, char **argv) { audit_logger (AUDIT_DEL_USER, Prog, "deleting home directory", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_SUCCESS); + user_name, user_id, SHADOW_AUDIT_SUCCESS); } #endif /* WITH_AUDIT */ } @@ -1313,8 +1252,7 @@ int main (int argc, char **argv) #ifdef WITH_AUDIT audit_logger (AUDIT_ADD_USER, Prog, "removing SELinux user mapping", - user_name, (unsigned int) user_id, - SHADOW_AUDIT_FAILURE); + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_SE_UPDATE); } diff --git a/src/usermod.c b/src/usermod.c index c1a5b2cd..dff0487a 100644 --- a/src/usermod.c +++ b/src/usermod.c @@ -17,7 +17,9 @@ #include #include #include +#ifdef ENABLE_LASTLOG #include +#endif /* ENABLE_LASTLOG */ #include #ifdef ACCT_TOOLS_SETUID #ifdef USE_PAM @@ -25,14 +27,18 @@ #endif /* USE_PAM */ #endif /* ACCT_TOOLS_SETUID */ #include +#include #include #include #include + +#include "alloc.h" #include "chkname.h" #include "defines.h" #include "faillog.h" #include "getdef.h" #include "groupio.h" +#include "memzero.h" #include "nscd.h" #include "sssd.h" #include "prototypes.h" @@ -52,6 +58,9 @@ #include "tcbfuncs.h" #endif #include "shadowlog.h" +#include "string/sprintf.h" +#include "time/day_to_str.h" + /* * exit status values @@ -82,7 +91,7 @@ /* * Global variables */ -const char *Prog; +static const char Prog[] = "usermod"; static char *user_name; static char *user_newname; @@ -98,6 +107,7 @@ static char *user_newhome; static char *user_shell; #ifdef WITH_SELINUX static const char *user_selinux = ""; +static const char *user_selinux_range = NULL; #endif /* WITH_SELINUX */ static char *user_newshell; static long user_expire; @@ -163,10 +173,10 @@ static bool sub_gid_locked = false; /* local function prototypes */ static int get_groups (char *); -static /*@noreturn@*/void usage (int status); +NORETURN static void usage (int status); static void new_pwent (struct passwd *); static void new_spent (struct spwd *); -static /*@noreturn@*/void fail_exit (int); +NORETURN static void fail_exit (int); static void update_group (void); #ifdef SHADOWGRP @@ -179,7 +189,9 @@ static void close_files (void); static void open_files (void); static void usr_update (void); static void move_home (void); +#ifdef ENABLE_LASTLOG static void update_lastlog (void); +#endif /* ENABLE_LASTLOG */ static void update_faillog (void); #ifndef NO_MOVE_MAILBOX @@ -198,14 +210,14 @@ extern int allow_bad_names; static int get_groups (char *list) { char *cp; - const struct group *grp; + struct group *grp; int errors = 0; int ngroups = 0; /* * Initialize the list to be empty */ - user_groups[0] = (char *) 0; + user_groups[0] = NULL; if ('\0' == *list) { return 0; @@ -251,25 +263,11 @@ static int get_groups (char *list) continue; } -#ifdef USE_NIS - /* - * Don't add this group if they are an NIS group. Tell the - * user to go to the server for this group. - */ - if (__isgrNIS ()) { - fprintf (stderr, - _("%s: group '%s' is a NIS group.\n"), - Prog, grp->gr_name); - gr_free ((struct group *)grp); - continue; - } -#endif - if (ngroups == sys_ngroups) { fprintf (stderr, _("%s: too many groups specified (max %d).\n"), Prog, ngroups); - gr_free ((struct group *)grp); + gr_free (grp); break; } @@ -277,10 +275,10 @@ static int get_groups (char *list) * Add the group name to the user's list of groups. */ user_groups[ngroups++] = xstrdup (grp->gr_name); - gr_free ((struct group *)grp); + gr_free (grp); } while (NULL != list); - user_groups[ngroups] = (char *) 0; + user_groups[ngroups] = NULL; /* * Any errors in finding group names are fatal @@ -307,21 +305,28 @@ static struct ulong_range getulong_range(const char *str) errno = 0; first = strtoll(str, &pos, 10); - if (('\0' == *str) || ('-' != *pos ) || (ERANGE == errno) || - (first != (unsigned long int)first)) + if (('\0' == *str) || ('-' != *pos ) || (0 != errno) || + (first != (unsigned long)first)) goto out; errno = 0; last = strtoll(pos + 1, &pos, 10); - if (('\0' != *pos ) || (ERANGE == errno) || - (last != (unsigned long int)last)) + if (('\0' != *pos ) || (0 != errno) || + (last != (unsigned long)last)) goto out; if (first > last) goto out; - result.first = (unsigned long int)first; - result.last = (unsigned long int)last; + /* + * uid_t in linux is an unsigned int, anything over this is an invalid + * range will be later refused anyway by get_map_ranges(). + */ + if (first > UINT_MAX || last > UINT_MAX) + goto out; + + result.first = (unsigned long)first; + result.last = (unsigned long)last; out: return result; } @@ -342,7 +347,7 @@ static int prepend_range(const char *str, struct ulong_range_list_entry **head) if (range.first > range.last) return 0; - entry = malloc(sizeof(*entry)); + entry = MALLOC(1, struct ulong_range_list_entry); if (!entry) { fprintf (stderr, _("%s: failed to allocate memory: %s\n"), @@ -359,7 +364,9 @@ static int prepend_range(const char *str, struct ulong_range_list_entry **head) /* * usage - display usage message and exit */ -static /*@noreturn@*/void usage (int status) +NORETURN +static void +usage (int status) { FILE *usageout = (E_SUCCESS != status) ? stderr : stdout; (void) fprintf (usageout, @@ -401,6 +408,7 @@ static /*@noreturn@*/void usage (int status) #endif /* ENABLE_SUBIDS */ #ifdef WITH_SELINUX (void) fputs (_(" -Z, --selinux-user SEUSER new SELinux user mapping for the user account\n"), usageout); + (void) fputs (_(" --selinux-range SERANGE new SELinux MLS range for the user account\n"), usageout); #endif /* WITH_SELINUX */ (void) fputs ("\n", usageout); exit (status); @@ -413,20 +421,17 @@ static /*@noreturn@*/void usage (int status) static char *new_pw_passwd (char *pw_pass) { if (Lflg && ('!' != pw_pass[0])) { - char *buf = xmalloc (strlen (pw_pass) + 2); + char *buf = XMALLOC(strlen(pw_pass) + 2, char); #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, - "updating passwd", - user_newname, (unsigned int) user_newid, 0); + "updating passwd", user_newname, user_newid, 0); #endif SYSLOG ((LOG_INFO, "lock user '%s' password", user_newname)); strcpy (buf, "!"); strcat (buf, pw_pass); pw_pass = buf; } else if (Uflg && pw_pass[0] == '!') { - char *s; - if (pw_pass[1] == '\0') { fprintf (stderr, _("%s: unlocking the user's password would result in a passwordless account.\n" @@ -437,20 +442,14 @@ static char *new_pw_passwd (char *pw_pass) #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, - "updating password", - user_newname, (unsigned int) user_newid, 0); + "updating password", user_newname, user_newid, 0); #endif SYSLOG ((LOG_INFO, "unlock user '%s' password", user_newname)); - s = pw_pass; - while ('\0' != *s) { - *s = *(s + 1); - s++; - } + memmove(pw_pass, pw_pass + 1, strlen(pw_pass)); } else if (pflg) { #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, - "changing password", - user_newname, (unsigned int) user_newid, 1); + "changing password", user_newname, user_newid, 1); #endif SYSLOG ((LOG_INFO, "change user '%s' password", user_newname)); pw_pass = xstrdup (user_pass); @@ -479,8 +478,7 @@ static void new_pwent (struct passwd *pwent) } #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, - "changing name", - user_newname, (unsigned int) user_newid, 1); + "changing name", user_newname, user_newid, 1); #endif SYSLOG ((LOG_INFO, "change user name '%s' to '%s'", @@ -500,8 +498,7 @@ static void new_pwent (struct passwd *pwent) if (uflg) { #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, - "changing uid", - user_newname, (unsigned int) user_newid, 1); + "changing uid", user_newname, user_newid, 1); #endif SYSLOG ((LOG_INFO, "change user '%s' UID from '%d' to '%d'", @@ -512,7 +509,7 @@ static void new_pwent (struct passwd *pwent) #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing primary group", - user_newname, (unsigned int) user_newid, 1); + user_newname, user_newid, 1); #endif SYSLOG ((LOG_INFO, "change user '%s' GID from '%d' to '%d'", @@ -522,8 +519,7 @@ static void new_pwent (struct passwd *pwent) if (cflg) { #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, - "changing comment", - user_newname, (unsigned int) user_newid, 1); + "changing comment", user_newname, user_newid, 1); #endif pwent->pw_gecos = user_newcomment; } @@ -532,7 +528,7 @@ static void new_pwent (struct passwd *pwent) #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing home directory", - user_newname, (unsigned int) user_newid, 1); + user_newname, user_newid, 1); #endif SYSLOG ((LOG_INFO, "change user '%s' home from '%s' to '%s'", @@ -549,7 +545,7 @@ static void new_pwent (struct passwd *pwent) #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing user shell", - user_newname, (unsigned int) user_newid, 1); + user_newname, user_newid, 1); #endif SYSLOG ((LOG_INFO, "change user '%s' shell from '%s' to '%s'", @@ -580,7 +576,7 @@ static void new_spent (struct spwd *spent) #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing inactive days", - user_newname, (unsigned int) user_newid, 1); + user_newname, user_newid, 1); #endif SYSLOG ((LOG_INFO, "change user '%s' inactive from '%ld' to '%ld'", @@ -590,12 +586,13 @@ static void new_spent (struct spwd *spent) if (eflg) { /* log dates rather than numbers of days. */ char new_exp[16], old_exp[16]; - date_to_str (sizeof(new_exp), new_exp, user_newexpire * DAY); - date_to_str (sizeof(old_exp), old_exp, user_expire * DAY); + + DAY_TO_STR(new_exp, user_newexpire); + DAY_TO_STR(old_exp, user_expire); #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing expiration date", - user_newname, (unsigned int) user_newid, 1); + user_newname, user_newid, 1); #endif SYSLOG ((LOG_INFO, "change user '%s' expiration from '%s' to '%s'", @@ -615,7 +612,7 @@ static void new_spent (struct spwd *spent) spent->sp_pwdp = new_pw_passwd (spent->sp_pwdp); if (pflg) { - spent->sp_lstchg = (long) gettime () / SCALE; + spent->sp_lstchg = gettime () / DAY; if (0 == spent->sp_lstchg) { /* Better disable aging than requiring a password * change. */ @@ -627,7 +624,9 @@ static void new_spent (struct spwd *spent) /* * fail_exit - exit with an error code after unlocking files */ -static /*@noreturn@*/void fail_exit (int code) +NORETURN +static void +fail_exit (int code) { if (gr_locked) { if (gr_unlock () == 0) { @@ -967,7 +966,6 @@ static void grp_update (void) */ static void process_flags (int argc, char **argv) { - const struct group *grp; struct stat st; bool anyflag = false; @@ -978,6 +976,7 @@ static void process_flags (int argc, char **argv) int c; static struct option long_options[] = { {"append", no_argument, NULL, 'a'}, + {"badname", no_argument, NULL, 'b'}, {"badnames", no_argument, NULL, 'b'}, {"comment", required_argument, NULL, 'c'}, {"home", required_argument, NULL, 'd'}, @@ -1000,11 +999,12 @@ static void process_flags (int argc, char **argv) #ifdef ENABLE_SUBIDS {"add-subuids", required_argument, NULL, 'v'}, {"del-subuids", required_argument, NULL, 'V'}, - {"add-subgids", required_argument, NULL, 'w'}, - {"del-subgids", required_argument, NULL, 'W'}, + {"add-subgids", required_argument, NULL, 'w'}, + {"del-subgids", required_argument, NULL, 'W'}, #endif /* ENABLE_SUBIDS */ #ifdef WITH_SELINUX - {"selinux-user", required_argument, NULL, 'Z'}, + {"selinux-user", required_argument, NULL, 'Z'}, + {"selinux-range", required_argument, NULL, 202}, #endif /* WITH_SELINUX */ {NULL, 0, NULL, '\0'} }; @@ -1058,11 +1058,10 @@ static void process_flags (int argc, char **argv) Prog, optarg); exit (E_BAD_ARG); } - user_newexpire *= DAY / SCALE; eflg = true; break; case 'f': - if ( (getlong (optarg, &user_newinactive) == 0) + if ( (getlong(optarg, &user_newinactive) == -1) || (user_newinactive < -1)) { fprintf (stderr, _("%s: invalid numeric argument '%s'\n"), @@ -1072,7 +1071,10 @@ static void process_flags (int argc, char **argv) fflg = true; break; case 'g': - grp = getgr_nam_gid (optarg); + { + struct group *grp; + + grp = prefix_getgr_nam_gid (optarg); if (NULL == grp) { fprintf (stderr, _("%s: group '%s' does not exist\n"), @@ -1083,6 +1085,7 @@ static void process_flags (int argc, char **argv) gflg = true; gr_free (grp); break; + } case 'G': if (get_groups (optarg) != 0) { exit (E_NOTFOUND); @@ -1146,7 +1149,7 @@ static void process_flags (int argc, char **argv) sflg = true; break; case 'u': - if ( (get_uid (optarg, &user_newid) ==0) + if ( (get_uid(optarg, &user_newid) == -1) || (user_newid == (uid_t)-1)) { fprintf (stderr, _("%s: invalid user ID '%s'\n"), @@ -1214,6 +1217,9 @@ static void process_flags (int argc, char **argv) exit (E_BAD_ARG); } break; + case 202: + user_selinux_range = optarg; + break; #endif /* WITH_SELINUX */ default: usage (E_USAGE); @@ -1258,46 +1264,16 @@ static void process_flags (int argc, char **argv) user_newgid = user_gid; } if (prefix[0]) { - size_t len = strlen(prefix) + strlen(user_home) + 2; - int wlen; - prefix_user_home = xmalloc(len); - wlen = snprintf(prefix_user_home, len, "%s/%s", prefix, user_home); - assert (wlen == (int) len -1); + xasprintf(&prefix_user_home, "%s/%s", prefix, user_home); if (user_newhome) { - len = strlen(prefix) + strlen(user_newhome) + 2; - prefix_user_newhome = xmalloc(len); - wlen = snprintf(prefix_user_newhome, len, "%s/%s", prefix, user_newhome); - assert (wlen == (int) len -1); + xasprintf(&prefix_user_newhome, "%s/%s", + prefix, user_newhome); } - - } - else { + } else { prefix_user_home = user_home; prefix_user_newhome = user_newhome; } -#ifdef USE_NIS - /* - * Now make sure it isn't an NIS user. - */ - if (__ispwNIS ()) { - char *nis_domain; - char *nis_master; - - fprintf (stderr, - _("%s: user %s is a NIS user\n"), - Prog, user_name); - - if ( !yp_get_default_domain (&nis_domain) - && !yp_master (nis_domain, "passwd.byname", &nis_master)) { - fprintf (stderr, - _("%s: %s is the NIS master\n"), - Prog, nis_master); - } - exit (E_NOTFOUND); - } -#endif - { const struct spwd *spwd = NULL; /* local, no need for xgetspnam */ @@ -1354,6 +1330,15 @@ static void process_flags (int argc, char **argv) usage (E_USAGE); } +#ifdef WITH_SELINUX + if (user_selinux_range && !Zflg) { + fprintf (stderr, + _("%s: %s flag is only allowed with the %s flag\n"), + Prog, "--selinux-range", "--selinux-user"); + usage (E_USAGE); + } +#endif /* WITH_SELINUX */ + if (user_newid == user_id) { uflg = false; oflg = false; @@ -1723,7 +1708,7 @@ static void usr_update (void) * a shadowed password * + aging information is requested */ - memset (&spent, 0, sizeof spent); + bzero(&spent, sizeof spent); spent.sp_namp = user_name; /* The user explicitly asked for a shadow feature. @@ -1732,7 +1717,7 @@ static void usr_update (void) spent.sp_pwdp = xstrdup (pwent.pw_passwd); pwent.pw_passwd = xstrdup (SHADOW_PASSWD_STRING); - spent.sp_lstchg = (long) gettime () / SCALE; + spent.sp_lstchg = gettime () / DAY; if (0 == spent.sp_lstchg) { /* Better disable aging than * requiring a password change */ @@ -1819,7 +1804,7 @@ static void move_home (void) if (uflg || gflg) { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing home directory owner", - user_newname, (unsigned int) user_newid, 1); + user_newname, user_newid, 1); } #endif @@ -1838,8 +1823,7 @@ static void move_home (void) #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "moving home directory", - user_newname, (unsigned int) user_newid, - 1); + user_newname, user_newid, 1); #endif return; } else { @@ -1869,7 +1853,7 @@ static void move_home (void) Prog, "moving home directory", user_newname, - (unsigned int) user_newid, + user_newid, 1); #endif return; @@ -1897,6 +1881,7 @@ static void move_home (void) * left alone in case the UID was shared. It doesn't hurt anything * to just leave it be. */ +#ifdef ENABLE_LASTLOG static void update_lastlog (void) { struct lastlog ll; @@ -1909,7 +1894,7 @@ static void update_lastlog (void) return; } - max_uid = (uid_t) getdef_ulong ("LASTLOG_UID_MAX", 0xFFFFFFFFUL); + max_uid = getdef_ulong ("LASTLOG_UID_MAX", 0xFFFFFFFFUL); if (user_newid > max_uid) { /* do not touch lastlog for large uids */ return; @@ -1928,7 +1913,7 @@ static void update_lastlog (void) && (read (fd, &ll, sizeof ll) == (ssize_t) sizeof ll)) { /* Copy the old entry to its new location */ if ( (lseek (fd, off_newuid, SEEK_SET) != off_newuid) - || (write (fd, &ll, sizeof ll) != (ssize_t) sizeof ll) + || (write_full(fd, &ll, sizeof ll) == -1) || (fsync (fd) != 0)) { fprintf (stderr, _("%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"), @@ -1944,7 +1929,7 @@ static void update_lastlog (void) /* Reset the new uid's lastlog entry */ memzero (&ll, sizeof (ll)); if ( (lseek (fd, off_newuid, SEEK_SET) != off_newuid) - || (write (fd, &ll, sizeof ll) != (ssize_t) sizeof ll) + || (write_full(fd, &ll, sizeof ll) == -1) || (fsync (fd) != 0)) { fprintf (stderr, _("%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"), @@ -1953,8 +1938,13 @@ static void update_lastlog (void) } } - (void) close (fd); + if (close (fd) != 0 && errno != EINTR) { + fprintf (stderr, + _("%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"), + Prog, (uintmax_t) user_id, (uintmax_t) user_newid, strerror (errno)); + } } +#endif /* ENABLE_LASTLOG */ /* * update_faillog - update the faillog file @@ -1984,10 +1974,10 @@ static void update_faillog (void) } if ( (lseek (fd, off_uid, SEEK_SET) == off_uid) - && (read (fd, (char *) &fl, sizeof fl) == (ssize_t) sizeof fl)) { + && (read (fd, &fl, sizeof fl) == (ssize_t) sizeof fl)) { /* Copy the old entry to its new location */ if ( (lseek (fd, off_newuid, SEEK_SET) != off_newuid) - || (write (fd, &fl, sizeof fl) != (ssize_t) sizeof fl) + || (write_full(fd, &fl, sizeof fl) == -1) || (fsync (fd) != 0)) { fprintf (stderr, _("%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"), @@ -2003,7 +1993,8 @@ static void update_faillog (void) /* Reset the new uid's faillog entry */ memzero (&fl, sizeof (fl)); if ( (lseek (fd, off_newuid, SEEK_SET) != off_newuid) - || (write (fd, &fl, sizeof fl) != (ssize_t) sizeof fl)) { + || (write_full(fd, &fl, sizeof fl) == -1)) + { fprintf (stderr, _("%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"), Prog, (unsigned long) user_id, (unsigned long) user_newid, strerror (errno)); @@ -2011,7 +2002,11 @@ static void update_faillog (void) } } - (void) close (fd); + if (close (fd) != 0 && errno != EINTR) { + fprintf (stderr, + _("%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"), + Prog, (uintmax_t) user_id, (uintmax_t) user_newid, strerror (errno)); + } } #ifndef NO_MOVE_MAILBOX @@ -2024,12 +2019,10 @@ static void update_faillog (void) */ static void move_mailbox (void) { - const char *maildir; - char* mailfile; - char* newmailfile; - int fd; - struct stat st; - size_t len; + int fd; + char *mailfile; + const char *maildir; + struct stat st; maildir = getdef_str ("MAIL_DIR"); #ifdef MAIL_SPOOL_DIR @@ -2040,8 +2033,6 @@ static void move_mailbox (void) if (NULL == maildir) { return; } - len = strlen (prefix) + strlen (maildir) + strlen (user_name) + 2; - mailfile = alloca (len); /* * O_NONBLOCK is to make sure open won't hang on mandatory locks. @@ -2050,14 +2041,10 @@ static void move_mailbox (void) * between stat and chown). --marekm */ if (prefix[0]) { - (void) snprintf (mailfile, len, "%s/%s/%s", - prefix, maildir, user_name); + xasprintf(&mailfile, "%s/%s/%s", prefix, maildir, user_name); + } else { + xasprintf(&mailfile, "%s/%s", maildir, user_name); } - else { - (void) snprintf (mailfile, len, "%s/%s", - maildir, user_name); - } - mailfile[len-1] = '\0'; fd = open (mailfile, O_RDONLY | O_NONBLOCK, 0); if (fd < 0) { @@ -2065,11 +2052,13 @@ static void move_mailbox (void) if (errno != ENOENT) { perror (mailfile); } + free(mailfile); return; } if (fstat (fd, &st) < 0) { perror ("fstat"); (void) close (fd); + free(mailfile); return; } if (st.st_uid != user_id) { @@ -2077,6 +2066,7 @@ static void move_mailbox (void) fprintf (stderr, _("%s: warning: %s not owned by %s\n"), Prog, mailfile, user_name); (void) close (fd); + free(mailfile); return; } if (uflg) { @@ -2087,7 +2077,7 @@ static void move_mailbox (void) else { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing mail file owner", - user_newname, (unsigned int) user_newid, 1); + user_newname, user_newid, 1); } #endif } @@ -2095,17 +2085,14 @@ static void move_mailbox (void) (void) close (fd); if (lflg) { - len = strlen (prefix) + strlen (maildir) + strlen (user_newname) + 2; - newmailfile = alloca(len); + char *newmailfile; + if (prefix[0]) { - (void) snprintf (newmailfile, len, "%s/%s/%s", - prefix, maildir, user_newname); + xasprintf(&newmailfile, "%s/%s/%s", + prefix, maildir, user_newname); + } else { + xasprintf(&newmailfile, "%s/%s", maildir, user_newname); } - else { - (void) snprintf (newmailfile, len, "%s/%s", - maildir, user_newname); - } - newmailfile[len - 1] = '\0'; if ( (link (mailfile, newmailfile) != 0) || (unlink (mailfile) != 0)) { perror (_("failed to rename mailbox")); @@ -2114,10 +2101,14 @@ static void move_mailbox (void) else { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing mail file name", - user_newname, (unsigned int) user_newid, 1); + user_newname, user_newid, 1); } + + free(newmailfile); #endif } + + free(mailfile); } #endif @@ -2133,10 +2124,6 @@ int main (int argc, char **argv) #endif /* USE_PAM */ #endif /* ACCT_TOOLS_SETUID */ - /* - * Get my name so that I can use it to report errors. - */ - Prog = Basename (argv[0]); log_set_progname(Prog); log_set_logfd(stderr); @@ -2147,14 +2134,14 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); prefix = process_prefix_flag ("-P", argc, argv); - OPENLOG ("usermod"); + OPENLOG (Prog); #ifdef WITH_AUDIT audit_help_open (); #endif sys_ngroups = sysconf (_SC_NGROUPS_MAX); - user_groups = (char **) malloc (sizeof (char *) * (1 + sys_ngroups)); - user_groups[0] = (char *) 0; + user_groups = XMALLOC(sys_ngroups + 1, char *); + user_groups[0] = NULL; is_shadow_pwd = spw_file_present (); #ifdef SHADOWGRP @@ -2193,7 +2180,7 @@ int main (int argc, char **argv) exit (1); } - retval = pam_start ("usermod", pampw->pw_name, &conv, &pamh); + retval = pam_start (Prog, pampw->pw_name, &conv, &pamh); } if (PAM_SUCCESS == retval) { @@ -2305,14 +2292,14 @@ int main (int argc, char **argv) #ifdef WITH_SELINUX if (Zflg) { if ('\0' != *user_selinux) { - if (set_seuser (user_name, user_selinux) != 0) { + if (set_seuser (user_name, user_selinux, user_selinux_range) != 0) { fprintf (stderr, _("%s: warning: the user name %s to %s SELinux user mapping failed.\n"), Prog, user_name, user_selinux); #ifdef WITH_AUDIT audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "modifying User mapping ", - user_name, (unsigned int) user_id, + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_SE_UPDATE); @@ -2325,7 +2312,7 @@ int main (int argc, char **argv) #ifdef WITH_AUDIT audit_logger (AUDIT_ADD_USER, Prog, "removing SELinux user mapping", - user_name, (unsigned int) user_id, + user_name, user_id, SHADOW_AUDIT_FAILURE); #endif /* WITH_AUDIT */ fail_exit (E_SE_UPDATE); @@ -2345,7 +2332,9 @@ int main (int argc, char **argv) #endif /* NO_MOVE_MAILBOX */ if (uflg) { +#ifdef ENABLE_LASTLOG update_lastlog (); +#endif /* ENABLE_LASTLOG */ update_faillog (); } @@ -2367,7 +2356,7 @@ int main (int argc, char **argv) if (uflg || gflg) { audit_logger (AUDIT_USER_CHAUTHTOK, Prog, "changing home directory owner", - user_newname, (unsigned int) user_newid, 1); + user_newname, user_newid, 1); } #endif if (chown_tree (dflg ? prefix_user_newhome : prefix_user_home, diff --git a/src/vipw.c b/src/vipw.c index 488a97d9..c30b32de 100644 --- a/src/vipw.c +++ b/src/vipw.c @@ -26,7 +26,10 @@ #include #include #include + +#include "alloc.h" #include "defines.h" +#include "getdef.h" #include "groupio.h" #include "nscd.h" #include "sssd.h" @@ -41,6 +44,8 @@ #include "tcbfuncs.h" #endif /* WITH_TCB */ #include "shadowlog.h" +#include "string/sprintf.h" + #define MSG_WARN_EDIT_OTHER_FILE _( \ "You have modified %s.\n"\ @@ -50,7 +55,7 @@ /* * Global variables */ -const char *Prog; +static const char *Prog; static const char *filename, *fileeditname; static bool filelocked = false; @@ -190,18 +195,17 @@ static void vipwexit (const char *msg, int syserr, int ret) static void vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) { - const char *editor; - pid_t pid; - struct stat st1, st2; - int status; - FILE *f; - pid_t orig_pgrp, editor_pgrp = -1; - sigset_t mask, omask; + int status; + char *to_rename; + FILE *f; + pid_t pid, orig_pgrp, editor_pgrp = -1; + sigset_t mask, omask; + const char *editor; + struct stat st1, st2; /* FIXME: the following should have variable sizes */ - char filebackup[1024], fileedit[1024]; - char *to_rename; + char filebackup[1024], fileedit[1024]; - snprintf (filebackup, sizeof filebackup, "%s-", file); + SNPRINTF(filebackup, "%s-", file); #ifdef WITH_TCB if (tcb_mode) { if ( (mkdir (TCB_DIR "/" SHADOWTCB_SCRATCHDIR, 0700) != 0) @@ -211,12 +215,12 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) if (shadowtcb_drop_priv () == SHADOWTCB_FAILURE) { vipwexit (_("failed to drop privileges"), errno, 1); } - snprintf (fileedit, sizeof fileedit, - TCB_DIR "/" SHADOWTCB_SCRATCHDIR "/.vipw.shadow.%s", - user); + SNPRINTF(fileedit, + TCB_DIR "/" SHADOWTCB_SCRATCHDIR "/.vipw.shadow.%s", + user); } else { #endif /* WITH_TCB */ - snprintf (fileedit, sizeof fileedit, "%s.edit", file); + SNPRINTF(fileedit, "%s.edit", file); #ifdef WITH_TCB } #endif /* WITH_TCB */ @@ -292,7 +296,7 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) } else if (0 == pid) { /* use the system() call to invoke the editor so that it accepts command line args in the EDITOR and VISUAL environment vars */ - char *buf; + char *buf; /* Wait for parent to make us the foreground pgrp. */ if (orig_pgrp != -1) { @@ -302,9 +306,8 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) continue; } - buf = (char *) malloc (strlen (editor) + strlen (fileedit) + 2); - snprintf (buf, strlen (editor) + strlen (fileedit) + 2, - "%s %s", editor, fileedit); + xasprintf(&buf, "%s %s", editor, fileedit); + status = system (buf); if (-1 == status) { fprintf (stderr, _("%s: %s: %s\n"), Prog, editor, @@ -418,13 +421,11 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) if (stat (file, &st1) != 0) { vipwexit (_("failed to stat edited file"), errno, 1); } - to_rename = malloc (strlen (file) + 2); - if (NULL == to_rename) { - vipwexit (_("failed to allocate memory"), errno, 1); - } - snprintf (to_rename, strlen (file) + 2, "%s+", file); + if (asprintf(&to_rename, "%s+", file) == -1) + vipwexit (_("asprintf(3) failed"), errno, 1); + if (create_backup_file (f, to_rename, &st1) != 0) { - free (to_rename); + free(to_rename); vipwexit (_("failed to create backup file"), errno, 1); } (void) fclose (f); @@ -442,7 +443,7 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) Prog, file, strerror (errno), to_rename); #ifdef WITH_TCB if (tcb_mode) { - free (to_rename); + free(to_rename); } #endif /* WITH_TCB */ vipwexit (0, 0, 1); @@ -450,7 +451,7 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) #ifdef WITH_TCB if (tcb_mode) { - free (to_rename); + free(to_rename); if (shadowtcb_gain_priv () == SHADOWTCB_FAILURE) { vipwexit (_("failed to gain privileges"), errno, 1); } @@ -467,10 +468,12 @@ vipwedit (const char *file, int (*file_lock) (void), int (*file_unlock) (void)) int main (int argc, char **argv) { - bool editshadow = false; - bool do_vipw; + bool editshadow = false; + bool do_vigr; - Prog = Basename (argv[0]); + do_vigr = (strcmp(Basename(argv[0]), "vigr") == 0); + + Prog = do_vigr ? "vigr" : "vipw"; log_set_progname(Prog); log_set_logfd(stderr); @@ -480,9 +483,7 @@ int main (int argc, char **argv) process_root_flag ("-R", argc, argv); - do_vipw = (strcmp (Prog, "vigr") != 0); - - OPENLOG (do_vipw ? "vipw" : "vigr"); + OPENLOG(Prog); { /* @@ -510,13 +511,13 @@ int main (int argc, char **argv) long_options, NULL)) != -1) { switch (c) { case 'g': - do_vipw = false; + do_vigr = true; break; case 'h': usage (E_SUCCESS); break; case 'p': - do_vipw = true; + do_vigr = false; break; case 'q': quiet = true; @@ -541,7 +542,27 @@ int main (int argc, char **argv) } } - if (do_vipw) { + if (do_vigr) { +#ifdef SHADOWGRP + if (editshadow) { + vipwedit (sgr_dbname (), sgr_lock, sgr_unlock); + printf (MSG_WARN_EDIT_OTHER_FILE, + sgr_dbname (), + gr_dbname (), + "vigr"); + } else { +#endif /* SHADOWGRP */ + vipwedit (gr_dbname (), gr_lock, gr_unlock); +#ifdef SHADOWGRP + if (sgr_file_present ()) { + printf (MSG_WARN_EDIT_OTHER_FILE, + gr_dbname (), + sgr_dbname (), + "vigr -s"); + } + } +#endif /* SHADOWGRP */ + } else { if (editshadow) { #ifdef WITH_TCB if (getdef_bool ("USE_TCB") && (NULL != user)) { @@ -568,26 +589,6 @@ int main (int argc, char **argv) "vipw -s"); } } - } else { -#ifdef SHADOWGRP - if (editshadow) { - vipwedit (sgr_dbname (), sgr_lock, sgr_unlock); - printf (MSG_WARN_EDIT_OTHER_FILE, - sgr_dbname (), - gr_dbname (), - "vigr"); - } else { -#endif /* SHADOWGRP */ - vipwedit (gr_dbname (), gr_lock, gr_unlock); -#ifdef SHADOWGRP - if (sgr_file_present ()) { - printf (MSG_WARN_EDIT_OTHER_FILE, - gr_dbname (), - sgr_dbname (), - "vigr -s"); - } - } -#endif /* SHADOWGRP */ } nscd_flush_cache ("passwd"); diff --git a/test-driver b/test-driver new file mode 100755 index 00000000..be73b80a --- /dev/null +++ b/test-driver @@ -0,0 +1,153 @@ +#! /bin/sh +# test-driver - basic testsuite driver script. + +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 2011-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 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +# Make unconditional expansion of undefined variables an error. This +# helps a lot in preventing typo-related bugs. +set -u + +usage_error () +{ + echo "$0: $*" >&2 + print_usage >&2 + exit 2 +} + +print_usage () +{ + cat <"$log_file" +"$@" >>"$log_file" 2>&1 +estatus=$? + +if test $enable_hard_errors = no && test $estatus -eq 99; then + tweaked_estatus=1 +else + tweaked_estatus=$estatus +fi + +case $tweaked_estatus:$expect_failure in + 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; + 0:*) col=$grn res=PASS recheck=no gcopy=no;; + 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; + 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; + *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; + *:*) col=$red res=FAIL recheck=yes gcopy=yes;; +esac + +# Report the test outcome and exit status in the logs, so that one can +# know whether the test passed or failed simply by looking at the '.log' +# file, without the need of also peaking into the corresponding '.trs' +# file (automake bug#11814). +echo "$res $test_name (exit status: $estatus)" >>"$log_file" + +# Report outcome to console. +echo "${col}${res}${std}: $test_name" + +# Register the test result, and other relevant metadata. +echo ":test-result: $res" > $trs_file +echo ":global-test-result: $res" >> $trs_file +echo ":recheck: $recheck" >> $trs_file +echo ":copy-in-global-log: $gcopy" >> $trs_file + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am new file mode 100644 index 00000000..228d8796 --- /dev/null +++ b/tests/unit/Makefile.am @@ -0,0 +1,159 @@ +AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) + +if HAVE_CMOCKA +TESTS = $(check_PROGRAMS) + +check_PROGRAMS = \ + test_adds \ + test_atoi_strtoi \ + test_atoi_strtou_noneg \ + test_chkname \ + test_sprintf \ + test_strncpy \ + test_strtcpy \ + test_xasprintf \ + test_zustr2stp + +if ENABLE_LOGIND +check_PROGRAMS += \ + test_logind +endif # ENABLE_LOGIND + +check_PROGRAMS += \ + $(NULL) + +test_adds_SOURCES = \ + ../../lib/adds.c \ + test_adds.c \ + $(NULL) +test_adds_CFLAGS = \ + $(AM_FLAGS) \ + $(NULL) +test_adds_LDFLAGS = \ + $(NULL) +test_adds_LDADD = \ + $(CMOCKA_LIBS) \ + $(NULL) + +test_atoi_strtoi_SOURCES = \ + ../../lib/atoi/strtoi.c \ + test_atoi_strtoi.c \ + $(NULL) +test_atoi_strtoi_CFLAGS = \ + $(AM_CFLAGS) \ + $(NULL) +test_atoi_strtoi_LDFLAGS = \ + $(NULL) +test_atoi_strtoi_LDADD = \ + $(CMOCKA_LIBS) \ + $(NULL) + +test_atoi_strtou_noneg_SOURCES = \ + ../../lib/atoi/strtou_noneg.c \ + test_atoi_strtou_noneg.c \ + $(NULL) +test_atoi_strtou_noneg_CFLAGS = \ + $(AM_CFLAGS) \ + $(NULL) +test_atoi_strtou_noneg_LDFLAGS = \ + $(NULL) +test_atoi_strtou_noneg_LDADD = \ + $(CMOCKA_LIBS) \ + $(NULL) + +test_chkname_SOURCES = \ + ../../lib/chkname.c \ + test_chkname.c \ + $(NULL) +test_chkname_CFLAGS = \ + $(AM_CFLAGS) \ + $(NULL) +test_chkname_LDFLAGS = \ + $(NULL) +test_chkname_LDADD = \ + $(CMOCKA_LIBS) \ + $(NULL) + +test_logind_SOURCES = \ + ../../lib/logind.c \ + test_logind.c \ + $(NULL) +test_logind_CFLAGS = \ + $(AM_CFLAGS) \ + -lsystemd \ + $(NULL) +test_logind_LDFLAGS = \ + -Wl,-wrap,prefix_getpwnam \ + -Wl,-wrap,sd_uid_get_sessions \ + $(NULL) +test_logind_LDADD = \ + $(CMOCKA_LIBS) \ + $(LIBSYSTEMD) \ + $(NULL) + +test_sprintf_SOURCES = \ + ../../lib/string/sprintf.c \ + test_sprintf.c \ + $(NULL) +test_sprintf_CFLAGS = \ + $(AM_CFLAGS) \ + $(NULL) +test_sprintf_LDFLAGS = \ + $(NULL) +test_sprintf_LDADD = \ + $(CMOCKA_LIBS) \ + $(NULL) + +test_strncpy_SOURCES = \ + test_strncpy.c \ + $(NULL) +test_strncpy_CFLAGS = \ + $(AM_CFLAGS) \ + $(NULL) +test_strncpy_LDFLAGS = \ + $(NULL) +test_strncpy_LDADD = \ + $(CMOCKA_LIBS) \ + $(NULL) + +test_strtcpy_SOURCES = \ + ../../lib/string/strtcpy.c \ + test_strtcpy.c \ + $(NULL) +test_strtcpy_CFLAGS = \ + $(AM_CFLAGS) \ + $(NULL) +test_strtcpy_LDFLAGS = \ + $(NULL) +test_strtcpy_LDADD = \ + $(CMOCKA_LIBS) \ + $(NULL) + +test_xasprintf_SOURCES = \ + ../../lib/string/sprintf.c \ + test_xasprintf.c \ + $(NULL) +test_xasprintf_CFLAGS = \ + $(AM_CFLAGS) \ + $(NULL) +test_xasprintf_LDFLAGS = \ + -Wl,-wrap,vasprintf \ + -Wl,-wrap,exit \ + $(NULL) +test_xasprintf_LDADD = \ + $(CMOCKA_LIBS) \ + $(NULL) + +test_zustr2stp_SOURCES = \ + test_zustr2stp.c \ + $(NULL) +test_zustr2stp_CFLAGS = \ + $(AM_CFLAGS) \ + $(NULL) +test_zustr2stp_LDFLAGS = \ + $(NULL) +test_zustr2stp_LDADD = \ + $(CMOCKA_LIBS) \ + $(NULL) + +endif # HAVE_CMOCKA diff --git a/tests/unit/Makefile.in b/tests/unit/Makefile.in new file mode 100644 index 00000000..8ab665c1 --- /dev/null +++ b/tests/unit/Makefile.in @@ -0,0 +1,1780 @@ +# 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@ +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@ +@HAVE_CMOCKA_TRUE@check_PROGRAMS = test_adds$(EXEEXT) \ +@HAVE_CMOCKA_TRUE@ test_atoi_strtoi$(EXEEXT) \ +@HAVE_CMOCKA_TRUE@ test_atoi_strtou_noneg$(EXEEXT) \ +@HAVE_CMOCKA_TRUE@ test_chkname$(EXEEXT) test_sprintf$(EXEEXT) \ +@HAVE_CMOCKA_TRUE@ test_strncpy$(EXEEXT) test_strtcpy$(EXEEXT) \ +@HAVE_CMOCKA_TRUE@ test_xasprintf$(EXEEXT) \ +@HAVE_CMOCKA_TRUE@ test_zustr2stp$(EXEEXT) $(am__EXEEXT_1) +@ENABLE_LOGIND_TRUE@@HAVE_CMOCKA_TRUE@am__append_1 = \ +@ENABLE_LOGIND_TRUE@@HAVE_CMOCKA_TRUE@ test_logind + +subdir = tests/unit +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 = +@ENABLE_LOGIND_TRUE@@HAVE_CMOCKA_TRUE@am__EXEEXT_1 = \ +@ENABLE_LOGIND_TRUE@@HAVE_CMOCKA_TRUE@ test_logind$(EXEEXT) +am__test_adds_SOURCES_DIST = ../../lib/adds.c test_adds.c +am__dirstamp = $(am__leading_dot)dirstamp +@HAVE_CMOCKA_TRUE@am_test_adds_OBJECTS = \ +@HAVE_CMOCKA_TRUE@ ../../lib/test_adds-adds.$(OBJEXT) \ +@HAVE_CMOCKA_TRUE@ test_adds-test_adds.$(OBJEXT) +test_adds_OBJECTS = $(am_test_adds_OBJECTS) +am__DEPENDENCIES_1 = +@HAVE_CMOCKA_TRUE@test_adds_DEPENDENCIES = $(am__DEPENDENCIES_1) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +test_adds_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_adds_CFLAGS) \ + $(CFLAGS) $(test_adds_LDFLAGS) $(LDFLAGS) -o $@ +am__test_atoi_strtoi_SOURCES_DIST = ../../lib/atoi/strtoi.c \ + test_atoi_strtoi.c +@HAVE_CMOCKA_TRUE@am_test_atoi_strtoi_OBJECTS = ../../lib/atoi/test_atoi_strtoi-strtoi.$(OBJEXT) \ +@HAVE_CMOCKA_TRUE@ test_atoi_strtoi-test_atoi_strtoi.$(OBJEXT) +test_atoi_strtoi_OBJECTS = $(am_test_atoi_strtoi_OBJECTS) +@HAVE_CMOCKA_TRUE@test_atoi_strtoi_DEPENDENCIES = \ +@HAVE_CMOCKA_TRUE@ $(am__DEPENDENCIES_1) +test_atoi_strtoi_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(test_atoi_strtoi_CFLAGS) $(CFLAGS) \ + $(test_atoi_strtoi_LDFLAGS) $(LDFLAGS) -o $@ +am__test_atoi_strtou_noneg_SOURCES_DIST = \ + ../../lib/atoi/strtou_noneg.c test_atoi_strtou_noneg.c +@HAVE_CMOCKA_TRUE@am_test_atoi_strtou_noneg_OBJECTS = ../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.$(OBJEXT) \ +@HAVE_CMOCKA_TRUE@ test_atoi_strtou_noneg-test_atoi_strtou_noneg.$(OBJEXT) +test_atoi_strtou_noneg_OBJECTS = $(am_test_atoi_strtou_noneg_OBJECTS) +@HAVE_CMOCKA_TRUE@test_atoi_strtou_noneg_DEPENDENCIES = \ +@HAVE_CMOCKA_TRUE@ $(am__DEPENDENCIES_1) +test_atoi_strtou_noneg_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(test_atoi_strtou_noneg_CFLAGS) $(CFLAGS) \ + $(test_atoi_strtou_noneg_LDFLAGS) $(LDFLAGS) -o $@ +am__test_chkname_SOURCES_DIST = ../../lib/chkname.c test_chkname.c +@HAVE_CMOCKA_TRUE@am_test_chkname_OBJECTS = \ +@HAVE_CMOCKA_TRUE@ ../../lib/test_chkname-chkname.$(OBJEXT) \ +@HAVE_CMOCKA_TRUE@ test_chkname-test_chkname.$(OBJEXT) +test_chkname_OBJECTS = $(am_test_chkname_OBJECTS) +@HAVE_CMOCKA_TRUE@test_chkname_DEPENDENCIES = $(am__DEPENDENCIES_1) +test_chkname_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_chkname_CFLAGS) \ + $(CFLAGS) $(test_chkname_LDFLAGS) $(LDFLAGS) -o $@ +am__test_logind_SOURCES_DIST = ../../lib/logind.c test_logind.c +@HAVE_CMOCKA_TRUE@am_test_logind_OBJECTS = \ +@HAVE_CMOCKA_TRUE@ ../../lib/test_logind-logind.$(OBJEXT) \ +@HAVE_CMOCKA_TRUE@ test_logind-test_logind.$(OBJEXT) +test_logind_OBJECTS = $(am_test_logind_OBJECTS) +@HAVE_CMOCKA_TRUE@test_logind_DEPENDENCIES = $(am__DEPENDENCIES_1) \ +@HAVE_CMOCKA_TRUE@ $(am__DEPENDENCIES_1) +test_logind_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_logind_CFLAGS) \ + $(CFLAGS) $(test_logind_LDFLAGS) $(LDFLAGS) -o $@ +am__test_sprintf_SOURCES_DIST = ../../lib/string/sprintf.c \ + test_sprintf.c +@HAVE_CMOCKA_TRUE@am_test_sprintf_OBJECTS = ../../lib/string/test_sprintf-sprintf.$(OBJEXT) \ +@HAVE_CMOCKA_TRUE@ test_sprintf-test_sprintf.$(OBJEXT) +test_sprintf_OBJECTS = $(am_test_sprintf_OBJECTS) +@HAVE_CMOCKA_TRUE@test_sprintf_DEPENDENCIES = $(am__DEPENDENCIES_1) +test_sprintf_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_sprintf_CFLAGS) \ + $(CFLAGS) $(test_sprintf_LDFLAGS) $(LDFLAGS) -o $@ +am__test_strncpy_SOURCES_DIST = test_strncpy.c +@HAVE_CMOCKA_TRUE@am_test_strncpy_OBJECTS = \ +@HAVE_CMOCKA_TRUE@ test_strncpy-test_strncpy.$(OBJEXT) +test_strncpy_OBJECTS = $(am_test_strncpy_OBJECTS) +@HAVE_CMOCKA_TRUE@test_strncpy_DEPENDENCIES = $(am__DEPENDENCIES_1) +test_strncpy_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_strncpy_CFLAGS) \ + $(CFLAGS) $(test_strncpy_LDFLAGS) $(LDFLAGS) -o $@ +am__test_strtcpy_SOURCES_DIST = ../../lib/string/strtcpy.c \ + test_strtcpy.c +@HAVE_CMOCKA_TRUE@am_test_strtcpy_OBJECTS = ../../lib/string/test_strtcpy-strtcpy.$(OBJEXT) \ +@HAVE_CMOCKA_TRUE@ test_strtcpy-test_strtcpy.$(OBJEXT) +test_strtcpy_OBJECTS = $(am_test_strtcpy_OBJECTS) +@HAVE_CMOCKA_TRUE@test_strtcpy_DEPENDENCIES = $(am__DEPENDENCIES_1) +test_strtcpy_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_strtcpy_CFLAGS) \ + $(CFLAGS) $(test_strtcpy_LDFLAGS) $(LDFLAGS) -o $@ +am__test_xasprintf_SOURCES_DIST = ../../lib/string/sprintf.c \ + test_xasprintf.c +@HAVE_CMOCKA_TRUE@am_test_xasprintf_OBJECTS = ../../lib/string/test_xasprintf-sprintf.$(OBJEXT) \ +@HAVE_CMOCKA_TRUE@ test_xasprintf-test_xasprintf.$(OBJEXT) +test_xasprintf_OBJECTS = $(am_test_xasprintf_OBJECTS) +@HAVE_CMOCKA_TRUE@test_xasprintf_DEPENDENCIES = $(am__DEPENDENCIES_1) +test_xasprintf_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(test_xasprintf_CFLAGS) $(CFLAGS) $(test_xasprintf_LDFLAGS) \ + $(LDFLAGS) -o $@ +am__test_zustr2stp_SOURCES_DIST = test_zustr2stp.c +@HAVE_CMOCKA_TRUE@am_test_zustr2stp_OBJECTS = \ +@HAVE_CMOCKA_TRUE@ test_zustr2stp-test_zustr2stp.$(OBJEXT) +test_zustr2stp_OBJECTS = $(am_test_zustr2stp_OBJECTS) +@HAVE_CMOCKA_TRUE@test_zustr2stp_DEPENDENCIES = $(am__DEPENDENCIES_1) +test_zustr2stp_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(test_zustr2stp_CFLAGS) $(CFLAGS) $(test_zustr2stp_LDFLAGS) \ + $(LDFLAGS) -o $@ +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 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ../../lib/$(DEPDIR)/test_adds-adds.Po \ + ../../lib/$(DEPDIR)/test_chkname-chkname.Po \ + ../../lib/$(DEPDIR)/test_logind-logind.Po \ + ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po \ + ../../lib/atoi/$(DEPDIR)/test_atoi_strtou_noneg-strtou_noneg.Po \ + ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po \ + ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po \ + ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po \ + ./$(DEPDIR)/test_adds-test_adds.Po \ + ./$(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Po \ + ./$(DEPDIR)/test_atoi_strtou_noneg-test_atoi_strtou_noneg.Po \ + ./$(DEPDIR)/test_chkname-test_chkname.Po \ + ./$(DEPDIR)/test_logind-test_logind.Po \ + ./$(DEPDIR)/test_sprintf-test_sprintf.Po \ + ./$(DEPDIR)/test_strncpy-test_strncpy.Po \ + ./$(DEPDIR)/test_strtcpy-test_strtcpy.Po \ + ./$(DEPDIR)/test_xasprintf-test_xasprintf.Po \ + ./$(DEPDIR)/test_zustr2stp-test_zustr2stp.Po +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +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 = +SOURCES = $(test_adds_SOURCES) $(test_atoi_strtoi_SOURCES) \ + $(test_atoi_strtou_noneg_SOURCES) $(test_chkname_SOURCES) \ + $(test_logind_SOURCES) $(test_sprintf_SOURCES) \ + $(test_strncpy_SOURCES) $(test_strtcpy_SOURCES) \ + $(test_xasprintf_SOURCES) $(test_zustr2stp_SOURCES) +DIST_SOURCES = $(am__test_adds_SOURCES_DIST) \ + $(am__test_atoi_strtoi_SOURCES_DIST) \ + $(am__test_atoi_strtou_noneg_SOURCES_DIST) \ + $(am__test_chkname_SOURCES_DIST) \ + $(am__test_logind_SOURCES_DIST) \ + $(am__test_sprintf_SOURCES_DIST) \ + $(am__test_strncpy_SOURCES_DIST) \ + $(am__test_strtcpy_SOURCES_DIST) \ + $(am__test_xasprintf_SOURCES_DIST) \ + $(am__test_zustr2stp_SOURCES_DIST) +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) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__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__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + mgn=''; \ + brg=''; \ + std=''; \ + fi; \ +} +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__recheck_rx = ^[ ]*:recheck:[ ]* +am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* +am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* +# A command that, given a newline-separated list of test names on the +# standard input, print the name of the tests that are to be re-run +# upon "make recheck". +am__list_recheck_tests = $(AWK) '{ \ + recheck = 1; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + { \ + if ((getline line2 < ($$0 ".log")) < 0) \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ + { \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ + { \ + break; \ + } \ + }; \ + if (recheck) \ + print $$0; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# A command that, given a newline-separated list of test names on the +# standard input, create the global log from their .trs and .log files. +am__create_global_log = $(AWK) ' \ +function fatal(msg) \ +{ \ + print "fatal: making $@: " msg | "cat >&2"; \ + exit 1; \ +} \ +function rst_section(header) \ +{ \ + print header; \ + len = length(header); \ + for (i = 1; i <= len; i = i + 1) \ + printf "="; \ + printf "\n\n"; \ +} \ +{ \ + copy_in_global_log = 1; \ + global_test_result = "RUN"; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".trs"); \ + if (line ~ /$(am__global_test_result_rx)/) \ + { \ + sub("$(am__global_test_result_rx)", "", line); \ + sub("[ ]*$$", "", line); \ + global_test_result = line; \ + } \ + else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ + copy_in_global_log = 0; \ + }; \ + if (copy_in_global_log) \ + { \ + rst_section(global_test_result ": " $$0); \ + while ((rc = (getline line < ($$0 ".log"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".log"); \ + print line; \ + }; \ + printf "\n"; \ + }; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# Restructured Text title. +am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# Default flags passed to test drivers. +am__common_driver_flags = \ + --color-tests "$$am__color_tests" \ + --enable-hard-errors "$$am__enable_hard_errors" \ + --expect-failure "$$am__expect_failure" +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log. Executes the +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and +# passes TESTS_ENVIRONMENT. Set up options for the wrapper that +# will run the test scripts (or their associated LOG_COMPILER, if +# thy have one). +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +$(am__tty_colors); \ +srcdir=$(srcdir); export srcdir; \ +case "$@" in \ + */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ + *) am__odir=.;; \ +esac; \ +test "x$$am__odir" = x"." || test -d "$$am__odir" \ + || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; \ +if test -n '$(DISABLE_HARD_ERRORS)'; then \ + am__enable_hard_errors=no; \ +else \ + am__enable_hard_errors=yes; \ +fi; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + am__expect_failure=yes;; \ + *) \ + am__expect_failure=no;; \ +esac; \ +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) +# A shell command to get the names of the tests scripts with any registered +# extension removed (i.e., equivalently, the names of the test logs, with +# the '.log' extension removed). The result is saved in the shell variable +# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", +# since that might cause problem with VPATH rewrites for suffix-less tests. +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. +am__set_TESTS_bases = \ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' +RECHECK_LOGS = $(TEST_LOGS) +AM_RECURSIVE_TARGETS = check recheck +TEST_SUITE_LOG = test-suite.log +TEST_EXTENSIONS = @EXEEXT@ .test +LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) +am__set_b = \ + case '$@' in \ + */*) \ + case '$*' in \ + */*) b='$*';; \ + *) b=`echo '$@' | sed 's/\.log$$//'`; \ + esac;; \ + *) \ + b='$*';; \ + esac +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) +TEST_LOGS = $(am__test_logs2:.test.log=.log) +TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ + $(TEST_LOG_FLAGS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ + $(top_srcdir)/test-driver +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@ +AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) +@HAVE_CMOCKA_TRUE@TESTS = $(check_PROGRAMS) +@HAVE_CMOCKA_TRUE@test_adds_SOURCES = \ +@HAVE_CMOCKA_TRUE@ ../../lib/adds.c \ +@HAVE_CMOCKA_TRUE@ test_adds.c \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_adds_CFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(AM_FLAGS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_adds_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_adds_LDADD = \ +@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_atoi_strtoi_SOURCES = \ +@HAVE_CMOCKA_TRUE@ ../../lib/atoi/strtoi.c \ +@HAVE_CMOCKA_TRUE@ test_atoi_strtoi.c \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_atoi_strtoi_CFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_atoi_strtoi_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_atoi_strtoi_LDADD = \ +@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_atoi_strtou_noneg_SOURCES = \ +@HAVE_CMOCKA_TRUE@ ../../lib/atoi/strtou_noneg.c \ +@HAVE_CMOCKA_TRUE@ test_atoi_strtou_noneg.c \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_atoi_strtou_noneg_CFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_atoi_strtou_noneg_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_atoi_strtou_noneg_LDADD = \ +@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_chkname_SOURCES = \ +@HAVE_CMOCKA_TRUE@ ../../lib/chkname.c \ +@HAVE_CMOCKA_TRUE@ test_chkname.c \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_chkname_CFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_chkname_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_chkname_LDADD = \ +@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_logind_SOURCES = \ +@HAVE_CMOCKA_TRUE@ ../../lib/logind.c \ +@HAVE_CMOCKA_TRUE@ test_logind.c \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_logind_CFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ +@HAVE_CMOCKA_TRUE@ -lsystemd \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_logind_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@ -Wl,-wrap,prefix_getpwnam \ +@HAVE_CMOCKA_TRUE@ -Wl,-wrap,sd_uid_get_sessions \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_logind_LDADD = \ +@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ +@HAVE_CMOCKA_TRUE@ $(LIBSYSTEMD) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_sprintf_SOURCES = \ +@HAVE_CMOCKA_TRUE@ ../../lib/string/sprintf.c \ +@HAVE_CMOCKA_TRUE@ test_sprintf.c \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_sprintf_CFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_sprintf_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_sprintf_LDADD = \ +@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_strncpy_SOURCES = \ +@HAVE_CMOCKA_TRUE@ test_strncpy.c \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_strncpy_CFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_strncpy_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_strncpy_LDADD = \ +@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_strtcpy_SOURCES = \ +@HAVE_CMOCKA_TRUE@ ../../lib/string/strtcpy.c \ +@HAVE_CMOCKA_TRUE@ test_strtcpy.c \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_strtcpy_CFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_strtcpy_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_strtcpy_LDADD = \ +@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_xasprintf_SOURCES = \ +@HAVE_CMOCKA_TRUE@ ../../lib/string/sprintf.c \ +@HAVE_CMOCKA_TRUE@ test_xasprintf.c \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_xasprintf_CFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_xasprintf_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@ -Wl,-wrap,vasprintf \ +@HAVE_CMOCKA_TRUE@ -Wl,-wrap,exit \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_xasprintf_LDADD = \ +@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_zustr2stp_SOURCES = \ +@HAVE_CMOCKA_TRUE@ test_zustr2stp.c \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_zustr2stp_CFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(AM_CFLAGS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_zustr2stp_LDFLAGS = \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +@HAVE_CMOCKA_TRUE@test_zustr2stp_LDADD = \ +@HAVE_CMOCKA_TRUE@ $(CMOCKA_LIBS) \ +@HAVE_CMOCKA_TRUE@ $(NULL) + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs +$(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 tests/unit/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign tests/unit/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): + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +../../lib/$(am__dirstamp): + @$(MKDIR_P) ../../lib + @: > ../../lib/$(am__dirstamp) +../../lib/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ../../lib/$(DEPDIR) + @: > ../../lib/$(DEPDIR)/$(am__dirstamp) +../../lib/test_adds-adds.$(OBJEXT): ../../lib/$(am__dirstamp) \ + ../../lib/$(DEPDIR)/$(am__dirstamp) + +test_adds$(EXEEXT): $(test_adds_OBJECTS) $(test_adds_DEPENDENCIES) $(EXTRA_test_adds_DEPENDENCIES) + @rm -f test_adds$(EXEEXT) + $(AM_V_CCLD)$(test_adds_LINK) $(test_adds_OBJECTS) $(test_adds_LDADD) $(LIBS) +../../lib/atoi/$(am__dirstamp): + @$(MKDIR_P) ../../lib/atoi + @: > ../../lib/atoi/$(am__dirstamp) +../../lib/atoi/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ../../lib/atoi/$(DEPDIR) + @: > ../../lib/atoi/$(DEPDIR)/$(am__dirstamp) +../../lib/atoi/test_atoi_strtoi-strtoi.$(OBJEXT): \ + ../../lib/atoi/$(am__dirstamp) \ + ../../lib/atoi/$(DEPDIR)/$(am__dirstamp) + +test_atoi_strtoi$(EXEEXT): $(test_atoi_strtoi_OBJECTS) $(test_atoi_strtoi_DEPENDENCIES) $(EXTRA_test_atoi_strtoi_DEPENDENCIES) + @rm -f test_atoi_strtoi$(EXEEXT) + $(AM_V_CCLD)$(test_atoi_strtoi_LINK) $(test_atoi_strtoi_OBJECTS) $(test_atoi_strtoi_LDADD) $(LIBS) +../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.$(OBJEXT): \ + ../../lib/atoi/$(am__dirstamp) \ + ../../lib/atoi/$(DEPDIR)/$(am__dirstamp) + +test_atoi_strtou_noneg$(EXEEXT): $(test_atoi_strtou_noneg_OBJECTS) $(test_atoi_strtou_noneg_DEPENDENCIES) $(EXTRA_test_atoi_strtou_noneg_DEPENDENCIES) + @rm -f test_atoi_strtou_noneg$(EXEEXT) + $(AM_V_CCLD)$(test_atoi_strtou_noneg_LINK) $(test_atoi_strtou_noneg_OBJECTS) $(test_atoi_strtou_noneg_LDADD) $(LIBS) +../../lib/test_chkname-chkname.$(OBJEXT): ../../lib/$(am__dirstamp) \ + ../../lib/$(DEPDIR)/$(am__dirstamp) + +test_chkname$(EXEEXT): $(test_chkname_OBJECTS) $(test_chkname_DEPENDENCIES) $(EXTRA_test_chkname_DEPENDENCIES) + @rm -f test_chkname$(EXEEXT) + $(AM_V_CCLD)$(test_chkname_LINK) $(test_chkname_OBJECTS) $(test_chkname_LDADD) $(LIBS) +../../lib/test_logind-logind.$(OBJEXT): ../../lib/$(am__dirstamp) \ + ../../lib/$(DEPDIR)/$(am__dirstamp) + +test_logind$(EXEEXT): $(test_logind_OBJECTS) $(test_logind_DEPENDENCIES) $(EXTRA_test_logind_DEPENDENCIES) + @rm -f test_logind$(EXEEXT) + $(AM_V_CCLD)$(test_logind_LINK) $(test_logind_OBJECTS) $(test_logind_LDADD) $(LIBS) +../../lib/string/$(am__dirstamp): + @$(MKDIR_P) ../../lib/string + @: > ../../lib/string/$(am__dirstamp) +../../lib/string/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ../../lib/string/$(DEPDIR) + @: > ../../lib/string/$(DEPDIR)/$(am__dirstamp) +../../lib/string/test_sprintf-sprintf.$(OBJEXT): \ + ../../lib/string/$(am__dirstamp) \ + ../../lib/string/$(DEPDIR)/$(am__dirstamp) + +test_sprintf$(EXEEXT): $(test_sprintf_OBJECTS) $(test_sprintf_DEPENDENCIES) $(EXTRA_test_sprintf_DEPENDENCIES) + @rm -f test_sprintf$(EXEEXT) + $(AM_V_CCLD)$(test_sprintf_LINK) $(test_sprintf_OBJECTS) $(test_sprintf_LDADD) $(LIBS) + +test_strncpy$(EXEEXT): $(test_strncpy_OBJECTS) $(test_strncpy_DEPENDENCIES) $(EXTRA_test_strncpy_DEPENDENCIES) + @rm -f test_strncpy$(EXEEXT) + $(AM_V_CCLD)$(test_strncpy_LINK) $(test_strncpy_OBJECTS) $(test_strncpy_LDADD) $(LIBS) +../../lib/string/test_strtcpy-strtcpy.$(OBJEXT): \ + ../../lib/string/$(am__dirstamp) \ + ../../lib/string/$(DEPDIR)/$(am__dirstamp) + +test_strtcpy$(EXEEXT): $(test_strtcpy_OBJECTS) $(test_strtcpy_DEPENDENCIES) $(EXTRA_test_strtcpy_DEPENDENCIES) + @rm -f test_strtcpy$(EXEEXT) + $(AM_V_CCLD)$(test_strtcpy_LINK) $(test_strtcpy_OBJECTS) $(test_strtcpy_LDADD) $(LIBS) +../../lib/string/test_xasprintf-sprintf.$(OBJEXT): \ + ../../lib/string/$(am__dirstamp) \ + ../../lib/string/$(DEPDIR)/$(am__dirstamp) + +test_xasprintf$(EXEEXT): $(test_xasprintf_OBJECTS) $(test_xasprintf_DEPENDENCIES) $(EXTRA_test_xasprintf_DEPENDENCIES) + @rm -f test_xasprintf$(EXEEXT) + $(AM_V_CCLD)$(test_xasprintf_LINK) $(test_xasprintf_OBJECTS) $(test_xasprintf_LDADD) $(LIBS) + +test_zustr2stp$(EXEEXT): $(test_zustr2stp_OBJECTS) $(test_zustr2stp_DEPENDENCIES) $(EXTRA_test_zustr2stp_DEPENDENCIES) + @rm -f test_zustr2stp$(EXEEXT) + $(AM_V_CCLD)$(test_zustr2stp_LINK) $(test_zustr2stp_OBJECTS) $(test_zustr2stp_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f ../../lib/*.$(OBJEXT) + -rm -f ../../lib/atoi/*.$(OBJEXT) + -rm -f ../../lib/string/*.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/test_adds-adds.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/test_chkname-chkname.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/test_logind-logind.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/atoi/$(DEPDIR)/test_atoi_strtou_noneg-strtou_noneg.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_adds-test_adds.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_atoi_strtou_noneg-test_atoi_strtou_noneg.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_chkname-test_chkname.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_logind-test_logind.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_sprintf-test_sprintf.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_strncpy-test_strncpy.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_strtcpy-test_strtcpy.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_xasprintf-test_xasprintf.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_zustr2stp-test_zustr2stp.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +../../lib/test_adds-adds.o: ../../lib/adds.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_adds_CFLAGS) $(CFLAGS) -MT ../../lib/test_adds-adds.o -MD -MP -MF ../../lib/$(DEPDIR)/test_adds-adds.Tpo -c -o ../../lib/test_adds-adds.o `test -f '../../lib/adds.c' || echo '$(srcdir)/'`../../lib/adds.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/test_adds-adds.Tpo ../../lib/$(DEPDIR)/test_adds-adds.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/adds.c' object='../../lib/test_adds-adds.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_adds_CFLAGS) $(CFLAGS) -c -o ../../lib/test_adds-adds.o `test -f '../../lib/adds.c' || echo '$(srcdir)/'`../../lib/adds.c + +../../lib/test_adds-adds.obj: ../../lib/adds.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_adds_CFLAGS) $(CFLAGS) -MT ../../lib/test_adds-adds.obj -MD -MP -MF ../../lib/$(DEPDIR)/test_adds-adds.Tpo -c -o ../../lib/test_adds-adds.obj `if test -f '../../lib/adds.c'; then $(CYGPATH_W) '../../lib/adds.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/adds.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/test_adds-adds.Tpo ../../lib/$(DEPDIR)/test_adds-adds.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/adds.c' object='../../lib/test_adds-adds.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_adds_CFLAGS) $(CFLAGS) -c -o ../../lib/test_adds-adds.obj `if test -f '../../lib/adds.c'; then $(CYGPATH_W) '../../lib/adds.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/adds.c'; fi` + +test_adds-test_adds.o: test_adds.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_adds_CFLAGS) $(CFLAGS) -MT test_adds-test_adds.o -MD -MP -MF $(DEPDIR)/test_adds-test_adds.Tpo -c -o test_adds-test_adds.o `test -f 'test_adds.c' || echo '$(srcdir)/'`test_adds.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_adds-test_adds.Tpo $(DEPDIR)/test_adds-test_adds.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_adds.c' object='test_adds-test_adds.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_adds_CFLAGS) $(CFLAGS) -c -o test_adds-test_adds.o `test -f 'test_adds.c' || echo '$(srcdir)/'`test_adds.c + +test_adds-test_adds.obj: test_adds.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_adds_CFLAGS) $(CFLAGS) -MT test_adds-test_adds.obj -MD -MP -MF $(DEPDIR)/test_adds-test_adds.Tpo -c -o test_adds-test_adds.obj `if test -f 'test_adds.c'; then $(CYGPATH_W) 'test_adds.c'; else $(CYGPATH_W) '$(srcdir)/test_adds.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_adds-test_adds.Tpo $(DEPDIR)/test_adds-test_adds.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_adds.c' object='test_adds-test_adds.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_adds_CFLAGS) $(CFLAGS) -c -o test_adds-test_adds.obj `if test -f 'test_adds.c'; then $(CYGPATH_W) 'test_adds.c'; else $(CYGPATH_W) '$(srcdir)/test_adds.c'; fi` + +../../lib/atoi/test_atoi_strtoi-strtoi.o: ../../lib/atoi/strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -MT ../../lib/atoi/test_atoi_strtoi-strtoi.o -MD -MP -MF ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo -c -o ../../lib/atoi/test_atoi_strtoi-strtoi.o `test -f '../../lib/atoi/strtoi.c' || echo '$(srcdir)/'`../../lib/atoi/strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/atoi/strtoi.c' object='../../lib/atoi/test_atoi_strtoi-strtoi.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -c -o ../../lib/atoi/test_atoi_strtoi-strtoi.o `test -f '../../lib/atoi/strtoi.c' || echo '$(srcdir)/'`../../lib/atoi/strtoi.c + +../../lib/atoi/test_atoi_strtoi-strtoi.obj: ../../lib/atoi/strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -MT ../../lib/atoi/test_atoi_strtoi-strtoi.obj -MD -MP -MF ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo -c -o ../../lib/atoi/test_atoi_strtoi-strtoi.obj `if test -f '../../lib/atoi/strtoi.c'; then $(CYGPATH_W) '../../lib/atoi/strtoi.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/atoi/strtoi.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Tpo ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/atoi/strtoi.c' object='../../lib/atoi/test_atoi_strtoi-strtoi.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -c -o ../../lib/atoi/test_atoi_strtoi-strtoi.obj `if test -f '../../lib/atoi/strtoi.c'; then $(CYGPATH_W) '../../lib/atoi/strtoi.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/atoi/strtoi.c'; fi` + +test_atoi_strtoi-test_atoi_strtoi.o: test_atoi_strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -MT test_atoi_strtoi-test_atoi_strtoi.o -MD -MP -MF $(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Tpo -c -o test_atoi_strtoi-test_atoi_strtoi.o `test -f 'test_atoi_strtoi.c' || echo '$(srcdir)/'`test_atoi_strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Tpo $(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_atoi_strtoi.c' object='test_atoi_strtoi-test_atoi_strtoi.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -c -o test_atoi_strtoi-test_atoi_strtoi.o `test -f 'test_atoi_strtoi.c' || echo '$(srcdir)/'`test_atoi_strtoi.c + +test_atoi_strtoi-test_atoi_strtoi.obj: test_atoi_strtoi.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -MT test_atoi_strtoi-test_atoi_strtoi.obj -MD -MP -MF $(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Tpo -c -o test_atoi_strtoi-test_atoi_strtoi.obj `if test -f 'test_atoi_strtoi.c'; then $(CYGPATH_W) 'test_atoi_strtoi.c'; else $(CYGPATH_W) '$(srcdir)/test_atoi_strtoi.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Tpo $(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_atoi_strtoi.c' object='test_atoi_strtoi-test_atoi_strtoi.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtoi_CFLAGS) $(CFLAGS) -c -o test_atoi_strtoi-test_atoi_strtoi.obj `if test -f 'test_atoi_strtoi.c'; then $(CYGPATH_W) 'test_atoi_strtoi.c'; else $(CYGPATH_W) '$(srcdir)/test_atoi_strtoi.c'; fi` + +../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.o: ../../lib/atoi/strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtou_noneg_CFLAGS) $(CFLAGS) -MT ../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.o -MD -MP -MF ../../lib/atoi/$(DEPDIR)/test_atoi_strtou_noneg-strtou_noneg.Tpo -c -o ../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.o `test -f '../../lib/atoi/strtou_noneg.c' || echo '$(srcdir)/'`../../lib/atoi/strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/atoi/$(DEPDIR)/test_atoi_strtou_noneg-strtou_noneg.Tpo ../../lib/atoi/$(DEPDIR)/test_atoi_strtou_noneg-strtou_noneg.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/atoi/strtou_noneg.c' object='../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtou_noneg_CFLAGS) $(CFLAGS) -c -o ../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.o `test -f '../../lib/atoi/strtou_noneg.c' || echo '$(srcdir)/'`../../lib/atoi/strtou_noneg.c + +../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.obj: ../../lib/atoi/strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtou_noneg_CFLAGS) $(CFLAGS) -MT ../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.obj -MD -MP -MF ../../lib/atoi/$(DEPDIR)/test_atoi_strtou_noneg-strtou_noneg.Tpo -c -o ../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.obj `if test -f '../../lib/atoi/strtou_noneg.c'; then $(CYGPATH_W) '../../lib/atoi/strtou_noneg.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/atoi/strtou_noneg.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/atoi/$(DEPDIR)/test_atoi_strtou_noneg-strtou_noneg.Tpo ../../lib/atoi/$(DEPDIR)/test_atoi_strtou_noneg-strtou_noneg.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/atoi/strtou_noneg.c' object='../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtou_noneg_CFLAGS) $(CFLAGS) -c -o ../../lib/atoi/test_atoi_strtou_noneg-strtou_noneg.obj `if test -f '../../lib/atoi/strtou_noneg.c'; then $(CYGPATH_W) '../../lib/atoi/strtou_noneg.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/atoi/strtou_noneg.c'; fi` + +test_atoi_strtou_noneg-test_atoi_strtou_noneg.o: test_atoi_strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtou_noneg_CFLAGS) $(CFLAGS) -MT test_atoi_strtou_noneg-test_atoi_strtou_noneg.o -MD -MP -MF $(DEPDIR)/test_atoi_strtou_noneg-test_atoi_strtou_noneg.Tpo -c -o test_atoi_strtou_noneg-test_atoi_strtou_noneg.o `test -f 'test_atoi_strtou_noneg.c' || echo '$(srcdir)/'`test_atoi_strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_atoi_strtou_noneg-test_atoi_strtou_noneg.Tpo $(DEPDIR)/test_atoi_strtou_noneg-test_atoi_strtou_noneg.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_atoi_strtou_noneg.c' object='test_atoi_strtou_noneg-test_atoi_strtou_noneg.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtou_noneg_CFLAGS) $(CFLAGS) -c -o test_atoi_strtou_noneg-test_atoi_strtou_noneg.o `test -f 'test_atoi_strtou_noneg.c' || echo '$(srcdir)/'`test_atoi_strtou_noneg.c + +test_atoi_strtou_noneg-test_atoi_strtou_noneg.obj: test_atoi_strtou_noneg.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtou_noneg_CFLAGS) $(CFLAGS) -MT test_atoi_strtou_noneg-test_atoi_strtou_noneg.obj -MD -MP -MF $(DEPDIR)/test_atoi_strtou_noneg-test_atoi_strtou_noneg.Tpo -c -o test_atoi_strtou_noneg-test_atoi_strtou_noneg.obj `if test -f 'test_atoi_strtou_noneg.c'; then $(CYGPATH_W) 'test_atoi_strtou_noneg.c'; else $(CYGPATH_W) '$(srcdir)/test_atoi_strtou_noneg.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_atoi_strtou_noneg-test_atoi_strtou_noneg.Tpo $(DEPDIR)/test_atoi_strtou_noneg-test_atoi_strtou_noneg.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_atoi_strtou_noneg.c' object='test_atoi_strtou_noneg-test_atoi_strtou_noneg.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_atoi_strtou_noneg_CFLAGS) $(CFLAGS) -c -o test_atoi_strtou_noneg-test_atoi_strtou_noneg.obj `if test -f 'test_atoi_strtou_noneg.c'; then $(CYGPATH_W) 'test_atoi_strtou_noneg.c'; else $(CYGPATH_W) '$(srcdir)/test_atoi_strtou_noneg.c'; fi` + +../../lib/test_chkname-chkname.o: ../../lib/chkname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_chkname_CFLAGS) $(CFLAGS) -MT ../../lib/test_chkname-chkname.o -MD -MP -MF ../../lib/$(DEPDIR)/test_chkname-chkname.Tpo -c -o ../../lib/test_chkname-chkname.o `test -f '../../lib/chkname.c' || echo '$(srcdir)/'`../../lib/chkname.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/test_chkname-chkname.Tpo ../../lib/$(DEPDIR)/test_chkname-chkname.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/chkname.c' object='../../lib/test_chkname-chkname.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_chkname_CFLAGS) $(CFLAGS) -c -o ../../lib/test_chkname-chkname.o `test -f '../../lib/chkname.c' || echo '$(srcdir)/'`../../lib/chkname.c + +../../lib/test_chkname-chkname.obj: ../../lib/chkname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_chkname_CFLAGS) $(CFLAGS) -MT ../../lib/test_chkname-chkname.obj -MD -MP -MF ../../lib/$(DEPDIR)/test_chkname-chkname.Tpo -c -o ../../lib/test_chkname-chkname.obj `if test -f '../../lib/chkname.c'; then $(CYGPATH_W) '../../lib/chkname.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/chkname.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/test_chkname-chkname.Tpo ../../lib/$(DEPDIR)/test_chkname-chkname.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/chkname.c' object='../../lib/test_chkname-chkname.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_chkname_CFLAGS) $(CFLAGS) -c -o ../../lib/test_chkname-chkname.obj `if test -f '../../lib/chkname.c'; then $(CYGPATH_W) '../../lib/chkname.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/chkname.c'; fi` + +test_chkname-test_chkname.o: test_chkname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_chkname_CFLAGS) $(CFLAGS) -MT test_chkname-test_chkname.o -MD -MP -MF $(DEPDIR)/test_chkname-test_chkname.Tpo -c -o test_chkname-test_chkname.o `test -f 'test_chkname.c' || echo '$(srcdir)/'`test_chkname.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_chkname-test_chkname.Tpo $(DEPDIR)/test_chkname-test_chkname.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_chkname.c' object='test_chkname-test_chkname.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_chkname_CFLAGS) $(CFLAGS) -c -o test_chkname-test_chkname.o `test -f 'test_chkname.c' || echo '$(srcdir)/'`test_chkname.c + +test_chkname-test_chkname.obj: test_chkname.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_chkname_CFLAGS) $(CFLAGS) -MT test_chkname-test_chkname.obj -MD -MP -MF $(DEPDIR)/test_chkname-test_chkname.Tpo -c -o test_chkname-test_chkname.obj `if test -f 'test_chkname.c'; then $(CYGPATH_W) 'test_chkname.c'; else $(CYGPATH_W) '$(srcdir)/test_chkname.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_chkname-test_chkname.Tpo $(DEPDIR)/test_chkname-test_chkname.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_chkname.c' object='test_chkname-test_chkname.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_chkname_CFLAGS) $(CFLAGS) -c -o test_chkname-test_chkname.obj `if test -f 'test_chkname.c'; then $(CYGPATH_W) 'test_chkname.c'; else $(CYGPATH_W) '$(srcdir)/test_chkname.c'; fi` + +../../lib/test_logind-logind.o: ../../lib/logind.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_logind_CFLAGS) $(CFLAGS) -MT ../../lib/test_logind-logind.o -MD -MP -MF ../../lib/$(DEPDIR)/test_logind-logind.Tpo -c -o ../../lib/test_logind-logind.o `test -f '../../lib/logind.c' || echo '$(srcdir)/'`../../lib/logind.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/test_logind-logind.Tpo ../../lib/$(DEPDIR)/test_logind-logind.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/logind.c' object='../../lib/test_logind-logind.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_logind_CFLAGS) $(CFLAGS) -c -o ../../lib/test_logind-logind.o `test -f '../../lib/logind.c' || echo '$(srcdir)/'`../../lib/logind.c + +../../lib/test_logind-logind.obj: ../../lib/logind.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_logind_CFLAGS) $(CFLAGS) -MT ../../lib/test_logind-logind.obj -MD -MP -MF ../../lib/$(DEPDIR)/test_logind-logind.Tpo -c -o ../../lib/test_logind-logind.obj `if test -f '../../lib/logind.c'; then $(CYGPATH_W) '../../lib/logind.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/logind.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/test_logind-logind.Tpo ../../lib/$(DEPDIR)/test_logind-logind.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/logind.c' object='../../lib/test_logind-logind.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_logind_CFLAGS) $(CFLAGS) -c -o ../../lib/test_logind-logind.obj `if test -f '../../lib/logind.c'; then $(CYGPATH_W) '../../lib/logind.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/logind.c'; fi` + +test_logind-test_logind.o: test_logind.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_logind_CFLAGS) $(CFLAGS) -MT test_logind-test_logind.o -MD -MP -MF $(DEPDIR)/test_logind-test_logind.Tpo -c -o test_logind-test_logind.o `test -f 'test_logind.c' || echo '$(srcdir)/'`test_logind.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_logind-test_logind.Tpo $(DEPDIR)/test_logind-test_logind.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_logind.c' object='test_logind-test_logind.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_logind_CFLAGS) $(CFLAGS) -c -o test_logind-test_logind.o `test -f 'test_logind.c' || echo '$(srcdir)/'`test_logind.c + +test_logind-test_logind.obj: test_logind.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_logind_CFLAGS) $(CFLAGS) -MT test_logind-test_logind.obj -MD -MP -MF $(DEPDIR)/test_logind-test_logind.Tpo -c -o test_logind-test_logind.obj `if test -f 'test_logind.c'; then $(CYGPATH_W) 'test_logind.c'; else $(CYGPATH_W) '$(srcdir)/test_logind.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_logind-test_logind.Tpo $(DEPDIR)/test_logind-test_logind.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_logind.c' object='test_logind-test_logind.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_logind_CFLAGS) $(CFLAGS) -c -o test_logind-test_logind.obj `if test -f 'test_logind.c'; then $(CYGPATH_W) 'test_logind.c'; else $(CYGPATH_W) '$(srcdir)/test_logind.c'; fi` + +../../lib/string/test_sprintf-sprintf.o: ../../lib/string/sprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_sprintf-sprintf.o -MD -MP -MF ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Tpo -c -o ../../lib/string/test_sprintf-sprintf.o `test -f '../../lib/string/sprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Tpo ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf.c' object='../../lib/string/test_sprintf-sprintf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_sprintf-sprintf.o `test -f '../../lib/string/sprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf.c + +../../lib/string/test_sprintf-sprintf.obj: ../../lib/string/sprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_sprintf-sprintf.obj -MD -MP -MF ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Tpo -c -o ../../lib/string/test_sprintf-sprintf.obj `if test -f '../../lib/string/sprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Tpo ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf.c' object='../../lib/string/test_sprintf-sprintf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_sprintf-sprintf.obj `if test -f '../../lib/string/sprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf.c'; fi` + +test_sprintf-test_sprintf.o: test_sprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -MT test_sprintf-test_sprintf.o -MD -MP -MF $(DEPDIR)/test_sprintf-test_sprintf.Tpo -c -o test_sprintf-test_sprintf.o `test -f 'test_sprintf.c' || echo '$(srcdir)/'`test_sprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_sprintf-test_sprintf.Tpo $(DEPDIR)/test_sprintf-test_sprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_sprintf.c' object='test_sprintf-test_sprintf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -c -o test_sprintf-test_sprintf.o `test -f 'test_sprintf.c' || echo '$(srcdir)/'`test_sprintf.c + +test_sprintf-test_sprintf.obj: test_sprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -MT test_sprintf-test_sprintf.obj -MD -MP -MF $(DEPDIR)/test_sprintf-test_sprintf.Tpo -c -o test_sprintf-test_sprintf.obj `if test -f 'test_sprintf.c'; then $(CYGPATH_W) 'test_sprintf.c'; else $(CYGPATH_W) '$(srcdir)/test_sprintf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_sprintf-test_sprintf.Tpo $(DEPDIR)/test_sprintf-test_sprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_sprintf.c' object='test_sprintf-test_sprintf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_sprintf_CFLAGS) $(CFLAGS) -c -o test_sprintf-test_sprintf.obj `if test -f 'test_sprintf.c'; then $(CYGPATH_W) 'test_sprintf.c'; else $(CYGPATH_W) '$(srcdir)/test_sprintf.c'; fi` + +test_strncpy-test_strncpy.o: test_strncpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strncpy_CFLAGS) $(CFLAGS) -MT test_strncpy-test_strncpy.o -MD -MP -MF $(DEPDIR)/test_strncpy-test_strncpy.Tpo -c -o test_strncpy-test_strncpy.o `test -f 'test_strncpy.c' || echo '$(srcdir)/'`test_strncpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_strncpy-test_strncpy.Tpo $(DEPDIR)/test_strncpy-test_strncpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_strncpy.c' object='test_strncpy-test_strncpy.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strncpy_CFLAGS) $(CFLAGS) -c -o test_strncpy-test_strncpy.o `test -f 'test_strncpy.c' || echo '$(srcdir)/'`test_strncpy.c + +test_strncpy-test_strncpy.obj: test_strncpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strncpy_CFLAGS) $(CFLAGS) -MT test_strncpy-test_strncpy.obj -MD -MP -MF $(DEPDIR)/test_strncpy-test_strncpy.Tpo -c -o test_strncpy-test_strncpy.obj `if test -f 'test_strncpy.c'; then $(CYGPATH_W) 'test_strncpy.c'; else $(CYGPATH_W) '$(srcdir)/test_strncpy.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_strncpy-test_strncpy.Tpo $(DEPDIR)/test_strncpy-test_strncpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_strncpy.c' object='test_strncpy-test_strncpy.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strncpy_CFLAGS) $(CFLAGS) -c -o test_strncpy-test_strncpy.obj `if test -f 'test_strncpy.c'; then $(CYGPATH_W) 'test_strncpy.c'; else $(CYGPATH_W) '$(srcdir)/test_strncpy.c'; fi` + +../../lib/string/test_strtcpy-strtcpy.o: ../../lib/string/strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_strtcpy-strtcpy.o -MD -MP -MF ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Tpo -c -o ../../lib/string/test_strtcpy-strtcpy.o `test -f '../../lib/string/strtcpy.c' || echo '$(srcdir)/'`../../lib/string/strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Tpo ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/strtcpy.c' object='../../lib/string/test_strtcpy-strtcpy.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_strtcpy-strtcpy.o `test -f '../../lib/string/strtcpy.c' || echo '$(srcdir)/'`../../lib/string/strtcpy.c + +../../lib/string/test_strtcpy-strtcpy.obj: ../../lib/string/strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_strtcpy-strtcpy.obj -MD -MP -MF ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Tpo -c -o ../../lib/string/test_strtcpy-strtcpy.obj `if test -f '../../lib/string/strtcpy.c'; then $(CYGPATH_W) '../../lib/string/strtcpy.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/strtcpy.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Tpo ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/strtcpy.c' object='../../lib/string/test_strtcpy-strtcpy.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_strtcpy-strtcpy.obj `if test -f '../../lib/string/strtcpy.c'; then $(CYGPATH_W) '../../lib/string/strtcpy.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/strtcpy.c'; fi` + +test_strtcpy-test_strtcpy.o: test_strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -MT test_strtcpy-test_strtcpy.o -MD -MP -MF $(DEPDIR)/test_strtcpy-test_strtcpy.Tpo -c -o test_strtcpy-test_strtcpy.o `test -f 'test_strtcpy.c' || echo '$(srcdir)/'`test_strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_strtcpy-test_strtcpy.Tpo $(DEPDIR)/test_strtcpy-test_strtcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_strtcpy.c' object='test_strtcpy-test_strtcpy.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -c -o test_strtcpy-test_strtcpy.o `test -f 'test_strtcpy.c' || echo '$(srcdir)/'`test_strtcpy.c + +test_strtcpy-test_strtcpy.obj: test_strtcpy.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -MT test_strtcpy-test_strtcpy.obj -MD -MP -MF $(DEPDIR)/test_strtcpy-test_strtcpy.Tpo -c -o test_strtcpy-test_strtcpy.obj `if test -f 'test_strtcpy.c'; then $(CYGPATH_W) 'test_strtcpy.c'; else $(CYGPATH_W) '$(srcdir)/test_strtcpy.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_strtcpy-test_strtcpy.Tpo $(DEPDIR)/test_strtcpy-test_strtcpy.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_strtcpy.c' object='test_strtcpy-test_strtcpy.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_strtcpy_CFLAGS) $(CFLAGS) -c -o test_strtcpy-test_strtcpy.obj `if test -f 'test_strtcpy.c'; then $(CYGPATH_W) 'test_strtcpy.c'; else $(CYGPATH_W) '$(srcdir)/test_strtcpy.c'; fi` + +../../lib/string/test_xasprintf-sprintf.o: ../../lib/string/sprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_xasprintf-sprintf.o -MD -MP -MF ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Tpo -c -o ../../lib/string/test_xasprintf-sprintf.o `test -f '../../lib/string/sprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Tpo ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf.c' object='../../lib/string/test_xasprintf-sprintf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_xasprintf-sprintf.o `test -f '../../lib/string/sprintf.c' || echo '$(srcdir)/'`../../lib/string/sprintf.c + +../../lib/string/test_xasprintf-sprintf.obj: ../../lib/string/sprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -MT ../../lib/string/test_xasprintf-sprintf.obj -MD -MP -MF ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Tpo -c -o ../../lib/string/test_xasprintf-sprintf.obj `if test -f '../../lib/string/sprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Tpo ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/string/sprintf.c' object='../../lib/string/test_xasprintf-sprintf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -c -o ../../lib/string/test_xasprintf-sprintf.obj `if test -f '../../lib/string/sprintf.c'; then $(CYGPATH_W) '../../lib/string/sprintf.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/string/sprintf.c'; fi` + +test_xasprintf-test_xasprintf.o: test_xasprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -MT test_xasprintf-test_xasprintf.o -MD -MP -MF $(DEPDIR)/test_xasprintf-test_xasprintf.Tpo -c -o test_xasprintf-test_xasprintf.o `test -f 'test_xasprintf.c' || echo '$(srcdir)/'`test_xasprintf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_xasprintf-test_xasprintf.Tpo $(DEPDIR)/test_xasprintf-test_xasprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_xasprintf.c' object='test_xasprintf-test_xasprintf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -c -o test_xasprintf-test_xasprintf.o `test -f 'test_xasprintf.c' || echo '$(srcdir)/'`test_xasprintf.c + +test_xasprintf-test_xasprintf.obj: test_xasprintf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -MT test_xasprintf-test_xasprintf.obj -MD -MP -MF $(DEPDIR)/test_xasprintf-test_xasprintf.Tpo -c -o test_xasprintf-test_xasprintf.obj `if test -f 'test_xasprintf.c'; then $(CYGPATH_W) 'test_xasprintf.c'; else $(CYGPATH_W) '$(srcdir)/test_xasprintf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_xasprintf-test_xasprintf.Tpo $(DEPDIR)/test_xasprintf-test_xasprintf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_xasprintf.c' object='test_xasprintf-test_xasprintf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_xasprintf_CFLAGS) $(CFLAGS) -c -o test_xasprintf-test_xasprintf.obj `if test -f 'test_xasprintf.c'; then $(CYGPATH_W) 'test_xasprintf.c'; else $(CYGPATH_W) '$(srcdir)/test_xasprintf.c'; fi` + +test_zustr2stp-test_zustr2stp.o: test_zustr2stp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_zustr2stp_CFLAGS) $(CFLAGS) -MT test_zustr2stp-test_zustr2stp.o -MD -MP -MF $(DEPDIR)/test_zustr2stp-test_zustr2stp.Tpo -c -o test_zustr2stp-test_zustr2stp.o `test -f 'test_zustr2stp.c' || echo '$(srcdir)/'`test_zustr2stp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_zustr2stp-test_zustr2stp.Tpo $(DEPDIR)/test_zustr2stp-test_zustr2stp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_zustr2stp.c' object='test_zustr2stp-test_zustr2stp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_zustr2stp_CFLAGS) $(CFLAGS) -c -o test_zustr2stp-test_zustr2stp.o `test -f 'test_zustr2stp.c' || echo '$(srcdir)/'`test_zustr2stp.c + +test_zustr2stp-test_zustr2stp.obj: test_zustr2stp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_zustr2stp_CFLAGS) $(CFLAGS) -MT test_zustr2stp-test_zustr2stp.obj -MD -MP -MF $(DEPDIR)/test_zustr2stp-test_zustr2stp.Tpo -c -o test_zustr2stp-test_zustr2stp.obj `if test -f 'test_zustr2stp.c'; then $(CYGPATH_W) 'test_zustr2stp.c'; else $(CYGPATH_W) '$(srcdir)/test_zustr2stp.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_zustr2stp-test_zustr2stp.Tpo $(DEPDIR)/test_zustr2stp-test_zustr2stp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test_zustr2stp.c' object='test_zustr2stp-test_zustr2stp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_zustr2stp_CFLAGS) $(CFLAGS) -c -o test_zustr2stp-test_zustr2stp.obj `if test -f 'test_zustr2stp.c'; then $(CYGPATH_W) 'test_zustr2stp.c'; else $(CYGPATH_W) '$(srcdir)/test_zustr2stp.c'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +# Recover from deleted '.trs' file; this should ensure that +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create +# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells +# to avoid problems with "make -n". +.log.trs: + rm -f $< $@ + $(MAKE) $(AM_MAKEFLAGS) $< + +# Leading 'am--fnord' is there to ensure the list of targets does not +# expand to empty, as could happen e.g. with make check TESTS=''. +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) +am--force-recheck: + @: + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__set_TESTS_bases); \ + am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ + redo_bases=`for i in $$bases; do \ + am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ + done`; \ + if test -n "$$redo_bases"; then \ + redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ + redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ + if $(am__make_dryrun); then :; else \ + rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ + fi; \ + fi; \ + if test -n "$$am__remaking_logs"; then \ + echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ + "recursion detected" >&2; \ + elif test -n "$$redo_logs"; then \ + am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ + fi; \ + if $(am__make_dryrun); then :; else \ + st=0; \ + errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ + for i in $$redo_bases; do \ + test -f $$i.trs && test -r $$i.trs \ + || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ + test -f $$i.log && test -r $$i.log \ + || { echo "$$errmsg $$i.log" >&2; st=1; }; \ + done; \ + test $$st -eq 0 || exit 1; \ + fi + @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ + ws='[ ]'; \ + results=`for b in $$bases; do echo $$b.trs; done`; \ + test -n "$$results" || results=/dev/null; \ + all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ + pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ + fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ + skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ + xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ + xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ + error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ + if test `expr $$fail + $$xpass + $$error` -eq 0; then \ + success=true; \ + else \ + success=false; \ + fi; \ + br='==================='; br=$$br$$br$$br$$br; \ + result_count () \ + { \ + if test x"$$1" = x"--maybe-color"; then \ + maybe_colorize=yes; \ + elif test x"$$1" = x"--no-color"; then \ + maybe_colorize=no; \ + else \ + echo "$@: invalid 'result_count' usage" >&2; exit 4; \ + fi; \ + shift; \ + desc=$$1 count=$$2; \ + if test $$maybe_colorize = yes && test $$count -gt 0; then \ + color_start=$$3 color_end=$$std; \ + else \ + color_start= color_end=; \ + fi; \ + echo "$${color_start}# $$desc $$count$${color_end}"; \ + }; \ + create_testsuite_report () \ + { \ + result_count $$1 "TOTAL:" $$all "$$brg"; \ + result_count $$1 "PASS: " $$pass "$$grn"; \ + result_count $$1 "SKIP: " $$skip "$$blu"; \ + result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ + result_count $$1 "FAIL: " $$fail "$$red"; \ + result_count $$1 "XPASS:" $$xpass "$$red"; \ + result_count $$1 "ERROR:" $$error "$$mgn"; \ + }; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + create_testsuite_report --no-color; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for b in $$bases; do echo $$b; done \ + | $(am__create_global_log); \ + } >$(TEST_SUITE_LOG).tmp || exit 1; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if $$success; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ + if $$success; then :; else \ + echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ + fi; \ + echo "$$col$$br$$std"; \ + fi; \ + $$success || exit 1 + +check-TESTS: $(check_PROGRAMS) + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + trs_list=`for i in $$bases; do echo $$i.trs; done`; \ + log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + exit $$?; +recheck: all $(check_PROGRAMS) + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + bases=`for i in $$bases; do echo $$i; done \ + | $(am__list_recheck_tests)` || exit 1; \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + log_list=`echo $$log_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +test_adds.log: test_adds$(EXEEXT) + @p='test_adds$(EXEEXT)'; \ + b='test_adds'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test_atoi_strtoi.log: test_atoi_strtoi$(EXEEXT) + @p='test_atoi_strtoi$(EXEEXT)'; \ + b='test_atoi_strtoi'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test_atoi_strtou_noneg.log: test_atoi_strtou_noneg$(EXEEXT) + @p='test_atoi_strtou_noneg$(EXEEXT)'; \ + b='test_atoi_strtou_noneg'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test_chkname.log: test_chkname$(EXEEXT) + @p='test_chkname$(EXEEXT)'; \ + b='test_chkname'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test_sprintf.log: test_sprintf$(EXEEXT) + @p='test_sprintf$(EXEEXT)'; \ + b='test_sprintf'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test_strncpy.log: test_strncpy$(EXEEXT) + @p='test_strncpy$(EXEEXT)'; \ + b='test_strncpy'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test_strtcpy.log: test_strtcpy$(EXEEXT) + @p='test_strtcpy$(EXEEXT)'; \ + b='test_strtcpy'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test_xasprintf.log: test_xasprintf$(EXEEXT) + @p='test_xasprintf$(EXEEXT)'; \ + b='test_xasprintf'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test_zustr2stp.log: test_zustr2stp$(EXEEXT) + @p='test_zustr2stp$(EXEEXT)'; \ + b='test_zustr2stp'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test_logind.log: test_logind$(EXEEXT) + @p='test_logind$(EXEEXT)'; \ + b='test_logind'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +.test.log: + @p='$<'; \ + $(am__set_b); \ + $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +@am__EXEEXT_TRUE@.test$(EXEEXT).log: +@am__EXEEXT_TRUE@ @p='$<'; \ +@am__EXEEXT_TRUE@ $(am__set_b); \ +@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ +@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ +@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ +@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) +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 + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +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: + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + +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) + -rm -f ../../lib/$(DEPDIR)/$(am__dirstamp) + -rm -f ../../lib/$(am__dirstamp) + -rm -f ../../lib/atoi/$(DEPDIR)/$(am__dirstamp) + -rm -f ../../lib/atoi/$(am__dirstamp) + -rm -f ../../lib/string/$(DEPDIR)/$(am__dirstamp) + -rm -f ../../lib/string/$(am__dirstamp) + +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-checkPROGRAMS clean-generic clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ../../lib/$(DEPDIR)/test_adds-adds.Po + -rm -f ../../lib/$(DEPDIR)/test_chkname-chkname.Po + -rm -f ../../lib/$(DEPDIR)/test_logind-logind.Po + -rm -f ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po + -rm -f ../../lib/atoi/$(DEPDIR)/test_atoi_strtou_noneg-strtou_noneg.Po + -rm -f ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po + -rm -f ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po + -rm -f ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po + -rm -f ./$(DEPDIR)/test_adds-test_adds.Po + -rm -f ./$(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Po + -rm -f ./$(DEPDIR)/test_atoi_strtou_noneg-test_atoi_strtou_noneg.Po + -rm -f ./$(DEPDIR)/test_chkname-test_chkname.Po + -rm -f ./$(DEPDIR)/test_logind-test_logind.Po + -rm -f ./$(DEPDIR)/test_sprintf-test_sprintf.Po + -rm -f ./$(DEPDIR)/test_strncpy-test_strncpy.Po + -rm -f ./$(DEPDIR)/test_strtcpy-test_strtcpy.Po + -rm -f ./$(DEPDIR)/test_xasprintf-test_xasprintf.Po + -rm -f ./$(DEPDIR)/test_zustr2stp-test_zustr2stp.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +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 ../../lib/$(DEPDIR)/test_adds-adds.Po + -rm -f ../../lib/$(DEPDIR)/test_chkname-chkname.Po + -rm -f ../../lib/$(DEPDIR)/test_logind-logind.Po + -rm -f ../../lib/atoi/$(DEPDIR)/test_atoi_strtoi-strtoi.Po + -rm -f ../../lib/atoi/$(DEPDIR)/test_atoi_strtou_noneg-strtou_noneg.Po + -rm -f ../../lib/string/$(DEPDIR)/test_sprintf-sprintf.Po + -rm -f ../../lib/string/$(DEPDIR)/test_strtcpy-strtcpy.Po + -rm -f ../../lib/string/$(DEPDIR)/test_xasprintf-sprintf.Po + -rm -f ./$(DEPDIR)/test_adds-test_adds.Po + -rm -f ./$(DEPDIR)/test_atoi_strtoi-test_atoi_strtoi.Po + -rm -f ./$(DEPDIR)/test_atoi_strtou_noneg-test_atoi_strtou_noneg.Po + -rm -f ./$(DEPDIR)/test_chkname-test_chkname.Po + -rm -f ./$(DEPDIR)/test_logind-test_logind.Po + -rm -f ./$(DEPDIR)/test_sprintf-test_sprintf.Po + -rm -f ./$(DEPDIR)/test_strncpy-test_strncpy.Po + -rm -f ./$(DEPDIR)/test_strtcpy-test_strtcpy.Po + -rm -f ./$(DEPDIR)/test_xasprintf-test_xasprintf.Po + -rm -f ./$(DEPDIR)/test_zustr2stp-test_zustr2stp.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: check-am install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ + check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ + cscopelist-am ctags ctags-am distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags 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-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + recheck tags 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/tests/unit/test_adds.c b/tests/unit/test_adds.c new file mode 100644 index 00000000..fdc671f5 --- /dev/null +++ b/tests/unit/test_adds.c @@ -0,0 +1,105 @@ +// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include // Required by +#include // Required by +#include // Required by +#include // Required by +#include + +#include "adds.h" + + +static void test_addsl_2_ok(void **state); +static void test_addsl_2_underflow(void **state); +static void test_addsl_2_overflow(void **state); +static void test_addsl_3_ok(void **state); +static void test_addsl_3_underflow(void **state); +static void test_addsl_3_overflow(void **state); +static void test_addsl_5_ok(void **state); + + +int +main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_addsl_2_ok), + cmocka_unit_test(test_addsl_2_underflow), + cmocka_unit_test(test_addsl_2_overflow), + cmocka_unit_test(test_addsl_3_ok), + cmocka_unit_test(test_addsl_3_underflow), + cmocka_unit_test(test_addsl_3_overflow), + cmocka_unit_test(test_addsl_5_ok), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} + + +static void +test_addsl_2_ok(void **state) +{ + assert_true(addsl(1, 3) == 1 + 3); + assert_true(addsl(-4321, 7) == -4321 + 7); + assert_true(addsl(1, 1) == 1 + 1); + assert_true(addsl(-1, -2) == -1 - 2); + assert_true(addsl(LONG_MAX, -1) == LONG_MAX - 1); + assert_true(addsl(LONG_MIN, 1) == LONG_MIN + 1); + assert_true(addsl(LONG_MIN, LONG_MAX) == LONG_MIN + LONG_MAX); + assert_true(addsl(0, 0) == 0); +} + + +static void +test_addsl_2_underflow(void **state) +{ + assert_true(addsl(LONG_MIN, -1) == LONG_MIN); + assert_true(addsl(LONG_MIN + 3, -7) == LONG_MIN); + assert_true(addsl(LONG_MIN, LONG_MIN) == LONG_MIN); +} + + +static void +test_addsl_2_overflow(void **state) +{ + assert_true(addsl(LONG_MAX, 1) == LONG_MAX); + assert_true(addsl(LONG_MAX - 3, 7) == LONG_MAX); + assert_true(addsl(LONG_MAX, LONG_MAX) == LONG_MAX); +} + + +static void +test_addsl_3_ok(void **state) +{ + assert_true(addsl(1, 2, 3) == 1 + 2 + 3); + assert_true(addsl(LONG_MIN, -3, 4) == LONG_MIN + 4 - 3); + assert_true(addsl(LONG_MAX, LONG_MAX, LONG_MIN) + == LONG_MAX + LONG_MIN + LONG_MAX); +} + + +static void +test_addsl_3_underflow(void **state) +{ + assert_true(addsl(LONG_MIN, 2, -3) == LONG_MIN); + assert_true(addsl(LONG_MIN, -1, 0) == LONG_MIN); +} + + +static void +test_addsl_3_overflow(void **state) +{ + assert_true(addsl(LONG_MAX, -1, 2) == LONG_MAX); + assert_true(addsl(LONG_MAX, +1, 0) == LONG_MAX); + assert_true(addsl(LONG_MAX, LONG_MAX, 0)== LONG_MAX); +} + + +static void +test_addsl_5_ok(void **state) +{ + assert_true(addsl(LONG_MAX, LONG_MAX, LONG_MIN, LONG_MIN, 44) == 42); +} diff --git a/tests/unit/test_atoi_strtoi.c b/tests/unit/test_atoi_strtoi.c new file mode 100644 index 00000000..535b6ab7 --- /dev/null +++ b/tests/unit/test_atoi_strtoi.c @@ -0,0 +1,157 @@ +// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include +#include +#include +#include +#include + +#include // Required by +#include // Required by +#include // Required by +#include // Required by +#include + +#include "atoi/strtoi.h" +#include "atoi/strtou_noneg.h" + + +static void test_strtoi(void **state); +static void test_strtou(void **state); +static void test_strtou_noneg(void **state); + + +int +main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_strtoi), + cmocka_unit_test(test_strtou), + cmocka_unit_test(test_strtou_noneg), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} + + +static void +test_strtoi(void **state) +{ + int status; + char *end; + + errno = 0; + assert_true(strtoi_("42", NULL, -1, 1, 2, &status) == 1); + assert_true(status == EINVAL); + + assert_true(strtoi_("40", &end, 5, INTMAX_MIN, INTMAX_MAX, &status) == 20); + assert_true(status == 0); + assert_true(strcmp(end, "") == 0); + + assert_true(strtoi_("-40", &end, 0, INTMAX_MIN, INTMAX_MAX, &status) == -40); + assert_true(status == 0); + assert_true(strcmp(end, "") == 0); + + assert_true(strtoi_("z", &end, 0, INTMAX_MIN, INTMAX_MAX, &status) == 0); + assert_true(status == ECANCELED); + assert_true(strcmp(end, "z") == 0); + + assert_true(strtoi_(" 5", &end, 0, 3, 4, &status) == 4); + assert_true(status == ERANGE); + assert_true(strcmp(end, "") == 0); + + assert_true(strtoi_("5z", &end, 0, INTMAX_MIN, INTMAX_MAX, &status) == 5); + assert_true(status == ENOTSUP); + assert_true(strcmp(end, "z") == 0); + + assert_true(strtoi_("5z", &end, 0, INTMAX_MIN, 4, &status) == 4); + assert_true(status == ERANGE); + assert_true(strcmp(end, "z") == 0); + + assert_true(errno == 0); +} + + +static void +test_strtou(void **state) +{ + int status; + char *end; + + errno = 0; + assert_true(strtou_("42", NULL, -1, 1, 2, &status) == 1); + assert_true(status == EINVAL); + + assert_true(strtou_("40", &end, 5, 0, UINTMAX_MAX, &status) == 20); + assert_true(status == 0); + assert_true(strcmp(end, "") == 0); + + assert_true(strtou_("-40", &end, 0, 0, UINTMAX_MAX, &status) == -40ull); + assert_true(status == 0); + assert_true(strcmp(end, "") == 0); + + assert_true(strtou_("z", &end, 0, 0, UINTMAX_MAX, &status) == 0); + assert_true(status == ECANCELED); + assert_true(strcmp(end, "z") == 0); + + assert_true(strtou_(" 5", &end, 0, 3, 4, &status) == 4); + assert_true(status == ERANGE); + assert_true(strcmp(end, "") == 0); + + assert_true(strtou_("5z", &end, 0, 0, UINTMAX_MAX, &status) == 5); + assert_true(status == ENOTSUP); + assert_true(strcmp(end, "z") == 0); + + assert_true(strtou_("5z", &end, 0, 0, 4, &status) == 4); + assert_true(status == ERANGE); + assert_true(strcmp(end, "z") == 0); + + assert_true(errno == 0); +} + + +static void +test_strtou_noneg(void **state) +{ + int status; + char *end; + + errno = 0; + assert_true(strtou_noneg("42", NULL, -1, 1, 2, &status) + == 1); + assert_true(status == EINVAL); + + assert_true(strtou_noneg("40", &end, 5, 0, UINTMAX_MAX, &status) + == 20); + assert_true(status == 0); + assert_true(strcmp(end, "") == 0); + + assert_true(strtou_noneg("-40", &end, 0, 2, UINTMAX_MAX, &status) + == 2); + assert_true(status == ERANGE); + assert_true(strcmp(end, "") == 0); + + assert_true(strtou_noneg("z", &end, 0, 0, UINTMAX_MAX, &status) + == 0); + assert_true(status == ECANCELED); + assert_true(strcmp(end, "z") == 0); + + assert_true(strtou_noneg(" 5", &end, 0, 3, 4, &status) + == 4); + assert_true(status == ERANGE); + assert_true(strcmp(end, "") == 0); + + assert_true(strtou_noneg("5z", &end, 0, 0, UINTMAX_MAX, &status) + == 5); + assert_true(status == ENOTSUP); + assert_true(strcmp(end, "z") == 0); + + assert_true(strtou_noneg("5z", &end, 0, 0, 4, &status) + == 4); + assert_true(status == ERANGE); + assert_true(strcmp(end, "z") == 0); + + assert_true(errno == 0); +} diff --git a/tests/unit/test_atoi_strtou_noneg.c b/tests/unit/test_atoi_strtou_noneg.c new file mode 100644 index 00000000..978bc0c4 --- /dev/null +++ b/tests/unit/test_atoi_strtou_noneg.c @@ -0,0 +1,76 @@ +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include +#include +#include +#include + +#include // Required by +#include // Required by +#include // Required by +#include // Required by +#include + +#include "atoi/strtou_noneg.h" + + +static void test_strtoul_noneg(void **state); +static void test_strtoull_noneg(void **state); + + +int +main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_strtoul_noneg), + cmocka_unit_test(test_strtoull_noneg), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} + + +static void +test_strtoul_noneg(void **state) +{ + errno = 0; + assert_true(strtoul_noneg("42", NULL, 0) == 42); + assert_true(errno == 0); + + assert_true(strtoul_noneg("-1", NULL, 0) == 0); + assert_true(errno == ERANGE); + errno = 0; + assert_true(strtoul_noneg("-3", NULL, 0) == 0); + assert_true(errno == ERANGE); + errno = 0; + assert_true(strtoul_noneg("-0xFFFFFFFFFFFFFFFF", NULL, 0) == 0); + assert_true(errno == ERANGE); + + errno = 0; + assert_true(strtoul_noneg("-0x10000000000000000", NULL, 0) == 0); + assert_true(errno == ERANGE); +} + + +static void +test_strtoull_noneg(void **state) +{ + errno = 0; + assert_true(strtoull_noneg("42", NULL, 0) == 42); + assert_true(errno == 0); + + assert_true(strtoull_noneg("-1", NULL, 0) == 0); + assert_true(errno == ERANGE); + errno = 0; + assert_true(strtoull_noneg("-3", NULL, 0) == 0); + assert_true(errno == ERANGE); + errno = 0; + assert_true(strtoull_noneg("-0xFFFFFFFFFFFFFFFF", NULL, 0) == 0); + assert_true(errno == ERANGE); + + errno = 0; + assert_true(strtoull_noneg("-0x10000000000000000", NULL, 0) == 0); + assert_true(errno == ERANGE); +} diff --git a/tests/unit/test_chkname.c b/tests/unit/test_chkname.c new file mode 100644 index 00000000..e0f9f84b --- /dev/null +++ b/tests/unit/test_chkname.c @@ -0,0 +1,149 @@ +/* + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include +#include +#include +#include +#include + +#include // Required by +#include // Required by +#include // Required by +#include // Required by +#include + +#include "alloc.h" +#include "chkname.h" + + +static void test_is_valid_user_name_ok(void **state); +static void test_is_valid_user_name_ok_dollar(void **state); +static void test_is_valid_user_name_nok_dash(void **state); +static void test_is_valid_user_name_nok_dir(void **state); +static void test_is_valid_user_name_nok_dollar(void **state); +static void test_is_valid_user_name_nok_empty(void **state); +static void test_is_valid_user_name_nok_numeric(void **state); +static void test_is_valid_user_name_nok_otherchars(void **state); +static void test_is_valid_user_name_long(void **state); + + +int +main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_is_valid_user_name_ok), + cmocka_unit_test(test_is_valid_user_name_ok_dollar), + cmocka_unit_test(test_is_valid_user_name_nok_dash), + cmocka_unit_test(test_is_valid_user_name_nok_dir), + cmocka_unit_test(test_is_valid_user_name_nok_dollar), + cmocka_unit_test(test_is_valid_user_name_nok_empty), + cmocka_unit_test(test_is_valid_user_name_nok_numeric), + cmocka_unit_test(test_is_valid_user_name_nok_otherchars), + cmocka_unit_test(test_is_valid_user_name_long), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} + + +static void +test_is_valid_user_name_ok(void **state) +{ + assert_true(is_valid_user_name("alx")); + assert_true(is_valid_user_name("u-ser")); + assert_true(is_valid_user_name("u")); + assert_true(is_valid_user_name("I")); + assert_true(is_valid_user_name("_")); + assert_true(is_valid_user_name("_.-")); + assert_true(is_valid_user_name(".007")); + assert_true(is_valid_user_name("0_0")); + assert_true(is_valid_user_name("some_longish_user_name_sHould_also_be_valid.wHY_not")); +} + + +static void +test_is_valid_user_name_ok_dollar(void **state) +{ + // Non-POSIX extension for Samba 3.x "add machine script". + assert_true(is_valid_user_name("dollar$")); + assert_true(is_valid_user_name("SSS$")); +} + + +static void +test_is_valid_user_name_nok_dash(void **state) +{ + assert_true(false == is_valid_user_name("-")); + assert_true(false == is_valid_user_name("-not-valid")); + assert_true(false == is_valid_user_name("--C")); +} + + +static void +test_is_valid_user_name_nok_dir(void **state) +{ + assert_true(false == is_valid_user_name(".")); + assert_true(false == is_valid_user_name("..")); +} + + +static void +test_is_valid_user_name_nok_dollar(void **state) +{ + assert_true(false == is_valid_user_name("$")); + assert_true(false == is_valid_user_name("$dollar")); + assert_true(false == is_valid_user_name("mo$ney")); + assert_true(false == is_valid_user_name("do$$ar")); + assert_true(false == is_valid_user_name("foo$bar$")); +} + + +static void +test_is_valid_user_name_nok_empty(void **state) +{ + assert_true(false == is_valid_user_name("")); +} + + +static void +test_is_valid_user_name_nok_numeric(void **state) +{ + assert_true(false == is_valid_user_name("6")); + assert_true(false == is_valid_user_name("42")); +} + + +static void +test_is_valid_user_name_nok_otherchars(void **state) +{ + assert_true(false == is_valid_user_name("no spaces")); + assert_true(false == is_valid_user_name("no,")); + assert_true(false == is_valid_user_name("no;")); + assert_true(false == is_valid_user_name("no:")); +} + + +static void +test_is_valid_user_name_long(void **state) +{ + size_t max; + char *name; + + max = sysconf(_SC_LOGIN_NAME_MAX); + name = MALLOC(max + 1, char); + assert_true(name != NULL); + + memset(name, '_', max); + + name[max] = '\0'; + assert_true(false == is_valid_user_name(name)); + + name[max - 1] = '\0'; + assert_true(is_valid_user_name(name)); + + free(name); +} diff --git a/tests/unit/test_logind.c b/tests/unit/test_logind.c new file mode 100644 index 00000000..f91782ce --- /dev/null +++ b/tests/unit/test_logind.c @@ -0,0 +1,69 @@ +/* + * SPDX-FileCopyrightText: 2023, Iker Pedrosa + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include +#include +#include +#include + +#include +#include +#include + +#include "prototypes.h" + +/*********************** + * WRAPPERS + **********************/ +struct passwd * +__wrap_prefix_getpwnam(uid_t uid) +{ + return (struct passwd*) mock(); +} + +int +__wrap_sd_uid_get_sessions(uid_t uid, int require_active, char ***sessions) +{ + return mock(); +} + +/*********************** + * TEST + **********************/ +static void test_active_sessions_count_return_ok(void **state) +{ + int count; + struct passwd *pw = malloc(sizeof(struct passwd)); + + will_return(__wrap_prefix_getpwnam, pw); + will_return(__wrap_sd_uid_get_sessions, 1); + + count = active_sessions_count("testuser", 0); + + assert_int_equal(count, 1); +} + +static void test_active_sessions_count_prefix_getpwnam_failure(void **state) +{ + int count; + struct passwd *pw = NULL; + + will_return(__wrap_prefix_getpwnam, pw); + + count = active_sessions_count("testuser", 0); + + assert_int_equal(count, 0); +} + +int main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_active_sessions_count_return_ok), + cmocka_unit_test(test_active_sessions_count_prefix_getpwnam_failure), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} diff --git a/tests/unit/test_sprintf.c b/tests/unit/test_sprintf.c new file mode 100644 index 00000000..bedcff6f --- /dev/null +++ b/tests/unit/test_sprintf.c @@ -0,0 +1,66 @@ +// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include +#include + +#include // Required by +#include // Required by +#include // Required by +#include // Required by +#include + +#include "sizeof.h" +#include "string/sprintf.h" + + +static void test_SNPRINTF_trunc(void **state); +static void test_SNPRINTF_ok(void **state); + + +int +main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_SNPRINTF_trunc), + cmocka_unit_test(test_SNPRINTF_ok), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} + + +static void +test_SNPRINTF_trunc(void **state) +{ + char buf[NITEMS("foo")]; + + // Test that we're not returning SIZE_MAX + assert_true(SNPRINTF(buf, "f%su", "oo") < 0); + assert_true(strcmp(buf, "foo") == 0); + + assert_true(SNPRINTF(buf, "barbaz") == -1); + assert_true(strcmp(buf, "bar") == 0); +} + + +static void +test_SNPRINTF_ok(void **state) +{ + char buf[NITEMS("foo")]; + + assert_true(SNPRINTF(buf, "%s", "foo") == strlen("foo")); + assert_true(strcmp(buf, "foo") == 0); + + assert_true(SNPRINTF(buf, "%do", 1) == strlen("1o")); + assert_true(strcmp(buf, "1o") == 0); + + assert_true(SNPRINTF(buf, "f") == strlen("f")); + assert_true(strcmp(buf, "f") == 0); + + assert_true(SNPRINTF(buf, "") == strlen("")); + assert_true(strcmp(buf, "") == 0); +} diff --git a/tests/unit/test_strncpy.c b/tests/unit/test_strncpy.c new file mode 100644 index 00000000..968765bb --- /dev/null +++ b/tests/unit/test_strncpy.c @@ -0,0 +1,85 @@ +/* + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include + +#include + +#include // Required by +#include // Required by +#include // Required by +#include // Required by +#include + +#include "sizeof.h" +#include "string/strncpy.h" + + +static void test_STRNCPY_trunc(void **state); +static void test_STRNCPY_fit(void **state); +static void test_STRNCPY_pad(void **state); + + +int +main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_STRNCPY_trunc), + cmocka_unit_test(test_STRNCPY_fit), + cmocka_unit_test(test_STRNCPY_pad), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} + + +static void +test_STRNCPY_trunc(void **state) +{ + char buf[3]; + + char src1[4] = {'f', 'o', 'o', 'o'}; + char res1[3] = {'f', 'o', 'o'}; + assert_true(memcmp(res1, STRNCPY(buf, src1), sizeof(buf)) == 0); + + char src2[5] = "barb"; + char res2[3] = {'b', 'a', 'r'}; + assert_true(memcmp(res2, STRNCPY(buf, src2), sizeof(buf)) == 0); +} + + +static void +test_STRNCPY_fit(void **state) +{ + char buf[3]; + + char src1[3] = {'b', 'a', 'z'}; + char res1[3] = {'b', 'a', 'z'}; + assert_true(memcmp(res1, STRNCPY(buf, src1), sizeof(buf)) == 0); + + char src2[4] = "qwe"; + char res2[3] = {'q', 'w', 'e'}; + assert_true(memcmp(res2, STRNCPY(buf, src2), sizeof(buf)) == 0); +} + + +static void +test_STRNCPY_pad(void **state) +{ + char buf[3]; + + char src1[3] = "as"; + char res1[3] = {'a', 's', 0}; + assert_true(memcmp(res1, STRNCPY(buf, src1), sizeof(buf)) == 0); + + char src2[3] = ""; + char res2[3] = {0, 0, 0}; + assert_true(memcmp(res2, STRNCPY(buf, src2), sizeof(buf)) == 0); + + char src3[3] = {'a', 0, 'b'}; + char res3[3] = {'a', 0, 0}; + assert_true(memcmp(res3, STRNCPY(buf, src3), sizeof(buf)) == 0); +} diff --git a/tests/unit/test_strtcpy.c b/tests/unit/test_strtcpy.c new file mode 100644 index 00000000..12351a53 --- /dev/null +++ b/tests/unit/test_strtcpy.c @@ -0,0 +1,67 @@ +/* + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include + +#include + +#include // Required by +#include // Required by +#include // Required by +#include // Required by +#include + +#include "sizeof.h" +#include "string/strtcpy.h" + + +static void test_STRTCPY_trunc(void **state); +static void test_STRTCPY_ok(void **state); + + +int +main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_STRTCPY_trunc), + cmocka_unit_test(test_STRTCPY_ok), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} + + +static void +test_STRTCPY_trunc(void **state) +{ + char buf[NITEMS("foo")]; + + // Test that we're not returning SIZE_MAX + assert_true(STRTCPY(buf, "fooo") < 0); + assert_string_equal(buf, "foo"); + + assert_int_equal(STRTCPY(buf, "barbaz"), -1); + assert_string_equal(buf, "bar"); +} + + +static void +test_STRTCPY_ok(void **state) +{ + char buf[NITEMS("foo")]; + + assert_int_equal(STRTCPY(buf, "foo"), strlen("foo")); + assert_string_equal(buf, "foo"); + + assert_int_equal(STRTCPY(buf, "fo"), strlen("fo")); + assert_string_equal(buf, "fo"); + + assert_int_equal(STRTCPY(buf, "f"), strlen("f")); + assert_string_equal(buf, "f"); + + assert_int_equal(STRTCPY(buf, ""), strlen("")); + assert_string_equal(buf, ""); +} diff --git a/tests/unit/test_xasprintf.c b/tests/unit/test_xasprintf.c new file mode 100644 index 00000000..4b5d0935 --- /dev/null +++ b/tests/unit/test_xasprintf.c @@ -0,0 +1,114 @@ +/* + * SPDX-FileCopyrightText: 2023, Alejandro Colomar + * SPDX-License-Identifier: BSD-3-Clause + */ + + +#include +#include +#include +#include + +#include // Required by +#include // Required by +#include // Required by +#include // Required by +#include + +#include "string/sprintf.h" + + +#define assert_unreachable() assert_true(0) + +#define XASPRINTF_CALLED (-36) +#define EXIT_CALLED (42) +#define TEST_OK (-6) + + +static jmp_buf jmpb; + + +/********************** + * WRAPPERS + **********************/ +int __real_vasprintf(char **restrict p, const char *restrict fmt, va_list ap); +int __wrap_vasprintf(char **restrict p, const char *restrict fmt, va_list ap); +void __wrap_exit(int status); + + +int +__wrap_vasprintf(char **restrict p, const char *restrict fmt, va_list ap) +{ + return mock() == -1 ? -1 : __real_vasprintf(p, fmt, ap); +} + + +void +__wrap_exit(int status) +{ + longjmp(jmpb, EXIT_CALLED); +} + + +/********************** + * TEST + **********************/ +static void test_xasprintf_exit(void **state); +static void test_xasprintf_ok(void **state); + + +static void +test_xasprintf_exit(void **state) +{ + volatile int len; + char *volatile p; + + will_return(__wrap_vasprintf, -1); + + len = 0; + + switch (setjmp(jmpb)) { + case 0: + len = XASPRINTF_CALLED; + len = xasprintf(&p, "foo%s", "bar"); + assert_unreachable(); + break; + case EXIT_CALLED: + assert_int_equal(len, XASPRINTF_CALLED); + len = TEST_OK; + break; + default: + assert_unreachable(); + break; + } + + assert_int_equal(len, TEST_OK); +} + + +static void +test_xasprintf_ok(void **state) +{ + int len; + char *p; + + // Trick: it will actually return the length, not 0. + will_return(__wrap_vasprintf, 0); + + len = xasprintf(&p, "foo%d%s", 1, "bar"); + assert_int_equal(len, strlen("foo1bar")); + assert_string_equal(p, "foo1bar"); + free(p); +} + + +int +main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_xasprintf_exit), + cmocka_unit_test(test_xasprintf_ok), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} diff --git a/tests/unit/test_zustr2stp.c b/tests/unit/test_zustr2stp.c new file mode 100644 index 00000000..198d2eb6 --- /dev/null +++ b/tests/unit/test_zustr2stp.c @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause + + +#include + +#include +#include + +#include // Required by +#include // Required by +#include // Required by +#include // Required by +#include + +#include "string/zustr2stp.h" + + +static void test_ZUSTR2STP(void **state); + + +int +main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_ZUSTR2STP), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} + + +static void +test_ZUSTR2STP(void **state) +{ + char src[3] = {'1', '2', '3'}; + char dst[4]; + + assert_true(ZUSTR2STP(&dst, src) == dst + strlen("123")); + assert_true(strcmp("123", dst) == 0); + + src[2] = '\0'; + assert_true(ZUSTR2STP(&dst, src) == dst + strlen("12")); + assert_true(strcmp("12", dst) == 0); + + src[1] = '\0'; + assert_true(ZUSTR2STP(&dst, src) == dst + strlen("1")); + assert_true(strcmp("1", dst) == 0); + + src[0] = '\0'; + assert_true(ZUSTR2STP(&dst, src) == dst + strlen("")); + assert_true(strcmp("", dst) == 0); +}