Para efetuar login no sistema, um usuário tem de ser atribuído a um projeto padrão. Um usuário é automaticamente um membro desse projeto padrão, mesmo que o usuário não esteja na lista de usuários ou de grupo especificada nesse projeto.
Uma vez que cada processo no sistema possui associação ao projeto, é necessário um algoritmo para atribuir um projeto padrão ao login ou outro processo inicial. O algoritmo é documentado na página do manual getprojent(3C). O sistema segue as etapas ordenadas para determinar o projeto padrão. Se nenhum projeto for localizado, o login de usuário, ou a solicitação para iniciar um processo, será negado.
O sistema segue seqüencialmente estas etapas para determinar o projeto padrão de um usuário:
Se o usuário tiver uma entrada com um atributo project definido no banco de dados de atributos de usuário estendido /etc/user_attr, o valor do atributo project será o projeto padrão. Consulte a página do manual user_attr(4).
Se um projeto com o nome user.user-id estiver presente no banco de dados de project, esse projeto será o projeto padrão. Consulte a página do manual project(4) para obter mais informações.
Se um projeto com o nome group. group-name estiver presente no banco de dados de project, onde group-name é o nome do grupo padrão para o usuário, como especificado no arquivo passwd, esse projeto será o projeto padrão. Para obter informações sobre o arquivo passwd, consulte a página do manual passwd(4).
Se o projeto especial default estiver presente no banco de dados de project, esse projeto será o projeto padrão.
Esta lógica é fornecida pela função de biblioteca getdefaultproj. () Para obter mais informações, consulte a página do manual getprojent(3PROJECT).