X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=debian%2Fsudo-ldap.postinst;h=88e8c2c0184b5177b610261e1fa5644aec74f9a3;hb=7f743e44780bf1a2be473dc7640d0982b2c28f71;hp=854f0ab5738a0c12252cdba76c3f41167c9dbe62;hpb=2021aeda1ef59e5cc257c760e6056c39f71226a8;p=debian%2Fsudo diff --git a/debian/sudo-ldap.postinst b/debian/sudo-ldap.postinst index 854f0ab..88e8c2c 100644 --- a/debian/sudo-ldap.postinst +++ b/debian/sudo-ldap.postinst @@ -4,26 +4,17 @@ unlink ("/etc/alternatives/sudo") if ( -l "/etc/alternatives/sudo"); -# make sure we have a sudoers file +# complain if no sudoers file is present if ( ! -f "/etc/sudoers") { + print "WARNING: /etc/sudoers not present!\n"; +} - print "No /etc/sudoers found... creating one for you.\n"; - - open (SUDOERS, "> /etc/sudoers"); - print SUDOERS "# /etc/sudoers\n", - "#\n", - "# This file MUST be edited with the 'visudo' command as root.\n", - "#\n", - "# See the man page for details on how to write a sudoers file.\n", - "#\n\nDefaults\tenv_reset\n\n", - "# Uncomment to allow members of group sudo to not need a password\n", - "# %sudo ALL=NOPASSWD: ALL\n\n", - "# Host alias specification\n\n", - "# User alias specification\n\n", - "# Cmnd alias specification\n\n", - "# User privilege specification\nroot\tALL=(ALL) ALL\n"; - close SUDOERS; - +# 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") { + system ('mkdir -p /var/lib/sudo'); + system ('(cd /var/run/sudo ; tar cf - .) | (cd /var/lib/sudo ; tar xf -)'); + system ('rm -rf /var/run/sudo'); } # make sure sudoers has the correct permissions and owner/group @@ -31,9 +22,15 @@ system ('chown root:root /etc/sudoers'); system ('chmod 440 /etc/sudoers'); # must do a remove first to un-do the "bad" links created by previous version -system ('update-rc.d -f sudo-ldap remove >/dev/null 2>&1'); +system ('update-rc.d -f sudo remove >/dev/null 2>&1'); -system ('update-rc.d sudo-ldap start 75 S . >/dev/null'); +system ('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") { + system("ln -s ldap/ldap.conf /etc/sudo-ldap.conf"); +} # make sure we have a sudo group