summaryrefslogtreecommitdiff
path: root/source/a
diff options
context:
space:
mode:
Diffstat (limited to 'source/a')
-rw-r--r--source/a/shadow/doinst.sh2
-rw-r--r--source/a/shadow/pam.d-su/su (renamed from source/a/util-linux/pam.d/su)0
-rw-r--r--source/a/shadow/pam.d-su/su-l (renamed from source/a/util-linux/pam.d/su-l)0
-rwxr-xr-xsource/a/shadow/shadow.SlackBuild28
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.M5
-rwxr-xr-xsource/a/sysvinit-scripts/sysvinit-scripts.SlackBuild2
-rw-r--r--source/a/util-linux/pam.d-su/su11
-rw-r--r--source/a/util-linux/pam.d-su/su-l6
-rwxr-xr-xsource/a/util-linux/util-linux.SlackBuild28
9 files changed, 68 insertions, 14 deletions
diff --git a/source/a/shadow/doinst.sh b/source/a/shadow/doinst.sh
index 98c8a92c..28d3a436 100644
--- a/source/a/shadow/doinst.sh
+++ b/source/a/shadow/doinst.sh
@@ -34,7 +34,7 @@ rm -f var/log/faillog.new
if [ -r etc/login.access.new ]; then
config etc/login.access.new
fi
-for configfile in chage.new chgpasswd.new chpasswd.new groupadd.new groupdel.new groupmems.new groupmod.new newusers.new other.new passwd.new postlogin.new system-auth.new useradd.new userdel.new usermod.new ; do
+for configfile in chage.new chgpasswd.new chpasswd.new groupadd.new groupdel.new groupmems.new groupmod.new newusers.new other.new passwd.new postlogin.new su.new su-l.new system-auth.new useradd.new userdel.new usermod.new ; do
if [ -r etc/pam.d/$configfile ]; then
config etc/pam.d/$configfile
fi
diff --git a/source/a/util-linux/pam.d/su b/source/a/shadow/pam.d-su/su
index c28a252a..c28a252a 100644
--- a/source/a/util-linux/pam.d/su
+++ b/source/a/shadow/pam.d-su/su
diff --git a/source/a/util-linux/pam.d/su-l b/source/a/shadow/pam.d-su/su-l
index 654dc24e..654dc24e 100644
--- a/source/a/util-linux/pam.d/su-l
+++ b/source/a/shadow/pam.d-su/su-l
diff --git a/source/a/shadow/shadow.SlackBuild b/source/a/shadow/shadow.SlackBuild
index bf399b27..c7c33a83 100755
--- a/source/a/shadow/shadow.SlackBuild
+++ b/source/a/shadow/shadow.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=shadow
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-6}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -74,9 +74,13 @@ cd shadow-$VERSION
if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
PAM_OPTIONS="--with-libpam"
unset SHADOW_OPTIONS
+ # By default, use the shadow version of /bin/su:
+ SHIP_SU=${SHIP_SU:-YES}
else
unset PAM_OPTIONS
SHADOW_OPTIONS="--enable-shadowgrp --without-libcrack"
+ # By default, use the shadow version of /bin/su:
+ SHIP_SU=${SHIP_SU:-YES}
fi
# Apply some patches taken from the svn trunk that
@@ -151,12 +155,9 @@ mv $PKG/usr/sbin/nologin $PKG/sbin/nologin
if [ ! -z "$PAM_OPTIONS" ]; then
# Don't ship the login utilities. We'll be using the ones from util-linux:
- for file in /bin/login /bin/su /sbin/runuser /usr/bin/chfn /usr/bin/chsh \
+ for file in /bin/login /sbin/runuser /usr/bin/chfn /usr/bin/chsh \
/usr/man/man1/chfn.1.gz /usr/man/man1/chsh.1.gz /usr/man/man1/login.1.gz \
- /usr/man/man1/runuser.1.gz /usr/man/man1/su.1.gz \
- /usr/share/bash-completion/completions/chfn \
- /usr/share/bash-completion/completions/chsh \
- /usr/share/bash-completion/completions/su ; do
+ /usr/man/man1/runuser.1.gz ; do
rm -f $PKG${file}
done
# Install config files in /etc/pam.d/. We'll use our own copies... I'm not
@@ -166,6 +167,9 @@ if [ ! -z "$PAM_OPTIONS" ]; then
for file in $CWD/pam.d/* ; do
cp -a ${file} $PKG/etc/pam.d/
done
+ if [ "$SHIP_SU" = "YES" ]; then
+ cp -a $CWD/pam.d-su/* $PKG/etc/pam.d/
+ fi
# Ensure correct perms/ownership on files in /etc/pam.d/:
chown root:root $PKG/etc/pam.d/*
chmod 644 $PKG/etc/pam.d/*
@@ -181,6 +185,13 @@ else # not using PAM
zcat $CWD/login.defs.shadow.gz > $PKG/etc/login.defs.new
fi
+# If we aren't using this version of su, remove the files:
+if [ "$SHIP_SU" = "NO" ]; then
+ rm $PKG/bin/su
+ find $PKG/usr/man -name su.1 | xargs rm
+ find $PKG/usr/man -name suauth.5 | xargs rm
+fi
+
# /bin/groups is provided by coreutils.
rm -f $PKG/bin/groups
find $PKG -name groups.1 -exec rm {} \+
@@ -196,6 +207,11 @@ chmod 0755 $PKG/usr/sbin/adduser
# Add sulogin to the package:
cp -a src/sulogin $PKG/sbin
( cd $PKG/bin ; ln -s ../sbin/sulogin )
+cp -a ./man/zh_CN/man8/sulogin.8 $PKG/usr/man/zh_CN/man8/sulogin.8 || exit 1
+cp -a ./man/ru/man8/sulogin.8 $PKG/usr/man/ru/man8/sulogin.8 || exit 1
+cp -a ./man/de/man8/sulogin.8 $PKG/usr/man/de/man8/sulogin.8 || exit 1
+cp -a ./man/ja/man8/sulogin.8 $PKG/usr/man/ja/man8/sulogin.8 || exit 1
+cp -a ./man/man8/sulogin.8 $PKG/usr/man/man8/sulogin.8 || exit 1
# Add the empty faillog log file:
mkdir -p $PKG/var/log
diff --git a/source/a/sysvinit-scripts/scripts/rc.M b/source/a/sysvinit-scripts/scripts/rc.M
index c0424ebe..b3490eb5 100644
--- a/source/a/sysvinit-scripts/scripts/rc.M
+++ b/source/a/sysvinit-scripts/scripts/rc.M
@@ -366,6 +366,11 @@ if [ -x /etc/rc.d/rc.openldap ]; then
/etc/rc.d/rc.openldap start
fi
+# Start local LDAP name service daemon (from nss-pam-ldapd):
+if [ -x /etc/rc.d/rc.nslcd ]; then
+ /etc/rc.d/rc.nslcd start
+fi
+
# Start Dovecot:
if [ -x /etc/rc.d/rc.dovecot ]; then
/etc/rc.d/rc.dovecot start
diff --git a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
index 3f69fb4b..07249e8e 100755
--- a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
+++ b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=sysvinit-scripts
VERSION=${VERSION:-2.1}
ARCH=noarch
-BUILD=${BUILD:-30}
+BUILD=${BUILD:-31}
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
diff --git a/source/a/util-linux/pam.d-su/su b/source/a/util-linux/pam.d-su/su
new file mode 100644
index 00000000..c28a252a
--- /dev/null
+++ b/source/a/util-linux/pam.d-su/su
@@ -0,0 +1,11 @@
+#%PAM-1.0
+auth sufficient pam_rootok.so
+# Uncomment the following line to implicitly trust users in the "wheel" group.
+#auth sufficient pam_wheel.so trust use_uid
+# Uncomment the following line to require a user to be in the "wheel" group.
+#auth required pam_wheel.so use_uid
+auth include system-auth
+account include system-auth
+password include system-auth
+session include system-auth
+session optional pam_xauth.so
diff --git a/source/a/util-linux/pam.d-su/su-l b/source/a/util-linux/pam.d-su/su-l
new file mode 100644
index 00000000..654dc24e
--- /dev/null
+++ b/source/a/util-linux/pam.d-su/su-l
@@ -0,0 +1,6 @@
+#%PAM-1.0
+auth include su
+account include su
+password include su
+session optional pam_keyinit.so force revoke
+session include su
diff --git a/source/a/util-linux/util-linux.SlackBuild b/source/a/util-linux/util-linux.SlackBuild
index 294a657c..381c89d1 100755
--- a/source/a/util-linux/util-linux.SlackBuild
+++ b/source/a/util-linux/util-linux.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=util-linux
VERSION=${VERSION:-$(echo util-linux*.tar.xz | cut -d - -f 3 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-5}
ADJTIMEXVERS=1.29
SETSERIALVERS=2.17
@@ -85,23 +85,32 @@ find . \
# Choose correct options depending on whether PAM is installed:
if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
LOGIN_OPTIONS=""
- # Add su default file to ensure using ENV_SUPATH with 'su':
- mkdir -p $PKG/etc/default
- cp -a $CWD/su.default $PKG/etc/default/su.new
- chown root:root $PKG/etc/default/su.new
- chmod 644 $PKG/etc/default/su.new
+ # By default, don't use the util-linux version of /bin/su:
+ SHIP_SU=${SHIP_SU:-NO}
# Add /etc/pam.d config files:
rm -rf $PKG/etc/pam.d
mkdir -p $PKG/etc/pam.d
for file in $CWD/pam.d/* ; do
cp -a ${file} $PKG/etc/pam.d/
done
+ if [ "$SHIP_SU" = "YES" ]; then
+ # Add su default file to ensure using ENV_SUPATH with 'su':
+ mkdir -p $PKG/etc/default
+ cp -a $CWD/su.default $PKG/etc/default/su.new
+ chown root:root $PKG/etc/default/su.new
+ chmod 644 $PKG/etc/default/su.new
+ # Add su /etc/pam.d files:
+ cp -a $CWD/pam.d-su/* $PKG/etc/pam.d/
+ fi
# Ensure correct perms/ownership on files in /etc/pam.d/:
chown root:root $PKG/etc/pam.d/*
chmod 644 $PKG/etc/pam.d/*
# Don't clobber existing config files:
find $PKG/etc/pam.d -type f -exec mv {} {}.new \;
else
+ # Don't use the util-linux version of /bin/su.
+ # It can't be built without PAM anyway.
+ SHIP_SU=NO
LOGIN_OPTIONS="--disable-login"
fi
@@ -181,6 +190,13 @@ make $NUMJOBS \
# Remove all overlap with the shadow package, since --disable-login doesn't quite do that:
rm $PKG/sbin/nologin $PKG/usr/man/man8/nologin.8 $PKG/sbin/sulogin $PKG/usr/man/man8/sulogin.8
+# If we aren't shipping su, remove the files:
+if [ "$SHIP_SU" = "NO" ]; then
+ rm -f $PKG/bin/su
+ rm -f $PKG/usr/man/man1/su.1
+ rm -f $PKG/usr/share/bash-completion/completions/su
+fi
+
# Move the libblkid, libfdisk, libmount, libsmartcols, and
# libuuid libraries to /lib${LIBSUFFIX}:
mkdir -p $PKG/lib${LIBDIRSUFFIX}