PHP Autenticando Usuários no ActiveDirectory do Windows

Foi muito simples como tudo em PHP.

Pegue  o usuário e a senha de um formulário e então conectar ao servidor windows. Usar  o ladap_bind para retornar TRUE se o usuário existe e está válido.

Atenção com as duas barras, é necessário para formar uma única barra no PHP.

<?php
/*
 * login.php
 */
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];

$ad = @ldap_connect("192.168.1.1");
$bd = @ldap_bind($ad, 'DOMINIO\\'.$usuario, $senha);

if ($bd) {
    $_SESSION['usuario'] = $usuario;
    header('Location: principal.php?acao=inicio');
    exit;
} else {
    $erro = "Usuario ou senha invalidos";
    header('Location: index.php?mensagem='.$erro);
    exit;
}
?>
Anúncios

Servidor NIS / NFS

Retirado de Forum Ubuntu


Vamos começar pelo server:


Instalando o NFS (para poder usar o diretório /home nas estações):

Código:
sudo apt-get install  nfs-kernel-server

Configurando o NFS:

– Edite o arquivo /etc/exports:

Citar
sudo gedit /etc/exports

– Deixe o conteúdo dele como abaixo (atente para a informação em negrito, que deve ser adequada a sua rede):

Citar
# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
/home            192.168.0.*(rw,sync)
#

– Agora reinicie o NFS devido as alterações do item anterior:

Código:
sudo /etc/init.d/nfs-kernel-server stop
sudo /etc/init.d/nfs-kernel-server stop

Instalando o NIS (para poder fazer a autenticação centralizada):

Código:
sudo apt-get install nis

Configurando o NIS:

– Edite o arquivo /etc/defaultdomain e insira nele o nome do domínio que irá usar para sua rede:

Citar
sudo gedit /etc/defaultdomain

Após isto execute o comando domainname para verificar a alteração, talvez precise reiniciar o serviço (/etc/init.d/nis) para a alteração ser visualizada.

– Edite o arquivo /etc/default/nis e altere a seguinte linha:

Citação de: De
NISSERVER=false
Citação de: Para
NISSERVER=master

– Reinicie o NIS:

Código:
sudo /etc/init.d/nis stop
sudo /etc/init.d/nis start

– Após “startar” o NIS devemos “popular” a sua base de dados com o seguinte comando:

Código:
sudo /usr/lib/yp/ypinit -m

A primeira pergunta diz respeito aos servidores NIS escravos. Na configuração com somente um servidor digite Ctrl+d e confirme com “y”.

  • Com a execução do script será criado os mapas que ficarão armazenados no diretório /var/yp/<nome_do_domínio>
  • A partir deste ponto o servidor NIS já esta em funcionamento, e qualquer alteração realizada na base de dados de usuários do servidor (criação de usuários, mudança de senha, criação de grupos e etc) devemos refazer os mapas do NIS, de forma a disponibilizar as informações para as estações. Para tanto executamos o comando abaixo
Código:
sudo -s
cd /var/yp
make

Com isso seu server deve estar funcionando
Vamos começar agora na parte das estações:

Instalando o NFS:

Código:
sudo apt-get install  nfs-kernel-server

Montando a partição disponibilizada pelo NFS:

Citação de: Atente para a informação em negrito
sudo mount -t nfs <IP do Servidor>:/home  /home

– Para automatizar o processo de montagem do diretório /home (do server) durante o boot basta editar o arquivo /etc/fstab e inserir nele a linha correspondente ao comando anterior:

* Editando o arquivo /etc/fstab

Código:
sudo   gedit   /etc/fstab

* Inclua a linha em negrito, alterando as informações necessárias (principalmente o que esta sublinhado):

Citar
# /etc/fstab: static file system information.
#
# <file system>  <mount point>   <type>        <options>       <dump>  <pass>
proc             /proc            proc         defaults        0       0
/dev/hdd2        /                reiserfs     notail          0       1
/dev/hdd1        none             swap         sw              0       0
/dev/hdc         /media/cdrom0    udf,iso9660  user,noauto     0       0
<IP_do_Servidor>:/home /home            nfs          defaults        0       0
#

– Neste ponto é bom entender melhor o funcionamento do arquivo /etc/fstab, e ai nada melhor que o excelente tópico do usuário pintinho:

Fstab : trocando em miúdos


Instalando o NIS (para poder fazer a autenticação centralizada):

Código:
sudo apt-get install nis

Configurando o NIS:

– Editando o arquivo /etc/yp.conf e adicionamos a seguinte linha

Código: (Para editar)
sudo  gedit  /etc/yp.conf

Conteúdo que o arquivo deverá ter:

Citação de: Acerte a parte em negrito para sua realidade
ypserver <endereço_ip_servidor>

– Edite o arquivo /etc/nsswitch.conf:

Código: (Para editar)
sudo  gedit  /etc/nsswitch.conf

As linhas a alterar são as passwd, group e shadow, e deverão ficar conforme abaixo:

Citar
passwd:   files nis
group:    files nis
shadow:   files nis

– Altere o arquivo /etc/defaultdomain informando o nome do seu domínio (conforme fez no server).

– Reinicie o NIS:

Código:
sudo /etc/init.d/nis stop
sudo /etc/init.d/nis start

– Para checar se as modificações ocorreram de forma satisfatória podemos verificar se o /etc/passwd do servidor NIS esta disponível na estação, executando o seguinte comando:

Código:
getent passwd

Este comando deverá listar o conteúdo do /etc/passwd do servidor e não da estação.


Com isso sua estação também deverá estar ok.

OpenLDAP no Ubuntu 8.10 Server e Client

Implementando o LDAP em Ubuntu 8.10

1) No servidor instale o openLDAP server:

apt-get install slapd, ldap-utils
sudo dpkg-reconfigure slapd

Para adminstração via web:

apt-get install phpldapadmin

Maiores informações: Help Ubuntu LDAP Server

2) Nas maquinas clientes, instalar a autenticação PAM/NSS:

sudo apt-get install libpam-ldap libnss-ldap nss-updatedb libnss-db

ajustar /etc/nsswitch.conf

passwd: files ldap
group: files ldap

Para testar:

$ getent passwd
$ getent group

Se falhar, então conferir o /etc/ldap.conf e se tiver 3 barras no endereco mudar para 2.

Para criar diretorio HOME local, editar /etc/pam.d/commom-session

session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/
session optional pam_ldap.so
session optional pam_foreground.so

Para adicionar grupo automaticamente editar o /etc/security/group.conf

  • ; *; *; Al0000-2400;audio,cdrom,floppy,plugdev,video,fuse,scanner,dip

Para reconfigurar o client:

sudo dpkg-reconfigure ldap-auth-config

Para HOME remota, configure o /etc/hosts para o server e o fstab para server:/home /home nfs defaults 0 0.

Maiores informações: Help Ubuntu LDAP Client
Ubuntu autenticar LDAP

Referencias:
AutoFS Forum Debian
Autenticação com LDAP
Autenticação com LDAP e AD endereço mudar para 2.