Para iniciar sesión en el sistema, un usuario debe tener asignado un proyecto predeterminado. Un usuario es automáticamente miembro del proyecto predeterminado, aunque no se encuentre en la lista de usuarios o grupos del proyecto.
Dado que cada proceso del sistema procesa la pertenencia a un grupo del proyecto, se necesita un algoritmo para asignar un proyecto predeterminado al proceso de conexión u otro proceso inicial. El algoritmo se documenta en la página del comando man getprojent(3C). El sistema sigue una serie de pasos para determinar el proyecto predeterminado. Si no se encuentra ningún proyecto predeterminado, se deniega la conexión del usuario o su solicitud para iniciar un proceso.
El sistema sigue estos pasos de forma secuencial para determinar un proyecto predeterminado del usuario:
Si el usuario tiene una entrada con un atributo project definido en la base de datos de atributos de usuario extendida /etc/user_attr, el valor del atributo project es el proyecto predeterminado. Consulte la página del comando man user_attr(4).
Si hay un proyecto con el nombre user.ID_usuario en la base de datos project, dicho proyecto es el predeterminado. Consulte la página del comando man project(4) para obtener más información.
Si hay un proyecto con el nombre group.nombre_grupo en la base de datos project, en el que nombre_grupo es el nombre del grupo predeterminado para el usuario, tal como se especifica en el archivo passwd, dicho proyecto es el predeterminado. Para obtener información sobre el archivo passwd, consulte la página del comando man passwd(4).
Si el proyecto especial default está presente en la base de datos project, dicho proyecto es el predeterminado.
Esta lógica la proporciona la función de biblioteca getdefaultproj. () Consulte la página del comando man getprojent(3PROJECT) para obtener más información.