BLOGGER TEMPLATES AND TWITTER BACKGROUNDS »

viernes, 30 de octubre de 2009

EL COLOMBIANO.COM

EL COLOMBIANO.COM

viernes, 3 de abril de 2009

manual de gpg en linux debian

gpg en linux

manual de squid(2)

SERVIDOR PROXY CON AUTENTICACIÓN DE USUARIOS DE SERVICIO DE DIRECTORIO

lunes, 2 de marzo de 2009

Manual Postfix Cyrus Sasldb Antivirus

Manual de Mds en Debian

Manqual de Exchange 2003

sábado, 28 de febrero de 2009

Manual de Open Chat

Manual de OCSInventory

Manual de Artica

Manual de LVM

manual de lvm

Manual de Jahia

jahia p

Manual Hyperic

Manual IPsec Terminado

viernes, 27 de febrero de 2009

Manual Openbravo

martes, 27 de enero de 2009

Normas y Conceptos de Seguridad

Seguridad informática: Podemos entender como seguridad un estado de cualquier tipo de información (informático o no) que nos indica que ese sistema está libre de peligro, daño o riesgo. Se entiende como peligro o daño todo aquello que pueda afectar su funcionamiento directo o los resultados que se obtienen del mismo. Para la mayoría de los expertos el concepto de seguridad en la informática es utópico porque no existe un sistema 100% seguro. Para que un sistema se pueda definir como seguro debe tener estas cuatro características:
• Integridad: La información sólo puede ser modificada por quien está autorizado y de manera controlada.
• Confidencialidad: La información sólo debe ser legible para los autorizados.
• Disponibilidad: Debe estar disponible cuando se necesita.
• Irrefutabilidad (No repudio): El uso y/o modificación de la información por parte de un usuario debe ser irrefutable, es decir, que el usuario no puede negar dicha acción.
Dependiendo de las fuentes de amenaza, la seguridad puede dividirse en seguridad lógica y seguridad física.
En estos momentos la seguridad informática es un tema de dominio obligado por cualquier usuario de la Internet, para no permitir que su información sea comprometida.
• Activo: recurso del sistema de información o relacionado con éste, necesario para que la organización funcione correctamente y alcance los objetivos propuestos.
• Amenaza: es un evento que pueden desencadenar un incidente en la organización, produciendo daños materiales o pérdidas inmateriales en sus activos.
• Impacto: medir la consecuencia al materializarse una amenaza.
• Riesgo: posibilidad de que se produzca un impacto determinado en un Activo, en un Dominio o en toda la Organización.
• Vulnerabilidad: posibilidad de ocurrencia de la materialización de una amenaza sobre un Activo.
• Ataque: evento, exitoso o no, que atenta sobre el buen funcionamiento del sistema.
• Desastre o Contingencia: interrupción de la capacidad de acceso a información y procesamiento de la misma a través de computadoras necesarias para la operación normal de un negocio.
Aunque a simple vista se puede entender que un Riesgo y una Vulnerabilidad se podrían englobar un mismo concepto, una definición más informal denota la diferencia entre riesgo y vulnerabilidad, de modo que se debe la Vulnerabilidad está ligada a una Amenaza y el Riesgo a un Impacto.
Los activos son los elementos que la seguridad informática tiene como objetivo proteger. Son tres elementos que conforman los activos:
Información
Es el objeto de mayor valor para una organización, el objetivo es el resguardo de la información, independientemente del lugar en donde se encuentre registrada, en algún medio electrónico o físico.
Equipos que la soportan.
Software, hardware y organización.
Usuarios
Individuos que utilizan la estructura tecnológica y de comunicaciones que manejan la información.

El activo más importante que se posee es la información y, por lo tanto, deben existir técnicas que la aseguren, más allá de la seguridad física que se establezca sobre los equipos en los cuales se almacena. Estas técnicas las brinda la seguridad lógica que consiste en la aplicación de barreras y procedimientos que resguardan el acceso a los datos y sólo permiten acceder a ellos a las personas autorizadas para hacerlo.
Existe un viejo dicho en la seguridad informática que dicta: "lo que no está permitido debe estar prohibido" y ésta debe ser la meta perseguida.
Los medios para conseguirlo son:
1. Restringir el acceso (de personas de la organización y de las que no lo son) a los programas y archivos.
2. Asegurar que los operadores puedan trabajar pero que no puedan modificar los programas ni los archivos que no correspondan (sin una supervisión minuciosa).
3. Asegurar que se utilicen los datos, archivos y programas correctos en/y/por el procedimiento elegido.
4. Asegurar que la información transmitida sea la misma que reciba el destinatario al cual se ha enviado y que no le llegue a otro.
5. Asegurar que existan sistemas y pasos de emergencia alternativos de transmisión entre diferentes puntos.
6. Organizar a cada uno de los empleados por jerarquía informática, con claves distintas y permisos bien establecidos, en todos y cada uno de los sistemas o aplicaciones empleadas.
7. Actualizar constantemente las contraseñas de accesos a los sistemas de cómputo.
http://es.wikipedia.org/wiki/Seguridad_inform%C3%A1tica


2.) Normatividad:

• ISO/IEC 17799: publicada por primera vez como ISO/IEC 17799:2000 por International Organization for Standardization y por la comisión International Electrotechnical Commission en el año 2000 y con el título de Information technology - Security techniques - Code of practice for information security management. Y su actualizacion fue llamada ISO/IEC 17799:2005, es basada en la norma britanica British Standard BS 7799-1 publicada por primera vez en 1995.

