From c58c1f43cf4f35088f815692a5410261e21dfc47 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Mon, 6 Oct 2008 04:54:14 +0000 Subject: [PATCH] Fixed #5753 -- Allow createsuperuser to work in situations where there might be a valid password database entry for the current user id. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9158 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- .../contrib/auth/management/commands/createsuperuser.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/django/contrib/auth/management/commands/createsuperuser.py b/django/contrib/auth/management/commands/createsuperuser.py index aaedcab0f4..32d845daef 100644 --- a/django/contrib/auth/management/commands/createsuperuser.py +++ b/django/contrib/auth/management/commands/createsuperuser.py @@ -57,10 +57,12 @@ class Command(BaseCommand): # Try to determine the current system user's username to use as a default. try: import pwd - except ImportError: - default_username = '' - else: default_username = pwd.getpwuid(os.getuid())[0].replace(' ', '').lower() + except (ImportError, KeyError): + # KeyError will be raised by getpwuid() if there is no + # corresponding entry in the /etc/passwd file (a very restricted + # chroot environment, for example). + default_username = '' # Determine whether the default username is taken, so we don't display # it as an option.