Compare commits

..

8 Commits

Author SHA1 Message Date
Chris Hofstaedtler 52239321b8 Update changelog for 1:4.17.4-2 release 2025-04-19 12:20:32 +02:00
Chris Hofstaedtler 4660554e73 Allow LOGIN_ENV_SAFELIST (from util-linux) in /etc/login.defs
Using patch from upstream.

Gbp-Dch: full
2025-04-19 12:19:56 +02:00
Chris Hofstaedtler 4e64c42f1e Update changelog for 1:4.17.4-1 release 2025-03-29 13:29:31 +01:00
Chris Hofstaedtler f62eb980d5 Rebase patches 2025-03-29 13:29:31 +01:00
Chris Hofstaedtler 19d6a0f9a3 Update upstream source from tag 'upstream/4.17.4'
Update to upstream version '4.17.4'
with Debian dir 2e6602086b
2025-03-29 13:24:54 +01:00
Chris Hofstaedtler a9c3448878 New upstream version 4.17.4 2025-03-29 13:24:20 +01:00
Chris Hofstaedtler 9e93a3348b Update changelog for 1:4.17.3-3 release 2025-03-28 12:13:07 +01:00
Chris Hofstaedtler de176e27ed Accept /usr/sbin/nologin as an alternate to /sbin/nologin
Thanks: Marc Haber
2025-03-28 12:12:55 +01:00
416 changed files with 1787 additions and 2970 deletions
-3
View File
@@ -466,8 +466,5 @@
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
/* Path for utmp file. */
#undef _UTMP_FILE
/* Path for wtmp file. */
#undef _WTMP_FILE
Vendored
+11 -47
View File
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for shadow 4.17.3.
# Generated by GNU Autoconf 2.71 for shadow 4.17.4.
#
# Report bugs to <pkg-shadow-devel@lists.alioth.debian.org>.
#
@@ -621,8 +621,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='shadow'
PACKAGE_TARNAME='shadow'
PACKAGE_VERSION='4.17.3'
PACKAGE_STRING='shadow 4.17.3'
PACKAGE_VERSION='4.17.4'
PACKAGE_STRING='shadow 4.17.4'
PACKAGE_BUGREPORT='pkg-shadow-devel@lists.alioth.debian.org'
PACKAGE_URL='https://github.com/shadow-maint/shadow'
@@ -1488,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.17.3 to adapt to many kinds of systems.
\`configure' configures shadow 4.17.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1559,7 +1559,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of shadow 4.17.3:";;
short | recursive ) echo "Configuration of shadow 4.17.4:";;
esac
cat <<\_ACEOF
@@ -1738,7 +1738,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
shadow configure 4.17.3
shadow configure 4.17.4
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2338,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.17.3, which was
It was created by shadow $as_me 4.17.4, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3611,7 +3611,7 @@ fi
# Define the identity of the package.
PACKAGE='shadow'
VERSION='4.17.3'
VERSION='4.17.4'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -15267,28 +15267,6 @@ printf "%s\n" "#define MAIL_SPOOL_FILE \"$shadow_cv_mailfile\"" >>confdefs.h
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking location of utmp" >&5
printf %s "checking location of utmp... " >&6; }
if test ${shadow_cv_utmpdir+y}
then :
printf %s "(cached) " >&6
else $as_nop
for shadow_cv_utmpdir in /var/run /var/adm /usr/adm /etc none; do
if test -f $shadow_cv_utmpdir/utmp; then
break
fi
done
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $shadow_cv_utmpdir" >&5
printf "%s\n" "$shadow_cv_utmpdir" >&6; }
if test "$shadow_cv_utmpdir" = "none"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: utmp file not found" >&5
printf "%s\n" "$as_me: WARNING: utmp file not found" >&2;}
fi
printf "%s\n" "#define _UTMP_FILE \"$shadow_cv_utmpdir/utmp\"" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking location of faillog/lastlog/wtmp" >&5
printf %s "checking location of faillog/lastlog/wtmp... " >&6; }
if test ${shadow_cv_logdir+y}
@@ -15313,22 +15291,8 @@ printf "%s\n" "#define LASTLOG_FILE \"$shadow_cv_logdir/lastlog\"" >>confdefs.h
printf "%s\n" "#define FAILLOG_FILE \"$shadow_cv_logdir/faillog\"" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking location of the passwd program" >&5
printf %s "checking location of the passwd program... " >&6; }
if test ${shadow_cv_passwd_dir+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -f /usr/bin/passwd; then
shadow_cv_passwd_dir=/usr/bin
else
shadow_cv_passwd_dir=/bin
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $shadow_cv_passwd_dir" >&5
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 PASSWD_PROGRAM \"$exec_prefix/bin/passwd\"" >>confdefs.h
# Check whether --enable-shadowgrp was given.
@@ -20597,7 +20561,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by shadow $as_me 4.17.3, which was
This file was extended by shadow $as_me 4.17.4, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -20666,7 +20630,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
shadow config.status 4.17.3
shadow config.status 4.17.4
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
+2 -20
View File
@@ -4,7 +4,7 @@ m4_define([libsubid_abi_major], 5)
m4_define([libsubid_abi_minor], 0)
m4_define([libsubid_abi_micro], 0)
m4_define([libsubid_abi], [libsubid_abi_major.libsubid_abi_minor.libsubid_abi_micro])
AC_INIT([shadow], [4.17.3], [pkg-shadow-devel@lists.alioth.debian.org], [],
AC_INIT([shadow], [4.17.4], [pkg-shadow-devel@lists.alioth.debian.org], [],
[https://github.com/shadow-maint/shadow])
AM_INIT_AUTOMAKE([1.11 foreign dist-xz subdir-objects tar-pax])
AC_CONFIG_MACRO_DIRS([m4])
@@ -90,18 +90,6 @@ if test $shadow_cv_mailfile != none; then
[Name of user's mail spool file if stored in user's home directory.])
fi
AC_CACHE_CHECK([location of utmp], shadow_cv_utmpdir,
[for shadow_cv_utmpdir in /var/run /var/adm /usr/adm /etc none; do
if test -f $shadow_cv_utmpdir/utmp; then
break
fi
done])
if test "$shadow_cv_utmpdir" = "none"; then
AC_MSG_WARN(utmp file not found)
fi
AC_DEFINE_UNQUOTED(_UTMP_FILE, "$shadow_cv_utmpdir/utmp",
[Path for utmp file.])
AC_CACHE_CHECK([location of faillog/lastlog/wtmp], shadow_cv_logdir,
[for shadow_cv_logdir in /var/log /var/adm /usr/adm /etc; do
if test -d $shadow_cv_logdir; then
@@ -115,13 +103,7 @@ AC_DEFINE_UNQUOTED(LASTLOG_FILE, "$shadow_cv_logdir/lastlog",
AC_DEFINE_UNQUOTED(FAILLOG_FILE, "$shadow_cv_logdir/faillog",
[Path for faillog file.])
AC_CACHE_CHECK([location of the passwd program], shadow_cv_passwd_dir,
[if test -f /usr/bin/passwd; then
shadow_cv_passwd_dir=/usr/bin
else
shadow_cv_passwd_dir=/bin
fi])
AC_DEFINE_UNQUOTED(PASSWD_PROGRAM, "$shadow_cv_passwd_dir/passwd",
AC_DEFINE_UNQUOTED(PASSWD_PROGRAM, "$exec_prefix/bin/passwd",
[Path to passwd program.])
AC_ARG_ENABLE(shadowgrp,
+21
View File
@@ -1,3 +1,24 @@
shadow (1:4.17.4-2) unstable; urgency=medium
* Allow LOGIN_ENV_SAFELIST (from util-linux) in /etc/login.defs.
Using patch from upstream.
-- Chris Hofstaedtler <zeha@debian.org> Sat, 19 Apr 2025 12:20:28 +0200
shadow (1:4.17.4-1) unstable; urgency=medium
* New upstream version 4.17.4
* Rebase patches
-- Chris Hofstaedtler <zeha@debian.org> Sat, 29 Mar 2025 13:28:35 +0100
shadow (1:4.17.3-3) unstable; urgency=medium
* Accept /usr/sbin/nologin as an alternate to /sbin/nologin.
Thanks to Marc Haber
-- Chris Hofstaedtler <zeha@debian.org> Fri, 28 Mar 2025 12:13:03 +0100
shadow (1:4.17.3-2) unstable; urgency=medium
* Do not warn about useradd --system with Debian-globally allocated uids
@@ -8,10 +8,10 @@ Bug: http://bugs.debian.org/1100563
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/useradd.c b/src/useradd.c
index 5e4eb2c..dd12cdf 100644
index dc65618..25a5920 100644
--- a/src/useradd.c
+++ b/src/useradd.c
@@ -2430,14 +2430,21 @@ static void create_mail (void)
@@ -2382,14 +2382,21 @@ static void create_mail (void)
#endif
}
@@ -30,7 +30,7 @@ index eda1fef..38f2c68 100644
</listitem>
</varlistentry>
diff --git a/src/useradd.c b/src/useradd.c
index ee52aaf..5e4eb2c 100644
index 6e744b0..dc65618 100644
--- a/src/useradd.c
+++ b/src/useradd.c
@@ -97,14 +97,14 @@ static const char Prog[] = "useradd";
@@ -12,7 +12,7 @@ Fixes: #166793
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/lib/commonio.c b/lib/commonio.c
index b7c9a2d..309efa0 100644
index fc8ad7a..24a3230 100644
--- a/lib/commonio.c
+++ b/lib/commonio.c
@@ -21,6 +21,7 @@
@@ -23,7 +23,7 @@ index b7c9a2d..309efa0 100644
#include "alloc/malloc.h"
#include "alloc/reallocf.h"
@@ -953,12 +954,23 @@ int commonio_close (struct commonio_db *db)
@@ -944,12 +945,23 @@ int commonio_close (struct commonio_db *db)
if (errors)
goto fail;
} else {
@@ -57,10 +57,10 @@ index b485a5a..e20be0f 100644
case 'h':
usage (E_SUCCESS);
diff --git a/src/useradd.c b/src/useradd.c
index dd12cdf..ba0eb50 100644
index 25a5920..7e9dbce 100644
--- a/src/useradd.c
+++ b/src/useradd.c
@@ -895,7 +895,7 @@ static void usage (int status)
@@ -879,7 +879,7 @@ static void usage (int status)
"\n"
"Options:\n"),
Prog, Prog, Prog);
@@ -69,7 +69,7 @@ index dd12cdf..ba0eb50 100644
(void) fputs (_(" -b, --base-dir BASE_DIR base directory for the home directory of the\n"
" new account\n"), usageout);
#ifdef WITH_BTRFS
@@ -1241,6 +1241,9 @@ static void process_flags (int argc, char **argv)
@@ -1202,6 +1202,9 @@ static void process_flags (int argc, char **argv)
break;
case 201:
allow_bad_names = true;
@@ -80,7 +80,7 @@ index dd12cdf..ba0eb50 100644
case 'c':
if (!VALID (optarg)) {
diff --git a/src/usermod.c b/src/usermod.c
index 7ea1a72..3e9e046 100644
index 22113da..9030883 100644
--- a/src/usermod.c
+++ b/src/usermod.c
@@ -383,7 +383,7 @@ usage (int status)
@@ -92,7 +92,7 @@ index 7ea1a72..3e9e046 100644
(void) fputs (_(" -c, --comment COMMENT new value of the GECOS field\n"), usageout);
(void) fputs (_(" -d, --home HOME_DIR new home directory for the user account\n"), usageout);
(void) fputs (_(" -e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE\n"), usageout);
@@ -1043,6 +1043,9 @@ process_flags(int argc, char **argv)
@@ -1054,6 +1054,9 @@ process_flags(int argc, char **argv)
break;
case 'b':
allow_bad_names = true;
@@ -9,7 +9,7 @@ Reported as https://github.com/shadow-maint/shadow/issues/1229
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 36c57d8..8a9c05a 100644
index 571e20d..c9cd472 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,7 +18,7 @@ AC_SUBST([LIBSUBID_ABI], [libsubid_abi])
@@ -1,30 +0,0 @@
From: Chris Hofstaedtler <zeha@debian.org>
Date: Mon, 24 Feb 2025 12:01:18 +0100
Subject: configure.ac: be deterministic about passwd location
Improve reproducibility, without Build-Depend:ing on ourselves.
Forwarded: https://github.com/shadow-maint/shadow/issues/1224
---
configure.ac | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/configure.ac b/configure.ac
index 8a9c05a..b7cc59c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -115,13 +115,7 @@ AC_DEFINE_UNQUOTED(LASTLOG_FILE, "$shadow_cv_logdir/lastlog",
AC_DEFINE_UNQUOTED(FAILLOG_FILE, "$shadow_cv_logdir/faillog",
[Path for faillog file.])
-AC_CACHE_CHECK([location of the passwd program], shadow_cv_passwd_dir,
-[if test -f /usr/bin/passwd; then
- shadow_cv_passwd_dir=/usr/bin
-else
- shadow_cv_passwd_dir=/bin
-fi])
-AC_DEFINE_UNQUOTED(PASSWD_PROGRAM, "$shadow_cv_passwd_dir/passwd",
+AC_DEFINE_UNQUOTED(PASSWD_PROGRAM, "$exec_prefix/bin/passwd",
[Path to passwd program.])
AC_ARG_ENABLE(shadowgrp,
+2 -7
View File
@@ -9,10 +9,5 @@ debian/Define-LOGIN_NAME_MAX-on-HURD.patch
debian/Stop-building-programs-we-do-not-install.patch
debian/Warn-when-badname-and-variants-are-given.patch
debian/configure.ac-align-exec_prefix-with-prefix.patch
debian/configure.ac-be-deterministic-about-passwd-location.patch
upstream/Revert-lib-src-Use-local-time-for-human-readable-dates.patch
upstream/src-chfn.c-Partially-revert-lib-src-Use-strsep-3-instead-.patch
upstream/src-chfn.c-Use-stpsep-instead-of-its-pattern.patch
upstream/src-chfn.c-Add-local-variable-to-refer-to-the-separated-f.patch
upstream/src-chfn.c-copy_field-Rename-local-variable.patch
upstream/lib-getdate.y-Ignore-time-zone-information-and-use-UTC.patch
upstream/Accept-usr-sbin-nologin-as-an-alternate-to-sbin-nologin.patch
upstream/Add-LOGIN_ENV_SAFELIST-to-FOREIGNDEFS.patch
@@ -0,0 +1,36 @@
From: Chris Hofstaedtler <zeha@debian.org>
Date: Fri, 28 Mar 2025 12:12:13 +0100
Subject: Accept /usr/sbin/nologin as an alternate to /sbin/nologin
Noticed by adduser's autopkgtests, thanks: Marc Haber
Link: https://github.com/shadow-maint/shadow/pull/1246
---
src/useradd.c | 1 +
src/usermod.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/useradd.c b/src/useradd.c
index 7e9dbce..0653d1d 100644
--- a/src/useradd.c
+++ b/src/useradd.c
@@ -1380,6 +1380,7 @@ static void process_flags (int argc, char **argv)
if (!streq(optarg, "")
&& '*' != optarg[0]
&& !streq(optarg, "/sbin/nologin")
+ && !streq(optarg, "/usr/sbin/nologin")
&& ( stat(optarg, &st) != 0
|| S_ISDIR(st.st_mode)
|| access(optarg, X_OK) != 0)) {
diff --git a/src/usermod.c b/src/usermod.c
index 9030883..4156ce5 100644
--- a/src/usermod.c
+++ b/src/usermod.c
@@ -1179,6 +1179,7 @@ process_flags(int argc, char **argv)
if (!streq(optarg, "")
&& '*' != optarg[0]
&& !streq(optarg, "/sbin/nologin")
+ && !streq(optarg, "/usr/sbin/nologin")
&& ( stat(optarg, &st) != 0
|| S_ISDIR(st.st_mode)
|| access(optarg, X_OK) != 0)) {
@@ -0,0 +1,24 @@
From: Stanislav Brabec <sbrabec@suse.cz>
Date: Wed, 9 Apr 2025 02:03:10 +0200
Subject: Add LOGIN_ENV_SAFELIST to FOREIGNDEFS
util-linux-2.41 introduced new variable: LOGIN_ENV_SAFELIST.
Add it to known login.defs variables.
Signed-off-by: Stanislav Brabec <sbrabec@suse.cz>
---
lib/getdef.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/getdef.c b/lib/getdef.c
index e354d89..8883a29 100644
--- a/lib/getdef.c
+++ b/lib/getdef.c
@@ -76,6 +76,7 @@ struct itemdef {
#define FOREIGNDEFS \
{"ALWAYS_SET_PATH", NULL}, \
{"ENV_ROOTPATH", NULL}, \
+ {"LOGIN_ENV_SAFELIST", NULL}, \
{"LOGIN_KEEP_USERNAME", NULL}, \
{"LOGIN_PLAIN_PROMPT", NULL}, \
{"MOTD_FIRSTONLY", NULL}, \
@@ -1,70 +0,0 @@
From: Alejandro Colomar <alx@kernel.org>
Date: Fri, 14 Feb 2025 21:25:01 +0100
Subject: Revert "lib/, src/: Use local time for human-readable dates"
This reverts commit 3f5b4b56268269fefed55aa106f382037297d663.
The dates are stored as UTC, and are stored as a number of days since
Epoch. We don't have enough precision to translate it into local time.
Using local time has caused endless issues in users.
This patch is not enough for fixing this issue completely, since
printing a date without time-zone information means that the date is a
local date, but what we're printing is a UTC date. A future patch
should add time-zone information to the date.
For now, let's revert this change that has caused so many issues.
Fixes: 3f5b4b562682 (2024-08-01; "lib/, src/: Use local time for human-readable dates")
Link: <https://github.com/ansible/ansible/blob/devel/test/integration/targets/user/tasks/test_expires.yml#L2-L20>
Link: <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1095430>
Link: <https://lists.iana.org/hyperkitty/list/tz@iana.org/message/ENE5IFV3GAH6WK22UJ6YU57D6TQINSP5/>
Link: <https://github.com/shadow-maint/shadow/issues/1202>
Link: <https://github.com/shadow-maint/shadow/issues/1057>
Link: <https://github.com/shadow-maint/shadow/issues/939>
Link: <https://github.com/shadow-maint/shadow/pull/1058>
Link: <https://github.com/shadow-maint/shadow/pull/1059#issuecomment-2309888519>
Link: <https://github.com/shadow-maint/shadow/pull/952>
Link: <https://github.com/shadow-maint/shadow/pull/942>
Reported-by: Chris Hofstaedtler <zeha@debian.org>
Reported-by: Gus Kenion <https://github.com/kenion>
Reported-by: Alejandro Colomar <alx@kernel.org>
Reported-by: Michael Vetter <jubalh@iodoru.org>
Reported-by: Lee Garrett <lgarrett@rocketjump.eu>
Cc: Paul Eggert <eggert@cs.ucla.edu>
Cc: Tim Parenti <tim@timtimeonline.com>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Cc: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
---
lib/time/day_to_str.h | 2 +-
src/chage.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/time/day_to_str.h b/lib/time/day_to_str.h
index b70e989..fe3308d 100644
--- a/lib/time/day_to_str.h
+++ b/lib/time/day_to_str.h
@@ -38,7 +38,7 @@ day_to_str(size_t size, char buf[size], long day)
return;
}
- if (localtime_r(&date, &tm) == NULL) {
+ if (gmtime_r(&date, &tm) == NULL) {
strtcpy(buf, "future", size);
return;
}
diff --git a/src/chage.c b/src/chage.c
index aed8e5b..e2902a7 100644
--- a/src/chage.c
+++ b/src/chage.c
@@ -238,7 +238,7 @@ print_day_as_date(long day)
return;
}
- if (localtime_r(&date, &tm) == NULL) {
+ if (gmtime_r(&date, &tm) == NULL) {
puts(_("future"));
return;
}
@@ -1,375 +0,0 @@
From: Alejandro Colomar <alx@kernel.org>
Date: Tue, 18 Feb 2025 00:41:56 +0100
Subject: lib/getdate.y: Ignore time-zone information and use UTC
There is exactly one caller of this function, and it wants a date, not a
time. It is useless to be able to parse local dates, because we
ultimately store a UTC date. To avoid confusion, unconditionally use
UTC. Since this code had important bugs regarding offset, we can safely
assume that no existing users rely on being able to use their local
date (this never worked correctly).
Also, the code parsing time zones was quite bad.
Link: <https://github.com/shadow-maint/shadow/issues/1202>
Link: <https://github.com/shadow-maint/shadow/issues/1209>
Reported-by: Chris Hofstaedtler <zeha@debian.org>
Reported-by: Tim Parenti <tim@timtimeonline.com>
Reported-by: Lee Garrett <lgarrett@rocketjump.eu>
Cc: Gus Kenion <https://github.com/kenion>
Cc: Michael Vetter <jubalh@iodoru.org>
Cc: Paul Eggert <eggert@cs.ucla.edu>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Cc: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
---
lib/getdate.y | 225 +++-------------------------------------------------------
1 file changed, 10 insertions(+), 215 deletions(-)
diff --git a/lib/getdate.y b/lib/getdate.y
index 20b1f5f..5b1d88d 100644
--- a/lib/getdate.y
+++ b/lib/getdate.y
@@ -92,8 +92,6 @@
static int yylex (void);
static int yyerror (const char *s);
-#define EPOCH 1970
-#define HOUR(x) ((x) * 60)
#define MAX_BUFF_LEN 128 /* size of buffer to read the date into */
@@ -128,8 +126,6 @@ static int yyHaveDate;
static int yyHaveDay;
static int yyHaveRel;
static int yyHaveTime;
-static int yyHaveZone;
-static int yyTimezone;
static int yyDay;
static int yyHour;
static int yyMinutes;
@@ -151,13 +147,13 @@ static int yyRelYear;
enum _MERIDIAN Meridian;
}
-%token tAGO tDAY tDAY_UNIT tDAYZONE tDST tHOUR_UNIT tID
+%token tAGO tDAY tDAY_UNIT tHOUR_UNIT tID
%token tMERIDIAN tMINUTE_UNIT tMONTH tMONTH_UNIT
-%token tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT tZONE
+%token tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT
-%type <Number> tDAY tDAY_UNIT tDAYZONE tHOUR_UNIT tMINUTE_UNIT
+%type <Number> tDAY tDAY_UNIT tHOUR_UNIT tMINUTE_UNIT
%type <Number> tMONTH tMONTH_UNIT
-%type <Number> tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT tZONE
+%type <Number> tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT
%type <Meridian> tMERIDIAN o_merid
%%
@@ -169,9 +165,6 @@ spec : /* NULL */
item : time {
yyHaveTime++;
}
- | zone {
- yyHaveZone++;
- }
| date {
yyHaveDate++;
}
@@ -200,10 +193,6 @@ time : tUNUMBER tMERIDIAN {
yyHour = $1;
yyMinutes = $3;
yyMeridian = MER24;
- yyHaveZone++;
- yyTimezone = ($4 < 0
- ? -$4 % 100 + (-$4 / 100) * 60
- : - ($4 % 100 + ($4 / 100) * 60));
}
| tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid {
yyHour = $1;
@@ -216,22 +205,6 @@ time : tUNUMBER tMERIDIAN {
yyMinutes = $3;
yySeconds = $5;
yyMeridian = MER24;
- yyHaveZone++;
- yyTimezone = ($6 < 0
- ? -$6 % 100 + (-$6 / 100) * 60
- : - ($6 % 100 + ($6 / 100) * 60));
- }
- ;
-
-zone : tZONE {
- yyTimezone = $1;
- }
- | tDAYZONE {
- yyTimezone = $1 - 60;
- }
- |
- tZONE tDST {
- yyTimezone = $1 - 60;
}
;
@@ -484,91 +457,6 @@ static TABLE const OtherTable[] = {
{ NULL, 0, 0 }
};
-/* The timezone table. */
-static TABLE const TimezoneTable[] = {
- { "gmt", tZONE, HOUR ( 0) }, /* Greenwich Mean */
- { "ut", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */
- { "utc", tZONE, HOUR ( 0) },
- { "wet", tZONE, HOUR ( 0) }, /* Western European */
- { "bst", tDAYZONE, HOUR ( 0) }, /* British Summer */
- { "wat", tZONE, HOUR ( 1) }, /* West Africa */
- { "at", tZONE, HOUR ( 2) }, /* Azores */
- { "ast", tZONE, HOUR ( 4) }, /* Atlantic Standard */
- { "adt", tDAYZONE, HOUR ( 4) }, /* Atlantic Daylight */
- { "est", tZONE, HOUR ( 5) }, /* Eastern Standard */
- { "edt", tDAYZONE, HOUR ( 5) }, /* Eastern Daylight */
- { "cst", tZONE, HOUR ( 6) }, /* Central Standard */
- { "cdt", tDAYZONE, HOUR ( 6) }, /* Central Daylight */
- { "mst", tZONE, HOUR ( 7) }, /* Mountain Standard */
- { "mdt", tDAYZONE, HOUR ( 7) }, /* Mountain Daylight */
- { "pst", tZONE, HOUR ( 8) }, /* Pacific Standard */
- { "pdt", tDAYZONE, HOUR ( 8) }, /* Pacific Daylight */
- { "yst", tZONE, HOUR ( 9) }, /* Yukon Standard */
- { "ydt", tDAYZONE, HOUR ( 9) }, /* Yukon Daylight */
- { "hst", tZONE, HOUR (10) }, /* Hawaii Standard */
- { "hdt", tDAYZONE, HOUR (10) }, /* Hawaii Daylight */
- { "cat", tZONE, HOUR (10) }, /* Central Alaska */
- { "ahst", tZONE, HOUR (10) }, /* Alaska-Hawaii Standard */
- { "nt", tZONE, HOUR (11) }, /* Nome */
- { "idlw", tZONE, HOUR (12) }, /* International Date Line West */
- { "cet", tZONE, -HOUR (1) }, /* Central European */
- { "met", tZONE, -HOUR (1) }, /* Middle European */
- { "mewt", tZONE, -HOUR (1) }, /* Middle European Winter */
- { "mest", tDAYZONE, -HOUR (1) }, /* Middle European Summer */
- { "mesz", tDAYZONE, -HOUR (1) }, /* Middle European Summer */
- { "swt", tZONE, -HOUR (1) }, /* Swedish Winter */
- { "sst", tDAYZONE, -HOUR (1) }, /* Swedish Summer */
- { "fwt", tZONE, -HOUR (1) }, /* French Winter */
- { "fst", tDAYZONE, -HOUR (1) }, /* French Summer */
- { "eet", tZONE, -HOUR (2) }, /* Eastern Europe, USSR Zone 1 */
- { "bt", tZONE, -HOUR (3) }, /* Baghdad, USSR Zone 2 */
- { "zp4", tZONE, -HOUR (4) }, /* USSR Zone 3 */
- { "zp5", tZONE, -HOUR (5) }, /* USSR Zone 4 */
- { "zp6", tZONE, -HOUR (6) }, /* USSR Zone 5 */
- { "wast", tZONE, -HOUR (7) }, /* West Australian Standard */
- { "wadt", tDAYZONE, -HOUR (7) }, /* West Australian Daylight */
- { "cct", tZONE, -HOUR (8) }, /* China Coast, USSR Zone 7 */
- { "jst", tZONE, -HOUR (9) }, /* Japan Standard, USSR Zone 8 */
- { "east", tZONE, -HOUR (10) }, /* Eastern Australian Standard */
- { "eadt", tDAYZONE, -HOUR (10) }, /* Eastern Australian Daylight */
- { "gst", tZONE, -HOUR (10) }, /* Guam Standard, USSR Zone 9 */
- { "nzt", tZONE, -HOUR (12) }, /* New Zealand */
- { "nzst", tZONE, -HOUR (12) }, /* New Zealand Standard */
- { "nzdt", tDAYZONE, -HOUR (12) }, /* New Zealand Daylight */
- { "idle", tZONE, -HOUR (12) }, /* International Date Line East */
- { NULL, 0, 0 }
-};
-
-/* Military timezone table. */
-static TABLE const MilitaryTable[] = {
- { "a", tZONE, HOUR ( 1) },
- { "b", tZONE, HOUR ( 2) },
- { "c", tZONE, HOUR ( 3) },
- { "d", tZONE, HOUR ( 4) },
- { "e", tZONE, HOUR ( 5) },
- { "f", tZONE, HOUR ( 6) },
- { "g", tZONE, HOUR ( 7) },
- { "h", tZONE, HOUR ( 8) },
- { "i", tZONE, HOUR ( 9) },
- { "k", tZONE, HOUR ( 10) },
- { "l", tZONE, HOUR ( 11) },
- { "m", tZONE, HOUR ( 12) },
- { "n", tZONE, HOUR (- 1) },
- { "o", tZONE, HOUR (- 2) },
- { "p", tZONE, HOUR (- 3) },
- { "q", tZONE, HOUR (- 4) },
- { "r", tZONE, HOUR (- 5) },
- { "s", tZONE, HOUR (- 6) },
- { "t", tZONE, HOUR (- 7) },
- { "u", tZONE, HOUR (- 8) },
- { "v", tZONE, HOUR (- 9) },
- { "w", tZONE, HOUR (-10) },
- { "x", tZONE, HOUR (-11) },
- { "y", tZONE, HOUR (-12) },
- { "z", tZONE, HOUR ( 0) },
- { NULL, 0, 0 }
-};
-
@@ -621,7 +509,6 @@ static int ToYear (int Year)
static int LookupWord (char *buff)
{
register char *p;
- register char *q;
register const TABLE *tp;
int i;
bool abbrev;
@@ -670,16 +557,6 @@ static int LookupWord (char *buff)
}
}
- for (tp = TimezoneTable; tp->name; tp++)
- if (streq(buff, tp->name))
- {
- yylval.Number = tp->value;
- return tp->type;
- }
-
- if (streq(buff, "dst"))
- return tDST;
-
for (tp = UnitsTable; tp->name; tp++)
if (streq(buff, tp->name))
{
@@ -708,32 +585,6 @@ static int LookupWord (char *buff)
return tp->type;
}
- /* Military timezones. */
- if (buff[1] == '\0' && isalpha (*buff))
- {
- for (tp = MilitaryTable; tp->name; tp++)
- if (streq(buff, tp->name))
- {
- yylval.Number = tp->value;
- return tp->type;
- }
- }
-
- /* Drop out any periods and try the timezone table again. */
- for (i = 0, p = q = buff; !streq(q, ""); q++)
- if (*q != '.')
- *p++ = *q;
- else
- i++;
- stpcpy(p, "");
- if (0 != i)
- for (tp = TimezoneTable; NULL != tp->name; tp++)
- if (streq(buff, tp->name))
- {
- yylval.Number = tp->value;
- return tp->type;
- }
-
return tID;
}
@@ -796,34 +647,14 @@ yylex (void)
#define TM_YEAR_ORIGIN 1900
-/* Yield A - B, measured in seconds. */
-static long difftm (struct tm *a, struct tm *b)
-{
- int ay = a->tm_year + (TM_YEAR_ORIGIN - 1);
- int by = b->tm_year + (TM_YEAR_ORIGIN - 1);
- long days = (
- /* difference in day of year */
- a->tm_yday - b->tm_yday
- /* + intervening leap days */
- + ((ay >> 2) - (by >> 2))
- - (ay / 100 - by / 100)
- + ((ay / 100 >> 2) - (by / 100 >> 2))
- /* + difference in years * 365 */
- + (long) (ay - by) * 365
- );
- return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour))
- + (a->tm_min - b->tm_min))
- + (a->tm_sec - b->tm_sec));
-}
-
time_t get_date (const char *p, const time_t *now)
{
- struct tm tm, tm0, *tmp;
+ struct tm tm, *tmp;
time_t Start;
yyInput = p;
Start = now ? *now : time(NULL);
- tmp = localtime (&Start);
+ tmp = gmtime(&Start);
yyYear = tmp->tm_year + TM_YEAR_ORIGIN;
yyMonth = tmp->tm_mon + 1;
yyDay = tmp->tm_mday;
@@ -841,10 +672,9 @@ time_t get_date (const char *p, const time_t *now)
yyHaveDay = 0;
yyHaveRel = 0;
yyHaveTime = 0;
- yyHaveZone = 0;
if (yyparse ()
- || yyHaveTime > 1 || yyHaveZone > 1 || yyHaveDate > 1 || yyHaveDay > 1)
+ || yyHaveTime > 1 || yyHaveDate > 1 || yyHaveDay > 1)
return -1;
tm.tm_year = ToYear (yyYear) - TM_YEAR_ORIGIN + yyRelYear;
@@ -866,39 +696,12 @@ time_t get_date (const char *p, const time_t *now)
tm.tm_hour += yyRelHour;
tm.tm_min += yyRelMinutes;
tm.tm_sec += yyRelSeconds;
- tm.tm_isdst = -1;
- tm0 = tm;
+ tm.tm_isdst = 0;
- Start = mktime (&tm);
+ Start = timegm(&tm);
if (Start == (time_t) -1)
{
-
- /* Guard against falsely reporting errors near the time_t boundaries
- when parsing times in other time zones. For example, if the min
- time_t value is 1970-01-01 00:00:00 UTC and we are 8 hours ahead
- of UTC, then the min localtime value is 1970-01-01 08:00:00; if
- we apply mktime to 1970-01-01 00:00:00 we will get an error, so
- we apply mktime to 1970-01-02 08:00:00 instead and adjust the time
- zone by 24 hours to compensate. This algorithm assumes that
- there is no DST transition within a day of the time_t boundaries. */
- if (yyHaveZone)
- {
- tm = tm0;
- if (tm.tm_year <= EPOCH - TM_YEAR_ORIGIN)
- {
- tm.tm_mday++;
- yyTimezone -= 24 * 60;
- }
- else
- {
- tm.tm_mday--;
- yyTimezone += 24 * 60;
- }
- Start = mktime (&tm);
- }
-
- if (Start == (time_t) -1)
return Start;
}
@@ -906,19 +709,11 @@ time_t get_date (const char *p, const time_t *now)
{
tm.tm_mday += ((yyDayNumber - tm.tm_wday + 7) % 7
+ 7 * (yyDayOrdinal - (0 < yyDayOrdinal)));
- Start = mktime (&tm);
+ Start = timegm(&tm);
if (Start == (time_t) -1)
return Start;
}
- if (yyHaveZone)
- {
- long delta = yyTimezone * 60L + difftm (&tm, gmtime (&Start));
- if ((Start + delta < Start) != (delta < 0))
- return -1; /* time_t overflow */
- Start += delta;
- }
-
return Start;
}
@@ -1,37 +0,0 @@
From: Alejandro Colomar <alx@kernel.org>
Date: Mon, 17 Feb 2025 13:44:55 +0100
Subject: src/chfn.c: Add local variable to refer to the separated field
Signed-off-by: Alejandro Colomar <alx@kernel.org>
---
src/chfn.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/chfn.c b/src/chfn.c
index 1799d6b..3fc94dc 100644
--- a/src/chfn.c
+++ b/src/chfn.c
@@ -220,18 +220,20 @@ static char *copy_field (char *in, char *out, char *extra)
char *cp = NULL;
while (NULL != in) {
+ const char *f;
+
+ f = in;
cp = stpsep(in, ",");
- if (strchr (in, '=') == NULL) {
+ if (strchr(f, '=') == NULL)
break;
- }
if (NULL != extra) {
if (!streq(extra, "")) {
strcat (extra, ",");
}
- strcat (extra, in);
+ strcat(extra, f);
}
in = cp;
}
@@ -1,67 +0,0 @@
From: Alejandro Colomar <alx@kernel.org>
Date: Mon, 17 Feb 2025 13:23:37 +0100
Subject: src/chfn.c: Partially revert "lib/,
src/: Use strsep(3) instead of its pattern"
This partially reverts commit 16cb664865541162c504a6f5ef5ca4b38b5e0c9a.
I'll try to reintroduce this change more carefully.
For now, let's revert to a known-good state.
The problem was due to accidentally ignoring the effects of the 'break'
on the 'cp' variable.
Fixes: 16cb66486554 (2024-07-01; "lib/, src/: Use strsep(3) instead of its pattern")
Closes: <https://github.com/shadow-maint/shadow/issues/1210>
Link: <https://github.com/shadow-maint/shadow/pull/1213>
Link: <https://github.com/shadow-maint/shadow/pull/1212>
Reported-by: Chris Hofstaedtler <zeha@debian.org>
Suggested-by: Chris Hofstaedtler <zeha@debian.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
---
src/chfn.c | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/src/chfn.c b/src/chfn.c
index 4c96fba..f06cb44 100644
--- a/src/chfn.c
+++ b/src/chfn.c
@@ -216,27 +216,32 @@ static void new_fields (void)
*/
static char *copy_field (char *in, char *out, char *extra)
{
+ char *cp = NULL;
+
while (NULL != in) {
- char *f;
+ cp = strchr (in, ',');
+ if (NULL != cp) {
+ *cp++ = '\0';
+ }
- f = strsep(&in, ",");
-
- if (strchr(f, '=') == NULL)
+ if (strchr (in, '=') == NULL) {
break;
+ }
if (NULL != extra) {
if (!streq(extra, "")) {
strcat (extra, ",");
}
- strcat(extra, f);
+ strcat (extra, in);
}
+ in = cp;
}
if ((NULL != in) && (NULL != out)) {
strcpy (out, in);
}
- return in;
+ return cp;
}
/*
@@ -1,33 +0,0 @@
From: Alejandro Colomar <alx@kernel.org>
Date: Mon, 17 Feb 2025 13:40:02 +0100
Subject: src/chfn.c: Use stpsep() instead of its pattern
Signed-off-by: Alejandro Colomar <alx@kernel.org>
---
src/chfn.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/chfn.c b/src/chfn.c
index f06cb44..1799d6b 100644
--- a/src/chfn.c
+++ b/src/chfn.c
@@ -36,6 +36,7 @@
#include "string/strcmp/streq.h"
#include "string/strcpy/strtcpy.h"
#include "string/strdup/xstrdup.h"
+#include "string/strtok/stpsep.h"
/*
@@ -219,10 +220,7 @@ static char *copy_field (char *in, char *out, char *extra)
char *cp = NULL;
while (NULL != in) {
- cp = strchr (in, ',');
- if (NULL != cp) {
- *cp++ = '\0';
- }
+ cp = stpsep(in, ",");
if (strchr (in, '=') == NULL) {
break;
@@ -1,47 +0,0 @@
From: Alejandro Colomar <alx@kernel.org>
Date: Mon, 17 Feb 2025 15:33:46 +0100
Subject: src/chfn.c: copy_field(): Rename local variable
This makes it more obvious what that pointer is.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
---
src/chfn.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/chfn.c b/src/chfn.c
index 3fc94dc..d62bb8a 100644
--- a/src/chfn.c
+++ b/src/chfn.c
@@ -217,13 +217,13 @@ static void new_fields (void)
*/
static char *copy_field (char *in, char *out, char *extra)
{
- char *cp = NULL;
+ char *next = NULL;
while (NULL != in) {
const char *f;
f = in;
- cp = stpsep(in, ",");
+ next = stpsep(in, ",");
if (strchr(f, '=') == NULL)
break;
@@ -235,13 +235,13 @@ static char *copy_field (char *in, char *out, char *extra)
strcat(extra, f);
}
- in = cp;
+ in = next;
}
if ((NULL != in) && (NULL != out)) {
strcpy (out, in);
}
- return cp;
+ return next;
}
/*
+50 -3
View File
@@ -25,6 +25,8 @@
#include "attr.h"
#include "prototypes.h"
#include "shadowlog.h"
#include "string/sprintf/snprintf.h"
int audit_fd;
void audit_help_open (void)
@@ -46,10 +48,14 @@ void audit_help_open (void)
/*
* This function will log a message to the audit system using a predefined
* message format. Parameter usage is as follows:
* message format. For additional information on the user account lifecycle
* events check
* <https://github.com/linux-audit/audit-documentation/wiki/SPEC-User-Account-Lifecycle-Events>
*
* type - type of message: AUDIT_USER_CHAUTHTOK for changing any account
* attributes.
* Parameter usage is as follows:
*
* type - type of message. A list of possible values is available in
* "audit-records.h" file.
* pgname - program's name
* op - operation. "adding user", "changing finger info", "deleting group"
* name - user's account or group name. If not available use NULL.
@@ -68,6 +74,47 @@ void audit_logger (int type, MAYBE_UNUSED const char *pgname, const char *op,
}
}
/*
* This function will log a message to the audit system using a predefined
* message format. For additional information on the group account lifecycle
* events check
* <https://github.com/linux-audit/audit-documentation/wiki/SPEC-User-Account-Lifecycle-Events>
*
* Parameter usage is as follows:
*
* type - type of message. A list of possible values is available in
* "audit-records.h" file.
* op - operation. "adding-user", "modify-group", "deleting-user-from-group"
* name - user's account or group name. If not available use NULL.
* id - uid or gid that the operation is being performed on. This is used
* only when user is NULL.
* grp_type - type of group: "grp" or "new_group"
* grp - group name associated with event
*/
void
audit_logger_with_group(int type, const char *op, const char *name,
id_t id, const char *grp_type, const char *grp,
shadow_audit_result result)
{
int len;
char enc_group[GROUP_NAME_MAX_LENGTH * 2 + 1];
char buf[NITEMS(enc_group) + 100];
if (audit_fd < 0)
return;
len = strnlen(grp, sizeof(enc_group)/2);
if (audit_value_needs_encoding(grp, len)) {
SNPRINTF(buf, "%s %s=%s", op, grp_type,
audit_encode_value(enc_group, grp, len));
} else {
SNPRINTF(buf, "%s %s=\"%s\"", op, grp_type, grp);
}
audit_log_acct_message(audit_fd, type, NULL, buf, name, id,
NULL, NULL, NULL, result);
}
void audit_logger_message (const char *message, shadow_audit_result result)
{
if (audit_fd < 0) {
+11 -11
View File
@@ -62,7 +62,7 @@ void cleanup_report_mod_group (void *cleanup_info)
gr_dbname (),
info->action));
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_ACCT, log_get_progname(),
audit_logger (AUDIT_GRP_MGMT, log_get_progname(),
info->audit_msg,
info->name, AUDIT_NO_ID,
SHADOW_AUDIT_FAILURE);
@@ -80,7 +80,7 @@ void cleanup_report_mod_gshadow (void *cleanup_info)
sgr_dbname (),
info->action));
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_ACCT, log_get_progname(),
audit_logger (AUDIT_GRP_MGMT, log_get_progname(),
info->audit_msg,
info->name, AUDIT_NO_ID,
SHADOW_AUDIT_FAILURE);
@@ -101,7 +101,7 @@ void cleanup_report_add_group_group (void *group_name)
SYSLOG ((LOG_ERR, "failed to add group %s to %s", name, gr_dbname ()));
#ifdef WITH_AUDIT
audit_logger (AUDIT_ADD_GROUP, log_get_progname(),
"adding group to /etc/group",
"adding-group",
name, AUDIT_NO_ID,
SHADOW_AUDIT_FAILURE);
#endif
@@ -120,8 +120,8 @@ void cleanup_report_add_group_gshadow (void *group_name)
SYSLOG ((LOG_ERR, "failed to add group %s to %s", name, sgr_dbname ()));
#ifdef WITH_AUDIT
audit_logger (AUDIT_ADD_GROUP, log_get_progname(),
"adding group to /etc/gshadow",
audit_logger (AUDIT_GRP_MGMT, log_get_progname(),
"adding-shadow-group",
name, AUDIT_NO_ID,
SHADOW_AUDIT_FAILURE);
#endif
@@ -143,8 +143,8 @@ void cleanup_report_del_group_group (void *group_name)
"failed to remove group %s from %s",
name, gr_dbname ()));
#ifdef WITH_AUDIT
audit_logger (AUDIT_ADD_GROUP, log_get_progname(),
"removing group from /etc/group",
audit_logger (AUDIT_DEL_GROUP, log_get_progname(),
"removing-group",
name, AUDIT_NO_ID,
SHADOW_AUDIT_FAILURE);
#endif
@@ -166,8 +166,8 @@ void cleanup_report_del_group_gshadow (void *group_name)
"failed to remove group %s from %s",
name, sgr_dbname ()));
#ifdef WITH_AUDIT
audit_logger (AUDIT_ADD_GROUP, log_get_progname(),
"removing group from /etc/gshadow",
audit_logger (AUDIT_GRP_MGMT, log_get_progname(),
"removing-shadow-group",
name, AUDIT_NO_ID,
SHADOW_AUDIT_FAILURE);
#endif
@@ -187,7 +187,7 @@ void cleanup_unlock_group (MAYBE_UNUSED void *arg)
log_get_progname(), gr_dbname ());
SYSLOG ((LOG_ERR, "failed to unlock %s", gr_dbname ()));
#ifdef WITH_AUDIT
audit_logger_message ("unlocking group file",
audit_logger_message ("unlocking-group",
SHADOW_AUDIT_FAILURE);
#endif
}
@@ -207,7 +207,7 @@ void cleanup_unlock_gshadow (MAYBE_UNUSED void *arg)
log_get_progname(), sgr_dbname ());
SYSLOG ((LOG_ERR, "failed to unlock %s", sgr_dbname ()));
#ifdef WITH_AUDIT
audit_logger_message ("unlocking gshadow file",
audit_logger_message ("unlocking-gshadow",
SHADOW_AUDIT_FAILURE);
#endif
}
+6 -6
View File
@@ -44,7 +44,7 @@ void cleanup_report_mod_passwd (void *cleanup_info)
pw_dbname (),
info->action));
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_ACCT, log_get_progname(),
audit_logger (AUDIT_USER_MGMT, log_get_progname(),
info->audit_msg,
info->name, AUDIT_NO_ID,
SHADOW_AUDIT_FAILURE);
@@ -65,7 +65,7 @@ void cleanup_report_add_user_passwd (void *user_name)
SYSLOG ((LOG_ERR, "failed to add user %s to %s", name, pw_dbname ()));
#ifdef WITH_AUDIT
audit_logger (AUDIT_ADD_USER, log_get_progname(),
"adding user to /etc/passwd",
"adding-user",
name, AUDIT_NO_ID,
SHADOW_AUDIT_FAILURE);
#endif
@@ -84,8 +84,8 @@ void cleanup_report_add_user_shadow (void *user_name)
SYSLOG ((LOG_ERR, "failed to add user %s to %s", name, spw_dbname ()));
#ifdef WITH_AUDIT
audit_logger (AUDIT_ADD_USER, log_get_progname(),
"adding user to /etc/shadow",
audit_logger (AUDIT_USER_MGMT, log_get_progname(),
"adding-shadow-user",
name, AUDIT_NO_ID,
SHADOW_AUDIT_FAILURE);
#endif
@@ -104,7 +104,7 @@ void cleanup_unlock_passwd (MAYBE_UNUSED void *arg)
log_get_progname(), pw_dbname ());
SYSLOG ((LOG_ERR, "failed to unlock %s", pw_dbname ()));
#ifdef WITH_AUDIT
audit_logger_message ("unlocking passwd file",
audit_logger_message ("unlocking-passwd",
SHADOW_AUDIT_FAILURE);
#endif
}
@@ -123,7 +123,7 @@ void cleanup_unlock_shadow (MAYBE_UNUSED void *arg)
log_get_progname(), spw_dbname ());
SYSLOG ((LOG_ERR, "failed to unlock %s", spw_dbname ()));
#ifdef WITH_AUDIT
audit_logger_message ("unlocking shadow file",
audit_logger_message ("unlocking-shadow",
SHADOW_AUDIT_FAILURE);
#endif
}
+1 -10
View File
@@ -74,17 +74,10 @@ int lrename (const char *old, const char *new)
{
int res;
char *r = NULL;
#ifndef __GLIBC__
char resolved_path[PATH_MAX];
#endif /* !__GLIBC__ */
struct stat sb;
if (lstat (new, &sb) == 0 && S_ISLNK (sb.st_mode)) {
#ifdef __GLIBC__ /* now a POSIX.1-2008 feature */
r = realpath (new, NULL);
#else /* !__GLIBC__ */
r = realpath (new, resolved_path);
#endif /* !__GLIBC__ */
if (NULL == r) {
perror ("realpath in lrename()");
} else {
@@ -94,9 +87,7 @@ int lrename (const char *old, const char *new)
res = rename (old, new);
#ifdef __GLIBC__
free (r);
#endif /* __GLIBC__ */
return res;
}
+2 -3
View File
@@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2024, Alejandro Colomar <alx@kernel.org>
// SPDX-FileCopyrightText: 2024-2025, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
@@ -6,9 +6,8 @@
#include "fs/readlink/readlinknul.h"
#include <stddef.h>
#include <sys/types.h>
extern inline ssize_t readlinknul(const char *restrict link, char *restrict buf,
size_t size);
ssize_t size);
+9 -12
View File
@@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2024, Alejandro Colomar <alx@kernel.org>
// SPDX-FileCopyrightText: 2024-2025, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
@@ -9,7 +9,6 @@
#include <config.h>
#include <errno.h>
#include <stddef.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
@@ -23,30 +22,28 @@
ATTR_STRING(1)
inline ssize_t readlinknul(const char *restrict link, char *restrict buf,
size_t size);
ssize_t size);
// Similar to readlink(2), but terminate the string.
inline ssize_t
readlinknul(const char *restrict link, char *restrict buf, size_t size)
readlinknul(const char *restrict link, char *restrict buf, ssize_t size)
{
size_t ulen;
ssize_t slen;
ssize_t len;
slen = readlink(link, buf, size);
if (slen == -1)
len = readlink(link, buf, size);
if (len == -1)
return -1;
ulen = slen;
if (ulen == size) {
if (len == size) {
stpcpy(&buf[size-1], "");
errno = E2BIG;
return -1;
}
stpcpy(&buf[ulen], "");
stpcpy(&buf[len], "");
return slen;
return len;
}
+245 -488
View File
File diff suppressed because it is too large Load Diff
+12 -217
View File
@@ -92,8 +92,6 @@
static int yylex (void);
static int yyerror (const char *s);
#define EPOCH 1970
#define HOUR(x) ((x) * 60)
#define MAX_BUFF_LEN 128 /* size of buffer to read the date into */
@@ -128,8 +126,6 @@ static int yyHaveDate;
static int yyHaveDay;
static int yyHaveRel;
static int yyHaveTime;
static int yyHaveZone;
static int yyTimezone;
static int yyDay;
static int yyHour;
static int yyMinutes;
@@ -151,13 +147,13 @@ static int yyRelYear;
enum _MERIDIAN Meridian;
}
%token tAGO tDAY tDAY_UNIT tDAYZONE tDST tHOUR_UNIT tID
%token tAGO tDAY tDAY_UNIT tHOUR_UNIT tID
%token tMERIDIAN tMINUTE_UNIT tMONTH tMONTH_UNIT
%token tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT tZONE
%token tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT
%type <Number> tDAY tDAY_UNIT tDAYZONE tHOUR_UNIT tMINUTE_UNIT
%type <Number> tDAY tDAY_UNIT tHOUR_UNIT tMINUTE_UNIT
%type <Number> tMONTH tMONTH_UNIT
%type <Number> tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT tZONE
%type <Number> tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT
%type <Meridian> tMERIDIAN o_merid
%%
@@ -169,9 +165,6 @@ spec : /* NULL */
item : time {
yyHaveTime++;
}
| zone {
yyHaveZone++;
}
| date {
yyHaveDate++;
}
@@ -196,14 +189,10 @@ time : tUNUMBER tMERIDIAN {
yySeconds = 0;
yyMeridian = $4;
}
| tUNUMBER ':' tUNUMBER tSNUMBER {
| tUNUMBER ':' tUNUMBER {
yyHour = $1;
yyMinutes = $3;
yyMeridian = MER24;
yyHaveZone++;
yyTimezone = ($4 < 0
? -$4 % 100 + (-$4 / 100) * 60
: - ($4 % 100 + ($4 / 100) * 60));
}
| tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid {
yyHour = $1;
@@ -211,27 +200,11 @@ time : tUNUMBER tMERIDIAN {
yySeconds = $5;
yyMeridian = $6;
}
| tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER {
| tUNUMBER ':' tUNUMBER ':' tUNUMBER {
yyHour = $1;
yyMinutes = $3;
yySeconds = $5;
yyMeridian = MER24;
yyHaveZone++;
yyTimezone = ($6 < 0
? -$6 % 100 + (-$6 / 100) * 60
: - ($6 % 100 + ($6 / 100) * 60));
}
;
zone : tZONE {
yyTimezone = $1;
}
| tDAYZONE {
yyTimezone = $1 - 60;
}
|
tZONE tDST {
yyTimezone = $1 - 60;
}
;
@@ -484,91 +457,6 @@ static TABLE const OtherTable[] = {
{ NULL, 0, 0 }
};
/* The timezone table. */
static TABLE const TimezoneTable[] = {
{ "gmt", tZONE, HOUR ( 0) }, /* Greenwich Mean */
{ "ut", tZONE, HOUR ( 0) }, /* Universal (Coordinated) */
{ "utc", tZONE, HOUR ( 0) },
{ "wet", tZONE, HOUR ( 0) }, /* Western European */
{ "bst", tDAYZONE, HOUR ( 0) }, /* British Summer */
{ "wat", tZONE, HOUR ( 1) }, /* West Africa */
{ "at", tZONE, HOUR ( 2) }, /* Azores */
{ "ast", tZONE, HOUR ( 4) }, /* Atlantic Standard */
{ "adt", tDAYZONE, HOUR ( 4) }, /* Atlantic Daylight */
{ "est", tZONE, HOUR ( 5) }, /* Eastern Standard */
{ "edt", tDAYZONE, HOUR ( 5) }, /* Eastern Daylight */
{ "cst", tZONE, HOUR ( 6) }, /* Central Standard */
{ "cdt", tDAYZONE, HOUR ( 6) }, /* Central Daylight */
{ "mst", tZONE, HOUR ( 7) }, /* Mountain Standard */
{ "mdt", tDAYZONE, HOUR ( 7) }, /* Mountain Daylight */
{ "pst", tZONE, HOUR ( 8) }, /* Pacific Standard */
{ "pdt", tDAYZONE, HOUR ( 8) }, /* Pacific Daylight */
{ "yst", tZONE, HOUR ( 9) }, /* Yukon Standard */
{ "ydt", tDAYZONE, HOUR ( 9) }, /* Yukon Daylight */
{ "hst", tZONE, HOUR (10) }, /* Hawaii Standard */
{ "hdt", tDAYZONE, HOUR (10) }, /* Hawaii Daylight */
{ "cat", tZONE, HOUR (10) }, /* Central Alaska */
{ "ahst", tZONE, HOUR (10) }, /* Alaska-Hawaii Standard */
{ "nt", tZONE, HOUR (11) }, /* Nome */
{ "idlw", tZONE, HOUR (12) }, /* International Date Line West */
{ "cet", tZONE, -HOUR (1) }, /* Central European */
{ "met", tZONE, -HOUR (1) }, /* Middle European */
{ "mewt", tZONE, -HOUR (1) }, /* Middle European Winter */
{ "mest", tDAYZONE, -HOUR (1) }, /* Middle European Summer */
{ "mesz", tDAYZONE, -HOUR (1) }, /* Middle European Summer */
{ "swt", tZONE, -HOUR (1) }, /* Swedish Winter */
{ "sst", tDAYZONE, -HOUR (1) }, /* Swedish Summer */
{ "fwt", tZONE, -HOUR (1) }, /* French Winter */
{ "fst", tDAYZONE, -HOUR (1) }, /* French Summer */
{ "eet", tZONE, -HOUR (2) }, /* Eastern Europe, USSR Zone 1 */
{ "bt", tZONE, -HOUR (3) }, /* Baghdad, USSR Zone 2 */
{ "zp4", tZONE, -HOUR (4) }, /* USSR Zone 3 */
{ "zp5", tZONE, -HOUR (5) }, /* USSR Zone 4 */
{ "zp6", tZONE, -HOUR (6) }, /* USSR Zone 5 */
{ "wast", tZONE, -HOUR (7) }, /* West Australian Standard */
{ "wadt", tDAYZONE, -HOUR (7) }, /* West Australian Daylight */
{ "cct", tZONE, -HOUR (8) }, /* China Coast, USSR Zone 7 */
{ "jst", tZONE, -HOUR (9) }, /* Japan Standard, USSR Zone 8 */
{ "east", tZONE, -HOUR (10) }, /* Eastern Australian Standard */
{ "eadt", tDAYZONE, -HOUR (10) }, /* Eastern Australian Daylight */
{ "gst", tZONE, -HOUR (10) }, /* Guam Standard, USSR Zone 9 */
{ "nzt", tZONE, -HOUR (12) }, /* New Zealand */
{ "nzst", tZONE, -HOUR (12) }, /* New Zealand Standard */
{ "nzdt", tDAYZONE, -HOUR (12) }, /* New Zealand Daylight */
{ "idle", tZONE, -HOUR (12) }, /* International Date Line East */
{ NULL, 0, 0 }
};
/* Military timezone table. */
static TABLE const MilitaryTable[] = {
{ "a", tZONE, HOUR ( 1) },
{ "b", tZONE, HOUR ( 2) },
{ "c", tZONE, HOUR ( 3) },
{ "d", tZONE, HOUR ( 4) },
{ "e", tZONE, HOUR ( 5) },
{ "f", tZONE, HOUR ( 6) },
{ "g", tZONE, HOUR ( 7) },
{ "h", tZONE, HOUR ( 8) },
{ "i", tZONE, HOUR ( 9) },
{ "k", tZONE, HOUR ( 10) },
{ "l", tZONE, HOUR ( 11) },
{ "m", tZONE, HOUR ( 12) },
{ "n", tZONE, HOUR (- 1) },
{ "o", tZONE, HOUR (- 2) },
{ "p", tZONE, HOUR (- 3) },
{ "q", tZONE, HOUR (- 4) },
{ "r", tZONE, HOUR (- 5) },
{ "s", tZONE, HOUR (- 6) },
{ "t", tZONE, HOUR (- 7) },
{ "u", tZONE, HOUR (- 8) },
{ "v", tZONE, HOUR (- 9) },
{ "w", tZONE, HOUR (-10) },
{ "x", tZONE, HOUR (-11) },
{ "y", tZONE, HOUR (-12) },
{ "z", tZONE, HOUR ( 0) },
{ NULL, 0, 0 }
};
@@ -621,7 +509,6 @@ static int ToYear (int Year)
static int LookupWord (char *buff)
{
register char *p;
register char *q;
register const TABLE *tp;
int i;
bool abbrev;
@@ -670,16 +557,6 @@ static int LookupWord (char *buff)
}
}
for (tp = TimezoneTable; tp->name; tp++)
if (streq(buff, tp->name))
{
yylval.Number = tp->value;
return tp->type;
}
if (streq(buff, "dst"))
return tDST;
for (tp = UnitsTable; tp->name; tp++)
if (streq(buff, tp->name))
{
@@ -708,32 +585,6 @@ static int LookupWord (char *buff)
return tp->type;
}
/* Military timezones. */
if (buff[1] == '\0' && isalpha (*buff))
{
for (tp = MilitaryTable; tp->name; tp++)
if (streq(buff, tp->name))
{
yylval.Number = tp->value;
return tp->type;
}
}
/* Drop out any periods and try the timezone table again. */
for (i = 0, p = q = buff; !streq(q, ""); q++)
if (*q != '.')
*p++ = *q;
else
i++;
stpcpy(p, "");
if (0 != i)
for (tp = TimezoneTable; NULL != tp->name; tp++)
if (streq(buff, tp->name))
{
yylval.Number = tp->value;
return tp->type;
}
return tID;
}
@@ -796,34 +647,14 @@ yylex (void)
#define TM_YEAR_ORIGIN 1900
/* Yield A - B, measured in seconds. */
static long difftm (struct tm *a, struct tm *b)
{
int ay = a->tm_year + (TM_YEAR_ORIGIN - 1);
int by = b->tm_year + (TM_YEAR_ORIGIN - 1);
long days = (
/* difference in day of year */
a->tm_yday - b->tm_yday
/* + intervening leap days */
+ ((ay >> 2) - (by >> 2))
- (ay / 100 - by / 100)
+ ((ay / 100 >> 2) - (by / 100 >> 2))
/* + difference in years * 365 */
+ (long) (ay - by) * 365
);
return (60 * (60 * (24 * days + (a->tm_hour - b->tm_hour))
+ (a->tm_min - b->tm_min))
+ (a->tm_sec - b->tm_sec));
}
time_t get_date (const char *p, const time_t *now)
{
struct tm tm, tm0, *tmp;
struct tm tm, *tmp;
time_t Start;
yyInput = p;
Start = now ? *now : time(NULL);
tmp = localtime (&Start);
tmp = gmtime(&Start);
yyYear = tmp->tm_year + TM_YEAR_ORIGIN;
yyMonth = tmp->tm_mon + 1;
yyDay = tmp->tm_mday;
@@ -841,10 +672,9 @@ time_t get_date (const char *p, const time_t *now)
yyHaveDay = 0;
yyHaveRel = 0;
yyHaveTime = 0;
yyHaveZone = 0;
if (yyparse ()
|| yyHaveTime > 1 || yyHaveZone > 1 || yyHaveDate > 1 || yyHaveDay > 1)
|| yyHaveTime > 1 || yyHaveDate > 1 || yyHaveDay > 1)
return -1;
tm.tm_year = ToYear (yyYear) - TM_YEAR_ORIGIN + yyRelYear;
@@ -866,39 +696,12 @@ time_t get_date (const char *p, const time_t *now)
tm.tm_hour += yyRelHour;
tm.tm_min += yyRelMinutes;
tm.tm_sec += yyRelSeconds;
tm.tm_isdst = -1;
tm0 = tm;
tm.tm_isdst = 0;
Start = mktime (&tm);
Start = timegm(&tm);
if (Start == (time_t) -1)
{
/* Guard against falsely reporting errors near the time_t boundaries
when parsing times in other time zones. For example, if the min
time_t value is 1970-01-01 00:00:00 UTC and we are 8 hours ahead
of UTC, then the min localtime value is 1970-01-01 08:00:00; if
we apply mktime to 1970-01-01 00:00:00 we will get an error, so
we apply mktime to 1970-01-02 08:00:00 instead and adjust the time
zone by 24 hours to compensate. This algorithm assumes that
there is no DST transition within a day of the time_t boundaries. */
if (yyHaveZone)
{
tm = tm0;
if (tm.tm_year <= EPOCH - TM_YEAR_ORIGIN)
{
tm.tm_mday++;
yyTimezone -= 24 * 60;
}
else
{
tm.tm_mday--;
yyTimezone += 24 * 60;
}
Start = mktime (&tm);
}
if (Start == (time_t) -1)
return Start;
}
@@ -906,19 +709,11 @@ time_t get_date (const char *p, const time_t *now)
{
tm.tm_mday += ((yyDayNumber - tm.tm_wday + 7) % 7
+ 7 * (yyDayOrdinal - (0 < yyDayOrdinal)));
Start = mktime (&tm);
Start = timegm(&tm);
if (Start == (time_t) -1)
return Start;
}
if (yyHaveZone)
{
long delta = yyTimezone * 60L + difftm (&tm, gmtime (&Start));
if ((Start + delta < Start) != (delta < 0))
return -1; /* time_t overflow */
Start += delta;
}
return Start;
}
+3
View File
@@ -189,6 +189,9 @@ extern void audit_logger (int type, const char *pgname, const char *op,
const char *name, unsigned int id,
shadow_audit_result result);
void audit_logger_message (const char *message, shadow_audit_result result);
void audit_logger_with_group(int type, const char *op, const char *name,
id_t id, const char *grp_type, const char *grp,
shadow_audit_result result);
#endif
/* limits.c */
+2
View File
@@ -11,10 +11,12 @@
#include <config.h>
#include <limits.h>
#include <sys/types.h>
#include "must_be.h"
#define ssizeof(x) ((ssize_t) sizeof(x))
#define memberof(T, member) ((T){}.member)
#define WIDTHOF(x) (sizeof(x) * CHAR_BIT)
#define SIZEOF_ARRAY(a) (sizeof(a) + must_be_array(a))
+1 -1
View File
@@ -38,7 +38,7 @@ day_to_str(size_t size, char buf[size], long day)
return;
}
if (localtime_r(&date, &tm) == NULL) {
if (gmtime_r(&date, &tm) == NULL) {
strtcpy(buf, "future", size);
return;
}
+1 -1
View File
@@ -1,2 +1,2 @@
<!ENTITY GROUP_NAME_MAX_LENGTH '32'>
<!ENTITY SHADOW_UTILS_VERSION '4.17.3'>
<!ENTITY SHADOW_UTILS_VERSION '4.17.4'>
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chfn
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: Danish
.\"
.TH "CHFN" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "CHFN" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: Danish
.\"
.TH "NEWGRP" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "NEWGRP" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: Danish
.\"
.TH "SG" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "SG" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: Danish
.\"
.TH "GSHADOW" "5" "24/02/2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "GSHADOW" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: groupdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: Danish
.\"
.TH "GROUPDEL" "8" "24/02/2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "GROUPDEL" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: logoutd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: Danish
.\"
.TH "LOGOUTD" "8" "24/02/2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "LOGOUTD" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: nologin
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: Danish
.\"
.TH "NOLOGIN" "8" "24/02/2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "NOLOGIN" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: Danish
.\"
.TH "VIPW" "8" "24/02/2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "VIPW" "8" "19/03/2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chage
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "CHAGE" "1" "24.02.2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "CHAGE" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chfn
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "CHFN" "1" "24.02.2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "CHFN" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chsh
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "CHSH" "1" "24.02.2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "CHSH" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: expiry
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "EXPIRY" "1" "24.02.2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "EXPIRY" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: gpasswd
.\" Author: Rafal Maszkowski
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "GPASSWD" "1" "24.02.2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "GPASSWD" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "LOGIN" "1" "24.02.2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "LOGIN" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "NEWGRP" "1" "24.02.2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "NEWGRP" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "PASSWD" "1" "24.02.2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "PASSWD" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "SG" "1" "24.02.2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "SG" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: su
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "SU" "1" "24.02.2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "SU" "1" "19.03.2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: Library Calls
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "SHADOW" "3" "24.02.2025" "shadow\-utils 4\&.17\&.3" "Library Calls"
.TH "SHADOW" "3" "19.03.2025" "shadow\-utils 4\&.17\&.4" "Library Calls"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "FAILLOG" "5" "24.02.2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuratio"
.TH "FAILLOG" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuratio"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "GSHADOW" "5" "24.02.2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "GSHADOW" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: limits
.\" Author: Luca Berra
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "LIMITS" "5" "24.02.2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "LIMITS" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login.access
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "LOGIN\&.ACCESS" "5" "24.02.2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "LOGIN\&.ACCESS" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login.defs
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "LOGIN\&.DEFS" "5" "24.02.2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "LOGIN\&.DEFS" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "PASSWD" "5" "24.02.2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "PASSWD" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: porttime
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "PORTTIME" "5" "24.02.2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "PORTTIME" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "SHADOW" "5" "24.02.2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "SHADOW" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: suauth
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "SUAUTH" "5" "24.02.2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "SUAUTH" "5" "19.03.2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chgpasswd
.\" Author: Thomas K\(/loczko <kloczek@pld.org.pl>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "CHGPASSWD" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "CHGPASSWD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chpasswd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "CHPASSWD" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "CHPASSWD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "FAILLOG" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "FAILLOG" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: groupadd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "GROUPADD" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "GROUPADD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: groupdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "GROUPDEL" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "GROUPDEL" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: groupmems
.\" Author: George Kraft, IV
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "GROUPMEMS" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "GROUPMEMS" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: groupmod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "GROUPMOD" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "GROUPMOD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: grpck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "GRPCK" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "GRPCK" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: lastlog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "LASTLOG" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "LASTLOG" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: logoutd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "LOGOUTD" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "LOGOUTD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: newusers
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "NEWUSERS" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "NEWUSERS" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: nologin
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "NOLOGIN" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "NOLOGIN" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: pwck
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "PWCK" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "PWCK" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: pwconv
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "PWCONV" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "PWCONV" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: sulogin
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "SULOGIN" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "SULOGIN" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: useradd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "USERADD" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "USERADD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: userdel
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "USERDEL" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "USERDEL" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: usermod
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "USERMOD" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "USERMOD" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: vipw
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24.02.2025
.\" Date: 19.03.2025
.\" Manual: System Management Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: German
.\"
.TH "VIPW" "8" "24.02.2025" "shadow\-utils 4\&.17\&.3" "System Management Commands"
.TH "VIPW" "8" "19.03.2025" "shadow\-utils 4\&.17\&.4" "System Management Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chage
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "CHAGE" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "CHAGE" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chfn
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "CHFN" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "CHFN" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: chsh
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "CHSH" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "CHSH" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: expiry
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "EXPIRY" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "EXPIRY" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: gpasswd
.\" Author: rafal Maszkowski
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "GPASSWD" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "GPASSWD" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "LOGIN" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "LOGIN" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: newgidmap
.\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "NEWGIDMAP" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "NEWGIDMAP" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: newgrp
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "NEWGRP" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "NEWGRP" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: newuidmap
.\" Author: Eric Biederman
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "NEWUIDMAP" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "NEWUIDMAP" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "PASSWD" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "PASSWD" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: sg
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "SG" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "SG" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: su
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: User Commands
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "SU" "1" "24/02/2025" "shadow\-utils 4\&.17\&.3" "User Commands"
.TH "SU" "1" "19/03/2025" "shadow\-utils 4\&.17\&.4" "User Commands"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: Library Calls
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "SHADOW" "3" "24/02/2025" "shadow\-utils 4\&.17\&.3" "Library Calls"
.TH "SHADOW" "3" "19/03/2025" "shadow\-utils 4\&.17\&.4" "Library Calls"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: faillog
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "FAILLOG" "5" "24/02/2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuratio"
.TH "FAILLOG" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuratio"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: gshadow
.\" Author: Nicolas Fran\(,cois <nicolas.francois@centraliens.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "GSHADOW" "5" "24/02/2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "GSHADOW" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: limits
.\" Author: Luca Berra
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "LIMITS" "5" "24/02/2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "LIMITS" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login.access
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "LOGIN\&.ACCESS" "5" "24/02/2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "LOGIN\&.ACCESS" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: login.defs
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "LOGIN\&.DEFS" "5" "24/02/2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "LOGIN\&.DEFS" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: passwd
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "PASSWD" "5" "24/02/2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "PASSWD" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: porttime
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "PORTTIME" "5" "24/02/2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "PORTTIME" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: shadow
.\" Author: Julianne Frances Haugh
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "SHADOW" "5" "24/02/2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "SHADOW" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
+3 -3
View File
@@ -2,12 +2,12 @@
.\" Title: suauth
.\" Author: Marek Micha\(/lkiewicz
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 24/02/2025
.\" Date: 19/03/2025
.\" Manual: File Formats and Configuration Files
.\" Source: shadow-utils 4.17.3
.\" Source: shadow-utils 4.17.4
.\" Language: French
.\"
.TH "SUAUTH" "5" "24/02/2025" "shadow\-utils 4\&.17\&.3" "File Formats and Configuration"
.TH "SUAUTH" "5" "19/03/2025" "shadow\-utils 4\&.17\&.4" "File Formats and Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------

Some files were not shown because too many files have changed in this diff Show More