File: libnss-sss.postinst

package info (click to toggle)
sssd 1.8.4-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 13,628 kB
  • sloc: ansic: 99,910; xml: 21,353; sh: 12,272; python: 3,465; makefile: 1,492; sed: 16
file content (54 lines) | stat: -rw-r--r-- 1,457 bytes parent folder | download | duplicates (2)
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
#!/bin/sh
set -e

#DEBHELPER#

# This code was taken from libnss-myhostname, which got it from nss-mdns:

log() {
    echo "$*"
}

# try to insert sss entries to the passwd, group, shadow and netgroup
# lines in /etc/nsswitch.conf to automatically enable libnss-sss
# support; do not change the configuration if the lines already
# references some sss lookups
insert_nss_entry() {
    log "Checking NSS setup..."
    # abort if /etc/nsswitch.conf does not exist
    if ! [ -e /etc/nsswitch.conf ]; then
        log "Could not find /etc/nsswitch.conf."
        return
    fi
    perl -i -pe '
        sub insert {
            # this also splits on tab
            my @bits=split(" ", shift);
            # do not break configuration if the line already
            # references sss
            if (grep { $_ eq "sss"} @bits) {
                return join " ", @bits;
            }
            # append sss at the end
            push @bits, "sss";
            return join " ",@bits;
        }
        s/^(passwd:\s+|group:\s+|shadow:\s+|netgroup:\s+)(.*)/$1.insert($2)/e;
    ' /etc/nsswitch.conf
}

action="$1"

if [ configure = "$action" ]; then
    if [ -z "$2" ]; then
        log "First installation detected..."
        # first install: setup the recommended configuration (unless
        # nsswitch.conf already contains sss entries)
        insert_nss_entry
    else
        # upgrade
        version="$2"

        # Nothing to do here yet
    fi
fi