/usr/lib/python3/dist-packages/django_python3_ldap/management/commands/ldap_sync_users.py is in python3-django-python3-ldap 0.11.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | from django.contrib.auth import get_user_model
from django.core.management.base import BaseCommand, CommandError
from django.db import transaction
from django_python3_ldap import ldap
from django_python3_ldap.conf import settings
class Command(BaseCommand):
help = "Creates local user models for all users found in the remote LDAP authentication server."
@transaction.atomic()
def handle(self, *args, **kwargs):
verbosity = int(kwargs.get("verbosity", 1))
User = get_user_model()
auth_kwargs = {
User.USERNAME_FIELD: settings.LDAP_AUTH_CONNECTION_USERNAME,
'password': settings.LDAP_AUTH_CONNECTION_PASSWORD
}
with ldap.connection(**auth_kwargs) as connection:
if connection is None:
raise CommandError("Could not connect to LDAP server")
for user in connection.iter_users():
if verbosity >= 1:
self.stdout.write("Synced {user}".format(
user=user,
))
|