summaryrefslogtreecommitdiffstats
path: root/remote/modules/pam
diff options
context:
space:
mode:
Diffstat (limited to 'remote/modules/pam')
-rw-r--r--remote/modules/pam/module.build45
-rw-r--r--remote/modules/pam/module.conf26
-rw-r--r--remote/modules/pam/module.conf.debian51
-rw-r--r--remote/modules/pam/module.conf.opensuse43
-rw-r--r--remote/modules/pam/module.conf.opensuse.13.147
-rw-r--r--remote/modules/pam/module.conf.ubuntu51
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
+"