diff --git a/ChangeLog b/ChangeLog index e7016737..532b1eeb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,15 +1,35 @@ -2016-02-23 Serge Hallyn +2017-07-16 Serge Hallyn + + * Import new Dutch translations. + +2017-07-10 Serge Hallyn + + * Expand error codes for groupmod. + +2017-05-17 Serge Hallyn + + * Release 4.5 + +2017-05-17 Serge Hallyn + + * Patch from Tobias Stoeckmann fixing regression in previous CVE fix + preventing SIGTERM to su from being propagated to the job. + * Patch from Chris Lamb making sp_lstchg shadow field reproducible. + * Merge Russian translation updates from Yuri Kozlov + * Fix missing close of subuid file on error + +2017-02-23 Serge Hallyn * Merge patch by Tobias Stoeckmann to fix the equivalent of util-linux CVE-2017-2616. -2016-02-08 Serge Hallyn +2017-02-08 Serge Hallyn * Update Kazakh translations * Consult configuration before calculating subuids * Remove misplaced semicolon -2016-01-29 Serge Hallyn +2017-01-29 Serge Hallyn * Patch from Fedora to improve performance with SSSD, Winbind, or nss_ldap. (Tomas Mraz) diff --git a/configure.ac b/configure.ac index 652a2133..7b3480c7 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ([2.64]) -AC_INIT([shadow], [4.4], [pkg-shadow-devel@lists.alioth.debian.org], [], +AC_INIT([shadow], [4.5], [pkg-shadow-devel@lists.alioth.debian.org], [], [https://github.com/shadow-maint/shadow]) AM_INIT_AUTOMAKE([1.11 foreign dist-xz]) AM_SILENT_RULES([yes]) @@ -324,6 +324,7 @@ if test "$enable_man" = "yes"; then AC_PATH_PROG([XSLTPROC], [xsltproc]) if test -z "$XSLTPROC"; then enable_man=no + AC_MSG_ERROR([xsltproc is missing.]) fi dnl check for DocBook DTD and stylesheets in the local catalog. diff --git a/contrib/groupmems.shar b/contrib/groupmems.shar index b2d25474..8472d93a 100644 --- a/contrib/groupmems.shar +++ b/contrib/groupmems.shar @@ -480,7 +480,7 @@ X.B groupmems \fB-D\fR | [\fB-g\fI group_name \fR] X.SH DESCRIPTION -The \fBgroupmems\fR utility allows a user to administer his/her own +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). diff --git a/etc/login.defs b/etc/login.defs index ca660a9e..eba4bde7 100644 --- a/etc/login.defs +++ b/etc/login.defs @@ -189,7 +189,7 @@ KILLCHAR 025 # home directories. # 022 is the default value, but 027, or even 077, could be considered # for increased privacy. There is no One True Answer here: each sysadmin -# must make up his/her mind. +# must make up their mind. UMASK 022 # diff --git a/lib/commonio.c b/lib/commonio.c index c9893c2d..03e1d755 100644 --- a/lib/commonio.c +++ b/lib/commonio.c @@ -760,16 +760,16 @@ commonio_sort (struct commonio_db *db, int (*cmp) (const void *, const void *)) for (ptr = db->head; (NULL != ptr) #if KEEP_NIS_AT_END - && (NULL != ptr->line) - && ( ('+' != ptr->line[0]) - && ('-' != ptr->line[0])) + && ((NULL == ptr->line) + || (('+' != ptr->line[0]) + && ('-' != ptr->line[0]))) #endif ; ptr = ptr->next) { n++; } #if KEEP_NIS_AT_END - if ((NULL != ptr) && (NULL != ptr->line)) { + if (NULL != ptr) { nis = ptr; } #endif diff --git a/lib/prototypes.h b/lib/prototypes.h index be0600b5..912528ef 100644 --- a/lib/prototypes.h +++ b/lib/prototypes.h @@ -179,6 +179,9 @@ extern int getrange (char *range, unsigned long *min, bool *has_min, unsigned long *max, bool *has_max); +/* gettime.c */ +extern time_t gettime (); + /* get_uid.c */ extern int get_uid (const char *uidstr, uid_t *uid); diff --git a/libmisc/Makefile.am b/libmisc/Makefile.am index 0e42d317..8dc6511c 100644 --- a/libmisc/Makefile.am +++ b/libmisc/Makefile.am @@ -31,6 +31,7 @@ libmisc_a_SOURCES = \ getdate.y \ getgr_nam_gid.c \ getrange.c \ + gettime.c \ hushed.c \ idmapping.h \ idmapping.c \ diff --git a/libmisc/gettime.c b/libmisc/gettime.c new file mode 100644 index 00000000..53eaf516 --- /dev/null +++ b/libmisc/gettime.c @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2017, Chris Lamb + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. 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 + +#ident "$Id$" + +#include +#include +#include +#include "defines.h" +#include "prototypes.h" + +/* + * gettime() returns the time as the number of seconds since the Epoch + * + * Like time(), gettime() returns the time as the number of seconds since the + * 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 () +{ + char *endptr; + char *source_date_epoch; + time_t fallback; + unsigned long long epoch; + + fallback = time (NULL); + source_date_epoch = getenv ("SOURCE_DATE_EPOCH"); + + if (!source_date_epoch) + return fallback; + + errno = 0; + epoch = strtoull (source_date_epoch, &endptr, 10); + if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) + || (errno != 0 && epoch == 0)) { + fprintf (stderr, + _("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n"), + strerror(errno)); + } else if (endptr == source_date_epoch) { + fprintf (stderr, + _("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n"), + endptr); + } else if (*endptr != '\0') { + fprintf (stderr, + _("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n"), + endptr); + } else if (epoch > ULONG_MAX) { + fprintf (stderr, + _("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) { + fprintf (stderr, + _("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 fallback; +} diff --git a/libmisc/user_busy.c b/libmisc/user_busy.c index 0db32c39..b0867568 100644 --- a/libmisc/user_busy.c +++ b/libmisc/user_busy.c @@ -170,6 +170,9 @@ static int user_busy_processes (const char *name, uid_t uid) proc = opendir ("/proc"); if (proc == NULL) { perror ("opendir /proc"); +#ifdef ENABLE_SUBIDS + sub_uid_close(); +#endif return 0; } if (stat ("/", &sbroot) != 0) { diff --git a/man/README.md b/man/README.md new file mode 100644 index 00000000..ebe2728f --- /dev/null +++ b/man/README.md @@ -0,0 +1,10 @@ +The [official releases](https://github.com/shadow-maint/shadow/releases) ship +with pre-built manpages. + +The content of the man pages however is dependent on compile flags. So the +pre-built ones might not fit your version of shadow. To build them yourself use +`--enable-man`. Furthermore the following build requirements will be needed: +- xsltproc +- docbook 4 +- docbook stylesheets +- xml2po diff --git a/man/chage.1.xml b/man/chage.1.xml index d05617d3..6ec6e840 100644 --- a/man/chage.1.xml +++ b/man/chage.1.xml @@ -83,7 +83,7 @@ The chage command changes the number of days between password changes and the date of the last password change. This information is used by the system to determine when a user must change - his/her password. + their password. @@ -168,7 +168,7 @@ Set the minimum number of days between password changes to MIN_DAYS. A value of zero for this field - indicates that the user may change his/her password at any time. + indicates that the user may change their password at any time. @@ -181,8 +181,8 @@ Set the maximum number of days during which a password is valid. When MAX_DAYS plus LAST_DAY is less than the current - day, the user will be required to change his/her password before - being able to use his/her account. This occurrence can be planned for + day, the user will be required to change their password before + being able to use their account. This occurrence can be planned for in advance by use of the option, which provides the user with advance warning. @@ -214,7 +214,7 @@ Set the number of days of warning before a password change is required. The WARN_DAYS option is the number of days prior to the password expiring that a user will - be warned his/her password is about to expire. + be warned their password is about to expire. @@ -235,7 +235,7 @@ The chage command is restricted to the root user, except for the option, which may be used by - an unprivileged user to determine when his/her password or account is due + an unprivileged user to determine when their password or account is due to expire. diff --git a/man/groupmems.8.xml b/man/groupmems.8.xml index 40d04210..1432ea42 100644 --- a/man/groupmems.8.xml +++ b/man/groupmems.8.xml @@ -85,7 +85,7 @@ DESCRIPTION The groupmems command allows a user to administer - his/her own group membership list without the requirement of + their own group membership list without the requirement of superuser privileges. The groupmems utility is for systems that configure its users to be in their own name sake primary group (i.e., guest / guest). diff --git a/man/groupmod.8.xml b/man/groupmod.8.xml index 7be03f1e..b381c33a 100644 --- a/man/groupmod.8.xml +++ b/man/groupmod.8.xml @@ -256,43 +256,61 @@ 0 - success + E_SUCCESS: success 2 - invalid command syntax + E_USAGE: invalid command syntax 3 - invalid argument to option + E_BAD_ARG: invalid argument to option 4 - specified group doesn't exist + E_GID_IN_USE: specified group doesn't exist 6 - specified group doesn't exist + E_NOTFOUND: specified group doesn't exist 9 - group name already in use + E_NAME_IN_USE: group name already in use 10 - can't update group file + E_GRP_UPDATE: can't update group file + + + + 11 + + E_CLEANUP_SERVICE: can't setup cleanup service + + + + 12 + + E_PAM_USERNAME: can't determine your username for use with pam + + + + 13 + + E_PAM_ERROR: pam returned an error, see syslog facility id groupmod for the PAM error message diff --git a/man/passwd.1.xml b/man/passwd.1.xml index e678448c..0e8ba328 100644 --- a/man/passwd.1.xml +++ b/man/passwd.1.xml @@ -88,7 +88,7 @@ DESCRIPTION The passwd command changes passwords for user accounts. - A normal user may only change the password for his/her own account, while + A normal user may only change the password for their own account, while the superuser may change the password for any account. passwd also changes the account or associated password validity period. @@ -97,7 +97,7 @@ Password Changes - The user is first prompted for his/her old password, if one is + 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 @@ -206,7 +206,7 @@ Immediately expire an account's password. This in effect can - force a user to change his/her password at the user's next login. + force a user to change their password at the user's next login. @@ -273,7 +273,7 @@ Set the minimum number of days between password changes to MIN_DAYS. A value of zero for this field - indicates that the user may change his/her password at any time. + indicates that the user may change their password at any time. @@ -349,7 +349,7 @@ Set the number of days of warning before a password change is required. The WARN_DAYS option is the number of days prior to the password expiring that a user - will be warned that his/her password is about to expire. + will be warned that their password is about to expire. @@ -363,6 +363,11 @@ MAX_DAYS, the password is required to be changed. + + Passing the number -1 as + MAX_DAYS will remove checking a + password's validity. + diff --git a/man/po/da.po b/man/po/da.po index 89302670..3d789fcb 100644 --- a/man/po/da.po +++ b/man/po/da.po @@ -4307,7 +4307,7 @@ msgstr "" #: passwd.1.xml:89(para) msgid "" "The passwd command changes passwords for user accounts. A " -"normal user may only change the password for his/her own account, while the " +"normal user may only change the password for their own account, while the " "superuser may change the password for any account. passwd " "also changes the account or associated password validity period." msgstr "" @@ -4318,7 +4318,7 @@ msgstr "" #: passwd.1.xml:99(para) msgid "" -"The user is first prompted for his/her old password, if one is present. This " +"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." @@ -4435,7 +4435,7 @@ msgstr ", " #: passwd.1.xml:207(para) msgid "" "Immediately expire an account's password. This in effect can force a user to " -"change his/her password at the user's next login." +"change their password at the user's next login." msgstr "" "Angiv øjeblikkelig en kontos adgangskode som udløbet. Dette kan tvinge en " "bruger til at ændre sin adgangskode ved brugerens næste logind." @@ -4504,7 +4504,7 @@ msgstr "" msgid "" "Set the minimum number of days between password changes to " "MIN_DAYS. A value of zero for this field " -"indicates that the user may change his/her password at any time." +"indicates that the user may change their password at any time." msgstr "" #: passwd.1.xml:291(term) @@ -4553,7 +4553,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned that his/her password is " +"the password expiring that a user will be warned that their password is " "about to expire." msgstr "" @@ -6892,7 +6892,7 @@ msgstr "-l" #: groupmems.8.xml:86(para) msgid "" -"The groupmems command allows a user to administer his/her " +"The groupmems command allows a user to administer their " "own group membership list without the requirement of superuser privileges. " "The groupmems utility is for systems that configure its " "users to be in their own name sake primary group (i.e., guest / guest)." @@ -7975,7 +7975,7 @@ msgstr "ændr udløbsinformation om brugeradgangskode" msgid "" "The chage command changes the number of days between " "password changes and the date of the last password change. This information " -"is used by the system to determine when a user must change his/her password." +"is used by the system to determine when a user must change their password." msgstr "" #: chage.1.xml:92(para) @@ -8057,8 +8057,8 @@ msgstr "" msgid "" "Set the maximum number of days during which a password is valid. When " "MAX_DAYS plus LAST_DAY " -"is less than the current day, the user will be required to change his/her " -"password before being able to use his/her account. This occurrence can be " +"is less than the current day, the user will be required to change their " +"password before being able to use their account. This occurrence can be " "planned for in advance by use of the option, which " "provides the user with advance warning." msgstr "" @@ -8080,7 +8080,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned his/her password is about " +"the password expiring that a user will be warned their password is about " "to expire." msgstr "" @@ -8105,7 +8105,7 @@ msgstr "" msgid "" "The chage command is restricted to the root user, except " "for the option, which may be used by an unprivileged " -"user to determine when his/her password or account is due to expire." +"user to determine when their password or account is due to expire." msgstr "" "Kommandoen chage er begrænset til administratorbrugeren " "(root), undtaget for tilvalget , som kan bruges af en " diff --git a/man/po/de.po b/man/po/de.po index 340e15d8..3ae1efd0 100644 --- a/man/po/de.po +++ b/man/po/de.po @@ -5459,7 +5459,7 @@ msgstr "ändert das Passwort eines Benutzers" #: passwd.1.xml:89(para) msgid "" "The passwd command changes passwords for user accounts. A " -"normal user may only change the password for his/her own account, while the " +"normal user may only change the password for their own account, while the " "superuser may change the password for any account. passwd " "also changes the account or associated password validity period." msgstr "" @@ -5475,7 +5475,7 @@ msgstr "Verändern des Passworts" #: passwd.1.xml:99(para) msgid "" -"The user is first prompted for his/her old password, if one is present. This " +"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." @@ -5625,7 +5625,7 @@ msgstr ", " #: passwd.1.xml:207(para) msgid "" "Immediately expire an account's password. This in effect can force a user to " -"change his/her password at the user's next login." +"change their password at the user's next login." msgstr "" "Lässt das Passwort eines Kontos sofort verfallen. Im Ergebnis kann damit " "erreicht werden, dass ein Benutzer beim nächsten Login das Passwort ändern " @@ -5709,7 +5709,7 @@ msgstr "" msgid "" "Set the minimum number of days between password changes to " "MIN_DAYS. A value of zero for this field " -"indicates that the user may change his/her password at any time." +"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 " @@ -5776,7 +5776,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned that his/her password is " +"the password expiring that a user will be warned that their password is " "about to expire." msgstr "" "Legt die Anzahl der Tage fest, an denen der Benutzer eine Warnung erhält, " @@ -8773,7 +8773,7 @@ msgstr "-l" # SB: 1. I don't understand "sake"? A typo? But of what? 2. I think we shouldn't have the notorious guest account here as an example. #: groupmems.8.xml:86(para) msgid "" -"The groupmems command allows a user to administer his/her " +"The groupmems command allows a user to administer their " "own group membership list without the requirement of superuser privileges. " "The groupmems utility is for systems that configure its " "users to be in their own name sake primary group (i.e., guest / guest)." @@ -10266,7 +10266,7 @@ msgstr "ändert die Information zum Passwortverfall" msgid "" "The chage command changes the number of days between " "password changes and the date of the last password change. This information " -"is used by the system to determine when a user must change his/her password." +"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 " @@ -10386,8 +10386,8 @@ msgstr "" msgid "" "Set the maximum number of days during which a password is valid. When " "MAX_DAYS plus LAST_DAY " -"is less than the current day, the user will be required to change his/her " -"password before being able to use his/her account. This occurrence can be " +"is less than the current day, the user will be required to change their " +"password before being able to use their account. This occurrence can be " "planned for in advance by use of the option, which " "provides the user with advance warning." msgstr "" @@ -10419,7 +10419,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned his/her password is about " +"the password expiring that a user will be warned their password is about " "to expire." msgstr "" "Legt die Anzahl der Tage fest, an denen der Benutzer eine Warnung erhält, " @@ -10454,7 +10454,7 @@ msgstr "" msgid "" "The chage command is restricted to the root user, except " "for the option, which may be used by an unprivileged " -"user to determine when his/her password or account is due to expire." +"user to determine when their password or account is due to expire." msgstr "" "Der Befehl chage kann nur von Root ausgeführt werden. " "Alle anderen Benutzer können nur die Option verwenden, " diff --git a/man/po/fr.po b/man/po/fr.po index 48ef2fd1..37b55237 100644 --- a/man/po/fr.po +++ b/man/po/fr.po @@ -5490,7 +5490,7 @@ msgstr "Modifier le mot de passe d'un utilisateur" #: passwd.1.xml:89(para) msgid "" "The passwd command changes passwords for user accounts. A " -"normal user may only change the password for his/her own account, while the " +"normal user may only change the password for their own account, while the " "superuser may change the password for any account. passwd " "also changes the account or associated password validity period." msgstr "" @@ -5506,7 +5506,7 @@ msgstr "Modifications du mot de passe" #: passwd.1.xml:99(para) msgid "" -"The user is first prompted for his/her old password, if one is present. This " +"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." @@ -5656,7 +5656,7 @@ msgstr ", " #: passwd.1.xml:207(para) msgid "" "Immediately expire an account's password. This in effect can force a user to " -"change his/her password at the user's next login." +"change their password at the user's next login." msgstr "" "Annuler immédiatement la validité du mot de passe d'un compte. Ceci permet " "d'obliger un utilisateur à changer son mot de passe lors de sa prochaine " @@ -5744,7 +5744,7 @@ msgstr "" msgid "" "Set the minimum number of days between password changes to " "MIN_DAYS. A value of zero for this field " -"indicates that the user may change his/her password at any time." +"indicates that the user may change their password at any time." msgstr "" "Définir le nombre minimum de jours entre chaque changement de mot de passe à " "MIN_DAYS. Une valeur de zéro pour ce champ " @@ -5812,7 +5812,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned that his/her password is " +"the password expiring that a user will be warned that their password is " "about to expire." msgstr "" "Configurer le nombre de jours d'avertissement avant que le changement de mot " @@ -8835,7 +8835,7 @@ msgstr "-l" #: groupmems.8.xml:86(para) msgid "" -"The groupmems command allows a user to administer his/her " +"The groupmems command allows a user to administer their " "own group membership list without the requirement of superuser privileges. " "The groupmems utility is for systems that configure its " "users to be in their own name sake primary group (i.e., guest / guest)." @@ -10319,7 +10319,7 @@ msgstr "Modifier les informations de validité d'un mot de passe" msgid "" "The chage command changes the number of days between " "password changes and the date of the last password change. This information " -"is used by the system to determine when a user must change his/her password." +"is used by the system to determine when a user must change their password." msgstr "" "La commande chage modifie le nombre de jours entre les " "changements de mot de passe et la date du dernier changement. Ces " @@ -10438,8 +10438,8 @@ msgstr "" msgid "" "Set the maximum number of days during which a password is valid. When " "MAX_DAYS plus LAST_DAY " -"is less than the current day, the user will be required to change his/her " -"password before being able to use his/her account. This occurrence can be " +"is less than the current day, the user will be required to change their " +"password before being able to use their account. This occurrence can be " "planned for in advance by use of the option, which " "provides the user with advance warning." msgstr "" @@ -10472,7 +10472,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned his/her password is about " +"the password expiring that a user will be warned their password is about " "to expire." msgstr "" "Configurer le nombre de jours d'avertissement avant que le changement de mot " @@ -10507,7 +10507,7 @@ msgstr "" msgid "" "The chage command is restricted to the root user, except " "for the option, which may be used by an unprivileged " -"user to determine when his/her password or account is due to expire." +"user to determine when their password or account is due to expire." msgstr "" "La commande chage est réservée à l'utilisateur root, sauf " "pour l'option , qui peut être utilisée par un utilisateur " diff --git a/man/po/it.po b/man/po/it.po index 79e8475a..b9f275a6 100644 --- a/man/po/it.po +++ b/man/po/it.po @@ -5714,7 +5714,7 @@ msgstr "cambia la password utente" #: passwd.1.xml:89(para) msgid "" "The passwd command changes passwords for user accounts. A " -"normal user may only change the password for his/her own account, while the " +"normal user may only change the password for their own account, while the " "superuser may change the password for any account. passwd " "also changes the account or associated password validity period." msgstr "" @@ -5731,7 +5731,7 @@ msgstr "Modifiche delle password" # type: Plain text #: passwd.1.xml:99(para) msgid "" -"The user is first prompted for his/her old password, if one is present. This " +"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." @@ -5892,7 +5892,7 @@ msgstr ", " #: passwd.1.xml:207(para) msgid "" "Immediately expire an account's password. This in effect can force a user to " -"change his/her password at the user's next login." +"change their password at the user's next login." msgstr "" "Fa scadere subito la password dell'utente. Il che ha l'effetto di forzare un " "cambio password al successivo accesso da parte dell'utente." @@ -5978,7 +5978,7 @@ msgstr "" msgid "" "Set the minimum number of days between password changes to " "MIN_DAYS. A value of zero for this field " -"indicates that the user may change his/her password at any time." +"indicates that the user may change their password at any time." msgstr "" "Imposta il numero minimo di giorni tra i cambi di password a " "MIN_GIORNI. Un valore pari a zero indica che " @@ -6050,7 +6050,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned that his/her password is " +"the password expiring that a user will be warned that their password is " "about to expire." msgstr "" "Imposta il numero di giorni di preavviso prima che sia obbligatorio cambiare " @@ -9144,7 +9144,7 @@ msgstr "-l" #: groupmems.8.xml:86(para) msgid "" -"The groupmems command allows a user to administer his/her " +"The groupmems command allows a user to administer their " "own group membership list without the requirement of superuser privileges. " "The groupmems utility is for systems that configure its " "users to be in their own name sake primary group (i.e., guest / guest)." @@ -10707,7 +10707,7 @@ msgstr "cambia le informazioni sulla scadenza della password" msgid "" "The chage command changes the number of days between " "password changes and the date of the last password change. This information " -"is used by the system to determine when a user must change his/her password." +"is used by the system to determine when a user must change their password." msgstr "" "chage modifica il numero minimo di giorni tra i cambi di " "password e la data dell'ultimo cambio. Queste informazioni sono usate dal " @@ -10832,8 +10832,8 @@ msgstr "" msgid "" "Set the maximum number of days during which a password is valid. When " "MAX_DAYS plus LAST_DAY " -"is less than the current day, the user will be required to change his/her " -"password before being able to use his/her account. This occurrence can be " +"is less than the current day, the user will be required to change their " +"password before being able to use their account. This occurrence can be " "planned for in advance by use of the option, which " "provides the user with advance warning." msgstr "" @@ -10868,7 +10868,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned his/her password is about " +"the password expiring that a user will be warned their password is about " "to expire." msgstr "" "Imposta il numero di giorni di preavviso prima che sia obbligatorio cambiare " @@ -10905,7 +10905,7 @@ msgstr "" msgid "" "The chage command is restricted to the root user, except " "for the option, which may be used by an unprivileged " -"user to determine when his/her password or account is due to expire." +"user to determine when their password or account is due to expire." msgstr "" "L'uso del comando chage è permesso solo all'utente root, " "tranne per l'opzione , che può essere usata da un utente " diff --git a/man/po/pl.po b/man/po/pl.po index c003c728..8a125fbf 100644 --- a/man/po/pl.po +++ b/man/po/pl.po @@ -4659,7 +4659,7 @@ msgstr "zmiana hasła użytkownika" #: passwd.1.xml:89(para) msgid "" "The passwd command changes passwords for user accounts. A " -"normal user may only change the password for his/her own account, while the " +"normal user may only change the password for their own account, while the " "superuser may change the password for any account. passwd " "also changes the account or associated password validity period." msgstr "" @@ -4670,7 +4670,7 @@ msgstr "" #: passwd.1.xml:99(para) msgid "" -"The user is first prompted for his/her old password, if one is present. This " +"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." @@ -4776,7 +4776,7 @@ msgstr ", " #: passwd.1.xml:207(para) msgid "" "Immediately expire an account's password. This in effect can force a user to " -"change his/her password at the user's next login." +"change their password at the user's next login." msgstr "" #: passwd.1.xml:220(term) @@ -4845,7 +4845,7 @@ msgstr "" msgid "" "Set the minimum number of days between password changes to " "MIN_DAYS. A value of zero for this field " -"indicates that the user may change his/her password at any time." +"indicates that the user may change their password at any time." msgstr "" "Utawia minimalną liczbę dni pomiędzy zmianami hasła na " "MIN_DAYS. Wartość zerowa oznacza, że użytkownik " @@ -4901,7 +4901,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned that his/her password is " +"the password expiring that a user will be warned that their password is " "about to expire." msgstr "" @@ -7455,7 +7455,7 @@ msgstr "-l" #: groupmems.8.xml:86(para) msgid "" -"The groupmems command allows a user to administer his/her " +"The groupmems command allows a user to administer their " "own group membership list without the requirement of superuser privileges. " "The groupmems utility is for systems that configure its " "users to be in their own name sake primary group (i.e., guest / guest)." @@ -8833,7 +8833,7 @@ msgstr "zmiana informacji o terminie ważności hasła użytkownika" msgid "" "The chage command changes the number of days between " "password changes and the date of the last password change. This information " -"is used by the system to determine when a user must change his/her password." +"is used by the system to determine when a user must change their password." msgstr "" "Polecenie chage zmienia liczbę dni pomiędzy zmianami " "hasła i datę ostatniej zmiany hasła. Informację tę system wykorzystuje do " @@ -8947,8 +8947,8 @@ msgstr "" msgid "" "Set the maximum number of days during which a password is valid. When " "MAX_DAYS plus LAST_DAY " -"is less than the current day, the user will be required to change his/her " -"password before being able to use his/her account. This occurrence can be " +"is less than the current day, the user will be required to change their " +"password before being able to use their account. This occurrence can be " "planned for in advance by use of the option, which " "provides the user with advance warning." msgstr "" @@ -8980,7 +8980,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned his/her password is about " +"the password expiring that a user will be warned their password is about " "to expire." msgstr "" "Ustawia na DNI_OSTRZ liczbę dni przed upływem " @@ -9013,7 +9013,7 @@ msgstr "" msgid "" "The chage command is restricted to the root user, except " "for the option, which may be used by an unprivileged " -"user to determine when his/her password or account is due to expire." +"user to determine when their password or account is due to expire." msgstr "" "Polecenia chage może użyć tylko użytkownik root, za wyjątkiem opcji . Może się nią posłużyć się użytkownik nieuprzywilejowany do " diff --git a/man/po/ru.po b/man/po/ru.po index ef552bec..f3978255 100644 --- a/man/po/ru.po +++ b/man/po/ru.po @@ -5700,7 +5700,7 @@ msgstr "изменяет пароль пользователя" #: passwd.1.xml:89(para) msgid "" "The passwd command changes passwords for user accounts. A " -"normal user may only change the password for his/her own account, while the " +"normal user may only change the password for their own account, while the " "superuser may change the password for any account. passwd " "also changes the account or associated password validity period." msgstr "" @@ -5718,7 +5718,7 @@ msgstr "Изменение пароля" # type: Content of: #: passwd.1.xml:99(para) msgid "" -"The user is first prompted for his/her old password, if one is present. This " +"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." @@ -5876,7 +5876,7 @@ msgstr ", " #: passwd.1.xml:207(para) msgid "" "Immediately expire an account's password. This in effect can force a user to " -"change his/her password at the user's next login." +"change their password at the user's next login." msgstr "" "Немедленно сделать пароль устаревшим. В результате это заставит пользователя " "изменить пароль при следующем входе в систему." @@ -5962,7 +5962,7 @@ msgstr "" msgid "" "Set the minimum number of days between password changes to " "MIN_DAYS. A value of zero for this field " -"indicates that the user may change his/her password at any time." +"indicates that the user may change their password at any time." msgstr "" "Задать минимальное количество дней между сменами " "пароля. Нулевое значение этого поля указывает на то, что пользователь может " @@ -6030,7 +6030,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned that his/her password is " +"the password expiring that a user will be warned that their password is " "about to expire." msgstr "" "Установить число дней выдачи предупреждения, перед тем как потребуется смена " @@ -9182,7 +9182,7 @@ msgstr "-l" #: groupmems.8.xml:86(para) msgid "" -"The groupmems command allows a user to administer his/her " +"The groupmems command allows a user to administer their " "own group membership list without the requirement of superuser privileges. " "The groupmems utility is for systems that configure its " "users to be in their own name sake primary group (i.e., guest / guest)." @@ -10700,7 +10700,7 @@ msgstr "изменяет информацию об устаревании пар msgid "" "The chage command changes the number of days between " "password changes and the date of the last password change. This information " -"is used by the system to determine when a user must change his/her password." +"is used by the system to determine when a user must change their password." msgstr "" "Программа chage изменяет количество дней между датой " "смены пароля и датой последней смены пароля. Эта информация используется " @@ -10820,8 +10820,8 @@ msgstr "" msgid "" "Set the maximum number of days during which a password is valid. When " "MAX_DAYS plus LAST_DAY " -"is less than the current day, the user will be required to change his/her " -"password before being able to use his/her account. This occurrence can be " +"is less than the current day, the user will be required to change their " +"password before being able to use their account. This occurrence can be " "planned for in advance by use of the option, which " "provides the user with advance warning." msgstr "" @@ -10854,7 +10854,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned his/her password is about " +"the password expiring that a user will be warned their password is about " "to expire." msgstr "" "Установить количество дней выдачи предупреждения, перед тем как потребуется " @@ -10890,7 +10890,7 @@ msgstr "" msgid "" "The chage command is restricted to the root user, except " "for the option, which may be used by an unprivileged " -"user to determine when his/her password or account is due to expire." +"user to determine when their password or account is due to expire." msgstr "" "Программа chage работает только от суперпользователя, за " "исключением вызова с параметром , который может " diff --git a/man/po/shadow-man-pages.pot b/man/po/shadow-man-pages.pot index 05cef7f2..507057fe 100644 --- a/man/po/shadow-man-pages.pot +++ b/man/po/shadow-man-pages.pot @@ -2492,7 +2492,7 @@ msgid "change user password" msgstr "" #: passwd.1.xml:89(para) -msgid "The passwd command changes passwords for user accounts. A normal user may only change the password for his/her own account, while the superuser may change the password for any account. passwd also changes the account or associated password validity period." +msgid "The passwd command changes passwords for user accounts. A normal user may only change the password for their own account, while the superuser may change the password for any account. passwd also changes the account or associated password validity period." msgstr "" #: passwd.1.xml:98(title) @@ -2500,7 +2500,7 @@ msgid "Password Changes" msgstr "" #: passwd.1.xml:99(para) -msgid "The user is first prompted for his/her old password, if one is present. This password is then encrypted and compared against the stored password. The user has only one chance to enter the correct password. The superuser is permitted to bypass this step so that forgotten passwords may be changed." +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 "" #: passwd.1.xml:107(para) @@ -2572,7 +2572,7 @@ msgid ", " msgstr "" #: passwd.1.xml:207(para) -msgid "Immediately expire an account's password. This in effect can force a user to change his/her password at the user's next login." +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 "" #: passwd.1.xml:220(term) @@ -2612,7 +2612,7 @@ msgid ",  MIN_DAY msgstr "" #: passwd.1.xml:273(para) chage.1.xml:168(para) -msgid "Set the minimum number of days between password changes to MIN_DAYS. A value of zero for this field indicates that the user may change his/her password at any time." +msgid "Set the minimum number of days between password changes to MIN_DAYS. A value of zero for this field indicates that the user may change their password at any time." msgstr "" #: passwd.1.xml:291(term) @@ -2644,7 +2644,7 @@ msgid ",  WARN_D msgstr "" #: passwd.1.xml:348(para) -msgid "Set the number of days of warning before a password change is required. The WARN_DAYS option is the number of days prior to the password expiring that a user will be warned that his/her password is about to expire." +msgid "Set the number of days of warning before a password change is required. The WARN_DAYS option is the number of days prior to the password expiring that a user will be warned that their password is about to expire." msgstr "" #: passwd.1.xml:357(term) @@ -4169,7 +4169,7 @@ msgid "-l" msgstr "" #: groupmems.8.xml:86(para) -msgid "The groupmems command allows a user to administer his/her own group membership list without the requirement of superuser privileges. The groupmems utility is for systems that configure its users to be in their own name sake primary group (i.e., guest / guest)." +msgid "The groupmems command allows a user to administer their own group membership list without the requirement of superuser privileges. The groupmems utility is for systems that configure its users to be in their own name sake primary group (i.e., guest / guest)." msgstr "" #: groupmems.8.xml:94(para) @@ -4863,7 +4863,7 @@ msgid "change user password expiry information" msgstr "" #: chage.1.xml:82(para) -msgid "The chage command changes the number of days between password changes and the date of the last password change. This information is used by the system to determine when a user must change his/her password." +msgid "The chage command changes the number of days between password changes and the date of the last password change. This information is used by the system to determine when a user must change their password." msgstr "" #: chage.1.xml:92(para) @@ -4915,7 +4915,7 @@ msgid ",  MAX_DAY msgstr "" #: chage.1.xml:180(para) -msgid "Set the maximum number of days during which a password is valid. When MAX_DAYS plus LAST_DAY is less than the current day, the user will be required to change his/her password before being able to use his/her account. This occurrence can be planned for in advance by use of the option, which provides the user with advance warning." +msgid "Set the maximum number of days during which a password is valid. When MAX_DAYS plus LAST_DAY is less than the current day, the user will be required to change their password before being able to use their account. This occurrence can be planned for in advance by use of the option, which provides the user with advance warning." msgstr "" #: chage.1.xml:189(para) @@ -4927,7 +4927,7 @@ msgid ",  WARN_D msgstr "" #: chage.1.xml:213(para) -msgid "Set the number of days of warning before a password change is required. The WARN_DAYS option is the number of days prior to the password expiring that a user will be warned his/her password is about to expire." +msgid "Set the number of days of warning before a password change is required. The WARN_DAYS option is the number of days prior to the password expiring that a user will be warned their password is about to expire." msgstr "" #: chage.1.xml:222(para) @@ -4939,7 +4939,7 @@ msgid "The chage program requires a shadow password file to b msgstr "" #: chage.1.xml:236(para) -msgid "The chage command is restricted to the root user, except for the option, which may be used by an unprivileged user to determine when his/her password or account is due to expire." +msgid "The chage command is restricted to the root user, except for the option, which may be used by an unprivileged user to determine when their password or account is due to expire." msgstr "" #: chage.1.xml:301(replaceable) diff --git a/man/po/sv.po b/man/po/sv.po index b09740df..4059527d 100644 --- a/man/po/sv.po +++ b/man/po/sv.po @@ -4806,7 +4806,7 @@ msgstr "ändra användarlösenord" #, fuzzy msgid "" "The passwd command changes passwords for user accounts. A " -"normal user may only change the password for his/her own account, while the " +"normal user may only change the password for their own account, while the " "superuser may change the password for any account. passwd " "also changes the account or associated password validity period." msgstr "" @@ -4824,7 +4824,7 @@ msgstr "Lösenordsändringar" #: passwd.1.xml:99(para) #, fuzzy msgid "" -"The user is first prompted for his/her old password, if one is present. This " +"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." @@ -4969,7 +4969,7 @@ msgstr ", " #: passwd.1.xml:207(para) msgid "" "Immediately expire an account's password. This in effect can force a user to " -"change his/her password at the user's next login." +"change their password at the user's next login." msgstr "" "Lösenordet för ett konto sätts omedelbart som utgånget. Detta kan tvinga en " "användare att ändra sitt lösenord vid nästa inloggningsförsök." @@ -5051,7 +5051,7 @@ msgstr "" msgid "" "Set the minimum number of days between password changes to " "MIN_DAYS. A value of zero for this field " -"indicates that the user may change his/her password at any time." +"indicates that the user may change their password at any time." msgstr "" "Sätter minimalt antal dagar mellan lösenordsändringar till " "MIN_DAGAR. Ett nollvärde för detta fält betyder " @@ -5128,7 +5128,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned that his/her password is " +"the password expiring that a user will be warned that their password is " "about to expire." msgstr "" "Sätter antalet dagar för varning före ett lösenord behöver ändras. Flaggan " @@ -7671,7 +7671,7 @@ msgstr "-l" #: groupmems.8.xml:86(para) msgid "" -"The groupmems command allows a user to administer his/her " +"The groupmems command allows a user to administer their " "own group membership list without the requirement of superuser privileges. " "The groupmems utility is for systems that configure its " "users to be in their own name sake primary group (i.e., guest / guest)." @@ -9064,7 +9064,7 @@ msgstr "ändra åldringsinformation för användarlösenord" msgid "" "The chage command changes the number of days between " "password changes and the date of the last password change. This information " -"is used by the system to determine when a user must change his/her password." +"is used by the system to determine when a user must change their password." msgstr "" #: chage.1.xml:92(para) @@ -9156,8 +9156,8 @@ msgstr "" msgid "" "Set the maximum number of days during which a password is valid. When " "MAX_DAYS plus LAST_DAY " -"is less than the current day, the user will be required to change his/her " -"password before being able to use his/her account. This occurrence can be " +"is less than the current day, the user will be required to change their " +"password before being able to use their account. This occurrence can be " "planned for in advance by use of the option, which " "provides the user with advance warning." msgstr "" @@ -9181,7 +9181,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned his/her password is about " +"the password expiring that a user will be warned their password is about " "to expire." msgstr "" @@ -9206,7 +9206,7 @@ msgstr "" msgid "" "The chage command is restricted to the root user, except " "for the option, which may be used by an unprivileged " -"user to determine when his/her password or account is due to expire." +"user to determine when their password or account is due to expire." msgstr "" #: chage.1.xml:301(replaceable) diff --git a/man/po/zh_CN.po b/man/po/zh_CN.po index fd4c4ca3..71288870 100644 --- a/man/po/zh_CN.po +++ b/man/po/zh_CN.po @@ -5037,7 +5037,7 @@ msgstr "更改用户密码" #: passwd.1.xml:89(para) msgid "" "The passwd command changes passwords for user accounts. A " -"normal user may only change the password for his/her own account, while the " +"normal user may only change the password for their own account, while the " "superuser may change the password for any account. passwd " "also changes the account or associated password validity period." msgstr "" @@ -5051,7 +5051,7 @@ msgstr "密码更改" #: passwd.1.xml:99(para) msgid "" -"The user is first prompted for his/her old password, if one is present. This " +"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." @@ -5181,7 +5181,7 @@ msgstr ", " #: passwd.1.xml:207(para) msgid "" "Immediately expire an account's password. This in effect can force a user to " -"change his/her password at the user's next login." +"change their password at the user's next login." msgstr "让一个账户的密码立即过期。这可以强制一个用户下次登录时更改密码。" #: passwd.1.xml:220(term) @@ -5255,7 +5255,7 @@ msgstr "" msgid "" "Set the minimum number of days between password changes to " "MIN_DAYS. A value of zero for this field " -"indicates that the user may change his/her password at any time." +"indicates that the user may change their password at any time." msgstr "" "在密码更改之间的最小天数设置为 MIN_DAYS。此字段中" "的 0 值表示用户可以在任何时间更改其密码。" @@ -5316,7 +5316,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned that his/her password is " +"the password expiring that a user will be warned that their password is " "about to expire." msgstr "" "设置在要求更改密码之前警告的天数。WARN_DAYS 选项是" @@ -7867,7 +7867,7 @@ msgstr "-l" #: groupmems.8.xml:86(para) msgid "" -"The groupmems command allows a user to administer his/her " +"The groupmems command allows a user to administer their " "own group membership list without the requirement of superuser privileges. " "The groupmems utility is for systems that configure its " "users to be in their own name sake primary group (i.e., guest / guest)." @@ -9112,7 +9112,7 @@ msgstr "更改用户密码过期信息" msgid "" "The chage command changes the number of days between " "password changes and the date of the last password change. This information " -"is used by the system to determine when a user must change his/her password." +"is used by the system to determine when a user must change their password." msgstr "" #: chage.1.xml:92(para) @@ -9209,8 +9209,8 @@ msgstr "" msgid "" "Set the maximum number of days during which a password is valid. When " "MAX_DAYS plus LAST_DAY " -"is less than the current day, the user will be required to change his/her " -"password before being able to use his/her account. This occurrence can be " +"is less than the current day, the user will be required to change their " +"password before being able to use their account. This occurrence can be " "planned for in advance by use of the option, which " "provides the user with advance warning." msgstr "" @@ -9240,7 +9240,7 @@ msgstr "" msgid "" "Set the number of days of warning before a password change is required. The " "WARN_DAYS option is the number of days prior to " -"the password expiring that a user will be warned his/her password is about " +"the password expiring that a user will be warned their password is about " "to expire." msgstr "" "设置在要求更改密码之前几天开始警告。WARN_DAYS 选项" @@ -9267,7 +9267,7 @@ msgstr "chage 需要有一个影子密码文件才可用。" msgid "" "The chage command is restricted to the root user, except " "for the option, which may be used by an unprivileged " -"user to determine when his/her password or account is due to expire." +"user to determine when their password or account is due to expire." msgstr "" "只有 root 才可以使用 chage,一个特殊情况是