Vou tentar explicar o que pretendo fazer:
Tenho uma workstation linux que pretendo integrar na rede da empresa onde trabalho. O servidor tem AD, uma proxy ISA e mais umas coisinhas...
Já consegui configurar a autenticação na AD através do winbind para fazer log-in com users não locais e aquisição automática de TGT kerberos através do pam-krb5 para as politicas de permissões de acesso a locais de rede funcionarem...
Finalmente apenas me falta tratar da autenticação na ISA... O ideal seria o ISA reconhecer que já estou autenticado na AD e reconhecer o grupo ao qual pertenço para definir as politicas de acesso à net...
Infelizmente isso não acontece e sempre que tento aceder à net ele dá-me o erro 407 a dizer que o ISA requer autenticação... A única forma de por isto a funcionar com apt's e companhias foi usando o ntlmaps para que esse trata-se da autenticação ntl no ISA desde que redireccione todas as apps para o ntlmaps...
O ntlmaps tem um ficheiro de configuração que contém, além do endereço do servidor e afins, o username e a pass do utilizador a usar na autenticação... Como podem entrar uma série de utilizadores diferentes nesta workstation, estou a tentar arranjar forma de alterar dinamicamente a informação do ficheiro server.cfg(ficheiro de configuração do ntlmaps) com os dados do utilizador que esteja entrando....
Eu fiz um programa em java que pede essas informações ao utilizador (podia ter feito em C ou C++ mas eu nunca trabalhei com gtk e por questão de tempo não é viável estar agora a aprender) e gostava de correr o .jar com direitos de administrador para puder alterar o server.cfg e correr o ntlmaps... O server.cfg vai ter de estar vedado por completo à leitura e escrita por parte de um utilizador não administrador devido ao facto de ter lá em ascii a informação de log-in (que constituiria um possível grande problema de segurança)...
Espero que tenha sido explicito
[]
ps- path's:
ntlmaps (contem o main.py e o server.cfg): /usr/local/ntlmaps
proxylauncher(a minha app): /usr/local/proxylauncher
java: /usr/bin/java