Sync from SUSE:SLFO:Main shadow revision ab29753a2cb22265ff261735245b461c
This commit is contained in:
commit
6a4d22a32d
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
28
disable_new_audit_function.patch
Normal file
28
disable_new_audit_function.patch
Normal file
@ -0,0 +1,28 @@
|
||||
Index: shadow-4.5/src/lastlog.c
|
||||
===================================================================
|
||||
--- shadow-4.5.orig/src/lastlog.c
|
||||
+++ shadow-4.5/src/lastlog.c
|
||||
@@ -221,12 +221,15 @@ static void update_one (/*@null@*/const
|
||||
strcpy (ll.ll_host, "localhost");
|
||||
#endif
|
||||
strcpy (ll.ll_line, "lastlog");
|
||||
+/*
|
||||
#ifdef WITH_AUDIT
|
||||
audit_logger (AUDIT_ACCT_UNLOCK, Prog,
|
||||
"clearing-lastlog",
|
||||
pw->pw_name, (unsigned int) pw->pw_uid, SHADOW_AUDIT_SUCCESS);
|
||||
#endif
|
||||
+*/
|
||||
}
|
||||
+/*
|
||||
#ifdef WITH_AUDIT
|
||||
else {
|
||||
audit_logger (AUDIT_ACCT_UNLOCK, Prog,
|
||||
@@ -234,6 +237,7 @@ static void update_one (/*@null@*/const
|
||||
pw->pw_name, (unsigned int) pw->pw_uid, SHADOW_AUDIT_SUCCESS);
|
||||
}
|
||||
#endif
|
||||
+*/
|
||||
|
||||
if (fwrite (&ll, sizeof(ll), 1, lastlogfile) != 1) {
|
||||
fprintf (stderr,
|
BIN
pamd.tar.bz2
(Stored with Git LFS)
Normal file
BIN
pamd.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
shadow-4.15.1.tar.xz
(Stored with Git LFS)
Normal file
BIN
shadow-4.15.1.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
16
shadow-4.15.1.tar.xz.asc
Normal file
16
shadow-4.15.1.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEEflbiwT+nfOMVWa3JfcJMNsM0HSAFAmX/ahcACgkQfcJMNsM0
|
||||
HSBW5BAAwtMZjHRGfS7R7SnydwSaW7sDP+QOl1108a6rDk0vuu5jCqCcenN66Bwb
|
||||
CfR9wmFXUtnnfVSj+z/ESsZOdp1gBkEj6updIQXHK+V2AKmCfe2U7Nuci5Yk1I2E
|
||||
6bBAIETHV1YijZMTHSeMWQEmqmOXbF6xhHjbKscqBA4KvnasFuE6hn3Omw/TNCSg
|
||||
uwVxapgtUv3RJ/nkQq4OIODKgyeQA4r4LkAQLbtAYmUnEhDQqeEa7tsIJATFYKNK
|
||||
7xDyZrqRHb8Rzd9pKRJtYTkYOD18hmOr/vZidZPBhZ0Am1QaYsiRbjuxc9iF/AeE
|
||||
pI+WeGKmAvHG1F6hRmjiLmH4gsozL9tZ7OGDWGSrVDGeraIiEYRguwdy6Fe96v0V
|
||||
EkwhtcwIl9z8Elo6bIHPiSweOH+e00yHTiBqnkdwpFuOahWsNvcXTigKAEv6KAfR
|
||||
bp1BacPRFuO5tgb2/S+Miyb+Fzim5E7Ch77fH2ggtHRNtqff/PqlznX0CchtAplE
|
||||
pgI/BGNlnpCecnS/vu8M+SFuES34kh+pz7x4hWL2JICsTVZnJz2SB1tL+Z6p0y0G
|
||||
Jt78+LdoJ4U6SKl2s+42RVqrvR0QU01IbWDEFdaQ2lkK1ecGQWNfoOYwzweJiG2M
|
||||
RNfUX179KTEbQ4edhY2GmiZif8JUbp+amv9u5qUPrS3ZEgwrYUw=
|
||||
=1W4Z
|
||||
-----END PGP SIGNATURE-----
|
286
shadow-login_defs-check.sh
Normal file
286
shadow-login_defs-check.sh
Normal file
@ -0,0 +1,286 @@
|
||||
#!/bin/bash
|
||||
|
||||
# login.defs and lib/getdef.c contain support for third party variables.
|
||||
# It also contains support for variables that are unusable in installations with PAM support enabled.
|
||||
# This script generates a list of used and unused variables in login.defs
|
||||
# with respect to the current configuration.
|
||||
# Arguments: arguments of osc build
|
||||
# If the shadow-login_defs-check-unused.lst is generated, you should
|
||||
# update login.defs.
|
||||
|
||||
set -o errexit
|
||||
|
||||
echo "Preparing..."
|
||||
|
||||
# Check for required commands
|
||||
which quilt >/dev/null
|
||||
which osc >/dev/null
|
||||
|
||||
# login.defs is shared with util-linux login, su and runuser.
|
||||
# Extract list of referenced variables.
|
||||
if ! test -f openSUSE:Factory/util-linux/BUILD/*/configure.ac ; then
|
||||
echo "Checking out util-linux..."
|
||||
if test -d ../util-linux ; then
|
||||
echo -n "../util-linux found. Are you preparing new version? (y/N) "
|
||||
read
|
||||
if test "${REPLY:0:1}" = "y" ; then
|
||||
mkdir -p openSUSE:Factory
|
||||
cp -a ../util-linux openSUSE:Factory/
|
||||
else
|
||||
osc co openSUSE:Factory util-linux
|
||||
fi
|
||||
else
|
||||
osc co openSUSE:Factory util-linux
|
||||
fi
|
||||
cd openSUSE:Factory/util-linux
|
||||
quilt setup -d BUILD util-linux.spec
|
||||
cd BUILD/*
|
||||
quilt push -a
|
||||
cd ../../../..
|
||||
fi
|
||||
|
||||
echo "Extracting variables from util-linux..."
|
||||
cd openSUSE:Factory/util-linux/BUILD/*
|
||||
(
|
||||
grep -rh getlogindefs . |
|
||||
sed -n 's/^.*getlogindefs[a-z_]*("\([A-Z0-9_]*\)".*$/\1/p'
|
||||
grep -rh logindefs_setenv . |
|
||||
sed -n 's/^.*logindefs_setenv*("[A-Z0-9_]*", "\([A-Z0-9_]*\)".*$/\1/p'
|
||||
) |
|
||||
LC_ALL=C sort -u >../../../../shadow-login_defs-check-util-linux.lst
|
||||
cd ../../../..
|
||||
|
||||
# login.defs is shared pam_unix*.so, pam_faildelay.so and pam_umask.so.
|
||||
# Extract list of referenced variables.
|
||||
if ! test -f openSUSE:Factory/pam/BUILD/*/configure.ac ; then
|
||||
echo "Checking out pam..."
|
||||
if test -d ../pam ; then
|
||||
echo -n "../pam found. Are you preparing new version? (y/N) "
|
||||
read
|
||||
if test "${REPLY:0:1}" = "y" ; then
|
||||
mkdir -p openSUSE:Factory
|
||||
cp -a ../pam openSUSE:Factory/
|
||||
else
|
||||
osc co openSUSE:Factory pam
|
||||
fi
|
||||
else
|
||||
osc co openSUSE:Factory pam
|
||||
fi
|
||||
cd openSUSE:Factory/pam
|
||||
quilt setup -d BUILD pam.spec
|
||||
cd BUILD/*
|
||||
quilt push -a
|
||||
cd ../../../..
|
||||
fi
|
||||
|
||||
echo "Extracting variables from pam..."
|
||||
cd openSUSE:Factory/pam/BUILD/*
|
||||
grep -rh LOGIN_DEFS . |
|
||||
sed -n 's/CRYPTO_KEY/\"HMAC_CRYPTO_ALGO\"/g;s/^.*search_key *([A-Za-z_]*, *[A-Z_]*LOGIN_DEFS, *"\([A-Z0-9_]*\)").*$/\1/p' |
|
||||
LC_ALL=C sort -u >../../../../shadow-login_defs-check-pam.lst
|
||||
cd ../../../..
|
||||
|
||||
if ! test -f shadow-login_defs-check-build/stamp ; then
|
||||
echo "Performing preprocessing of shadow by osc..."
|
||||
if ! test -f shadow.spec.shadow-login_defs-check-save ; then
|
||||
cp -a shadow.spec shadow.spec.shadow-login_defs-check-save
|
||||
|
||||
# In case of shadow, variables extraction is more complicated. The list
|
||||
# depends on configure options, so we have to perform a fake build and
|
||||
# extract variables from prepreocessed sources.
|
||||
# sed -i '/^%make_build/i\_smp_mpflags="%{?_smp_mpflags} -k CPPFLAGS=\\"-E\\""' shadow.spec
|
||||
sed -i 's/^%make_build/%make_build -k CPPFLAGS=\\"-E\\"/' shadow.spec
|
||||
if cmp -s shadow.spec shadow.spec.shadow-login_defs-check-save ; then
|
||||
echo "$0: Please fix sed expression modifying shadow.spec."
|
||||
mv shadow.spec.shadow-login_defs-check-save shadow.spec
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if osc build "$@" ; then
|
||||
echo "This build command was expected to fail, but it succeeded."
|
||||
echo "$0: Please fix sed expression modifying shadow.spec."
|
||||
mv shadow.spec.shadow-login_defs-check-save shadow.spec
|
||||
exit 1
|
||||
else
|
||||
echo "This build command was expected to fail."
|
||||
echo ""
|
||||
fi
|
||||
mv shadow.spec.shadow-login_defs-check-save shadow.spec
|
||||
|
||||
BUILD_ROOT=$(osc lbl | sed -n 's/^.*Using BUILD_ROOT=//p')
|
||||
BUILD_DIR=$(osc lbl | sed -n 's/^.* cd //p' | head -n1)
|
||||
rm -rf shadow-login_defs-check-build
|
||||
mkdir shadow-login_defs-check-build
|
||||
cp -a "$BUILD_ROOT/$BUILD_DIR"/shadow-* shadow-login_defs-check-build/
|
||||
touch shadow-login_defs-check-build/stamp
|
||||
fi
|
||||
|
||||
echo "Extracting list of deleted binaries..."
|
||||
sed -n 's~rm %{buildroot}/%{_\(s\|\)bindir}/\(.*\)$~\2~p' <shadow.spec >shadow-login_defs-check-deleted.lst
|
||||
|
||||
# The build above is optional only for case of failure or edits in the
|
||||
# code below. If any other build was performed, don't expect correct
|
||||
# results.
|
||||
|
||||
cd shadow-login_defs-check-build/shadow-*
|
||||
|
||||
echo "Extracting variables from etc/login.defs..."
|
||||
# Extract variables referenced in login.defs, both active and commented out.
|
||||
sed -n "s/^#//;s/\([A-Z0-9_]*\)\([[:space:]].*\|\)$/\1/p" <etc/login.defs | sed '/^$/d' | uniq | sed '/^$/d' >../../shadow-login_defs-check-login_defs.lst
|
||||
LC_ALL=C sort -u ../../shadow-login_defs-check-login_defs.lst >../../shadow-login_defs-check-login_defs-sorted.lst
|
||||
|
||||
echo "Extracting variables from lib/getdef.c..."
|
||||
# Extract variables referenced in lib/getdef.c using current defines.
|
||||
sed -n 's/^\(},\|\) {"\([A-Z0-9_]*\)", /\2/p' <lib/libshadow_la-getdef.o >../../shadow-login_defs-check-getdef.lst
|
||||
LC_ALL=C sort -u ../../shadow-login_defs-check-getdef.lst >../../shadow-login_defs-check-getdef-sorted.lst
|
||||
|
||||
echo "Extracting variables from shadow..."
|
||||
# Extract variables referenced in preprocessed files.
|
||||
grep -r '\(getdef[a-z_]*\|call_script\|is_listed\) *( *"[A-Za-z0-9_]*"' |
|
||||
grep '[^ ]*\.o:' >../../shadow-login_defs-check-shadow.log
|
||||
|
||||
cd ../..
|
||||
|
||||
export RC=0
|
||||
echo ""
|
||||
echo ""
|
||||
echo "Performing checks..."
|
||||
|
||||
sed '
|
||||
s/^.*\(getdef[a-z_]*\|call_script\|is_listed*\) *( *"\([A-Za-z0-9_]*\)".*$/\2/
|
||||
' <shadow-login_defs-check-shadow.log | LC_ALL=C sort -u >../../shadow-login_defs-check-shadow-all.lst
|
||||
|
||||
sed 's%^\(.*\)%/^.*\\\/\1\.o:/d%' <shadow-login_defs-check-deleted.lst >shadow-login_defs-check-deleted.sed
|
||||
sed -f shadow-login_defs-check-deleted.sed <shadow-login_defs-check-shadow.log |
|
||||
sed '
|
||||
s/^.*\(getdef[a-z_]*\|call_script\|is_listed*\) *( *"\([A-Za-z0-9_]*\)".*$/\2/
|
||||
' | LC_ALL=C sort -u >shadow-login_defs-check-shadow-used.lst
|
||||
|
||||
if ! test -s shadow-login_defs-check-deleted.sed ; then
|
||||
echo " BUG: Empty shadow-login_defs-check-deleted.sed Results will be unreliable!"
|
||||
if test $RC -le 4 ; then export RC=4 ; fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Checking that variables in login.defs are referred only once..."
|
||||
if test $(wc -l shadow-login_defs-check-login_defs.lst | sed 's/ .*//') != $(wc -l shadow-login_defs-check-login_defs-sorted.lst | sed 's/ .*//') ; then
|
||||
echo " ERROR: Some variable referred at more places of login.defs!"
|
||||
LC_ALL=C sort shadow-login_defs-check-login_defs.lst >shadow-login_defs-check-login_defs-sorted-nu.lst
|
||||
diff shadow-login_defs-check-login_defs-sorted-nu.lst shadow-login_defs-check-login_defs-sorted.lst
|
||||
if test $RC -le 3 ; then export RC=3 ; fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Checking that variables in lib/getdef.c are referred only once..."
|
||||
if test $(wc -l shadow-login_defs-check-getdef.lst | sed 's/ .*//') != $(wc -l shadow-login_defs-check-getdef-sorted.lst | sed 's/ .*//') ; then
|
||||
echo " ERROR: Some variable referred at more places of lib/getdef.c!"
|
||||
LC_ALL=C sort shadow-login_defs-check-getdef.lst >shadow-login_defs-check-getdef-sorted-nu.lst
|
||||
diff shadow-login_defs-check-getdef-sorted-nu.lst shadow-login_defs-check-getdef-sorted.lst
|
||||
if test $RC -le 3 ; then export RC=3 ; fi
|
||||
fi
|
||||
|
||||
cat shadow-login_defs-check-shadow-used.lst shadow-login_defs-check-util-linux.lst shadow-login_defs-check-pam.lst | LC_ALL=C sort -u >shadow-login_defs-check-all-used.lst
|
||||
# RC inside pipe cannot be read directly. Use 3 for a real stdout inside the pipe, and use stdout for RC.
|
||||
exec 3>&1
|
||||
function report_packages() {
|
||||
echo -n " ("
|
||||
grep -l $1 shadow-login_defs-check-{shadow-used,util-linux,pam}.lst |
|
||||
sed 's/shadow-login_defs-check-//;s/\.lst//;s/-used//;s/$/, /;$s/, $//' |
|
||||
tr -d '\n'
|
||||
echo -n ")"
|
||||
}
|
||||
|
||||
# Extracting variables from shadow is not capable to identify compiled-but-unused library code.
|
||||
# This function will identify known false matches.
|
||||
function falsematch() {
|
||||
case "$1" in
|
||||
# MAIL_* used by library call mailcheck() used only by login.c that is deleted in the spec.
|
||||
MAIL_* ) return 0 ;;
|
||||
# FTMP_FILE used by library call failtmp() used only by login.c that is deleted in the spec.
|
||||
FTMP_FILE ) return 0 ;;
|
||||
# ISSUE_FILE used by library call login_prompt() used only by login.c that is deleted in the spec.
|
||||
ISSUE_FILE ) return 0 ;;
|
||||
# PREVENT_NO_AUTH us used only by login.c and su.c that are deleted in the spec.
|
||||
PREVENT_NO_AUTH ) return 0 ;;
|
||||
* ) return 1 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
echo ""
|
||||
echo "Checking that all used variables are covered by login.defs..."
|
||||
RC=$(cat shadow-login_defs-check-all-used.lst | (
|
||||
while read ; do
|
||||
if falsematch "$REPLY" ; then
|
||||
echo " FALSE MATCH: Variable $REPLY is not present in login.defs$(report_packages $REPLY)" >&3
|
||||
continue
|
||||
fi
|
||||
if ! grep -q -x "$REPLY" shadow-login_defs-check-login_defs-sorted.lst ; then
|
||||
echo " NOTICE: Variable $REPLY is not present in login.defs$(report_packages $REPLY)" >&3
|
||||
if test $RC -le 2 ; then RC=2 ; fi
|
||||
fi
|
||||
done
|
||||
echo $RC
|
||||
) )
|
||||
|
||||
echo ""
|
||||
echo "Checking that all used variables are covered by lib/getdef.c..."
|
||||
RC=$(cat shadow-login_defs-check-all-used.lst | (
|
||||
while read ; do
|
||||
if falsematch "$REPLY" ; then continue ; fi
|
||||
if ! grep -q -x "$REPLY" shadow-login_defs-check-getdef.lst ; then
|
||||
echo " ERROR: Variable $REPLY is missing in the parser$(report_packages $REPLY)" >&3
|
||||
if test $RC -le 3 ; then RC=3 ; fi
|
||||
fi
|
||||
done
|
||||
echo $RC
|
||||
) )
|
||||
|
||||
echo ""
|
||||
echo "Checking that all used variables referred in login.defs are valid..."
|
||||
RC=$(cat shadow-login_defs-check-login_defs.lst | (
|
||||
while read ; do
|
||||
if ! grep -q -x "$REPLY" shadow-login_defs-check-all-used.lst ; then
|
||||
echo " ERROR: Failed to find reference for $REPLY" >&3
|
||||
if test $RC -le 3 ; then RC=3 ; fi
|
||||
fi
|
||||
if ! grep -q -x "$REPLY" shadow-login_defs-check-getdef.lst ; then
|
||||
echo " BUG: Parser does not contain reference for $REPLY" >&3
|
||||
if test $RC -le 4 ; then RC=4 ; fi
|
||||
fi
|
||||
done
|
||||
echo $RC
|
||||
) )
|
||||
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
echo "All checks finished."
|
||||
echo -n "Result: "
|
||||
case $RC in
|
||||
0) echo "OK." ;;
|
||||
1) echo "Notices only. Action is optional." ;;
|
||||
2) echo "Warnings only. Evaluation is needed." ;;
|
||||
3) echo "Errors found. Fix is recommended." ;;
|
||||
4) echo "Fatal error. Fix has to be done." ;;
|
||||
esac
|
||||
|
||||
if test $RC -ge 1 ; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "
|
||||
If you ported shadow-util-linux.patch to the new util-linux version,
|
||||
please submit these updates:
|
||||
Change in util-linux.spec:"
|
||||
sed -n 's/^Version:[[:space:]]*/Requires: login_defs-support-for-util-linux >= /p' <openSUSE\:Factory/util-linux/util-linux.spec
|
||||
echo "Change in shadow.spec:"
|
||||
sed -n 's/^Version:[[:space:]]*/Provides: login_defs-support-for-util-linux = /p' <openSUSE\:Factory/util-linux/util-linux.spec
|
||||
|
||||
echo "
|
||||
If you ported shadow-login_defs-unused-by-pam.patch to the new pam version,
|
||||
please submit these updates:
|
||||
Change in pam.spec:"
|
||||
sed -n 's/^Version:[[:space:]]*/Requires: login_defs-support-for-pam >= /p' <openSUSE\:Factory/pam/pam.spec
|
||||
echo "Change in shadow.spec:"
|
||||
sed -n 's/^Version:[[:space:]]*/Provides: login_defs-support-for-pam = /p' <openSUSE\:Factory/pam/pam.spec
|
72
shadow-login_defs-comments.patch
Normal file
72
shadow-login_defs-comments.patch
Normal file
@ -0,0 +1,72 @@
|
||||
Improve comments in login.defs.
|
||||
|
||||
Index: etc/login.defs
|
||||
===================================================================
|
||||
--- etc/login.defs.orig
|
||||
+++ etc/login.defs
|
||||
@@ -3,8 +3,6 @@
|
||||
# Some variables are used by login(1), su(1) and runuser(1) from util-linux
|
||||
# package as well pam pam_unix(8) from pam package.
|
||||
#
|
||||
-# $Id$
|
||||
-#
|
||||
|
||||
#
|
||||
# Delay in seconds before being allowed another attempt after a login failure
|
||||
@@ -99,11 +97,14 @@ ENV_PATH /bin:/usr/bin
|
||||
ENV_ROOTPATH /sbin:/bin:/usr/sbin:/usr/bin
|
||||
#ENV_SUPATH /sbin:/bin:/usr/sbin:/usr/bin
|
||||
|
||||
-# If this variable is set to "yes", su will always set path. every su
|
||||
-# call will overwrite the PATH variable.
|
||||
+# If this variable is set to "yes" (default is "no"), su will always set
|
||||
+# path. every su call will overwrite the PATH variable.
|
||||
#
|
||||
# Per default, only "su -" will set a new PATH.
|
||||
#
|
||||
+# The recommended value is "yes". The default "no" behavior could have
|
||||
+# a security implication in applications that use commands without path.
|
||||
+#
|
||||
ALWAYS_SET_PATH no
|
||||
|
||||
#
|
||||
@@ -148,6 +149,11 @@ PASS_WARN_AGE 7
|
||||
#
|
||||
# Min/max values for automatic uid selection in useradd(8)
|
||||
#
|
||||
+# SYS_UID_MIN to SYS_UID_MAX inclusive is the range for
|
||||
+# UIDs for dynamically allocated administrative and system accounts.
|
||||
+# UID_MIN to UID_MAX inclusive is the range of UIDs of dynamically
|
||||
+# allocated user accounts.
|
||||
+#
|
||||
UID_MIN 1000
|
||||
UID_MAX 60000
|
||||
# System accounts
|
||||
@@ -161,6 +167,11 @@ SUB_UID_COUNT 65536
|
||||
#
|
||||
# Min/max values for automatic gid selection in groupadd(8)
|
||||
#
|
||||
+# SYS_GID_MIN to SYS_GID_MAX inclusive is the range for
|
||||
+# GIDs for dynamically allocated administrative and system groups.
|
||||
+# GID_MIN to GID_MAX inclusive is the range of GIDs of dynamically
|
||||
+# allocated groups.
|
||||
+#
|
||||
GID_MIN 1000
|
||||
GID_MAX 60000
|
||||
# System accounts
|
||||
@@ -196,7 +207,6 @@ LOGIN_TIMEOUT 60
|
||||
CHFN_RESTRICT rwh
|
||||
|
||||
#
|
||||
-# Only works if compiled with MD5_CRYPT defined:
|
||||
# If set to "yes", new passwords will be encrypted using the MD5-based
|
||||
# algorithm compatible with the one used by recent releases of FreeBSD.
|
||||
# It supports passwords of unlimited length and longer salt strings.
|
||||
@@ -211,7 +221,6 @@ CHFN_RESTRICT rwh
|
||||
#MD5_CRYPT_ENAB no
|
||||
|
||||
#
|
||||
-# Only works if compiled with ENCRYPTMETHOD_SELECT defined:
|
||||
# If set to MD5, MD5-based algorithm will be used for encrypting password
|
||||
# If set to SHA256, SHA256-based algorithm will be used for encrypting password
|
||||
# If set to SHA512, SHA512-based algorithm will be used for encrypting password
|
148
shadow-login_defs-suse.patch
Normal file
148
shadow-login_defs-suse.patch
Normal file
@ -0,0 +1,148 @@
|
||||
Set login.defs defaults for SUSE Linux.
|
||||
|
||||
Index: etc/login.defs
|
||||
===================================================================
|
||||
--- etc/login.defs.orig
|
||||
+++ etc/login.defs
|
||||
@@ -3,6 +3,9 @@
|
||||
# Some variables are used by login(1), su(1) and runuser(1) from util-linux
|
||||
# package as well pam pam_unix(8) from pam package.
|
||||
#
|
||||
+# For more, see login.defs(5). Please note that SUSE supports only variables
|
||||
+# listed here! Not listed variables from login.defs(5) have no effect.
|
||||
+#
|
||||
|
||||
#
|
||||
# Delay in seconds before being allowed another attempt after a login failure
|
||||
@@ -52,8 +55,8 @@ CONSOLE /etc/securetty
|
||||
# If defined, ":" delimited list of "message of the day" files to
|
||||
# be displayed upon login.
|
||||
#
|
||||
-MOTD_FILE /etc/motd
|
||||
-#MOTD_FILE /etc/motd:/usr/lib/news/news-motd
|
||||
+MOTD_FILE ""
|
||||
+#MOTD_FILE /etc/motd:/usr/share/misc/motd
|
||||
|
||||
#
|
||||
# If set to "yes", login stops display content specified by MOTD_FILE after
|
||||
@@ -73,8 +76,8 @@ MOTD_FILE /etc/motd
|
||||
# user's name or shell are found in the file. If not a full pathname, then
|
||||
# hushed mode will be enabled if the file exists in the user's home directory.
|
||||
#
|
||||
-HUSHLOGIN_FILE .hushlogin
|
||||
-#HUSHLOGIN_FILE /etc/hushlogins
|
||||
+#HUSHLOGIN_FILE .hushlogin
|
||||
+HUSHLOGIN_FILE /etc/hushlogins
|
||||
|
||||
# If this variable is set to "yes", hostname will be suppressed in the
|
||||
# login: prompt.
|
||||
@@ -93,9 +96,9 @@ HUSHLOGIN_FILE .hushlogin
|
||||
# ENV_SUPATH is an ENV_ROOTPATH override for su and runuser
|
||||
# (and falback for login).
|
||||
#
|
||||
-ENV_PATH /bin:/usr/bin
|
||||
-ENV_ROOTPATH /sbin:/bin:/usr/sbin:/usr/bin
|
||||
-#ENV_SUPATH /sbin:/bin:/usr/sbin:/usr/bin
|
||||
+ENV_PATH /usr/local/bin:/bin:/usr/bin
|
||||
+ENV_ROOTPATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||
+#ENV_SUPATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||
|
||||
# If this variable is set to "yes" (default is "no"), su will always set
|
||||
# path. every su call will overwrite the PATH variable.
|
||||
@@ -105,7 +108,7 @@ ENV_ROOTPATH /sbin:/bin:/usr/sbin:/usr/b
|
||||
# The recommended value is "yes". The default "no" behavior could have
|
||||
# a security implication in applications that use commands without path.
|
||||
#
|
||||
-ALWAYS_SET_PATH no
|
||||
+ALWAYS_SET_PATH yes
|
||||
|
||||
#
|
||||
# Terminal permissions
|
||||
@@ -119,7 +122,7 @@ ALWAYS_SET_PATH no
|
||||
# set TTYPERM to either 622 or 600.
|
||||
#
|
||||
TTYGROUP tty
|
||||
-TTYPERM 0600
|
||||
+TTYPERM 0620
|
||||
|
||||
# Default initial "umask" value used by login(1) on non-PAM enabled systems.
|
||||
# Default "umask" value for pam_umask(8) on PAM enabled systems.
|
||||
@@ -133,7 +136,7 @@ UMASK 022
|
||||
# HOME_MODE is used by useradd(8) and newusers(8) to set the mode for new
|
||||
# home directories.
|
||||
# If HOME_MODE is not set, the value of UMASK is used to create the mode.
|
||||
-#HOME_MODE 0700
|
||||
+HOME_MODE 0700
|
||||
|
||||
#
|
||||
# Password aging controls:
|
||||
@@ -157,8 +160,8 @@ PASS_WARN_AGE 7
|
||||
UID_MIN 1000
|
||||
UID_MAX 60000
|
||||
# System accounts
|
||||
-SYS_UID_MIN 101
|
||||
-SYS_UID_MAX 999
|
||||
+SYS_UID_MIN 100
|
||||
+SYS_UID_MAX 499
|
||||
# Extra per user uids
|
||||
SUB_UID_MIN 100000
|
||||
SUB_UID_MAX 600100000
|
||||
@@ -175,8 +178,8 @@ SUB_UID_COUNT 65536
|
||||
GID_MIN 1000
|
||||
GID_MAX 60000
|
||||
# System accounts
|
||||
-SYS_GID_MIN 101
|
||||
-SYS_GID_MAX 999
|
||||
+SYS_GID_MIN 100
|
||||
+SYS_GID_MAX 499
|
||||
# Extra per user group ids
|
||||
SUB_GID_MIN 100000
|
||||
SUB_GID_MAX 600100000
|
||||
@@ -185,7 +188,7 @@ SUB_GID_COUNT 65536
|
||||
#
|
||||
# Max number of login(1) retries if password is bad
|
||||
#
|
||||
-LOGIN_RETRIES 5
|
||||
+LOGIN_RETRIES 3
|
||||
|
||||
#
|
||||
# Tell login to only re-prompt for the password if authentication
|
||||
@@ -207,18 +210,9 @@ LOGIN_TIMEOUT 60
|
||||
CHFN_RESTRICT rwh
|
||||
|
||||
#
|
||||
-# If set to "yes", new passwords will be encrypted using the MD5-based
|
||||
-# algorithm compatible with the one used by recent releases of FreeBSD.
|
||||
-# It supports passwords of unlimited length and longer salt strings.
|
||||
-# Set to "no" if you need to copy encrypted passwords to other systems
|
||||
-# which don't understand the new algorithm. Default is "no".
|
||||
-#
|
||||
-# Note: If you use PAM, it is recommended to use a value consistent with
|
||||
-# the PAM modules configuration.
|
||||
-#
|
||||
-# This variable is deprecated. You should use ENCRYPT_METHOD instead.
|
||||
+# This variable is deprecated. Use ENCRYPT_METHOD instead!
|
||||
#
|
||||
-#MD5_CRYPT_ENAB no
|
||||
+#MD5_CRYPT_ENAB DO_NOT_USE
|
||||
|
||||
#
|
||||
# If set to MD5, MD5-based algorithm will be used for encrypting password
|
||||
@@ -233,7 +227,7 @@ CHFN_RESTRICT rwh
|
||||
# Note: If you use PAM, it is recommended to use a value consistent with
|
||||
# the PAM modules configuration.
|
||||
#
|
||||
-#ENCRYPT_METHOD DES
|
||||
+ENCRYPT_METHOD SHA512
|
||||
|
||||
#
|
||||
# Only works if ENCRYPT_METHOD is set to SHA256 or SHA512.
|
||||
@@ -322,7 +316,7 @@ USERGROUPS_ENAB yes
|
||||
# This option is overridden with the -M or -m flags on the useradd(8)
|
||||
# command-line.
|
||||
#
|
||||
-#CREATE_HOME yes
|
||||
+CREATE_HOME yes
|
||||
|
||||
#
|
||||
# Force use shadow, even if shadow passwd & shadow group files are
|
280
shadow-login_defs-unused-by-pam.patch
Normal file
280
shadow-login_defs-unused-by-pam.patch
Normal file
@ -0,0 +1,280 @@
|
||||
Remove variables that are present in login.defs, but shadow with the
|
||||
current configuration (e. g. with PAM) does not use them.
|
||||
|
||||
It also includes variables used by the current configuration, but deleted
|
||||
in the spec file.
|
||||
|
||||
shadow-login_defs-unused-check.sh makes possible to verify that it is
|
||||
still up to date.
|
||||
|
||||
Index: etc/login.defs
|
||||
===================================================================
|
||||
--- etc/login.defs.orig
|
||||
+++ etc/login.defs
|
||||
@@ -12,11 +12,6 @@
|
||||
FAIL_DELAY 3
|
||||
|
||||
#
|
||||
-# Enable logging and display of /var/log/faillog login(1) failure info.
|
||||
-#
|
||||
-FAILLOG_ENAB yes
|
||||
-
|
||||
-#
|
||||
# Enable display of unknown usernames when login(1) failures are recorded.
|
||||
#
|
||||
LOG_UNKFAIL_ENAB no
|
||||
@@ -27,11 +22,6 @@ LOG_UNKFAIL_ENAB no
|
||||
LOG_OK_LOGINS no
|
||||
|
||||
#
|
||||
-# Enable logging and display of /var/log/lastlog login(1) time info.
|
||||
-#
|
||||
-LASTLOG_ENAB yes
|
||||
-
|
||||
-#
|
||||
# Limit the highest user ID number for which the lastlog entries should
|
||||
# be updated.
|
||||
#
|
||||
@@ -41,29 +31,6 @@ LASTLOG_ENAB yes
|
||||
#LASTLOG_UID_MAX
|
||||
|
||||
#
|
||||
-# Enable checking and display of mailbox status upon login.
|
||||
-#
|
||||
-# Disable if the shell startup files already check for mail
|
||||
-# ("mailx -e" or equivalent).
|
||||
-#
|
||||
-MAIL_CHECK_ENAB yes
|
||||
-
|
||||
-#
|
||||
-# Enable additional checks upon password changes.
|
||||
-#
|
||||
-OBSCURE_CHECKS_ENAB yes
|
||||
-
|
||||
-#
|
||||
-# Enable checking of time restrictions specified in /etc/porttime.
|
||||
-#
|
||||
-PORTTIME_CHECKS_ENAB yes
|
||||
-
|
||||
-#
|
||||
-# Enable setting of ulimit, umask, and niceness from passwd(5) gecos field.
|
||||
-#
|
||||
-QUOTAS_ENAB yes
|
||||
-
|
||||
-#
|
||||
# Enable "syslog" logging of su(1) activity - in addition to sulog file logging.
|
||||
# SYSLOG_SG_ENAB does the same for newgrp(1) and sg(1).
|
||||
#
|
||||
@@ -91,46 +58,12 @@ MOTD_FILE /etc/motd
|
||||
#MOTD_FILE /etc/motd:/usr/lib/news/news-motd
|
||||
|
||||
#
|
||||
-# If defined, this file will be output before each login(1) prompt.
|
||||
-#
|
||||
-#ISSUE_FILE /etc/issue
|
||||
-
|
||||
-#
|
||||
# If defined, file which maps tty line to TERM environment parameter.
|
||||
# Each line of the file is in a format similar to "vt100 tty01".
|
||||
#
|
||||
#TTYTYPE_FILE /etc/ttytype
|
||||
|
||||
#
|
||||
-# If defined, login(1) failures will be logged here in a utmp format.
|
||||
-# last(1), when invoked as lastb(1), will read /var/log/btmp, so...
|
||||
-#
|
||||
-FTMP_FILE /var/log/btmp
|
||||
-
|
||||
-#
|
||||
-# If defined, name of file whose presence will inhibit non-root
|
||||
-# logins. The content of this file should be a message indicating
|
||||
-# why logins are inhibited.
|
||||
-#
|
||||
-NOLOGINS_FILE /etc/nologin
|
||||
-
|
||||
-#
|
||||
-# If defined, the command name to display when running "su -". For
|
||||
-# example, if this is defined as "su" then ps(1) will display the
|
||||
-# command as "-su". If not defined, then ps(1) will display the
|
||||
-# name of the shell actually being run, e.g. something like "-sh".
|
||||
-#
|
||||
-SU_NAME su
|
||||
-
|
||||
-#
|
||||
-# *REQUIRED*
|
||||
-# Directory where mailboxes reside, _or_ name of file, relative to the
|
||||
-# home directory. If you _do_ define both, MAIL_DIR takes precedence.
|
||||
-#
|
||||
-MAIL_DIR /var/spool/mail
|
||||
-#MAIL_FILE .mail
|
||||
-
|
||||
-#
|
||||
# If defined, file which inhibits all the usual chatter during the login
|
||||
# sequence. If a full pathname, then hushed mode will be enabled if the
|
||||
# user's name or shell are found in the file. If not a full pathname, then
|
||||
@@ -140,21 +73,6 @@ HUSHLOGIN_FILE .hushlogin
|
||||
#HUSHLOGIN_FILE /etc/hushlogins
|
||||
|
||||
#
|
||||
-# If defined, either a TZ environment parameter spec or the
|
||||
-# fully-rooted pathname of a file containing such a spec.
|
||||
-#
|
||||
-#ENV_TZ TZ=CST6CDT
|
||||
-#ENV_TZ /etc/tzname
|
||||
-
|
||||
-#
|
||||
-# If defined, an HZ environment parameter spec.
|
||||
-#
|
||||
-# for Linux/x86
|
||||
-ENV_HZ HZ=100
|
||||
-# For Linux/Alpha...
|
||||
-#ENV_HZ HZ=1024
|
||||
-
|
||||
-#
|
||||
# *REQUIRED* The default PATH settings, for superuser and normal users.
|
||||
#
|
||||
# (they are minimal, add the rest in the shell startup files)
|
||||
@@ -180,17 +98,13 @@ TTYPERM 0600
|
||||
#
|
||||
# ERASECHAR Terminal ERASE character ('\010' = backspace).
|
||||
# KILLCHAR Terminal KILL character ('\025' = CTRL/U).
|
||||
-# ULIMIT Default "ulimit" value.
|
||||
#
|
||||
# The ERASECHAR and KILLCHAR are used only on System V machines.
|
||||
-# The ULIMIT is used only if the system supports it.
|
||||
-# (now it works with setrlimit too; ulimit is in 512-byte units)
|
||||
#
|
||||
# Prefix these values with "0" to get octal, "0x" to get hexadecimal.
|
||||
#
|
||||
ERASECHAR 0177
|
||||
KILLCHAR 025
|
||||
-#ULIMIT 2097152
|
||||
|
||||
# Default initial "umask" value used by login(1) on non-PAM enabled systems.
|
||||
# Default "umask" value for pam_umask(8) on PAM enabled systems.
|
||||
@@ -211,23 +125,13 @@ UMASK 022
|
||||
#
|
||||
# PASS_MAX_DAYS Maximum number of days a password may be used.
|
||||
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
|
||||
-# PASS_MIN_LEN Minimum acceptable password length.
|
||||
# PASS_WARN_AGE Number of days warning given before a password expires.
|
||||
#
|
||||
PASS_MAX_DAYS 99999
|
||||
PASS_MIN_DAYS 0
|
||||
-PASS_MIN_LEN 5
|
||||
PASS_WARN_AGE 7
|
||||
|
||||
#
|
||||
-# If "yes", the user must be listed as a member of the first gid 0 group
|
||||
-# in /etc/group (called "root" on most Linux systems) to be able to "su"
|
||||
-# to uid 0 accounts. If the group doesn't exist or is empty, no one
|
||||
-# will be able to "su" to uid 0.
|
||||
-#
|
||||
-SU_WHEEL_ONLY no
|
||||
-
|
||||
-#
|
||||
# Min/max values for automatic uid selection in useradd(8)
|
||||
#
|
||||
UID_MIN 1000
|
||||
@@ -264,28 +168,6 @@ LOGIN_RETRIES 5
|
||||
LOGIN_TIMEOUT 60
|
||||
|
||||
#
|
||||
-# Maximum number of attempts to change password if rejected (too easy)
|
||||
-#
|
||||
-PASS_CHANGE_TRIES 5
|
||||
-
|
||||
-#
|
||||
-# Warn about weak passwords (but still allow them) if you are root.
|
||||
-#
|
||||
-PASS_ALWAYS_WARN yes
|
||||
-
|
||||
-#
|
||||
-# Number of significant characters in the password for crypt().
|
||||
-# Default is 8, don't change unless your crypt() is better.
|
||||
-# Ignored if MD5_CRYPT_ENAB set to "yes".
|
||||
-#
|
||||
-#PASS_MAX_LEN 8
|
||||
-
|
||||
-#
|
||||
-# Require password before chfn(1)/chsh(1) can make any changes.
|
||||
-#
|
||||
-CHFN_AUTH yes
|
||||
-
|
||||
-#
|
||||
# Which fields may be changed by regular users using chfn(1) - use
|
||||
# any combination of letters "frwh" (full name, room number, work
|
||||
# phone, home phone). If not defined, no changes are allowed.
|
||||
@@ -294,13 +176,6 @@ CHFN_AUTH yes
|
||||
CHFN_RESTRICT rwh
|
||||
|
||||
#
|
||||
-# Password prompt (%s will be replaced by user name).
|
||||
-#
|
||||
-# XXX - it doesn't work correctly yet, for now leave it commented out
|
||||
-# to use the default which is just "Password: ".
|
||||
-#LOGIN_STRING "%s's Password: "
|
||||
-
|
||||
-#
|
||||
# Only works if compiled with MD5_CRYPT defined:
|
||||
# If set to "yes", new passwords will be encrypted using the MD5-based
|
||||
# algorithm compatible with the one used by recent releases of FreeBSD.
|
||||
@@ -349,45 +224,6 @@ CHFN_RESTRICT rwh
|
||||
#SHA_CRYPT_MAX_ROUNDS 5000
|
||||
|
||||
#
|
||||
-# Only works if ENCRYPT_METHOD is set to BCRYPT.
|
||||
-#
|
||||
-# Define the number of BCRYPT rounds.
|
||||
-# With a lot of rounds, it is more difficult to brute-force the password.
|
||||
-# However, more CPU resources will be needed to authenticate users if
|
||||
-# this value is increased.
|
||||
-#
|
||||
-# If not specified, 13 rounds will be attempted.
|
||||
-# If only one of the MIN or MAX values is set, then this value will be used.
|
||||
-# If MIN > MAX, the highest value will be used.
|
||||
-#
|
||||
-#BCRYPT_MIN_ROUNDS 13
|
||||
-#BCRYPT_MAX_ROUNDS 13
|
||||
-
|
||||
-#
|
||||
-# Only works if ENCRYPT_METHOD is set to YESCRYPT.
|
||||
-#
|
||||
-# Define the YESCRYPT cost factor.
|
||||
-# With a higher cost factor, it is more difficult to brute-force the password.
|
||||
-# However, more CPU time and more memory will be needed to authenticate users
|
||||
-# if this value is increased.
|
||||
-#
|
||||
-# If not specified, a cost factor of 5 will be used.
|
||||
-# The value must be within the 1-11 range.
|
||||
-#
|
||||
-#YESCRYPT_COST_FACTOR 5
|
||||
-
|
||||
-#
|
||||
-# List of groups to add to the user's supplementary group set
|
||||
-# when logging in from the console (as determined by the CONSOLE
|
||||
-# setting). Default is none.
|
||||
-#
|
||||
-# Use with caution - it is possible for users to gain permanent
|
||||
-# access to these groups, even when not logged in from the console.
|
||||
-# How to do it is left as an exercise for the reader...
|
||||
-#
|
||||
-#CONSOLE_GROUPS floppy:audio:cdrom
|
||||
-
|
||||
-#
|
||||
# Should login be allowed if we can't cd to the home directory?
|
||||
# Default is no.
|
||||
#
|
||||
@@ -402,12 +238,6 @@ DEFAULT_HOME yes
|
||||
NONEXISTENT /nonexistent
|
||||
|
||||
#
|
||||
-# If this file exists and is readable, login environment will be
|
||||
-# read from it. Every line should be in the form name=value.
|
||||
-#
|
||||
-ENVIRON_FILE /etc/environment
|
||||
-
|
||||
-#
|
||||
# If defined, this command is run when removing a user.
|
||||
# It should remove any at/cron/print jobs etc. owned by
|
||||
# the user to be removed (passed as the first argument).
|
139
shadow-util-linux.patch
Normal file
139
shadow-util-linux.patch
Normal file
@ -0,0 +1,139 @@
|
||||
Add variables referred by util-linux login, runuser and su, but not by
|
||||
shadow.
|
||||
|
||||
Delete variables used by shadow implementation of login, su and runuser
|
||||
that has no use in util-linux implementation.
|
||||
|
||||
Index: etc/login.defs
|
||||
===================================================================
|
||||
--- etc/login.defs.orig
|
||||
+++ etc/login.defs
|
||||
@@ -1,5 +1,7 @@
|
||||
#
|
||||
# /etc/login.defs - Configuration control definitions for the shadow package.
|
||||
+# Some variables are used by login(1), su(1) and runuser(1) from util-linux
|
||||
+# package as well pam pam_unix(8) from pam package.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
@@ -17,9 +19,8 @@ FAIL_DELAY 3
|
||||
LOG_UNKFAIL_ENAB no
|
||||
|
||||
#
|
||||
-# Enable logging of successful logins
|
||||
+# Enable "syslog" logging of newgrp(1) and sg(1) activity.
|
||||
#
|
||||
-LOG_OK_LOGINS no
|
||||
|
||||
#
|
||||
# Limit the highest user ID number for which the lastlog entries should
|
||||
@@ -31,10 +32,9 @@ LOG_OK_LOGINS no
|
||||
#LASTLOG_UID_MAX
|
||||
|
||||
#
|
||||
-# Enable "syslog" logging of su(1) activity - in addition to sulog file logging.
|
||||
-# SYSLOG_SG_ENAB does the same for newgrp(1) and sg(1).
|
||||
+# Enable "syslog" logging of newgrp(1) and sg(1) activity - in addition
|
||||
+# to sulog file logging.
|
||||
#
|
||||
-SYSLOG_SU_ENAB yes
|
||||
SYSLOG_SG_ENAB yes
|
||||
|
||||
#
|
||||
@@ -58,6 +58,12 @@ MOTD_FILE /etc/motd
|
||||
#MOTD_FILE /etc/motd:/usr/lib/news/news-motd
|
||||
|
||||
#
|
||||
+# If set to "yes", login stops display content specified by MOTD_FILE after
|
||||
+# the first accessible item in the list.
|
||||
+#
|
||||
+#MOTD_FIRSTONLY no
|
||||
+
|
||||
+#
|
||||
# If defined, file which maps tty line to TERM environment parameter.
|
||||
# Each line of the file is in a format similar to "vt100 tty01".
|
||||
#
|
||||
@@ -72,12 +78,33 @@ MOTD_FILE /etc/motd
|
||||
HUSHLOGIN_FILE .hushlogin
|
||||
#HUSHLOGIN_FILE /etc/hushlogins
|
||||
|
||||
+# If this variable is set to "yes", hostname will be suppressed in the
|
||||
+# login: prompt.
|
||||
+#LOGIN_PLAIN_PROMPT no
|
||||
+
|
||||
#
|
||||
# *REQUIRED* The default PATH settings, for superuser and normal users.
|
||||
#
|
||||
# (they are minimal, add the rest in the shell startup files)
|
||||
-ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||
-ENV_PATH PATH=/bin:/usr/bin
|
||||
+#
|
||||
+# ENV_PATH: The default PATH settings for non-root.
|
||||
+#
|
||||
+# ENV_ROOTPATH: The default PATH settings for root
|
||||
+# (used by login, su and runuser).
|
||||
+#
|
||||
+# ENV_SUPATH is an ENV_ROOTPATH override for su and runuser
|
||||
+# (and falback for login).
|
||||
+#
|
||||
+ENV_PATH /bin:/usr/bin
|
||||
+ENV_ROOTPATH /sbin:/bin:/usr/sbin:/usr/bin
|
||||
+#ENV_SUPATH /sbin:/bin:/usr/sbin:/usr/bin
|
||||
+
|
||||
+# If this variable is set to "yes", su will always set path. every su
|
||||
+# call will overwrite the PATH variable.
|
||||
+#
|
||||
+# Per default, only "su -" will set a new PATH.
|
||||
+#
|
||||
+ALWAYS_SET_PATH no
|
||||
|
||||
#
|
||||
# Terminal permissions
|
||||
@@ -93,19 +120,6 @@ ENV_PATH PATH=/bin:/usr/bin
|
||||
TTYGROUP tty
|
||||
TTYPERM 0600
|
||||
|
||||
-#
|
||||
-# Login configuration initializations:
|
||||
-#
|
||||
-# ERASECHAR Terminal ERASE character ('\010' = backspace).
|
||||
-# KILLCHAR Terminal KILL character ('\025' = CTRL/U).
|
||||
-#
|
||||
-# The ERASECHAR and KILLCHAR are used only on System V machines.
|
||||
-#
|
||||
-# Prefix these values with "0" to get octal, "0x" to get hexadecimal.
|
||||
-#
|
||||
-ERASECHAR 0177
|
||||
-KILLCHAR 025
|
||||
-
|
||||
# Default initial "umask" value used by login(1) on non-PAM enabled systems.
|
||||
# Default "umask" value for pam_umask(8) on PAM enabled systems.
|
||||
# UMASK is also used by useradd(8) and newusers(8) to set the mode for new
|
||||
@@ -163,6 +177,12 @@ SUB_GID_COUNT 65536
|
||||
LOGIN_RETRIES 5
|
||||
|
||||
#
|
||||
+# Tell login to only re-prompt for the password if authentication
|
||||
+# failed, but the username is valid. The default value is no.
|
||||
+#
|
||||
+LOGIN_KEEP_USERNAME no
|
||||
+
|
||||
+#
|
||||
# Max time in seconds for login(1)
|
||||
#
|
||||
LOGIN_TIMEOUT 60
|
||||
@@ -315,14 +335,6 @@ CHARACTER_CLASS [ABCDEFGHIJKLMNO
|
||||
#GRANT_AUX_GROUP_SUBIDS yes
|
||||
|
||||
#
|
||||
-# Prevents an empty password field to be interpreted as "no authentication
|
||||
-# required".
|
||||
-# Set to "yes" to prevent for all accounts
|
||||
-# Set to "superuser" to prevent for UID 0 / root (default)
|
||||
-# Set to "no" to not prevent for any account (dangerous, historical default)
|
||||
-PREVENT_NO_AUTH superuser
|
||||
-
|
||||
-#
|
||||
# Select the HMAC cryptography algorithm.
|
||||
# Used in pam_timestamp module to calculate the keyed-hash message
|
||||
# authentication code.
|
1161
shadow.changes
Normal file
1161
shadow.changes
Normal file
File diff suppressed because it is too large
Load Diff
239
shadow.keyring
Normal file
239
shadow.keyring
Normal file
@ -0,0 +1,239 @@
|
||||
Serge Hallyn <sergeh@kernel.org>
|
||||
Serge Hallyn <serge@hallyn.com>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=/+gu
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
|
||||
Alejandro Colomar <alx@kernel.org>
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
vK53nZUH
|
||||
=V1ID
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
23
shadow.service
Normal file
23
shadow.service
Normal file
@ -0,0 +1,23 @@
|
||||
[Unit]
|
||||
Description=Verify integrity of password and group files
|
||||
|
||||
[Service]
|
||||
# added automatically, for details please see
|
||||
# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
|
||||
ProtectSystem=full
|
||||
ProtectHome=read-only
|
||||
PrivateDevices=true
|
||||
ProtectHostname=true
|
||||
ProtectClock=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectKernelModules=true
|
||||
ProtectKernelLogs=true
|
||||
ProtectControlGroups=true
|
||||
RestrictRealtime=true
|
||||
# end of automatic additions
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/pwck -r
|
||||
ExecStart=/usr/sbin/grpck -r
|
||||
Nice=19
|
||||
IOSchedulingClass=best-effort
|
||||
IOSchedulingPriority=7
|
388
shadow.spec
Normal file
388
shadow.spec
Normal file
@ -0,0 +1,388 @@
|
||||
#
|
||||
# spec file for package shadow
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%if ! %{defined _distconfdir}
|
||||
%define _distconfdir %{_sysconfdir}
|
||||
%else
|
||||
%define no_config 1
|
||||
%endif
|
||||
Name: shadow
|
||||
Version: 4.15.1
|
||||
Release: 0
|
||||
Summary: Utilities to Manage User and Group Accounts
|
||||
License: BSD-3-Clause AND GPL-2.0-or-later
|
||||
Group: System/Base
|
||||
URL: https://github.com/shadow-maint/shadow
|
||||
Source0: https://github.com/shadow-maint/shadow/releases/download/%{version}/shadow-%{version}.tar.xz
|
||||
Source1: pamd.tar.bz2
|
||||
Source2: https://github.com/shadow-maint/shadow/releases/download/%{version}/shadow-%{version}.tar.xz.asc
|
||||
Source3: %{name}.keyring
|
||||
Source4: shadow.service
|
||||
Source5: shadow.timer
|
||||
# SOURCE-FEATURE-SUSE shadow-login_defs-check.sh sbrabec@suse.com -- Supplementary script that verifies coverage of variables in shadow-login_defs-unused-by-pam.patch and other patches.
|
||||
Source40: shadow-login_defs-check.sh
|
||||
# PATCH-FIX-SUSE shadow-login_defs-unused-by-pam.patch kukuk@suse.com -- Remove variables that have no use with PAM.
|
||||
Patch0: shadow-login_defs-unused-by-pam.patch
|
||||
# PATCH-FEATURE-SUSE useradd-default.patch kukuk@suse.com -- Change useradd defaults group to 1000.
|
||||
Patch1: useradd-default.patch
|
||||
# PATCH-FEATURE-SUSE shadow-util-linux.patch sbrabec@suse.com -- Add support for util-linux specific variables, delete shadow login, su runuser specific.
|
||||
Patch2: shadow-util-linux.patch
|
||||
# PATCH-FEATURE-SUSE shadow-login_defs-comments.patch kukuk@suse.com -- Adjust login.defs comments.
|
||||
Patch3: shadow-login_defs-comments.patch
|
||||
# PATCH-FEATURE-SUSE shadow-login_defs-suse.patch kukuk@suse.com -- Customize login.defs.
|
||||
Patch4: shadow-login_defs-suse.patch
|
||||
# PATCH-FIX-SUSE disable_new_audit_function.patch adam.majer@suse.de -- Disable newer libaudit functionality for older distributions.
|
||||
Patch5: disable_new_audit_function.patch
|
||||
BuildRequires: audit-devel > 2.3
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libacl-devel
|
||||
BuildRequires: libattr-devel
|
||||
BuildRequires: libselinux-devel
|
||||
BuildRequires: libsemanage-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: pam-devel
|
||||
BuildRequires: xz
|
||||
# we depend on libbsd or glibc >= 2.38 for the strlcpy() (and readpassphrase()) functions
|
||||
BuildRequires: glibc-devel >= 2.38
|
||||
Requires: login_defs >= %{version}
|
||||
Requires(pre): group(root)
|
||||
Requires(pre): group(shadow)
|
||||
Requires(pre): permissions
|
||||
Requires(pre): user(root)
|
||||
Provides: pwdutils = 3.2.20
|
||||
Obsoletes: pwdutils <= 3.2.19
|
||||
Provides: useradd_or_adduser_dep
|
||||
BuildRequires: libeconf-devel
|
||||
|
||||
%description
|
||||
This package includes the necessary programs for converting plain
|
||||
password files to the shadow password format and to manage user and
|
||||
group accounts.
|
||||
|
||||
%package -n login_defs
|
||||
Summary: The login.defs configuration file
|
||||
# Virtual provides for supported variables in login.defs.
|
||||
# It prevents references to unknown variables.
|
||||
# Upgrade them only if shadow-util-linux.patch or
|
||||
# encryption_method_nis.patch has to be ported!
|
||||
# Call shadow-login_defs-check.sh before!
|
||||
Group: System/Base
|
||||
Provides: login_defs-support-for-pam = 1.5.2
|
||||
Provides: login_defs-support-for-util-linux = 2.37
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n login_defs
|
||||
This package contains the default login.defs configuration file
|
||||
as used by util-linux, pam and shadow.
|
||||
|
||||
%package -n libsubid4
|
||||
Summary: A library to manage subordinate uid and gid ranges
|
||||
Group: System/Base
|
||||
|
||||
%description -n libsubid4
|
||||
Utility library that provides a way to manage subid ranges.
|
||||
|
||||
%package -n libsubid-devel
|
||||
Summary: Development files for libsubid4
|
||||
Group: System/Base
|
||||
Requires: libsubid4 = %{version}
|
||||
|
||||
%description -n libsubid-devel
|
||||
Development files for libsubid4.
|
||||
|
||||
%prep
|
||||
%setup -q -a 1
|
||||
%patch -P 0
|
||||
%patch -P 1
|
||||
%patch -P 2
|
||||
%patch -P 3
|
||||
%patch -P 4
|
||||
%if 0%{?suse_version} < 1330
|
||||
%patch -P 5 -p1
|
||||
%endif
|
||||
|
||||
iconv -f ISO88591 -t utf-8 doc/HOWTO > doc/HOWTO.utf8
|
||||
mv -v doc/HOWTO.utf8 doc/HOWTO
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags} -fpie"
|
||||
export LDFLAGS="-pie"
|
||||
|
||||
autoreconf -fvi
|
||||
%configure \
|
||||
--enable-shadowgrp \
|
||||
--enable-account-tools-setuid \
|
||||
--with-audit \
|
||||
--with-libpam \
|
||||
--with-sha-crypt \
|
||||
--with-acl \
|
||||
--with-attr \
|
||||
--with-nscd \
|
||||
--with-selinux \
|
||||
--without-libcrack \
|
||||
--without-libbsd \
|
||||
--with-group-name-max-length=32 \
|
||||
--enable-vendordir=%{_distconfdir}
|
||||
%make_build
|
||||
# --disable-shared \ currently doesn't build with this. See https://github.com/shadow-maint/shadow/issues/336
|
||||
|
||||
%install
|
||||
%make_install gnulocaledir=%{buildroot}/%{_datadir}/locale MKINSTALLDIRS=`pwd`/mkinstalldirs
|
||||
# Separate call to install man pages. See https://github.com/shadow-maint/shadow/issues/389
|
||||
%make_install -C man install-man
|
||||
|
||||
install -Dm644 %{SOURCE4} %{buildroot}%{_unitdir}/shadow.service
|
||||
install -Dm644 %{SOURCE5} %{buildroot}%{_unitdir}/shadow.timer
|
||||
|
||||
# add empty /etc/sub{u,g}id files
|
||||
touch %{buildroot}/%{_sysconfdir}/subuid
|
||||
touch %{buildroot}/%{_sysconfdir}/subgid
|
||||
|
||||
# Remove binaries we don't use.
|
||||
rm %{buildroot}/%{_bindir}/groups
|
||||
rm %{buildroot}/%{_mandir}/man1/groups.*
|
||||
rm %{buildroot}/%{_mandir}/*/man1/groups.*
|
||||
|
||||
rm %{buildroot}/%{_sbindir}/grpconv
|
||||
rm %{buildroot}/%{_mandir}/man8/grpconv.*
|
||||
rm %{buildroot}/%{_mandir}/*/man8/grpconv.*
|
||||
rm %{buildroot}/%{_sbindir}/grpunconv
|
||||
rm %{buildroot}/%{_mandir}/man8/grpunconv.*
|
||||
rm %{buildroot}/%{_mandir}/*/man8/grpunconv.*
|
||||
|
||||
rm %{buildroot}/%{_sbindir}/groupmems
|
||||
rm %{buildroot}/%{_mandir}/man8/groupmems.*
|
||||
rm %{buildroot}/%{_mandir}/*/man8/groupmems.*
|
||||
rm %{buildroot}%{_sysconfdir}/pam.d/groupmems
|
||||
|
||||
rm %{buildroot}/%{_bindir}/login
|
||||
rm %{buildroot}/%{_mandir}/man1/login.*
|
||||
rm %{buildroot}/%{_mandir}/*/man1/login.*
|
||||
rm %{buildroot}%{_sysconfdir}/pam.d/login
|
||||
|
||||
rm %{buildroot}/%{_bindir}/su
|
||||
rm %{buildroot}/%{_mandir}/man1/su.*
|
||||
rm %{buildroot}/%{_mandir}/*/man1/su.*
|
||||
rm %{buildroot}/%{_mandir}/man5/suauth.*
|
||||
rm %{buildroot}/%{_mandir}/*/man5/suauth.*
|
||||
rm %{buildroot}%{_sysconfdir}/pam.d/su
|
||||
|
||||
rm %{buildroot}/%{_bindir}/faillog
|
||||
rm %{buildroot}/%{_mandir}/man5/faillog.*
|
||||
rm %{buildroot}/%{_mandir}/*/man5/faillog.*
|
||||
rm %{buildroot}/%{_mandir}/man8/faillog.*
|
||||
rm %{buildroot}/%{_mandir}/*/man8/faillog.*
|
||||
|
||||
rm %{buildroot}/%{_sbindir}/logoutd
|
||||
rm %{buildroot}/%{_mandir}/man8/logoutd.*
|
||||
rm %{buildroot}/%{_mandir}/*/man8/logoutd.*
|
||||
rm %{buildroot}/%{_sbindir}/nologin
|
||||
rm %{buildroot}/%{_mandir}/man8/nologin.*
|
||||
rm %{buildroot}/%{_mandir}/*/man8/nologin.*
|
||||
|
||||
rm %{buildroot}/%{_sbindir}/chgpasswd
|
||||
rm %{buildroot}/%{_mandir}/man8/chgpasswd.*
|
||||
rm %{buildroot}/%{_mandir}/*/man8/chgpasswd.*
|
||||
rm %{buildroot}%{_sysconfdir}/pam.d/chgpasswd
|
||||
|
||||
rm %{buildroot}/%{_mandir}/man3/getspnam.*
|
||||
rm %{buildroot}/%{_mandir}/*/man3/getspnam.*
|
||||
rm %{buildroot}/%{_mandir}/man5/gshadow.5*
|
||||
rm %{buildroot}/%{_mandir}/*/man5/gshadow.5*
|
||||
rm %{buildroot}/%{_mandir}/man5/passwd.5*
|
||||
rm %{buildroot}/%{_mandir}/*/man5/passwd.5*
|
||||
|
||||
rm -rf %{buildroot}%{_mandir}/{??,??_??}
|
||||
|
||||
rm %{buildroot}/%{_libdir}/libsubid.{la,a}
|
||||
|
||||
# Move /etc to /usr/etc
|
||||
if [ ! -d %{buildroot}%{_distconfdir} ]; then
|
||||
mkdir -p %{buildroot}%{_distconfdir}
|
||||
mkdir -p %{buildroot}%{_pam_vendordir}
|
||||
mv %{buildroot}%{_sysconfdir}/login.defs %{buildroot}%{_distconfdir}
|
||||
mv %{buildroot}%{_sysconfdir}/pam.d/* %{buildroot}%{_pam_vendordir}/
|
||||
fi
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/login.defs.d
|
||||
|
||||
%find_lang shadow
|
||||
|
||||
%pre
|
||||
%service_add_pre shadow.service shadow.timer
|
||||
for i in pam.d/chage pam.d/chfn pam.d/chpasswd pam.d/chsh pam.d/groupadd pam.d/groupdel pam.d/groupmod pam.d/newusers pam.d/passwd pam.d/useradd pam.d/userdel pam.d/usermod; do
|
||||
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i}.rpmsave.old ||:
|
||||
done
|
||||
|
||||
%pre -n login_defs
|
||||
test -f %{_sysconfdir}/login.defs.rpmsave && mv -v %{_sysconfdir}/login.defs.rpmsave %{_sysconfdir}/login.defs.rpmsave.old ||:
|
||||
|
||||
%post
|
||||
%set_permissions %{_bindir}/chage
|
||||
%set_permissions %{_bindir}/chfn
|
||||
%set_permissions %{_bindir}/chsh
|
||||
%set_permissions %{_bindir}/expiry
|
||||
%set_permissions %{_bindir}/gpasswd
|
||||
%set_permissions %{_bindir}/newgrp
|
||||
%set_permissions %{_bindir}/passwd
|
||||
%set_permissions %{_bindir}/newgidmap
|
||||
%set_permissions %{_bindir}/newuidmap
|
||||
|
||||
%service_add_post shadow.service shadow.timer
|
||||
|
||||
%verifyscript
|
||||
%verify_permissions %{_bindir}/chage
|
||||
%verify_permissions %{_bindir}/chfn
|
||||
%verify_permissions %{_bindir}/chsh
|
||||
%verify_permissions %{_bindir}/expiry
|
||||
%verify_permissions %{_bindir}/gpasswd
|
||||
%verify_permissions %{_bindir}/newgrp
|
||||
%verify_permissions %{_bindir}/passwd
|
||||
%verify_permissions %{_bindir}/newgidmap
|
||||
%verify_permissions %{_bindir}/newuidmap
|
||||
|
||||
%preun
|
||||
%service_del_preun shadow.service shadow.timer
|
||||
|
||||
%postun
|
||||
%service_del_postun shadow.service shadow.timer
|
||||
|
||||
%posttrans
|
||||
%if %{defined no_config}
|
||||
# Migration to /usr/etc
|
||||
for i in pam.d/chage pam.d/chfn pam.d/chpasswd pam.d/chsh pam.d/groupadd pam.d/groupdel pam.d/groupmod pam.d/newusers pam.d/passwd pam.d/useradd pam.d/userdel pam.d/usermod; do
|
||||
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||:
|
||||
done
|
||||
%endif
|
||||
|
||||
%posttrans -n login_defs
|
||||
# rpmsave file can be created by
|
||||
# - change of owning package (SLE15 SP2->SP3, Leap 15.2->15.3)
|
||||
# - Migration to /usr/etc (after SLE15 and Leap 15)
|
||||
test -f %{_sysconfdir}/login.defs.rpmsave && mv -v %{_sysconfdir}/login.defs.rpmsave %{_sysconfdir}/login.defs ||:
|
||||
|
||||
%post -n libsubid4 -p /sbin/ldconfig
|
||||
%postun -n libsubid4 -p /sbin/ldconfig
|
||||
|
||||
%files -f shadow.lang
|
||||
%license COPYING
|
||||
%doc NEWS doc/HOWTO README
|
||||
%verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/subuid
|
||||
%verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/subgid
|
||||
%if %{defined no_config}
|
||||
%{_pam_vendordir}/chage
|
||||
%{_pam_vendordir}/chfn
|
||||
%{_pam_vendordir}/chsh
|
||||
%{_pam_vendordir}/passwd
|
||||
%{_pam_vendordir}/chpasswd
|
||||
%{_pam_vendordir}/groupadd
|
||||
%{_pam_vendordir}/groupdel
|
||||
%{_pam_vendordir}/groupmod
|
||||
%{_pam_vendordir}/newusers
|
||||
%{_pam_vendordir}/useradd
|
||||
%{_pam_vendordir}/userdel
|
||||
%{_pam_vendordir}/usermod
|
||||
%else
|
||||
%config %{_sysconfdir}/pam.d/chage
|
||||
%config %{_sysconfdir}/pam.d/chfn
|
||||
%config %{_sysconfdir}/pam.d/chsh
|
||||
%config %{_sysconfdir}/pam.d/passwd
|
||||
%config %{_sysconfdir}/pam.d/chpasswd
|
||||
%config %{_sysconfdir}/pam.d/groupadd
|
||||
%config %{_sysconfdir}/pam.d/groupdel
|
||||
%config %{_sysconfdir}/pam.d/groupmod
|
||||
%config %{_sysconfdir}/pam.d/newusers
|
||||
%config %{_sysconfdir}/pam.d/useradd
|
||||
%config %{_sysconfdir}/pam.d/userdel
|
||||
%config %{_sysconfdir}/pam.d/usermod
|
||||
%endif
|
||||
%verify(not mode) %attr(2755,root,shadow) %{_bindir}/chage
|
||||
%verify(not mode) %attr(4755,root,shadow) %{_bindir}/chfn
|
||||
%verify(not mode) %attr(4755,root,shadow) %{_bindir}/chsh
|
||||
%verify(not mode) %attr(4755,root,shadow) %{_bindir}/expiry
|
||||
%verify(not mode) %attr(4755,root,shadow) %{_bindir}/gpasswd
|
||||
%verify(not mode) %attr(4755,root,root) %{_bindir}/newgrp
|
||||
%verify(not mode) %attr(4755,root,shadow) %{_bindir}/passwd
|
||||
%verify(not mode) %attr(4755,root,shadow) %{_bindir}/newgidmap
|
||||
%verify(not mode) %attr(4755,root,shadow) %{_bindir}/newuidmap
|
||||
%{_bindir}/sg
|
||||
%{_bindir}/getsubids
|
||||
%attr(0755,root,root) %{_sbindir}/groupadd
|
||||
%attr(0755,root,root) %{_sbindir}/groupdel
|
||||
%attr(0755,root,root) %{_sbindir}/groupmod
|
||||
%{_sbindir}/grpck
|
||||
%{_sbindir}/pwck
|
||||
%attr(0755,root,root) %{_sbindir}/useradd
|
||||
%attr(0755,root,root) %{_sbindir}/userdel
|
||||
%attr(0755,root,root) %{_sbindir}/usermod
|
||||
%{_sbindir}/pwconv
|
||||
%{_sbindir}/pwunconv
|
||||
%attr(0755,root,root) %{_sbindir}/chpasswd
|
||||
%attr(0755,root,root) %{_sbindir}/newusers
|
||||
%{_sbindir}/vipw
|
||||
%{_sbindir}/vigr
|
||||
%{_mandir}/man1/chage.1%{?ext_man}
|
||||
%{_mandir}/man1/chfn.1%{?ext_man}
|
||||
%{_mandir}/man1/chsh.1%{?ext_man}
|
||||
%{_mandir}/man1/expiry.1%{?ext_man}
|
||||
%{_mandir}/man1/gpasswd.1%{?ext_man}
|
||||
%{_mandir}/man1/newgrp.1%{?ext_man}
|
||||
%{_mandir}/man1/passwd.1%{?ext_man}
|
||||
%{_mandir}/man1/sg.1%{?ext_man}
|
||||
%{_mandir}/man3/shadow.3%{?ext_man}
|
||||
%{_mandir}/man5/shadow.5%{?ext_man}
|
||||
%{_mandir}/man8/chpasswd.8%{?ext_man}
|
||||
%{_mandir}/man8/groupadd.8%{?ext_man}
|
||||
%{_mandir}/man8/groupdel.8%{?ext_man}
|
||||
%{_mandir}/man8/groupmod.8%{?ext_man}
|
||||
%{_mandir}/man8/grpck.8%{?ext_man}
|
||||
%{_mandir}/man8/newusers.8%{?ext_man}
|
||||
%{_mandir}/man8/pwck.8%{?ext_man}
|
||||
%{_mandir}/man8/pwconv.8%{?ext_man}
|
||||
%{_mandir}/man8/pwunconv.8%{?ext_man}
|
||||
%{_mandir}/man8/useradd.8%{?ext_man}
|
||||
%{_mandir}/man8/userdel.8%{?ext_man}
|
||||
%{_mandir}/man8/usermod.8%{?ext_man}
|
||||
%{_mandir}/man8/vigr.8%{?ext_man}
|
||||
%{_mandir}/man8/vipw.8%{?ext_man}
|
||||
%{_mandir}/man5/subuid.5%{?ext_man}
|
||||
%{_mandir}/man5/subgid.5%{?ext_man}
|
||||
%{_mandir}/man1/newgidmap.1%{?ext_man}
|
||||
%{_mandir}/man1/newuidmap.1%{?ext_man}
|
||||
%{_mandir}/man1/getsubids.1%{?ext_man}
|
||||
|
||||
%{_unitdir}/*
|
||||
|
||||
%files -n login_defs
|
||||
%dir %{_sysconfdir}/login.defs.d
|
||||
%if %{defined no_config}
|
||||
%attr(0644,root,root) %{_distconfdir}/login.defs
|
||||
%else
|
||||
%attr(0644,root,root) %config %{_sysconfdir}/login.defs
|
||||
%endif
|
||||
%{_mandir}/man5/login.defs.5%{?ext_man}
|
||||
|
||||
%files -n libsubid4
|
||||
%{_libdir}/libsubid.so.*
|
||||
|
||||
%files -n libsubid-devel
|
||||
%dir %{_includedir}/shadow
|
||||
%{_includedir}/shadow/subid.h
|
||||
%{_libdir}/libsubid.so
|
||||
|
||||
%changelog
|
7
shadow.timer
Normal file
7
shadow.timer
Normal file
@ -0,0 +1,7 @@
|
||||
[Unit]
|
||||
Description=Daily verification of password and group files
|
||||
|
||||
[Timer]
|
||||
OnCalendar=daily
|
||||
AccuracySec=12h
|
||||
Persistent=true
|
13
useradd-default.patch
Normal file
13
useradd-default.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Index: src/useradd.c
|
||||
===================================================================
|
||||
--- src/useradd.c.orig
|
||||
+++ src/useradd.c
|
||||
@@ -87,7 +87,7 @@ const char *Prog;
|
||||
/*
|
||||
* These defaults are used if there is no defaults file.
|
||||
*/
|
||||
-static gid_t def_group = 1000;
|
||||
+static gid_t def_group = 100;
|
||||
static const char *def_groups = "";
|
||||
static const char *def_gname = "other";
|
||||
static const char *def_home = "/home";
|
Loading…
Reference in New Issue
Block a user