jump to navigation

PDC con Samba y OpenLDAP – GUI con LAM 13 marzo, 2010

Posted by Fredy Ruiz Ondre in PDC.
trackback

Esta es una pequeña guia para configurar un controlador de dominio con samba y autenticacion en un servidor LDAP, finalmente instalaremos una interfaz web de administración LAM
Datos:

  • SO: CentOS 5
  • IP: 192.168.0.15
  • Hostname: dc1
  • fqdn: dc1.dominio.com
  • Dominio: dominio.com
  • clave usada: superclave

Primero instalaremos las dependencias necesarias:

# yum -y install openldap openldap-clients openldap-servers authconfig authconfig-gtk samba samba-client samba-common nss_ldap

Copiamos el archivo de esquema de samba al directorio de esquema de OpenLDAP

# cp /usr/share/doc/samba-3.0.33/LDAP/samba.schema /etc/openldap/schema/

Luego configuramos el el archivo slapd.conf, previo backup

# cp slapd.conf slapd.conf.old
# vim slapd.conf

include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/samba.schema

allow bind_v2
pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args

database        bdb
suffix          “dc=dominio,dc=com”
rootdn          “cn=root,dc=dominio,dc=com”
rootpw          {SSHA}+pV6/hCXGnoRpKtKDnyZyyVlfNwtLWf/
directory       /var/lib/ldap

index objectClass           eq
index cn                     pres,sub,eq
index sn                     pres,sub,eq
index uid                     pres,sub,eq
index displayName           pres,sub,eq
index uidNumber             eq
index gidNumber             eq
index memberUID             eq
index sambaSID                eq
index sambaPrimaryGroupSID        eq
index sambaDomainName           eq
index default               sub

La contraseña fue generada con el comando ‘slappasswd’

# slappasswd
New password:
Re-enter new password:
{SSHA}+pV6/hCXGnoRpKtKDnyZyyVlfNwtLWf/

Configuramos los parametros como cliente(NSS) en el archivo /etc/ldap.conf

# vim /etc/ldap.conf

host 127.0.0.1
base dc=dominio,dc=com

Tambien tenemos que configurar el cliente LDAP en  /etc/openldap/ldap.conf

# vim /etc/openldap/ldap.conf

HOST 127.0.0.1
BASE dc=dominio,dc=com

# service ldap start
# chkconfig ldap on

Copiamos el archivo DB_CONFIG al directorio /var/lib/ldap

# cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG
# chown ldap:ldap /var/lib/ldap/DB_CONFIG
# chmod 640 /var/lib/ldap/DB_CONFIG

Configuramos la autenticacion del GNU/Linux con ‘authconfig-tui’

# authconfig-tui

Ahora configuramos SAMBA
Editamos el archivo smb.conf, previo backup

# cd /etc/samba/
# cp smb.conf smb.conf.old

[global]
workgroup = DOMINIO
server string = Samba Server Version %v
netbios name = DC1
log file = /var/log/samba/%m.log
max log size = 50
security = user
encrypt passwords = yes
os level = 65
domain master = yes
preferred master = yes
domain logons = yes
wins support = yes
# —– Parametros LDAP —–
admin users = Administrator @”Domain Admins”
passdb backend = ldapsam:ldap://127.0.0.1
ldap suffix = dc=dominio,dc=com
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap machine suffix = ou=Computers
ldap admin dn = cn=root,dc=dominio,dc=com
ldap passwd sync = yes
add machine script = /usr/sbin/smbldap-useradd -w %u
add user script = /usr/sbin/smbldap-useradd -m “%u”
delete user script = /usr/sbin/smbldap-userdel “%u”
add group script = /usr/sbin/smbldap-groupadd -p “%g”
delete group script = /usr/sbin/smbldap-groupdel “%g”
add user to group script = /usr/sbin/smbldap-groupmod -m “%u” “%g”
delete user from group script = /usr/sbin/smbldap-groupmod -x “%u” “%g”
# — Resto de parametros, como archivos compartidos ..

Le decimos a Samba cual es la contraseña del administrador de OpenLDAP, para ello ejecutamos

# smbpasswd -w superclave
Setting stored password for “cn=root,dc=dominio,dc=com” in secrets.tdb

Testeamos y reiniciamos Samba

# testparm
# service smb restart

