fix path for configure inputs
[debian/sudo] / debian / sudo-ldap.postinst
index c242be1f9c2076d88c5ba364c575d62605e24e98..0aa57a94eec7ab18b73389784650d4856ccda3ae 100644 (file)
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+set -e
+
 # remove old link
 
 if [ -L /etc/alternatives/sudo ]; then
@@ -11,6 +13,12 @@ if [ ! -f /etc/sudoers ];then
        echo "WARNING:  /etc/sudoers not present!";
 fi
 
+# modify nsswitch.conf if needed
+if [ -z "`grep \"^sudoers:\" /etc/nsswitch.conf`" ]
+then
+       echo "sudoers:  files ldap" >> /etc/nsswitch.conf
+fi
+
 # handle state directory transition from /var/run/sudo to /var/lib/sudo,
 # moving any existing content over to avoid re-lecturing existing users
 if [ -d "/var/run/sudo" ];then
@@ -29,7 +37,7 @@ update-rc.d sudo start 75 2 3 4 5 . >/dev/null
 
 # create symlink to ease transition to new path for ldap config
 # if old config file exists and new one doesn't
-if [ -e /etc/ldap/ldap.conf && ! -e /etc/sudo-ldap.conf ];then
+if [ -e /etc/ldap/ldap.conf -a ! -e /etc/sudo-ldap.conf ];then
        ln -s ldap/ldap.conf /etc/sudo-ldap.conf
 fi
 
@@ -38,18 +46,18 @@ rm -f /etc/sudoers.pre-conffile
 
 # make sure we have a sudo group
 
-[ -n "`/usr/bin/getent group sudo`" ] && exit 0   # we're finished if there is a group sudo:
+[ -n "`getent group sudo`" ] && exit 0   # we're finished if there is a group sudo:
 
 # start search with gid 27
 gid="27"
-while [ -n "`/usr/bin/getent group $gid | /usr/bin/cut -d: -f3`" ];do
-       gid=`/usr/bin/expr $gid + 1`
+while [ -n "`getent group $gid | cut -d: -f3`" ];do
+       gid=`expr $gid + 1`
 done
 
 
 if [ "$gid" -ne "27" ];then
        echo "On Debian we normally use gid 27 for 'sudo'."
-       gname="`/usr/bin/getent group 27 | /usr/bin/cut -d: -f1`"
+       gname="`getent group 27 | cut -d: -f1`"
        echo "However, on your system gid 27 is group '$gname'."
        echo ""
        echo "Would you like me to stop configuring sudo so that you can change this?"; 
@@ -58,7 +66,7 @@ if [ "$gid" -ne "27" ];then
                read ans
                [ "$ans" = "" ] && break
                if [ "$ans" = "yes" -o "$ans" = "YES" ];then
-                       echo "'dpkg --pending --configure' will restart the configuration.\n\n"
+                       echo "'dpkg --pending --configure' will restart the configuration."
                        exit 1;
                fi
                echo "Please enter exactly 'yes' to stop, or press the enter key to continue without stopping"
@@ -70,3 +78,4 @@ groupadd -g $gid sudo
 
 echo ""
 
+#DEBHELPER#