[debian-edu-commits] r79916 - trunk/src/libpam-mklocaluser/debian
pere at alioth.debian.org
pere at alioth.debian.org
Sat May 4 06:28:33 UTC 2013
Author: pere
Date: 2013-05-04 06:28:32 +0000 (Sat, 04 May 2013)
New Revision: 79916
Modified:
trunk/src/libpam-mklocaluser/debian/changelog
trunk/src/libpam-mklocaluser/debian/pam-python.py
Log:
* Make PAM module more robust. Add to /etc/passwd and /etc/shadow
using python code instead of calling "echo 'something' >>
/etc/file" in a subshell.
* Do not try to syslog an exception, as a string is needed in newer
python versions.
Modified: trunk/src/libpam-mklocaluser/debian/changelog
===================================================================
--- trunk/src/libpam-mklocaluser/debian/changelog 2013-05-03 19:43:53 UTC (rev 79915)
+++ trunk/src/libpam-mklocaluser/debian/changelog 2013-05-04 06:28:32 UTC (rev 79916)
@@ -1,3 +1,13 @@
+libpam-mklocaluser (0.8) UNRELEASED; urgency=low
+
+ * Make PAM module more robust. Add to /etc/passwd and /etc/shadow
+ using python code instead of calling "echo 'something' >>
+ /etc/file" in a subshell.
+ * Do not try to syslog an exception, as a string is needed in newer
+ python versions.
+
+ -- Petter Reinholdtsen <pere at debian.org> Sat, 04 May 2013 08:25:53 +0200
+
libpam-mklocaluser (0.7) unstable; urgency=low
* Rewrite how Popen() is used to ensure the script wait for the
Modified: trunk/src/libpam-mklocaluser/debian/pam-python.py
===================================================================
--- trunk/src/libpam-mklocaluser/debian/pam-python.py 2013-05-03 19:43:53 UTC (rev 79915)
+++ trunk/src/libpam-mklocaluser/debian/pam-python.py 2013-05-04 06:28:32 UTC (rev 79916)
@@ -15,6 +15,12 @@
import time
import syslog
+def append_line(filename, line):
+ f = open(filename, 'a')
+ f.write(line)
+ f.close()
+
+# FIXME This function always report an error
def runcmd(pamh, cmd):
proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE,)
while proc.poll() == None:
@@ -83,15 +89,15 @@
# Can not use adduser, as it refuses to add a user if it already
# is visible via NSS.
- cmd = "/bin/echo '%s:x:%d:%d:%s:%s:%s' >> /etc/passwd" \
- % (user, uid, gid, gecos, newhomedir, shell)
- runcmd(pamh, cmd)
+ append_line('/etc/passwd', \
+ '%s:x:%d:%d:%s:%s:%s' % \
+ (user, uid, gid, gecos, newhomedir, shell))
# Add shadow entry too.
- # XXX Should only add it if it is missing
- cmd = "/bin/echo '%s:x:%d:%d:%d:%d:::' >> /etc/shadow" \
- % (user, pwlastchange, pwminage, pwmaxage, pwwarn)
- runcmd(pamh, cmd)
+ # FIXME Should only add it if it is missing.
+ append_line('/etc/shadow', \
+ '%s:x:%d:%d:%d:%d:::' \
+ % (user, pwlastchange, pwminage, pwmaxage, pwwarn))
syslog.syslog("Creating local home directory for user '%s'" % user)
# Copy content of /etc/skel
@@ -107,7 +113,7 @@
runcmd(pamh, "/usr/sbin/nscd -i passwd")
# Hook for adjusting the freshly created home directory
- # XXX Should be rewritten in python, I guess
+ # FIXME Should be rewritten in python, I guess
runcmd(pamh, "if [ -d /etc/mklocaluser.d ]; then ORIGHOMEDIR='%s' USER='%s' /bin/run-parts /etc/mklocaluser.d ; fi" % (homedir, user))
# Let the user know what is going on
@@ -119,7 +125,7 @@
# and need to be restarted.
return pamh.PAM_TRY_AGAIN
except Exception, e:
- syslog.syslog(e)
+ syslog.syslog("Failure while creating local user: %s " % (e))
pass
return pamh.PAM_SUCCESS
More information about the debian-edu-commits
mailing list