diff --git a/neuf_ldap/utils.py b/neuf_ldap/utils.py index 7f02498..aa18912 100644 --- a/neuf_ldap/utils.py +++ b/neuf_ldap/utils.py @@ -47,6 +47,7 @@ def create_ldap_user(user, dry_run=False): def _get_next_uid(): # Get user ids between min and max, and order desc by id + logger.debug('Getting next available UID') users = LdapUser.objects.filter(id__gte=settings.LDAP_UID_MIN, id__lte=settings.LDAP_UID_MAX) users = users.order_by('-id').values_list('id', flat=True) @@ -59,6 +60,7 @@ def create_ldap_user(user, dry_run=False): return users[0] + 1 def _get_next_user_gid(): + logger.debug('Getting next available GID for user group') # Get user group ids between min and max, and order desc by id user_groups = LdapGroup.objects.filter(gid__gte=settings.LDAP_USER_GID_MIN, gid__lte=settings.LDAP_USER_GID_MAX) user_groups = user_groups.order_by('-gid').values_list('gid', flat=True) @@ -104,24 +106,27 @@ def create_ldap_user(user, dry_run=False): pprint.pformat(user_data), pwd_type)) else: + logger.debug('Saving user with data: {} and password type \'{}\'.'.format( + pprint.pformat(user_data), + pwd_type)) ldap_user.save() # Add user group ldap_user_group = LdapGroup(name=user['username'], gid=user_data['group'], members=[user['username']]) - if not dry_run: - ldap_user_group.save() - else: + if dry_run: logger.debug('User group {} created'.format(user['username'])) + else: + ldap_user_group.save() # Add groups ldap_groups = LdapGroup.objects.filter(name__in=user['groups']) for g in ldap_groups: if user['username'] not in g.members: g.members.append(user['username']) - if not dry_run: - g.save() - else: + if dry_run: logger.debug('User {} added to group {}'.format(user['username'], g.name)) + else: + g.save() # Finito! return True diff --git a/neuf_userinfo/utils.py b/neuf_userinfo/utils.py index d6aa943..14a6f30 100644 --- a/neuf_userinfo/utils.py +++ b/neuf_userinfo/utils.py @@ -23,6 +23,7 @@ def add_new_user(user): - Set RADIUS password """ if not create_ldap_user(user): + logger.debug('Could not create user \'{}\'.'.format(user['username'])) return create_home_dir(user['username']) diff --git a/neuf_userinfo/views.py b/neuf_userinfo/views.py index aff7fb5..c3adfe5 100644 --- a/neuf_userinfo/views.py +++ b/neuf_userinfo/views.py @@ -124,7 +124,7 @@ class AddNewUserView(View): return JsonResponse({'errors': form.errors}) user = form.cleaned_data - + logger.debug('Adding user \'{}\'.'.format(user['username'])) add_new_user(user) return JsonResponse({'results': 'success'}) diff --git a/scripts/create_home_directory.sh b/scripts/create_home_directory.sh index 2f7f7d8..6ed4818 100755 --- a/scripts/create_home_directory.sh +++ b/scripts/create_home_directory.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Usage: ./create_home_directory.sh +# Usage: $0 if [[ $EUID -ne 0 ]]; then echo "This script must be run as root." 1>&2 @@ -7,11 +7,11 @@ if [[ $EUID -ne 0 ]]; then fi if [ $# -ne 2 ] ; then - echo "USAGE $0 " + echo "USAGE $0 " exit 1 fi -HOME_DIR_PATH=$1 +HOME_DIRS_PATH=$1 USERNAME=$2 if ! id -u $USERNAME; then @@ -19,11 +19,11 @@ if ! id -u $USERNAME; then exit 1 fi -if [ -d "${HOME_DIR_PATH}${USERNAME}" ] ; then +if [ -d "${HOME_DIRS_PATH}$/{USERNAME}" ] ; then echo "Cannot create home directory, it already exists..." exit 1 fi -cp -r /etc/skel ${HOME_DIR_PATH}${USERNAME} -chown -R ${USERNAME}:${USERNAME} ${HOME_DIR_PATH}${USERNAME} -chmod -R 751 ${HOME_DIR_PATH}${USERNAME} +cp -r /etc/skel "${HOME_DIRS_PATH}/${USERNAME}" +chown -R ${USERNAME}:${USERNAME} "${HOME_DIRS_PATH}/${USERNAME}" +chmod -R 751 "${HOME_DIRS_PATH}/${USERNAME}"