Proporciona recomendaciones de las mejores prácticas en la gestión de la seguridad de la información a todos los interesados y responsables en iniciar, implantar o mantener sistemas de gestión de la seguridad de la información. La seguridad de la Información se define en el estándar como la preservación de la confidencialidad (asegurando que sólo quienes estén autorizados pueden acceder a la información), integridad (asegurando que la información y sus métodos de proceso son exactos y completos) y disponibilidad (asegurando que los usuarios autorizados tienen acceso a la información y a sus activos asociados cuando lo requieran).
La versión de 2005 del estándar incluye las siguientes once secciones principales:
• Política de seguridad
• Aspectos organizativos para la seguridad
• Clasificación y control de activos
• Seguridad ligada al personal
• Seguridad física y del entorno
• Gestión de comunicaciones y operaciones
• Control de accesos
• Desarrollo y mantenimiento de sistemas
• Gestión de incidentes de seguridad de la información
• Gestión de continuidad de negocio
• Conformidad

http://es.wikipedia.org/wiki/ISO/IEC_17799
• ISO/IEC 27000: son estándares de seguridad publicados por la Organización Internacional para la Estandarización (ISO) y la Comisión Electrotécnica Internacional (IEC).
La serie contiene las mejores prácticas recomendadas en Seguridad de la información para desarrollar, implementar y mantener Especificaciones para los Sistemas de Gestión de la Seguridad de la Información (SGSI). la mayoría de estas normas se encuentran en preparación e incluyen:

ISO/IEC 27000: Fundamentos y vocabulario.
ISO/IEC 27001: Norma que especifica los requisitos para la implantación del Sistema de Gestión de Seguridad de la Información (SGSI).
ISO/IEC 27002 (actualmente ISO/IEC 17799-2005): Código de buenas prácticas para la gestión de Seguridad de la Información.
ISO/IEC 27003: Directrices para la implementación de un sistema de gestión de Seguridad de la Información.
ISO/IEC 27004: Métricas para la gestión de Seguridad de la Información.
ISO/IEC 27005: Gestión de riesgos de la Seguridad de la Información.
ISO/IEC 27006: Requisitos para la acreditación de las organizaciones que proporcionan la certificación de los sistemas de gestión de la Seguridad de la Información.
ISO/IEC 27007 - es una guía para auditar al SGSI. Se encuentra en preparación.
http://es.wikipedia.org/wiki/ISO/IEC_27000-series

martes, 2 de septiembre de 2008

MANUAL DE CONFIGURACION E INTEGRACIN DE OPENLDAP CON SAMBA, APACHE, PHPLDAPADMIN.



Bueno, este manual servira como referencia para aquellas personas interesadas en instalar OpenLdap sobre Debian.


Vesion de Debian: Debian Etch 4.0.


Software a usar:

Slapd (2.2.23-8).

Samba (3.0.14ª-3).

Phpldapadmin (0.9.5-3).

Libnss-ldap (238-1).

Libpam-ldap (178-1).

Nscd (2.3.2.ds1-22).

Al instalarla deberemos configurar la lista de repositorios de Debian con el fin de obtener las dependencias necesarias para la consecuente ejecución de OpenLdap.


