diff options
author | Ratan Gupta <ratagupt@in.ibm.com> | 2018-09-03 06:11:52 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-10-04 23:43:58 +0300 |
commit | 07a08c91977aff9daff2dfe030f312582ea5e27d (patch) | |
tree | 37f72a7f8d36f8ce02e56c02d94381dc1c3e3883 /meta-phosphor/recipes-support/nss-pam-ldapd/files | |
parent | 4f2925cdc00c7a926b96a957727dd4c1476c0912 (diff) | |
download | openbmc-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.init | 84 | ||||
-rw-r--r-- | meta-phosphor/recipes-support/nss-pam-ldapd/files/nslcd.service | 10 |
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 |