Ahora instalaremos los smbldap-tools, para ello agregamos los repositorios DAG, siguiendo los pasos del siguiente link

# yum -y install smbldap-tools –enablerepo=rpmforge

Averiguamos cual es el SID del servidor Samba

# net getlocalsid
SID for domain DC1 is: S-1-5-21-1773662991-1235376751-2571308610

Configuramos el acceso smbldap-tools a la BD de openLDAP

# vim /etc/smbldap-tools/smbldap_bind.conf

slaveDN=”cn=root,dc=dominio,dc=com”
slavePw=”superclave”
masterDN=”cn=root,dc=dominio,dc=com”
masterPw=”superclave”

Configuramos los permisos

# chmod 600 /etc/smbldap-tools/smbldap_bind.conf

Finalmente configuramos el archivo smbldap.conf

# vim /etc/smbldap-tools/smbldap.conf

SID=”S-1-5-21-1773662991-1235376751-2571308610″
sambaDomain=”DOMINIO”
slaveLDAP=”127.0.0.1″
slavePort=”389″
masterLDAP=”127.0.0.1″
masterPort=”389″
ldapTLS=”0″
ldapSSL=”0″
verify=”require”
cafile=”/etc/smbldap-tools/ca.pem”
clientcert=”/etc/smbldap-tools/smbldap-tools.iallanis.info.pem”
clientkey=”/etc/smbldap-tools/smbldap-tools.iallanis.info.key”
suffix=”dc=dominio,dc=com”
usersdn=”ou=Users,${suffix}”
computersdn=”ou=Computers,${suffix}”
groupsdn=”ou=Groups,${suffix}”
idmapdn=”ou=Idmap,${suffix}”
sambaUnixIdPooldn=”sambaDomainName=${sambaDomain},${suffix}”
scope=”sub”
hash_encrypt=”SSHA”
crypt_salt_format=”%s”
userLoginShell=”/bin/bash”
userHome=”/home/%U”
userHomeDirectoryMode=”700″
userGecos=”System User”
defaultUserGid=”513″
defaultComputerGid=”515″
skeletonDir=”/etc/skel”
defaultMaxPasswordAge=”45″
userSmbHome=”\\DC1\%U”
userProfile=”\\DC1\profiles\%U”
userHomeDrive=”H:”
mailDomain=”dominio.com”
with_smbpasswd=”0″
smbpasswd=”/usr/bin/smbpasswd”
with_slappasswd=”0″
slappasswd=”/usr/sbin/slappasswd”

Ahora creamos la estructura de dominio en openldap, para ello ejecutamos

# smbldap-populate -a root

Nos pedira que ingresemos la contraseña del administrador del dominio, ingresamos nuestra clave ‘superclave’

Veamos la asociacion de los builtin de los grupos Samba con los grupos de OpenLDAP creados

# net groupmap list

Reiniciamos todos los servicios

# service ldap restart
# service smb restart

Ahora podemos crear una cuenta de usuario Windows ( -a ), le creamos su directorio personal ( -m ), especificando que no tenga una ruta profile ( -F ) y le asignamos una clave

# smbldap-useradd -a -m -F “” fruiz
# smbldap-passwd fruiz

Ahora unimos una maquina Windows XP al dominio

  • Le damos clic en propiedades de ‘Mi PC’
  • Seleccionamos ‘nombre de equipo’
  • Le damos clic en ‘Cambiar’
  • Ponemos en Miembro de  –> Dominio:  dominio

Bueno en mi caso antes tuve que poner en mis propiedades de red en opciones avanzadas el servidor WINS la IP 192.168.0.15

Una ves que tengamos nuestro PDC ok y tengamos algunas maquinas dentro del dominio, ahora instalaremos una herramienta de administracion via web, esta herramienta es LAM (LDAP Account Manager)

Instalamos las dependencias necesarias

# yum -y install php-ldap php-mhash httpd php-pear php-devel gcc perl-Net-SSH-Perl perl-Quota openssl-devel

–enablerepo=rpmforge

Descargamos el paquete RPM lam