Por lo tanto lo hare paso a paso para aquellos que son rockies en ambientes Linux.


  1. Editando la lista de repositorios de Debian Etch 4.0:

    1. #Nano/pico /etc/apt/sources.list

    2. /*Y al final de la lista, teclearemos:

      1. Deb http://http.us.debian.org/debian etch main contrib non-free

    3. /*Daremos Ctrl + O (para guarder).

    4. /*Daremos Ctrl. + X (para salir).

  2. Ahora, si pertencemos a una LAN deberemos verificar si poseemos la salida a Internet a traves del servicio Proxy, deberemos teclear:

    1. #!export

    2. /*Y nos debera salir algo asi:

      1. http_proxy://172.20.49.51:80”

    3. /*Si no nos sale algo como esto deberemos exportarlo para nuestra maquina, asi:

      1. #Export http_proxy=http://172.20.49.51:80.

  3. Ahora actualizaremos nuestra lista de repositorios para que se puedan obtener los paquetes a usar en la configuración, asi:

    1. #apt-get update.

  4. Para que la configuración de OpenLdap no nos presente problemas mas adelante deberemos instalar unas dependencias necesarias para compilación e instalacion de los otros paquetes.

    1. #apt-get install make gcc gcc++ gengetopt libpopt-dev python-crypto.


  1. Ahora instalaremos los paquetes correspondientes al servidor de OpenLdap y sus utilidades.

    1. #apt-get install slapd ldap-utils.

    2. /*Ahora nos debera pedir una serie de datos, para completer la configuracion asica de OpenLdap, tales como:

      1. Contraseña del Administrador de OpenLdap: sena2008 /*es mi contraseña de ejemplo*/.

      2. Verificar la contraseña : sena2008.

    3. Ahora para que quede un poco mas completa la configuración de OpenLdap, deberemos reconfigurar el paquete-servicio, mediante:

      1. #dpkg-reconfigure slapd.

      2. /* Y nos debera pregunta ahora:

        1. Desea omitir la configuracion de ldap : no

        2. Introduzca el nombre de dominio DNS : wodan.net

        3. Instrodusca el nombre de su organizacion : wodan.net

        4. Contraseña del administrador : sena2008

        5. Verificar contraseña : sena2008.

        6. Motor de base de datos a utilizar : BDB./* Es el tipo de la base de datos Berkeley a manejar*/.

        7. Desea que se borre la base de datos cuando purge el paquete slapd :NO

        8. Desea mover la base de datos antigua : SI

        9. Permitir el protocolo LDAPV2 : si

      3. Ahora verificamos la instalacion de slapd, asi:

        1. # ldapsearch -x -b “dc=wodan,dc=net”

        2. /*Y nos debera aparecer los siguinte:

          1. # extended LDIF

          2. #

          3. # LDAPv3

          4. # base <“dc=wodan,dc=net”> with scope subtree

          5. # filter: (objectclass=*)

          6. # requesting: ALL

          7. #

          8. # search result

          9. search: 2

          10. result: 34 Invalid DN syntax

          11. text: invalid DN

          12. # numResponses: 1

  2. Instalando phpldapadmin.

    1. Phpldapadmin requiere un servidor web para funcionar. Si es nueva instalacion necesitaremos instalar Apache. Se usara Apache-ssl ya que no queremos que nuestra clave de administrador sea enviada por la red en texto plano. Por lo cual, teclearemos:

      1. #apt-get install apache-ssl. /* Y deberemos responder lo siguiente:

        1. Habilitar SuExec: no

        2. Pais: CO

        3. Estado : AN

        4. Localidad : ME

        5. Nombre de la Organización : wodan.net

        6. Nombre de la Unidad Organizativa: Users

        7. Nombre de Equipo : serverldap.wodan.net

        8. Email de contacto : admin@wodan.net

      2. /* Luego instalaremos phpldapadmin que provee una interfaz web para administrar información en LDAP:

        1. #apt-get install phpldapadmin.

        2. /* responda las preguntas asi:

          1. Tipo de autenticación: session

          2. Configurar webserver : apache-ssl.

          3. Reiniciar: si

        3. INSTALACION DE SMBLDAP-TOOLS

        4. #apt-get install smbldap-tools

        5. Phpldapadmin requiere una utilidad llamada mkntpwd para crear los hashes de las claves Samba. Esto solía estar incluído en smbldap-tools pero no parece estar en Debian.

        6. Instalacion de Mkntpwd:

          1. $ cd /opt/

          2. $ wget http://www.silcom.com.pe/soft/mkntpwd.tar.gz

          3. $ tar -zxf mkntpwd.tar.gz

          4. $ cd mkntpwd

          5. $ make

          6. $ cp mkntpwd /usr/local/bin


        1. Ahora verificamos si realmente esta instalado el paquete, asi: mkntpwd. /* Ynos debera salir:


Usage: mkntpwd [-L lanmgrpwd] [-N ntpasswd]

mkntpwd password

mkntpwd -f [-] [filename]

-L lanmgrpasswd LanManager cleartextpwd <= 14 chars

-N ntpasswd NT cleartextpwd <=128 chars (usually <=14)

with both options present the encrypted LanManager-Pwd is

printed first, followed by a ‘:’ and the encrypted NT-Pwd.

The second usage behaves like mkntpwd -L pwd -N pwd

The third usage reads the password from STDIN or a File. Printoutis the same as second.

anton@genua.de


  1. INSTALACION DE SAMBA


#apt-get install samba samba-doc. /* Yresponderemos a lo siguiente:

Nombre del dominio o grupo de trabajo : wodan.net

Usar Encriptación de Contraseña: Si

Modificar smb.conf para que use la configuración WINS proveniente de DHCP : no

Como ejecutar Samba: demonios.

    1. Configurando y cargando LDAP, slapd necesita el esquema Samba para trabajar. Haremos lo siguiente:

      1. $ cd /usr/share/doc/samba-doc/examples/LDAP

      2. $ gunzip samba.schema.gz

      3. $ cp samba.schema /etc/ldap/schema

      4. /* Ahora agregamos el esquema de Samba al servicio slapd:

        1. nano/pico /etc/ldap/slapd.conf.

        2. /* despues de los otros incluyes, teclear:

          1. include /etc/ldap/schema/samba.schema

      5. Y reinicie slapd:

        1. $ /etc/init.d/slapd restart

      6. CREACION DE CARPETAS PARA SAMBA

        1. #mkdir /home/samba/

        2. #mkdir /home/samba/netlogon

        3. #mkdir /home/samba/profiles

  1. Necesitamos crear unidades organizativas en LDAP para nuestros usuarios, grupos y maquinas.

    1. Ingresar a phpldapadmin, en nuestro navegador, digitamos:

      1. /* https://serverldap.wodan.net/phpldapadmin/

      2. /* https://localhost/phpldapadmin/

      3. Ingrese con la clave del usuario administrador.

        1. Login DN : cn=admin,dc=wodan,dc=net

        2. Passwod : sena2008.

      4. Expandir la raíz del arbol, y hacer clic en “Create New Entry Here”

      5. Seleccionar “Organizational Unit” (ou):

      6. Nombrar la ou como "users” (para manejar las cuentas de los usuarios).

      7. “machines” (para manejar las cuentas de máquinas).

      8. “groups” (para manejar las cuentas de grupos).

  2. CONFIGURACIÓN DE SAMBA

    1. Es el momento de congfigurar Samba. Haremos una copia del archivo original de samba, asi:

      1. cp /etc/samba/smb.conf /etc/samba/smb.conf.bkp

    2. Ahora removeremos el archivo para dejarlo en blanco, asi:

      1. rm /etc/samba/smb.conf

    3. Y lo crearemos nuevamente:

      1. Touch /etc/samba/smb.conf

    4. Y pasaremos a editarlo:

      1. Nano/pico /etc/samba/smb.conf.

      2. /* y debera quedarnos de esta forma:

        1. Archivo_ejemplo_samba.

      3. si se copia el archivo directamente hay que darle permisos de lectura al grupo y a others, asi:

        1. #chmod u-x smb.conf

        2. #chmod g+r smb.conf

        3. #chmod o+r smb.conf

      4. Ejecute “testparm” para cerciorarse que la configuración de Samba no contiene errores.

        1. #testparm

        2. Indique a Samba la contraseña del administrador LDAP, y nos mostara:


Load smb config files from /etc/samba/smb.conf

Processing section “[netlogon]“

Processing section “[homes]“

Processing section “[profiles]“

Loaded services file OK.

Server role: ROLE_DOMAIN_PDC

Press enter to see a dump of your service definitions

/* si nos responde de esta forma entonces todo esta correcto hasta ahora.

      1. Le damos la contraseña de ldap a samba.

        1. #smbpasswd -w sena2008.

      2. Reiniciar Samba:

        1. $/etc/init.d/samba restart

      3. Si observa el phpldapadmin debería ver que una entrada “sambaDomainName=wodan.net”, ha sido creada.

        1. Copie el valor sambaSID (ej. S-1-5-21-2265827217-4098242790-2717616009), se necesitara en la siguiente sección.


  1. CREACIÓN DE GRUPOS DE DOMINIO

    1. Dentro de Phpldapadmin en Contenedor “groups”, elegir “Create New Samba3 Group Mapping” y crear los siguientes grupos:

Group

Windows_Name

GID

Samba_SID

Sambaadmins

Domain

Admins

20000 512

Sambausers

Domain

Users

20001 513

Sambaguests

Domain

Guests

20002 514

Sambamachines

Domain

Computers

20003 515



  1. INTEGRACIÓN DE LA AUTENTIFICACION Y LDAP

    1. INSTALACIÓN NSS LDAP

      1. #apt-get install libnss-ldap
        #dpkg-reconfigure libnss-ldap

Servidor LDAP : 127.0.0.1
Nombre distintivo (DN) : dc=wodan,dc=net
Vercion de LDAP a utilizar : 3
Hace falta un usuario para acceder a la base de datos ldap : No
Dar privilegios especiales de ldap para root : SI
Desea hacer que la configuracion solo pueda leer o escribir el propietario : SI
Cuenta ldap para root : cn=admin,dc=wodan,dc=net
contraseña ldap para root : sena2008

  1. Edite el archivo /etc/nsswitch.conf, asi:

    1. #pico /etc/nsswitch.conf

    2. /* Debe quedar editado de esta forma:

      1. passwd:         compat ldap
			  group:          compat ldap 			  shadow:         compat ldap 	/* Esto buscará primero en la base de datos local (/etc/passwd), 		luego LDAP. Ud. podría hacerlo a la inversa aunque los 			resultados podrían variar.      13.Para confirmar que los grupos han sido correctamente configurados     	use la utilidad getent de la siguiente forma:     		    $ getent group 		/* Debe mostrar: 			sambaadmins:*:20000:

sambausers:*:20001:
sambaguests:*:20002:
sambamachines:*:20003: NOTA : SI NO MUESTRA ESTO ALGO ESTA MAL 14. Instalacion de PAM LDAP # apt-get install libpam-ldap
# dpkg-reconfigure libpam-ldap

Servidor ldap : 127.0.0.1
Nombre distintivo : dc=wodan,dc=net
Vercion de ldap : 3
Make local root Database admin : si
Hace falta un usuario para la base de datos LDAP : no
Ldap account for root : cn=admin,dc=wodan,dc=net
contraseña para la cuenta ldap de root : sena2008
Local crypt to use when changing passwords : md5



NOTA: Samba requiere un usuario Administrador (con un uidNumber de 0) para agregar las máquinas Windows al dominio. No recomiendo tener un usuario root en LDAP ya que puede ser capaz de abrir una sesión en las estaciones de trabajo Linux, para evitar eso agregamos un filtro en /etc/pam_ldap.conf. Si esto no le importa (o quiere tener una única cuenta root en todas las máquinas) ignore este paso.

Agregar la siguiente linea a “/etc/pam-ldap.conf”:

#pico /etc/pam-ldap.conf:

pam_filter !(uidNumber=0)

/* Esto impedirá que un usuario con uidNumber 0 pueda ingresar usando LDAP.



/* Es necesario editar los siguientes archivos para configurar PAM para LDAP:

#pico /etc/pam.d/common-account

# comente la siguiente linea

		#account        required        pam_unix.so 		# y agregue estas dos 		account         sufficient      pam_ldap.so 		account         required        pam_unix.so try_first_pass 



#pico /etc/pam.d/common-auth:

# comente la siguiente linea

		#auth   required        pam_unix.so nullok_secure 		# y agregue estas dos 		auth    sufficient      pam_ldap.so 		auth    required        pam_unix.so nullok_secure 					use_first_pass  	#pico /etc/pam.d/common-password: 		# comente la siguiente linea 		#password   required   pam_unix.so nullok obscure min=4 max=8 			md5 		# y agregue estas dos 		password   sufficient pam_ldap.so 		password   required   pam_unix.so nullok obscure min=4 max=8 			md5 use_first_pass  	#pico /etc/pam.d/common-session 		# para que cuando se registre un usuario en ldap se cree el  		# directorio home respectivo agregar como primera linea 		session    required    pam_mkhomedir.so skel=/etc/skel/ 				umask=0022  	       Ahora reiniciaremos el servicio Samba: 		$ /etc/init.d/ssh restart 		$ /etc/init.d/samba restart  	15. Finalmente instalar el Demonio de caché del servicio de      		 nombres: 		$apt-get install nscd   	16. AGREGAR USUARIOS   		Ahora finalmente podemos agregar algunos usuarios. Necesitará un Administrador (uid=0) y varios usuarios. Creelos bajo “ou=users” de la siguiente manera: USUARIO_1

First_Name

Administrador

Last_Name

Global

Common_Name

Administrador

UID_Number

0

Samba_SID

512

Password

Sena2008

Verify_Password

Sena2008

Home_Directory

/home/administrador

USUARIO_2

First_Name

richar

Last_Name

User

Common_Name

richar

User_ID

richar

UID_Number

10000

Samba_SID

512

Password

Sena.2008

Verify_Password

Sena.2008

Home_Directory

/home/richar

USUARIO_3

First_Name

Daniel

Last_Name

User

Common_Name

Daniel

User_ID

10001

Samba_SID

513

Password

Sena_2008

Verify_Password

Sena_2008

GID_Number

Sambausers

Primary_Group_ID

Sambausers

Home_Directory

/home/daniel



En este punto podemos utilizar getent para verificar que nss está trabajando correctamente en el sistema Linux.

$ getent passwd

		administrador:*:0:20000:administrador:/home/administrador:

richar:*:10000:20000:richar:/home/richar:
daniel:*:10001:20001:daniel:/home/daniel:



Finalmente necesitamos agregar los directorios iniciales para nuestros usuarios:

# mkdir /home/richar
# cp /etc/skel/.* /home/richar/
# chown -R juan /home/richar
# chgrp -R sambaadmins /home/richar



# mkdir /home/daniel

# cp /etc/skel/.* /home/daniel/
# chown -R juan /home/daniel
# chgrp -R sambaadmins /home/daniel

PRUEBAS

Primero intente ingresar (a la consola o via ssh) con el usuario LDAP.

Luego trate de conectarse al servidor Samba. Si tiene problemas examine los registros en /var/log/samba (/var/log/samba/log.nombredemaquina sería un buen lugar para empezar).

lunes, 9 de junio de 2008

PERSONALIZAR SOLARIS

Instalación de pkg-get

Primero que nada vamos a necesitar agregar software a nuestro Solaris que no viene en el DVD de serie. El software para Solaris se puede obtener ya compilado en formato de paquetes.

La herramienta para instalar paquetes en este sistema es pkgadd, que vendría a ser como el dpkg de Debian o el rpm de otras distros de Linux. Pero como usamos Debian y amamos apt-get queremos una solución un poco más cómoda e inteligente. La respuesta es pkg-get, que es el equivalente a apt-get pero para Solaris. pkg-get resuelve las dependencias automáticamente y descarga e instala los paquetes directo desde un repositorio por la red.

Para instalarlo obviamente vamos a necesitar de pkgadd

# pkgadd -d http://www.blastwave.org/pkg_get.pkg

Luego de aceptar todas las preguntas que nos hace pkgadd, tenemos que definir los repositorios desde los cuales vamos a descargar el software.

La opción más recomendable son los repositorios de www.blastwave.org, que contiene mas de 1700 paquetes de software en su mayoría open source. Todo el software de este repositorio se instala bajo /opt/csw. Por lo tanto modificamos el fichero de configuración de pkg-get:

#nano /opt/csw/etc/pkg-get.conf

Usamos nano, no porque nos guste, sino porque el vi que viene por defecto en Solaris es a mi gusto inusable. Luego lo arreglaremos.

Buscamos en www.blastwave.org/mirrors.php un mirror que este cerca o que sea rápido y lo definimos como sigue:

url=http://mirrors.sunsite.dk/csw/stable

Podemos usar la rama stable y la unstable, dependiendo de para qué vayamos a usar el equipo. Solo es necesario agregar una línea más con unstable o stable al final de la url.

Si estamos detrás de un proxy, lo configuramos:

http_proxy=http://proxy.mi.red.com:8080
export http_proxy ftp_proxy

Por último, podemos deshabilitar el chequeo de firmas y sumas md5, si nos sentimos confiados. Aunque nunca nadie sabe…

use_gpg=false
use_md5=false

Instalación de Vi mejorado

Ahora que tenemos pkg-get configuado lo podemos usar para instalar software. Lo primero que hacemos es instalar vi-enhanced, o vim.

# pkg-get install vim

Ahora bien si corremos vim nos daremos cuenta de que funciona igual que el vi que trae por defecto Solaris. Entre otras cosas la tecla backspace no funciona bien y las teclas de dirección (las de las flechas) no nos permiten movernos por el texto sino que imprimen caracteres en la pantalla. Para solucionarlo debemos crear un archivo de configuración para vim en el directorio personal de nuestro usuario. Si el usuario es root, entonces el directorio de usuario es “/” (Sí, “/”, Solaris no pone un “/root” para el superusuario).

# cd
# nano .vimrc

Y en .vimrc ponemos las siguientes líneas que solucionan los problemas anteriores del vim. Además activamos el coloreado de la sintaxis que es muy útil:

set nocp
set backspace=2
syntax on

Y listo, ya podemos usar vim como en Linux.

Cambiar la shell de root

Una de las cosas más molestas de Solaris cuando recién se instala es la shell. Por defecto Solaris no trae una shell moderna como bash sino la típica shell de Bourne o sencillamente “sh”. Esta shell no tiene ni histórico ni autocompletado y es bastante dura de usar.

¿Por qué viene por defecto? La razón es que es un ejecutable pequeño que no está enlazado dinámicamente con ninguna librería. De forma que si el sistema se vuelve inestable y no se puede montar alguna partición donde se alojan las librerías, lo mismo tendríamos una shell para acceder al sistema.

Nosotros vamos a hacer que se cargue bash como shell por defecto de root, siempre y cuando esté disponible, de manera que el sistema seguirá siendo a prueba de fallos. No tendremos que cambiar la shell en /etc/passwd, el valor lo dejaremos como está.

Para hacer el cambio, dentro del directorio del usuario editamos el archivo .profile, que es el archivo que lee la shell sh cuando se ejecuta. Será esta shell la que cargue bash de forma automática. Creamos el archivo con este contenido:

if [ -x /usr/bin/bash ]; then
SHELL=/usr/bin/bash
export SHELL
exec /usr/bin/bash
else
echo /usr/bin/bash not found using default shell of $SHELL
fi

Si salimos de la sesión y volvemos a entrar veremos que bash se carga automáticamente.

Un último detalle un tanto lamentable es que definiendo bash como shell para el entorno, no se puede iniciar el entorno gráfico. Cuando tratamos de ingresar desde el inicio gráfico de Solaris, este ser reinicia y no podemos acceder a Gnome o a CDE. Si definimos Bash para el usuario root, esto no es problema ya que usar el entorno gráfico con root no es buena opción; pero no deja de ser una solución poco elegante. Seguiré investigando para ver como solucionarlo.

Modificación del entorno de bash.

Hay algunas variables de entorno que controlan como funciona bash y que es muy útil definir.

En primer lugar debemos crear los archivos de configuración de bash, que son dos. En primer lugar .bash_profile, con el siguiente contenido:

source ~/.bashrc

Esto hace que se cargue el contenido de .bashrc que es el archivo donde guardamos las configuraciones personales para bash.

De seguro la más importante es el path, o sea los directorios donde la shell buscará los programas que se pueden ejecutar. Por defecto el path de Solaris es el siguiente:

/usr/bin:/usr/sbin:/usr/openwin/bin:/usr/ucb

Que nos sirve si usamos el software oficial de Solaris. Pero como vamos a instalar software de blastware y también software libre que Sun provee que no se encuentra dentro de ese path, entonces tendremos que modificarlo. Ponemos:

export PATH=’/usr/bin:/usr/sbin:/usr/openwin/bin:/usr/ucb:/opt/csw/bin:/usr/sfw/bin’

  • /opt/csw/bin es el directorio donde están los binarios del software que instalamos con pkg-get, desde los repositorios de blastwave.
  • /usr/sfw/bin es el directorio donde se ubican los binarios de software libre provisto por Sun como samba y wget.

ls en colores

El comando ls que provee Solaris no nos permite colorear la salida, así que vamos a solucionarlo de nuevo con una opción libre. Instalamos el paquete fileutils que nos provee un ls con colores.

# pkg-get install fileutils

Fileutils nos instalará el comando gdir que no es otra cosa que el ls que usamos en bash. Modificamos .bashrc para crear un alias de ls a gdir y habilitamos los colores. Agregamos lo siguiente:

export LS_OPTIONS='--color'
eval “`gdircolors`”
alias ls=’gdir $LS_OPTIONS’
alias ll=’gdir $LS_OPTIONS -l’
alias l=’gdir $LS_OPTIONS -lA’

Bash Completion

Aunque bash nos completa de forma muy útil los paths y los nombres de los programas por defecto, hay algunas cosas que no nos completa como por ejemplo los argumentos de ciertos programas. Bash Completion viene a solucionar esto, y es muy útil con comandos como pkg-get o svcadm. Lo instlamos con pkg-get:

# pkg-get install bash-completion

Para que el autocompletado se cargue de forma automática, debemos agregarlo también en .bashrc:

source /opt/csw/etc/bash_completion

Cambio del paginador y alias para vi

Las páginas del manual son paginadas por defecto con more que es bastante molesto de usar. Lo cambiamos por less, modificando lo siguiente en .bashrc:

export PAGER=less

Creamos un alias para vi en .bashrc para que se llame automáticamente a vim:

alias vi='/opt/csw/bin/vim'

Prompt descriptivo y en color

Como último paso vamos a modificar el prompt para que entregue más imformación. Además le vamos a poner color para visualizarlo mejor. Agregamos a .bashrc:

export PS1="\[33[0;32m\][\u@\h:\W]\$\[33[0m\] “

explicamos qué es cada cosa:

  • \[33[0;32m\] Es un carácter no imprimible que cambia el color del terminal a verde, así el prompt adquiere este color.
  • \u Imprime el nombre del usuario logueado
  • \h imprime el nombre de la maquina o hostname
  • \W Imprime el nombre del directorio en el que estamos parado.
  • \$ Si el usuario es root, imprime un “#”, de lo contrario imprime un “$”
  • \[33[0m\] Con esta secuencia volvemos al color original de la shell para que no siga en color verde.

Nuestro prompt quedaría de la siguiente manera:

[root@servidor:etc]#

Esto es todo, ya tenemos un entorno en Solaris bastante más familiar y agradable que nos hace la vida más sencilla.

miércoles, 4 de junio de 2008

QUE ES DEBIAN?

Debian o Proyecto Debian[1] (en inglés Debian Project[2] ) es una comunidad conformada por desarrolladores y usuarios, que pretende crear y mantener un sistema operativo GNU basado en software libre mal precompilado y empaquetado, en un formato sencillo en múltiples arquitecturas de computador y en varios núcleos.
Debian nace como una apuesta por separar en sus versiones el software libre del software no libre. El modelo de desarrollo del proyecto es ajeno a motivos empresariales o comerciales, siendo llevado adelante por los propios usuarios, aunque cuenta con el apoyo de varias empresas en forma de infraestructuras. Debian no vende directamente su software, lo pone a disposición de cualquiera en Internet, aunque sí permite a personas o empresas distribuir comercialmente este software mientras se respete su licencia.
La comunidad de desarrolladores de Debian cuenta con la representación de Software in the Public Interest,[3] una organización sin ánimo de lucro que da cobertura legal a varios proyectos de software libre.
La primera adaptación del sistema Debian, siendo también la más desarrollada, es Debian GNU/Linux, basada en el núcleo Linux, y como siempre utilizando herramientas de GNU. Existen también otras adaptaciones con diversos núcleos: Hurd (Debian GNU/Hurd); NetBSD (Debian GNU/NetBSD) y FreeBSD (Debian GNU/kFreeBSD).
Organización del proyecto
El proyecto Debian es una organización voluntaria con tres documentos fundadores:
El Contrato Social de Debian, define un sistema de base por los cuales el proyecto y sus desarrolladores tratan los asuntos.
Las Directrices de software libre de Debian, definen los criterios del Software libre y dictan qué software es aceptable para la distribución, según lo referido al contrato social. Éstas pautas también se han adoptado como base de la definición del Open Source.
La Constitución de Debian, describe la estructura de la organización para la toma de decisiones de manera formal dentro del proyecto. Enumera el poder y las responsabilidades del Líder de proyecto Debian, de la secretaría, y de los desarrolladores en general.
Actualmente, el proyecto incluye más de mil desarrolladores. Cada uno de ellos posee algún lugar en el proyecto ya sea relacionado con los paquetes: mantenimiento, documentación, control de calidad o relacionado con la infraestructura del proyecto: coordinación de lanzamientos, traducciones de web, etc. Los mantenedores de paquetes tienen un excedente de la jurisdicción los mismos, aunque los paquetes se están mantienendo cada vez más seguido. Otras tareas son generalmente el dominio de grupos reducidos, más que de la colaboración de desarrolladores.
El proyecto mantiene listas de correo. Para las conferencias se envía un representante para la comunicación y la coordinación entre los desarrolladores. Para las ediciones con los paquetes, un sistema que sigue los bugs, informa toda la comunidad que utiliza la distribución, es utilizada por los desarrolladores. Trabajan de manera conjunta desarrolladores y usuarios.
Existen otros medios de comunicación con colaboradores y usuarios, principalmente por medio del IRC, sobre todo en el servidor Freenode. Todos estos medios poseen una gran concurrencia, siendo frecuentados por multitud de usuarios y desarrolladores.
Además, los desarrolladores pueden tomar decisiones generales obligatorias para una resolución o una elección general. Toda votación es realizada por el método Schulze, un método de Condorcet de votación.
Líder del Proyecto Debian
El voto de los desarrolladores elige a un Líder de proyecto Debian una vez al año. Éste posee varias atribuciones especiales, pero estas están lejos de ser una decisión absoluta y se utiliza raramente. Bajo resolución general, los desarrolladores pueden, entre otras cosas, reelegir al líder, invertir una decisión de éste o de sus delegados, o enmendar la constitución y otros documentos fundacionales.
El líder delega a veces autoridad a otros desarrolladores, para que realicen tareas especializadas. Esto significa generalmente que un líder delega a alguien a crear un nuevo grupo de trabajo para realizar nuevas tareas y así conseguir gradualmente un equipo formado que continúe el trabajo y regularmente amplía o reduce sus filas según convenga en cada circunstancia.
Quizás una persona más importante que el líder en el proyecto Debian es el encargado del lanzamiento, que fija las metas para el lanzamiento "estable" siguiente, supervisa el proceso, y toma la decisión final en cuanto a cuándo se va a lanzar.
Una lista de las posiciones importantes en el proyecto Debian está disponible en la página web de la organización de Debian.
Líder
Desde
Hasta
Ian Murdock
agosto de 1993
marzo de 1996
Bruce Perens
abril de 1996
diciembre de 1997
Ian Jackson
enero de 1998
diciembre de 1998
Ben Collins
abril de 2001
abril de 2002
Bdale Garbee
abril de 2002
abril de 2003
Martin Michlmayr
marzo de 2003
abril de 2005
Branden Robinson
abril de 2005
abril de 2006
Anthony Towns
abril de 2006
abril de 2007
Sam Hocevar
abril de 2007
abril de 2008
Steve McIntyre
abril de 2008
actualidad









Modelo de desarrollo
Reclutamiento, motivación y renuncia de los desarrolladores


Usuaria/Colaboradora de Debian
El proyecto Debian goza de un flujo permanente de gente que quiere ser desarrollador. Esta gente debe pasar un elaborado proceso de examen que establece su identidad, motivación, entendimiento de los objetivos del proyecto (agrupados en el Contrato Social de Debian) y competencia técnica.[4]
Los desarrolladores de Debian se unen al proyecto por muchas razones; algunas de ellas son:
· El deseo de contribuir a la comunidad del software libre (prácticamente todos los candidatos utilizan software libre).
· El deseo de ver que algún programa cumpla una tarea determinada (hay quienes ven la comunidad de Debian como un buen campo para testear o probar nuevo software).
· El deseo de que el software libre sea una alternativa válida frente al software no libre.
· El deseo de trabajar cerca de gente con la que se comparten actitudes, intereses y objetivos (hay un gran sentimiento de comunidad dentro del proyecto Debian que algunos candidatos no experimentan en sus trabajos remunerados).
· El simple gozo del proceso iterativo del desarrollo de software y su mantenimiento (algunos desarrolladores tienen un nivel de dedicación casi obsesivo al refinamiento y mejora del software).
Los desarrolladores de Debian pueden renunciar a su posición en cualquier momento dejando libres los paquetes de los que eran responsables y enviando un informe a los desarrolladores y al grupo de mantenedores (para que su autorización de subida sea revocada).
Ramas de desarrollo de Debian
Estable [
Debian estable (o en inglés stable), es la versión estabilizada de Debian. Esta versión cuenta con el apoyo del Equipo de seguridad de Debian y es la recomendada para un uso en producción.
Se pueden instalar a través de la herramienta APT paquetes de binarios (deb) y código fuente, escribiendo las siguientes líneas en el archivo /etc/apt/sources.list:
# Repositorio para la versión estable

deb http://ftp.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.debian.org/debian/ stable main contrib non-free
De pruebas
Debian en pruebas (o en inglés testing), es la versión en pruebas de Debian. En esta versión se encuentran paquetes que han estado previamente en la versión Inestable, pero que contienen muchos menos fallos. Además, deben de poder instalarse en todas las arquitecturas para las cuales fueron construidas. Es la versión más recomendada para ser usarla como sistema de escritorio. De aquí saldrá la futura versión Estable.
# Repositorio para la versión en pruebas

deb http://ftp.debian.org/debian/ testing main
deb-src http://ftp.debian.org/debian/ testing main
Inestable
En Debian inestable, (o en inglés unstable), o en nombre código sid, es donde tiene lugar el desarrollo activo de Debian. Es la distribución que usan los desarrolladores del proyecto.
# Repositorio para la versión inestable

deb http://ftp.debian.org/debian/ unstable main
deb-src http://ftp.debian.org/debian/ unstable main
Congelada
Cuando la versión de pruebas llega a un nivel aceptable de fallos, entonces se "congela", lo que significa que ya no se aceptan más paquetes. A continuación se trabaja para pulir el mayor número de bugs posibles, para así liberar la versión Estable. Ese periodo puede durar un mes o más, dependiendo del registro de errores de software. Cuando éstos son muy pocos, entonces se libera como versión estable, y la que era la anterior estable se archiva.
Experimental
No se trata de una rama de desarrollo de distribución, sino de que es un repositorio de paquetes:
deb http://ftp.debian.org/debian/../project/experimental main
deb-src http://ftp.debian.org/debian/..project/experimental main
Historial de lanzamientos
Debian toma el nombre en clave de sus distintas versiones de los personajes de la película de animación Toy Story, del estudio Pixar. Todos los nombres son asignados cuando se crea una nueva versión de pruebas (Testing), y se conservan cuando ésta pasa a ser estable (Stable). La única excepción a dicha norma es la versión inestable (Unstable), cuyo nombre en clave es Sid de forma fija, en honor al vecino torturador de juguetes de dicha película.
Versión
Nombre en clave
Fecha
1.1
Buzz
17 de junio de 1996
1.2
Rex
12 de diciembre de 1996
1.3
Bo
2 de junio de 1997
2.0
Hamm
24 de julio de 1998
2.1
Slink
9 de marzo de 1999
2.2
Potato
15 de agosto de 2000
3.0
Woody
19 de julio de 2002
3.1
Sarge
6 de junio de 2005
4.0
Etch
8 de abril de 2007
5.0
Lenny
Se espera para finales del 2008









Historia de Debian
El proyecto Debian fue fundado en el año 1993 por Ian Murdock, después de haber estudiado en la Universidad de Purdue. Él escribió el manifiesto de Debian que utilizó como base para la creación de la distribución Linux Debian. Dentro de este texto los puntos destacables son: tener de la distribución de manera abierta, coherente al espíritu de Linux (núcleo) y de GNU.
El nombre del proyecto se basa en la combinación del nombre de su entonces novia (actual esposa) Deborah con su propio nombre Ian, formando el portmanteau Debian, pronunciado como las sílabas correspondientes de estos nombres, en inglés estadounidense: /dɛbˈiːjən/.
El proyecto creció lentamente al principio y lanzó sus primeras versiones 0.9x en 1994 y 1995. Las primeras portabilidades a otras arquitecturas fueron a comienzos de 1995, siendo la primera versión 1.x de Debian lanzada en 1996.
En 1996, Bruce Perens substituyó a Ian Murdock como el líder de proyecto. Por sugerencia del desarrollador Ean Schuessler, dirigió el proceso de actualización del Contrato Social de Debian y de las pautas del software de Debian libremente, definiendo los puntos fundamentales para el desarrollo de la distribución. También inició la creación de la licencia de software legal de la organización.
Bruce Perens se retiró en 1998, antes del lanzamiento del primer glibc-based Debian, 2.0. El proyecto procedió a elegir a nuevos líderes y a hacer dos revisiones de la versión 2.x, cada uno incluyendo más portabilidades a otras arquitecturas y más paquetes. Coveniente fue lanzada durante este período y la primera portabilidad a un núcleo no basado en el núcleo de Linux, así naciendo Debian GNU/Hurd, utilizando el núcleo de Hurd proveniente del proyecto GNU. Las primeras distribuciones Linux basadas en Debian (Corel Linux y la Stormix's Linux de Stormix), fueron comenzadas en 1999. Aunque estuvieron desarrolladas no por mucho tiempo, estas distribuciones eran las primeras de muchas que se basarían en Debian.
A finales de 2000, el proyecto realizó el mayor cambio a la estructura de los archivos y la organización de la versiones, reorganizando procesos de liberación de paquetes del software con el nuevo "package pools" (del inglés piscina de paquetes), y creando un rama de prueba, relativamente estable para el lanzamiento siguiente. En 2001, los desarrolladores comenzaron a llevar a cabo una conferencia anual llamada Debconf con negociaciones y los talleres para los desarrolladores y los usuarios técnicos.
Distribuciones basadas en Debian
En la actualidad, como Debian es una distro que ha probado su estabilidad y utilidad, muchos desarrolladores la han tomado para crear nuevas distribuciones, como es el caso de:
· Knoppix - distribución liveCD con muchos derivados (tales como Morphix, Damn Small Linux, Kanotix, y KnoppMyth).
· Linspire y Freespire - distribuciones diseñadas específicamente para usuarios sin experiencia técnica.
· MEPIS - distribución liveCD para novatos, que se puede también instalar.
· Ubuntu - disponible también como liveCD y en muchas versiones, entre ellas Kubuntu, Xubuntu, Edubuntu, y gNewSense(apoyada por la FSF, Free Software Fundation/Fundación del Software Libre).
· Xandros - un derivado de Corel Linux con asistencia comercial.
· RXART - Desarrollada en Argentina especial para iniciarse, distribución comercial.
· Nexenta OS - un sistema operativo utilizando el núcleo de OpenSolaris con las librerías GNU.(Alpha)
· Sidux Version liveCd de una version testing de debian.
Hasta Enero de 2007 se reportaron 129 distribuciones basadas en Debian; dicha lista puede ser vista en DistroWatch, además Debian posee su sitio una lista oficial de sus distribuciones descendientes.[5]
Comunidades
Existen muchas y variadas comunidades relacionadas al Proyecto Debian. Algunas de ellas, en España,[6] México,[7] Nicaragua,[8] Brasil,[9] Chile,[10] Colombia,[11] Costa Rica,[12] Cuba,[13] El Salvador,[14] Perú,[15] Uruguay,[16] Venezuela,[17] Argentina.[18]
FAQ anarquista
El conocido FAQ, Una FAQ anarquista, ha sido incluido en todas las versiones estables de Debian desde 1999.[19] Se asocia a que la filosofía de intercambio libre, la cooperación voluntaria y la estructura en red son aspectos comunes del software libre y el anarquismo.