====== Pasos a tomar al crear un nuevo usuario ====== Los usuarios están unificados en el LDAP, mismo usuario para el clúster, para la VPN y para el sistema de tickets. El sistema de tickets tiene una copia de la DB de LDAP que se sincroniza cada 5 minutos. En snmgmt01 (172.28.253.1) como root cargar el entorno y el proxy: # cd /root/ldap # source venv/bin/activate (venv) # source proxy.sh La manipulación de usuarios se hace vía el script users: (venv) [root@mmgt01 ldap]# ./users Uso: ./users useradd uid Crea un usuario ./users groupadd gid Crea un grupo ./users passwd uid Cambia la contraseña de un usuario ./users usermodgrp uid Cambia el grupo principal de un usuario ./users useraddgrp uid Agrega usuario a grupo secundario ./users userdelgrp uid Retira usuario de grupo secundario ./users usermodfield uid Cambia un atributo de un usuario ./users useraddfield uid Agrega un nuevo atributo a un usuario ./users userdelfield uid Elimina un atributo del usuario ./users userdel uid Elimina un usuario ./users groupdel gid Elimina un grupo ./users list users/groups Lista los usuarios/grupos ./users show uid Muestra los detalles de un usuario Los usuarios tienen como grupo primario la categoría de usuario: upad, upci, upisca, qadmin, usmn, etc. Como grupo secundario tienen los grupos de los proyectos en los que participen pad_1, pci_2, pisca_3. Los usuarios que sean Investigadores Responsables de un proyecto tienen esos proyectos en el campo `departmentNumber`. Los usuarios autenticados en Discord guardan su id de Discord en el campo `title`: (venv) [root@mmgt01 ldap]# ./users show cpastorino dn: uid=cpastorino,ou=People,dc=cluster,dc=clementina,dc=gob,dc=ar groups: upad, pad_148, pci_112 uid: cpastorino given name: Claudio sn: Pastorino telephone number: 1167913712 cn: cpastorino mail: claudio.pastorino@gmail.com department number: pci_112 En este caso Claudio es IR del PCI_112 y es usuario de PAD (upad) porque fue dado de alta para el PAD_148 al que pertenece como pertenece al PCI_112. Las altas se solicitan en el sistema de tickets, sólo la pueden solicitar los IR, utilizando el comando anterior se puede verificar el proyecto del cual el solicitante es IR. El alta se genera con el script `create_user.py`: (venv) [root@mmgt01 ldap]# python create_user.py --interactive Nombre: Nicolás Apellido: Fische mail: nicofische@gmail.com Teléfono: 1132145071 Tipo de proyecto (pad, pci, pisca, smn): PISCA Código de proyecto: 79 Procesando usuario ("Nicolás", "Fische", "nicofische@gmail.com") con uid nfische... RESUMEN: Usuario: nfische (nuevo) Account: pisca_79 (existente) Password del usuario: xxxxxxx Y vamos a notificar al usuario por mail ¿Procedemos? (s/n) s Creando usuario... Agregando usuario al grupo... Agregando usuario al account... Notificando... Refreshing OAuth2 credentials... ¡Usuario creado correctamente! Los datos que pide el script son nombre, apellido, mail y teléfono, en el mismo orden que están en el formulario del sistema de tickets. El tipo de proyecto y número se saca del departmentNumber del IR. El nombre de usuario se autogenera. El script chequea que no haya un usuario previo con ese nombre. Si hubiera un usuario con ese nombre el script pregunta si es la misma persona física (un usuario que ya había sido de alta en otro proyecto) o si se elige un nuevo username. Si el usuario es existente el proyecto que se le asigna debería ser nuevo, si no no hay nada que hacer. Si el proyecto es nuevo se designa a ese usuario como IR. El usuario es notificado. En caso de usuarios nuevos se le manda el mail con los datos de acceso, en el caso de ser usuarios existentes agregados a un nuevo proyecto sólo se le avisa que fue agregado al proyecto. Una vez creado el usuario pueden rectificarse todos sus datos (salvo el uid) con el script users. Desde ese script pueden gestionarse los grupos, cambiar datos o modificar cualquier campo. Aún no hay protocolo para baja de usuarios ni para recupero de contraseña. Esto no corre más como alta, pero los scripts de fondo crean así: * [[admin_slurm|alta usuario slurm]]