summaryrefslogtreecommitdiff
path: root/meta-phosphor/recipes-support/nss-pam-ldapd/files
diff options
context:
space:
mode:
authorRatan Gupta <ratagupt@in.ibm.com>2018-09-03 06:11:52 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-10-04 23:43:58 +0300
commit07a08c91977aff9daff2dfe030f312582ea5e27d (patch)
tree37f72a7f8d36f8ce02e56c02d94381dc1c3e3883 /meta-phosphor/recipes-support/nss-pam-ldapd/files
parent4f2925cdc00c7a926b96a957727dd4c1476c0912 (diff)
downloadopenbmc-07a08c91977aff9daff2dfe030f312582ea5e27d.tar.xz
ldap: Pull nss-pam-ldapd into the openbmc image
Bringing the LDAP authentication module support in openbmc stack requires to pull the nss-pam-ldapd which allows the LDAP server to provide the user, passwd, group info that we normally get from the /etc flat files. nss-pam-ldapd provides libnss-ldap and pam_ldap module which delegate the work to the nslcd(daemon) that queries the LDAP server. pam_ldap uses the openldap client API to interact with the LDAP server. nss-pam-ldapd files are pulled from http://git.yoctoproject.org/cgit/cgit.cgi/meta-cloud-services/ tree/recipes-support/nss-pam-ldapd meta-cloud-services sha: 38cc19fb3a813673051de314aafabda0545d8466 Tested: Adding the "ldap" distro feature brings the nss-pam-ldapd and its dependencies into the image and removing the "ldap" from the distro feature doesn't bring the nss-pam-ldapd and its dependencies. (From meta-phosphor rev: 4835bb3901a4bff777a97d4f363e3a731b87f21c) Change-Id: Ifa5da20e7ac47b0c9d9af305ae621252e6d765f3 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com> Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-phosphor/recipes-support/nss-pam-ldapd/files')
-rw-r--r--meta-phosphor/recipes-support/nss-pam-ldapd/files/nslcd.init84
-rw-r--r--meta-phosphor/recipes-support/nss-pam-ldapd/files/nslcd.service10
2 files changed, 94 insertions, 0 deletions
diff --git a/meta-phosphor/recipes-support/nss-pam-ldapd/files/nslcd.init b/meta-phosphor/recipes-support/nss-pam-ldapd/files/nslcd.init
new file mode 100644
index 0000000000..a27b6e0026
--- /dev/null
+++ b/meta-phosphor/recipes-support/nss-pam-ldapd/files/nslcd.init
@@ -0,0 +1,84 @@
+#!/bin/sh
+
+set -x
+
+NAME="nslcd"
+CONFIG="/etc/nslcd.conf"
+DAEMON="/usr/sbin/nslcd"
+DESC="LDAP connection daemon"
+STATEDIR="/var/run/$NAME"
+PIDFILE="$STATEDIR/$NAME.pid"
+
+start()
+{
+ if [ -e $PIDFILE ]; then
+ PIDDIR=/proc/$(cat $PIDFILE)
+ if [ -d ${PIDDIR} ]; then
+ echo "$DESC already running."
+ exit 1
+ else
+ echo "Removing stale PID file $PIDFILE"
+ rm -f $PIDFILE
+ fi
+ fi
+
+ echo -n "Starting $DESC..."
+
+ start-stop-daemon --start --oknodo \
+ --pidfile $PIDFILE --startas $DAEMON
+
+ if [ $? -eq 0 ]; then
+ echo "done."
+ else
+ echo "failed."
+ fi
+}
+
+stop()
+{
+ echo -n "Stopping $DESC..."
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+ --name $NAME
+ if [ $? -eq 0 ]; then
+ echo "done."
+ else
+ echo "failed."
+ fi
+ rm -f $PIDFILE
+}
+
+status()
+{
+ if [ -f $PIDFILE ]; then
+ if $DAEMON --check
+ then
+ echo "$DESC is running (pid `cat $PIDFILE`"
+ else
+ echo "$DESC stopped"
+ fi
+ else
+ echo "$DESC stopped"
+ fi
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|force-reload|reload)
+ stop
+ start
+ ;;
+ status)
+ status
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|force-reload|restart|reload|status}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-phosphor/recipes-support/nss-pam-ldapd/files/nslcd.service b/meta-phosphor/recipes-support/nss-pam-ldapd/files/nslcd.service
new file mode 100644
index 0000000000..bc6724297d
--- /dev/null
+++ b/meta-phosphor/recipes-support/nss-pam-ldapd/files/nslcd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=LDAP daemon
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/nslcd
+
+[Install]
+WantedBy=multi-user.target