diff options
Diffstat (limited to 'remote/modules/pam')
-rw-r--r-- | remote/modules/pam/module.build | 45 | ||||
-rw-r--r-- | remote/modules/pam/module.conf | 26 | ||||
-rw-r--r-- | remote/modules/pam/module.conf.debian | 51 | ||||
-rw-r--r-- | remote/modules/pam/module.conf.opensuse | 43 | ||||
-rw-r--r-- | remote/modules/pam/module.conf.opensuse.13.1 | 47 | ||||
-rw-r--r-- | remote/modules/pam/module.conf.ubuntu | 51 |
6 files changed, 263 insertions, 0 deletions
diff --git a/remote/modules/pam/module.build b/remote/modules/pam/module.build new file mode 100644 index 00000000..15828fb8 --- /dev/null +++ b/remote/modules/pam/module.build @@ -0,0 +1,45 @@ +fetch_source() { + # get pam-script source + download_untar "$REQUIRED_PAM_SCRIPT_URL" "src/" + if [[ "$SYS_DISTRIBUTION" == "opensuse" && "$SYS_VERSION" == "13.1" ]]; then + pinfo "Downloading $REQUIRED_NSS_LDAPD_URL ..." + download_untar "$REQUIRED_NSS_LDAPD_URL" "src/" + fi +} + +build() { + mkdir -p "$MODULE_BUILD_DIR/opt/openslx/bin" + gcc -o "$MODULE_BUILD_DIR/opt/openslx/bin/sslconnect" "$MODULE_DIR/sslconnect.c" -lssl -lcrypto -O3 || perror "Could not compile sslconnect.c" + local COPYLIST="$MODULE_BUILD_DIR/list_packet_files" + # TODO: Hack for SUSE: Ignore file (/var/lib/nfs/state) that does not exist :( + list_packet_files | grep -v '/var/lib/nfs/state' | sort -u > "$COPYLIST" + tarcopy "$(cat "$COPYLIST")" "${MODULE_BUILD_DIR}" + + # build pam-script separatly since we use a source tarball + # HACK: find pam_unix.so in MODULE_BUILD_DIR to see where to put pam_script at + cd "$MODULE_BUILD_DIR" + local PAM_UNIX_LOCATION=$(find . -name pam_unix.so) + cd "${MODULE_DIR}/src/pam-script-${REQUIRED_PAM_SCRIPT_VERSION}" || perror "Could not cd to ${MODULE_DIR}/src/pam-script-${REQUIRED_PAM_SCRIPT_VERSION}." + ./configure --prefix=/ --sysconfdir=/etc/pam-script --libdir="$(dirname ${PAM_UNIX_LOCATION:1})" || perror "pam-script: ./configure failed." + make DESTDIR="${MODULE_BUILD_DIR}" install || perror "pam-script: make install to ${MODULE_BUILD_DIR} failed." + # openSuse 13.1 has no package nss-pam-ldapd. So, we compile it. + if [[ "$SYS_DISTRIBUTION" == "opensuse" && "$SYS_VERSION" == "13.1" ]]; then + cd "${MODULE_DIR}/src/$REQUIRED_NSS_LDAPD_VERSION" + pinfo "compiling pam-nss-ldapd for openSuse 13.1 ..." + ./configure || perror "openSuse 13.1 - pam-nss-ldapd: ./configure failed." + make DESTDIR="${MODULE_BUILD_DIR}" install || perror "openSuse 13.1 - pam-nss-ldapd: make install to ${MODULE_BUILD_DIR} failed." + cd "$MODULE_BUILD_DIR" + local NSLCD_PATH=$(find . -executable -name "nslcd") # Not in path, so we 'find' below MODULE_BUILD_DIR + else + cd "$MODULE_BUILD_DIR" + local NSLCD_PATH=$(which nslcd) + fi + [ -z "$NSLCD_PATH" ] && perror "Could not 'which nslcd'" + # Build nslcd service file + mkdir -p "etc/systemd/system" + sed "s,%PATH%,$NSLCD_PATH,g" "$MODULE_DIR/templates/nslcd-systemd.service" > "etc/systemd/system/nslcd.service" || perror "Could not fill nslcd.service template" +} + +post_copy() { + : +} diff --git a/remote/modules/pam/module.conf b/remote/modules/pam/module.conf new file mode 100644 index 00000000..c0a21a79 --- /dev/null +++ b/remote/modules/pam/module.conf @@ -0,0 +1,26 @@ +REQUIRED_BINARIES=" + ldapsearch + nslcd + rpc.gssd + rpc.idmapd + sslconnect +" +REQUIRED_LIBRARIES=" + nsswitch + static + umich_ldap + libnfsidmap + pam_script +" +REQUIRED_DIRECTORIES=" + /etc/security +" +REQUIRED_FILES=" + /etc/systemd/system/nslcd.service +" +REQUIRED_SYSTEM_FILES=" + /etc/login.defs + /etc/securetty +" +REQUIRED_PAM_SCRIPT_VERSION="1.1.6" +REQUIRED_PAM_SCRIPT_URL="http://downloads.sourceforge.net/project/pam-script/pam-script-${REQUIRED_PAM_SCRIPT_VERSION}.tar.gz" diff --git a/remote/modules/pam/module.conf.debian b/remote/modules/pam/module.conf.debian new file mode 100644 index 00000000..d424f1f7 --- /dev/null +++ b/remote/modules/pam/module.conf.debian @@ -0,0 +1,51 @@ +REQUIRED_INSTALLED_PACKAGES=" + libpam-ldap + libnss-ldapd + nslcd + libpam-ck-connector + libpam-cap + krb5-user + krb5-config + libpam-krb5 + libssl-dev + ldap-utils + libnfsidmap2 + nfs-common + libpam0g-dev + ncpfs +" +REQUIRED_CONTENT_PACKAGES=" + libpam0g + libpam-modules + libpam-ck-connector + libpam-cap + libldap-2.4-2 + libpam-ldap + libnss-ldapd + nslcd + krb5-user + krb5-config + libpam-krb5 + ldap-utils + libnfsidmap2 + nfs-common + ncpfs +" +REQUIRED_BINARIES+=" + nwmsg + ncpmount + ncpumount + mount.ncp + mount.ncpfs +" +REQUIRED_DIRECTORIES+=" + /lib + /usr/lib +" +REQUIRED_SYSTEM_FILES+=" + /etc/pam.conf + /etc/default/locale + /lib/security + /lib/${ARCH_TRIPLET}/security + /sbin/mkhomedir_helper +" diff --git a/remote/modules/pam/module.conf.opensuse b/remote/modules/pam/module.conf.opensuse new file mode 100644 index 00000000..adef3174 --- /dev/null +++ b/remote/modules/pam/module.conf.opensuse @@ -0,0 +1,43 @@ +REQUIRED_INSTALLED_PACKAGES=" + pam + pam_krb5 + pam-devel + nss-pam-ldapd + pam-modules + libopenssl-devel + openldap2-client + nfsidmap + nfs-client + glibc + pam-devel +" +REQUIRED_CONTENT_PACKAGES=" + pam + pam_krb5 + pam-devel + pam-modules + nss-pam-ldapd + nss-mdns + openldap2-client + nfsidmap + nfs-client + glibc +" +REQUIRED_BINARIES+=" + mkhomedir_helper +" +REQUIRED_LIBRARIES+=" + libnss_compat + libnss_db + libnss_dns + libnss_files + libnss_nis +" +REQUIRED_DIRECTORIES+=" + /$LIB64 + /usr/$LIB64 +" +REQUIRED_SYSTEM_FILES+=" + /$LIB64/security +" + diff --git a/remote/modules/pam/module.conf.opensuse.13.1 b/remote/modules/pam/module.conf.opensuse.13.1 new file mode 100644 index 00000000..9fe1de17 --- /dev/null +++ b/remote/modules/pam/module.conf.opensuse.13.1 @@ -0,0 +1,47 @@ +REQUIRED_NSS_LDAPD_VERSION="nss-pam-ldapd-0.8.13" +REQUIRED_NSS_LDAPD_URL="http://arthurdejong.org/nss-pam-ldapd/$REQUIRED_NSS_LDAPD_VERSION.tar.gz" + +REQUIRED_BINARIES+=" + mkhomedir_helper +" + +REQUIRED_INSTALLED_PACKAGES=" + pam + pam_krb5 + pam-devel + pam-modules + libopenssl-devel + openldap2-client + nfsidmap + nfs-client + glibc + pam-devel + openldap2-devel + krb5-devel +" +REQUIRED_CONTENT_PACKAGES=" + pam + pam_krb5 + pam-devel + pam-modules + nss-mdns + openldap2-client + nfsidmap + nfs-client + glibc +" +REQUIRED_LIBRARIES+=" + libnss_compat + libnss_db + libnss_dns + libnss_files + libnss_nis +" +REQUIRED_DIRECTORIES+=" + /$LIB64 + /usr/$LIB64 +" +REQUIRED_SYSTEM_FILES+=" + /$LIB64/security +" + diff --git a/remote/modules/pam/module.conf.ubuntu b/remote/modules/pam/module.conf.ubuntu new file mode 100644 index 00000000..31023197 --- /dev/null +++ b/remote/modules/pam/module.conf.ubuntu @@ -0,0 +1,51 @@ +REQUIRED_INSTALLED_PACKAGES=" + libpam-ldap + libnss-ldapd + nslcd + krb5-user + krb5-config + libpam-krb5 + libssl-dev + ldap-utils + libnfsidmap2 + nfs-common + libpam0g-dev + ncpfs + cifs-utils +" +REQUIRED_CONTENT_PACKAGES=" + libpam0g + libpam-modules + libpam-cap + libldap-2.4-2 + libpam-ldap + libnss-ldapd + nslcd + krb5-user + krb5-config + libpam-krb5 + ldap-utils + libnfsidmap2 + nfs-common + ncpfs + cifs-utils +" +REQUIRED_BINARIES+=" + nwmsg + ncpmount + ncpumount + mount.ncp + mount.ncpfs + mount.cifs +" +REQUIRED_DIRECTORIES+=" + /lib + /usr/lib +" +REQUIRED_SYSTEM_FILES+=" + /etc/pam.conf + /etc/default/locale + /lib/security + /lib/${ARCH_TRIPLET}/security + /sbin/mkhomedir_helper +" |