Open Policies

Open Policies é uma pequena biblioteca de funções que manipulam as configurações do perfil de utilizador de Linux, incluindo configurações do GNOME e Firefox, bem como impressoras e as pastas partilhadas configuradas durante o login. Estas funções podem ser integradas através de scripts por forma a impor determinadas configurações no processo de autenticação. As configurações aplicadas como descrito no ponto anterior, designam-se por "políticas", ou em inglês “policies”, pois ficam obrigatoriamente activas após o login do utilizador.

As funções presentes na biblioteca devem ser armazenadas centralmente (por exemplo: uma partilha samba com acesso de leitura) e incluídas a partir de shell scripts específicos dos utilizadores e/ou grupos. Estes scripts também devem ser armazenados centralmente e executados de forma automatica a partir dos postos de trabalho de Linux utilizando, por exemplo, o módulo pam_script. Desta forma, havendo autenticação centralizada (via LDAP, Active Directory, etc) a funcionar é possível aplicar configurações de autenticação (ou seja, políticas) em função do utilizador e dos grupos que o utilizador pertence. Essas configurações podem ser facilmente geridas a partir de uma localização central.


Detalhes de implementação dependem da distribuição Linux e das preferências do implementador. No entanto, sugerimos:

1 - Armazenar as funções numa directoria chamada COMMON dentro de uma partilha samba;
2 - Armazenar os scripts do utilizador num diretório com o nome USERS, dentro da mesma partilha samba;
3 - Armazenar os scripts dos grupos num diretório chamado GROUPS dentro da mesma partilha;
4 - Armazenar um script global com o nome global.sh dentro da partilha de samba, no nível superior.

Durante o processo de autenticação do ambiente Linux deve:

1 - Mapear a partilha samba que aloja as funções e os scripts;
2 - Executar o ficheiro global.sh para todos os utilizadores;
3 - Determinar todos os grupos a que o utilizador pertence e executar o script correspondente.

Exemplos:

Executar scripts presentes em

GROUPS / <groupename>.sh.

scripts sempre que estes existam.

Executar

USERS / <username>.sh.

se ele existir.

Esta sequência de execução permite que configurações específicas do grupo se sobreponham a configurações globais e/ou específicas do utilizador.

Durante o processo de logout devem ser desconfiguradas as impressoras adicionadas no login e desmapeadas as pastas partilhadas.

Vários exemplos de utilização estão disponíveis no ficheiro EXAMPLES.