# cd /tmp
# wget http://downloads.sourceforge.net/project/lam/LAM/2.9.0/ldap-account-manager-2.9.0-0.fedora.1.noarch.rpm
# rpm -Uvh ldap-account-manager-2.9.0-0.fedora.1.noarch.rpm
# cd /var/www/html/lam/config/
# cp config.cfg_sample config.cfg
# cp lam.conf_sample lam.conf
# chown apache.apache lam.conf
# chown apache.apache config.cfg

# vim /etc/php.ini

memory_limit = 64M

Reiniciamos el servicio httpd

# service httpd restart

Luego accedemos via web

http://192.168.0.15/lam/templates/config/index.php

Le damos clic en ‘Edit server profiles’, nos logeamos con usuario lam y clave lam

En la opcion ‘General settings’

En la opcion Account types

Modificamos los UID máximo y mínimo en la opcion ‘Module settings’


Tambien cambiamos la constraseña y guardamos los cambios

Ahora vamos a configurar el LAMdaemon, el cual nos permitira crear y borrar los directorios de los usuarios ademas que podremos definir cuotas de disco por usuario.

creamos un nuevo usuario para la administracion

# smbldap-useradd -a -m -F “” admin
# smbldap-passwd admin
Changing UNIX and samba passwords for admin
New password:
Retype new password:

# vim /etc/openldap/slapd.conf

rootdn          “uid=admin,ou=Users,dc=dominio,dc=com”
# clave generada con slappasswd
rootpw          {SSHA}p3ARNs8kSCa4HnJ2fBPxkA1IME2HjTSz

Modificamos un parametro del archivo smb.conf

# vim /etc/samba/smb.conf

ldap admin dn = uid=admin,ou=Users,dc=dominio,dc=com

Cambiamos la contraseña que usa samba para acceder al directorio LDAP

# smbpasswd -w superclave

Modificamos el acceso smbldap-tools a la BD de openLDAP  en  smbldap_bind.conf

# vim /etc/smbldap-tools/smbldap_bind.conf

slaveDN=”uid=admin,ou=Users,dc=dominio,dc=com”
slavePw=”superclave”
masterDN=”uid=admin,ou=Users,dc=dominio,dc=com”
masterPw=”superclave”

Editamos la configuracion de LAM via web, en la opcion ‘Edit server profiles’

http://192.168.0.15/lam/templates/config/conflogin.php

Modificamos la opcion ‘Security settings’

Nos dirigimos a la pestaña de ‘Modules’ y le agregamos las quotas tanto por usuarios y grupos

Ahora le damos acceso por sudo y comentamos la opcion que requiere una terminal tty

# vim /etc/sudoers

#Defaults    requiretty

admin ALL=NOPASSWD: /var/www/html/lam/lib/lamdaemon.pl

Activamos las cuotas de disco

# vim /etc/fstab

LABEL=/             /             ext3    defaults,usrquota,grpquota        1 1

Guardamos los cambios y ejecutamos lo siguiente

# mount -o remount /
# cd /
# touch aquota.user aquota.group quota.user quota.group
# quotacheck  -avugm
# quotaon /

Finalmente instalamos php-ssh2 y libssh2

# cd /usr/src
# wget http://www.libssh2.org/download/libssh2-1.2.4.tar.gz
# tar xzf libssh2-1.2.4.tar.gz
# cd libssh2-1.2.4/
# ./configure
# make
# make install

# cd /usr/src
# wget http://pecl.php.net/get/ssh2-0.11.0.tgz
# tar xzf ssh2-0.11.0.tgz
# cd ssh2-0.11.0
# phpize
# ./configure –with-ssh2
# make
# cp -p modules/ssh2.so /usr/lib/php/modules/

Le agregamos una linea al archivo php.ini

# vim /etc/php.ini

extension=ssh2.so

Reiniciamos el servicio httpd

# service httpd restart

Listo, ahora accedemos via web

http://192.168.0.15/lam/templates/main.php

Nos dirigimos a ‘Tools’ –> ‘Tests’ –> ‘Lamdaemon tests’ le ponemos el check en ‘Chek quotas’

Ahora ya tenemos la GUI de LAM listo

Ahora solo falta el DNS …

Fuentes:

http://www.alcancelibre.org/staticpages/index.php/SAMBALDAP-CENTOS5
http://garciagea.com/fran/eoi/ldap/Samba-LDAP-GUI-LAM-Centos5.html

Anuncios

Comentarios»

No comments yet — be the first.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: