blob: a6a320b401f21c54919b6a54af52981ba0313ba2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
# Description: Utilitaire permettant de cacher les fichiers de mot de passe
# URL: http://shadow.pld.org.pl/
# Maintainer: NuTyX core team
# Packager: thierryn1 at hispeed dot ch
# Depends on:
name=shadow
version=4.1.4.3
release=1
source=( ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/$name-$version.tar.bz2\
)
build() {
cd $name-$version
# Disable the installation of groups
sed -i 's/groups$(EXEEXT) //' src/Makefile.in
find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \;
# Issue with russian man pages
sed -i 's/man_MANS = $(man_nopam) /man_MANS = /' man/ru/Makefile.in
# Disable the installation of the non french manual pages
# Instead of using the default crypt method, use the more secure SHA512 method of password encryption
sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA512@' \
-e 's@/var/spool/mail@/var/mail@' etc/login.defs
./configure --sysconfdir=/etc
make
make DESTDIR=$PKG install
for i in de cs fi id hu ja it ko pl ru sv tr pt_BR zh_CN zh_TW
do rm -r $PKG/usr/share/man/$i
done
# Remove the default as it is part of aaabasicfs
rm -rf $PKG/etc/default
mkdir $PKG/usr/lib
mv -v $PKG/usr/bin/passwd $PKG/bin
if (pkginfo -i |grep linux-pam > /dev/null) then
ln -sfv ../../lib/libshadow.so.0 $PKG/usr/lib/libshadow.so
cp $PKG/etc/{login.defs,login.defs.orig}
for FUNCTION in LASTLOG_ENAB MAIL_CHECK_ENAB \
PORTTIME_CHECKS_ENAB CONSOLE \
MOTD_FILE NOLOGINS_FILE PASS_MIN_LEN \
SU_WHEEL_ONLY MD5_CRYPT_ENAB \
CONSOLE_GROUPS ENVIRON_FILE \
ULIMIT ENV_TZ ENV_HZ ENV_SUPATH \
ENV_PATH QMAIL_DIR MAIL_DIR MAIL_FILE \
CHFN_AUTH FAILLOG_ENAB QUOTAS_ENAB FTMP_FILE \
OBSCURE_CHECKS_ENAB CRACKLIB_DICTPATH \
PASS_CHANGE_TRIES PASS_ALWAYS_WARN ISSUE_FILE
do
sed -i "s/^$FUNCTION/# &/" $PKG/etc/login.defs
done
cat > $PKG/etc/pam.d/login << "EOF"
# Begin /etc/pam.d/login
auth requisite pam_nologin.so
auth required pam_securetty.so
auth required pam_env.so
auth required pam_unix.so
account required pam_access.so
account required pam_unix.so
session required pam_motd.so
session required pam_limits.so
session optional pam_mail.so dir=/var/mail standard
session optional pam_lastlog.so
session required pam_unix.so
password required pam_unix.so md5 shadow
# End /etc/pam.d/login
EOF
cat > $PKG/etc/pam.d/passwd << "EOF"
# Begin /etc/pam.d/passwd
password required pam_unix.so md5 shadow
# End /etc/pam.d/passwd
EOF
cat > $PKG/etc/pam.d/su << "EOF"
# Begin /etc/pam.d/su
auth sufficient pam_rootok.so
auth required pam_unix.so
account required pam_unix.so
session optional pam_mail.so dir=/var/mail standard
session optional pam_xauth.so
session required pam_env.so
session required pam_unix.so
# End /etc/pam.d/su
EOF
cat > $PKG/etc/pam.d/chage << "EOF"
# Begin /etc/pam.d/chage
auth sufficient pam_rootok.so
auth required pam_unix.so
account required pam_unix.so
session required pam_unix.so
password required pam_permit.so
# End /etc/pam.d/chage
EOF
for PROGRAM in chpasswd chgpasswd groupadd groupdel groupmems \
groupmod newusers useradd userdel usermod
do
install -v -m644 $PKG/etc/pam.d/chage $PKG/etc/pam.d/$PROGRAM
sed -i "s/chage/$PROGRAM/" $PKG/etc/pam.d/$PROGRAM
done
fi
}
|