Como autenticar maquinas linux (ubuntu) contra un servidor PDC Samba


Hola, despues de tanto navegar, por fin encontre la receta, aqui les va:

1. Necesitamos instalar los siguientes paquetes:

sudo apt-get install libnss-ldap libpam-ldap nscd

Nos saldrá una ventana de configuración, dende:

* Establecemos el servidor LDAP. aquí ponemos la dirección ip del server que corre el servicio LDAP de la forma:

ldap://192.168.0.1 y presionamos Enter

* Posteriormente entramos el (Distinguished name of the search base), en mi caso dc=vn,dc=pri,dc=jovenclub,dc=cu
* Establecemos la versión de LDAP, (3).
* En la opción (Make local root Database admin) le decimos NO
* En la opción (Does the LDAP database require login?) le decimos NO

2. Ahora necesitamos configurar los pam.d

* Editamos el fichero /etc/pam.d/common-account y nos aseguramos de que tenga la siguiente configuración:

account required pam_unix.so
account sufficient pam_ldap.so

NOTA: En mi experiencia, el orden de las opciones creo es importante. En caso de exitir alguna de las opciones que debemos adicionar, las comentamos y las ordenamos segun aparece en este tutorial.

* Editamos el fichero /etc/pam.d/common-auth y nos aseguramos de que quede de la siguiente forma:

auth sufficient pam_unix.so
auth sufficient pam_ldap.so try_first_pass
auth required pam_unix_auth.so

* Editamos /etc/pam.d/common-password y nos aseguramos que quede de la siguiente forma:

password required pam_unix.so nullok obscure min=4 max=8 md5
password sufficient pam_unix.so use_authtok md5 shadow
password sufficient pam_ldap.so use_authtok

* Editamos /etc/pam.d/common-session y nos aseguramos que quede de la siguiente forma:

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

Ya tenemos todos los ficheros pam.d necesarios para la autenticacion contra el dominio.

3. Ahora Modificar el Nsswitch que se encuentra en /etc/nsswitch.conf y nos aseguramos que quede de la siguiente forma:

passwd: compat ldap
group: compat ldap
shadow: compat ldap

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: nis

En Ubuntu 8.04 solo hay que añador ldap en las tres primeras opciones, lo dema viene por defecto.

4. Por ultimos reiniciamos nscd /etc/init.d/nscd restart y a disfrutar de la autenticación contra el pdc

Anuncios

Configurar CVS para el control y desarrollo de Proyectos


Hola!!!

Siempre me pregntaba como un grupo de programadores juntaban todo el codigo mientras desarrollaban una aplicacion.

Bueno, ayer un colega y yo comenzamos a realizar un proyecto en Django y nos pruntamos como hacerlo, investigamos un poco por la red y rapido encontramos a CVS. Esto nos permitiría implementar un sistema de control de versiones: mantiener el registro de todo el trabajo y los cambios en los ficheros (código fuente principalmente) que forman el proyecto (de programa) y permite que distintos desarrolladores (potencialmente situados a gran distancia) colaboren.

Basicamente se utiliza en el desarrollo de un proyecto informatico para llevar un control de los ficheros del codigo y evitar por ejemplo que el codigo que escribe un usuario sea “machacado” con el codigo de otro usuario. Ademas con un sistema de control de versiones, el programador siempre puede disponer de la ultima version del codigo lo que ayuda a continuar con el desarrollo del proyecto.

Te pondre un ejemplo de para que sirve todo esto.

Imagina dos programadores que estan trabajando en el mismo proyecto, y casualmente ambos estan modificando el mismo fichero de codigo. Cuando uno de ellos actualice ese fichero en el repositorio se queda marcado, de tal manera que cuando el otro intente subir al repositorio de codigo ya ve, que ese fichero ha sufrido una modificacion desde la ultima vez que el se actualizo, lo que le obliga, a traerse de nuevo ese fichero (con los cambios que haya realizado el primer programador), añadir los suyos y volver a subir el fichero. Sin un mecanismo de control de versiones, ese cambio se perderia, el primer desarrollador subiria el fichero y el segundo subiria su version. Esto para un fichero es controlable, pero cuando tienes miles de ficheros y miles de lineas de codigo significa un desastre total. Por eso el control de versiones es necesario.

Para instalar el servidor y el cliente cvs ejecutamos:

sudo apt-get install cvs cvsd

En un momento determinado nos pedira la ruta para el repositorio, pon por ejemplo /cvsrepo. Este es el directorio a partir del cual se ira colgando todos aquellos modulos/proyectos que administremos con el CVS.

Este directorio lo vamos a definir a partir de /var/lib/cvsd, asi que realmente el path completo seria:

/var/lib/cvsd/cvsrepo

Ejecutamos las siguientes secuencias de comandos:

$ sudo cvsd-buildroot /var/lib/cvsd

Si la carpeta cvsrepo no existe, la creamos

$ cd /var/lib/cvsd
$ sudo mkdir cvsrepo

Le damos permisos sobre la carpeta al usuario cvsd

$ sudo chown -R cvsd:cvsd cvsrepo

Inicializamos el repositorio

$ sudo cvs -d /var/lib/cvsd/cvsrepo init

creamos un usuario cvs y le damos una password.

$ sudo cvsd-passwd /var/lib/cvsd/cvsrepo <username>

por ejemplo:

sudo cvsd-passwd /var/lib/cvsd/cvsrepo papo

Ahora editamos el fichero:

sudo vi /var/lib/cvsd/cvsrepo/CVSROOT/config

Cambiamos “#SystemAuto=no” a “#SystemAuto=yes”

Ya tenemos todo funcionando. Para comprobar que accedemos:

cvs -d :pserver:username@localhost:/cvsrepo login
cvs -d :pserver:username@localhost:/cvsrepo checkout .

Por ejemplo:

cvs -d :pserver:papo@localhost:/cvsrepo login

Seria adecuado exportar la variable CVSROOT del siguiente modo:

export CVSROOT=:pserver:papo@localhost:/cvsrepo

o el valor que fuera, de esta manera ya no necesitariamos especificarla cada vez que fueramos a usar un comando “cvs”.

Ahora podriamos logarnos con:

cvs login

y por ejemplo colocarnos en la carpeta (dentro) de un proyecto que quisieramos subir al CVS y ejecutar:

cvs import -m “ficheros iniciales” MiProyecto HEAD MAIN

Con esto importamos el proyecto a CVS

Ahora podemos usar algun cliente CVS para descargar el proyecto desde el repositorio, yo estoy usando Cervisia que se integra muy bien a Quanta.

Espero que esto les sea de ayuda.

Alternativa Buena a Babylon


Llevava mucho tiempo intentando encontrar alguna aplicación que funcionara como Babylon en Linux, hasta que finalemente encontre ktranslator que aunque es para KDE funciona perfectamente en Gnome.

1. Instalar ktranslator   apt-get install ktranslator

2. Bajar desde ftp://ftp.ac-grenoble.fr/ge/languages/babylon_dict/  dos archivos: english.dic.gz y EngtoSpa.dic.gz (son los archivos de babylon)

3. Descomprimes los dos archivos obteniendo base y Spanish.dic; renombras (muy importante) base a english.dic y Spanish.dic a EngtoSpa.dic

4. Arrancas ktranslator y en Preferences, Dictionaries le das a Add (añadir) y seleccionas EngtoSpa.dic (en la ruta donde lo hayas descomprimido y renombrado) especificando en el desplegable plug-in to use: Babylon

Listo con esto ya podemos hacer nuestras traducciones usando la tecla Ctrol + Doble Clic

Espero lo disfruten