Archive

Archive for the ‘General’ Category

Visión general GNU/Linux!

Junio 13th, 2009 admin No comments

Linux nació gracias a la idea de Linus Torvalds de crear un sistema basado en Unix para máquinas i386. En más de una ocasión, Linus Torvalds ha afirmado que si hubiera sabido de la existencia de los sistemas BSD que ya cumplían lo que hacía Linux, no se habría molestado en modificar Minix. La historia de Linux está fuertemente vinculada a la del proyecto GNU. El proyecto GNU, iniciado en 1983, tiene como objetivo el desarrollo de un sistema Unix completo compuesto enteramente de software libre. Hacia 1991, cuando la primera versión del núcleo Linux fue liberada, el proyecto GNU había producido varios de los componentes del sistema operativo, incluyendo un intérprete de comandos, una biblioteca C y un compilador, pero aún no contaba con el núcleo que permitiera completar el sistema operativo.
Entonces, el núcleo creado por Linus Torvalds, quien se encontraba por entonces estudiando en la Universidad de Helsinki, llenó el hueco final que el sistema operativo GNU exigía. Subsecuentemente, miles de programadores voluntarios alrededor del mundo han participado en el proyecto, mejorándolo continuamente. Torvalds y otros desarrolladores de los primeros días de Linux adaptaron los componentes de GNU y de BSD, así como de otros muchos proyectos como Perl, Apache, Python, etc. para trabajar con el núcleo Linux, creando un sistema operativo completamente funcional procedente de muchísimas fuentes diferentes, la mayoría libres.

Categories: General Tags:

¡Bienvenido a Linux.Tronk.Net!

Junio 5th, 2009 admin 1 comment
¿ Qué es Linux o GNU/Linux ?.


gnu-linuxLinux (también conocido como GNU/Linux) es un sistema operativo tipo Unix que se distribuye bajo la Licencia Pública General de GNU (GNU GPL), es decir que es software libre. Su nombre proviene del Núcleo de Linux, desarrollado desde 1991 por Linus Torvalds. Es usado ampliamente en servidores y super-computadores,1 y cuenta con el respaldo de corporaciones como Dell, Hewlett-Packard, IBM, Novell, Oracle, Red Hat y Sun Microsystems. Puede ser instalado en gran variedad de hardware, incluyendo computadores de escritorio y portátiles (PCs x86 y x86-64 así como Macintosh y PowerPC), computadores de bolsillo, teléfonos celulares, dispositivos empotrados, videoconsolas (Xbox, PlayStation 3, PlayStation Portable, Dreamcast, GP2X) y otros (como enrutadores o reproductores de audio digital como el iPod). Las variantes de estos sistemas se denominan “distribuciones” y su objetivo es ofrecer una edición que cumpla con las necesidades de determinado grupo de usuarios. Algunas son gratuitas y otras de pago, algunas insertan software no libre y otras contienen solo software libre. La marca registrada Linux (Número de serie: 1916230.2 ) pertenece a Linus Torvalds y se define como “un sistema operativo para computadoras que facilita su uso y operación”. Existen numerosos grupos de usuarios de Linux en casi todos los países del mundo.

Categories: General Tags:

SERVIDOR DE CORREO EN SUSE 10.1 CON : postfix + cyrus + sasl + tls + spamassassin + amavis + clamav + squirrelmail’, ’servidor-suse-10-1

Octubre 16th, 2008 admin No comments

SERVIDOR DE CORREO EN SUSE 10.1
CON : postfix + cyrus + sasl + tls + spamassassin + amavis + clamav + squirrelmail

He decidido realizar este tutorial ya que las pasé putas a la hora de poder montar un servidor en mi querida distribución SuSE 10.1

Esta es una forma de las muchísimas que hay de poder montar un servidor de correo. Puede ser que no se ajuste a lo que tu estás queriendo montar, pero aún así te servirá de base, y con unos cuantos cambios en su configuración, podrás dejar tu servidor como tu quieres.
Me he inclinado por utilizar un servicio de correo con encriptado seguro ssl, con usuarios virtuales sin tener que tener usuarios dados de alta en el sistema, y seguridad antivirus y de correo basura o spam, junto con el añadido de montar squirrelmail para poder leer nuestro correo desde donde queramos.
Al final de este tutorial pongo las direcciones webs que he consultado, las cuales me han ayudado para poder montar todo esto.

Consideraciones previas. Doy por sentadas algunas cosas.
Primer, empezaré por los paquetes que nos hacen falta tener instalados en nuestor servidor.
Segundo, haré una breve reseña de para qué sirve cada paquete o que es lo que estamos montando. Leelo todo.
Tercero
, aqui empezaré con la modificación de cada uno de los archivos de configuración.
Cuarto, en este apartado veremos que sencillo es crear usuarios virtuales con cyradm, sin necesidad que sean usuarios de sistema.
Quinto, levantando los “demonios” o servicios necesarios, y alguna que otra prueba.
Sexto, aqui configuraremos el programa squirrelmail, y así poder ver nuestros correos desde cualquier parte del mundo.
Septimo, aqui configuraremos el cliente de correo Kmail para bajar nuestro correo de usuario.

EMPEZAMOS.

Consideracones Previas.

* Tener un dominio comprado del tipo “tronk.net” incluido en DNS y con la posibilidad de poder hacer subdominios de segundo nivel del tipo mail.tronk.net, así como poder hacer registros MX que son utilizados sólo para la entrega de correo. Todo ello lo debe de facilitartelo la empresa donde hayas comprado tu dominio. Si no sabes donde comprar te recomiendo cdmon.com , por su seriedad , así como por su interfaz fácil de usar para la configuración de los dominios.
O bien tenemos un noip.com o alguno parecido que sea gratuito.

* El PC tiene LINUX SuSE 10.1 u OpenSuSE.

* El Nombre del host o el nombre de nuestra máquina SuSE pongamos que se llama : superman (cada vez que veas “superman” en cualquier parte de los archivos de configuración, deberás poner el nombre de tu máquina linux)
* El Nombre de dominio se llama : tronk.net (cada vez que veas “tronk.net” deberás poner el nombre de tu dominio)
* El subdominio le llamamos : mail.tronk.net (cada vez que veas mail.tronk.net deberás poner el nombre de tu subdominio)
* La IP de tu máquina linux va a ser : 192.168.1.10 (cada vez que veas 192.168.1.10 deberás cambiarla por tu propia ip).
Recuerda que si estás detrás de un router multipuesto deberás abrir los puertos que hagan falta y dirigirlos a la ip de tu máquina.

1º : Paquetes necesarios

Debemos de tener los siguientes paquetes:

Servidor Apache2 son :
apache2
apache2-doc (opcional)
apache2-mod_php5
apache2-prefork

PHP son :
php5
php5-imap
php5-mbstring
php5-mcrypt
php5-openssl
php5-sockets

Servidor de Correo que son :
amavisd-new
clamav
postfix
spamassassin
perl-spamassassin

cyrus-imapd
cyrus-imapd-devel
cyrus-sasl
cyrus-sasl-crammd5
cyrus-sasl-digestmd5
cyrus-sasl-gssapi
cyrus-sasl-plain
cyrus-sasl-saslauthd
perl-Authen-SASL-Cyrus
perl-Cyrus-IMAP
perl-Cyrus-SIEVE-managesieve

Seguridad:
openssl
openssl-devel
compat-openssl097
tls

Interface web para leer correo:
squirrelmail

No se si me dejo algún paquete en el tintero, pero eres libre de instalar los que creas conveniente.

La manera de instalar todos estos paquetes es sencilla. Abrimos el Centro de Control de Yast -> Software -> Instalar/desinstalar software, y buscamos los paquetes, les señalamos con una [v] y pinchamos en el botón Aceptar.
Si hubera algún paquete que no encuentres deberías buscarlo en :
ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/
e instalarlo primero resolviendo dependencias.
# rpm –test -Uvh *.rpm
y una vez resultas las dependencias.
# rpm -Uvh *.rpm

2º. Breve reseña de lo que estamos montando.

Resúmen de las diferentes tecnologías usadas en la instalación del sistema de correo.

SuSe 10.1 – Linux (kernel-2.6.16.21-0.21-smp)

SuSE y su distribución OpenSuSE son una de las principales distribuciones GNU/Linux existentes a nivel mundial, y su centro de producción está ubicado en Alemania. Entre las principales virtudes de esta distribución se encuentra el que sea una de las más sencillas de instalar y administrar, ya que cuenta con varios asistentes gráficos para completar diversas tareas. Corre con el núcleo linux y la mayor parte de sus herramientas son de libre distribución y uso. En la fecha de escritura de este manual (Septiembre de 2006), el sistema SuSE alcanza ya su 10ª versión. Las configuraciones de este manual se referirán a la configuración bajo esta distribución. Aunque se ha probado la misma bajo otras distribuciones y versiones, es problable que sean necesarios ciertos cambios para que nuestro sistema de correo funcione de forma adecuada fuera de la versión tratada.

Postfix (postfix-2.2.2-2)

Postfix es un MTA (Mail Transport Agent) rápido, fácil de administrar y seguro. Aunque no venga al caso, es totalmente compatible con sendmail, manteniendo externamente las formas de éste.
Postfix es una combinación de diversos programas que realizan su función determinada dentro del conjunto.
Nos podemos hacer una pequeña idea de esto observando la imágen siguiente:

tecnología-correo

postfix – the big picture

Aunque parezca mentira, el resultado es menos complejo de lo que a primera vista puede parecer, pero no nos extenderemos más. Para más información a cerca de postfix, se puede consultar la documentación de su website: http://www.postfix.org/docs.html .

TLS (Transportation Layer Security) y OpenSSL (openssl-0.9.7f-7)

Todos los datos que viajan a través de Internet, lo hacen por defecto sin ningún tipo de encriptación ni autenticación fiable. En la práctica, cualquier persona con los conocimientos adecuados y con acceso físico a la línea de datos a través de la cual viaja un paquete, tendría acceso a dicha información. Por supuesto, si dicho acceso se efectúa, el contenido de los distintos paquetes puede ser alterado o redirigido con cualquier propósito.
Para evitar este tipo de accesos, la compañía Netscape Inc. introdujo el protocolo de seguridad SSL (Secure Sockets Layer), cuya evolución ha terminado en el actual TLS. Este protocolo aporta encriptación de la comunicación (evitando escuchas no deseadas) y una alta fiabilidad en la autenticación que se asegura de tener correctamente identificadas a las distintas partes de una comunicación para que los datos no puedan ser alterados.
El protocolo de seguridad será implantado en nuestro sistema gracias a OpenSSL. Para una mayor información sobre el particular, consultar la página web http://www.openssl.org .

Cyrus IMAP (cyrus-imapd-2.2.12-6)

Cyrus IMAP (Internet Message Access Protocol) es desarrollado y mantenido por Andrew Systems Group, de la Carnegie Mellon University.
A diferencia de otros gestores de correo IMAP, Cyrus almacena cada correo en un fichero independiente. Las ventajas son obvias: mayor fiabilidad de almacenamiento y una rapidez de acceso inusitada. Los índices de cada mensaje y su estado se guardan en una base de datos a parte y los mensajes se indexan para una mayor rapidez en el acceso o la búsqueda.
No es necesaria una cuenta de sistema linux para cada uno de los usuarios de correo. Esto hace que la creación de usuarios se pueda automatizar y no sea demasiado ardua en el caso de una gran cantidad de las mismas.
Como la administración de cada cuenta se realiza mediante comandos específicos, la programación de interfaces dinámicos sirve para tener un mayor control sobre todas las funcionalidades del programa, a la vez que se hace más seguro que la manipulación del /etc/passwd.
La versión de Cyrus analizada en este manual utiliza la versión 2 de la librería SASL para la autenticación. Así, Cyrus realizará la autenticación en tres fases o capas: el demonio saslauthd redirigirá la petición al mecanismo definido (en nuestro caso será auxprop a través del archivo sasldb2), el cual buscará la información del usuario.

Cyrus SASL (cyrus-sasl-2.1.20-5)

SASL son las siglas de Simple Authentication and Security Layer, método que añade un soporte adicional para la autenticación de los protocolos que fundamentan su conexión en la estandarización fijada por la IETF (Internet Engineering Task Force). Se usa en servidores, como Cyrus IMAP, para controlar las peticiones de acceso de los clientes. El protocolo de autenticación incluirá comandos para la correcta apertura del canal cliente-servidor y las subsiguientes aperturas del canal para la toma de nuevos datos. Opcionalmente, puede negociarse una capa de seguridad entre el protocolo mismo y la conexión.
Cyrus SASL utiliza OpenSSL para encriptar los datos.

LMTP (Local Mail Transfer Protocol)

SMTP (Simple Mail Transfer Protocol) y sus extensiones ESMTP (SMTP Service Extensions), proporcionan los mecanismos necesarios para el trasporte de correo fiable y eficaz. El servidor bajo SMTP controlará las colas de envío de correo.
LMTP actúa de forma que el servidor no tenga que manejar colas de correo, a modo de MDA (Mail Delivery Agent). Aunque LMTP puede utilizar extensiones que en un primer momento estarían definidas para su uso por ESMTP, nunca debería funcionar como receptor de escucha sobre el puerto 25.

Sieve

Sieve es un pequeño intérprete de órdenes que se encargan de realizar filtrados de correo en el lado del servidor, a la entrega del correo. El mensaje a filtrar necesita del uso del protocolo RFC822. Es un lenguaje muy sencillo y con órdenes muy limitadas, pero perfecto para su uso como lenguaje encargado de crear filtros de correo. Aún así, es preciso recomendar el uso de algún interface que agilice y automatice el uso de Sieve por parte de usuarios sin acceso al servidor.

Amavisd-New (amavisd-new-2.3.1-1.2)

Amavis supone una pasarela o interface que se coloca entre el servidor y uno o varios filtros de contenidos (antivirus, antispam, filtrado de correo …) . Está escrito en Perl, lo que asegura su portabilidad y fiabilidad y se comunica con el servidor por medio de casi cualquier protocolo o programa al efecto.
Básicamente, amavisd-new actúa como un servidor smtp que cumple el estándar RFC 2821 o uno lmtp que cumple con el estándar RFC 2033. Una vez procesado el mensaje, se generan notificaciones que los programas de antivirus o antispam usarán para analizar los mensajes y filtrarlos o eliminarlos. Las notificaciones se generan bajo las normas RFC 1892 y 1894, lo que supone un estándar para una gran cantidad de programas de filtrado.

SpamAssassin (spamassassin-3.0.4-1)

SpamAssassin es un filtro de correo programado por los creadores de Apache. Analiza en tiempo real el correo entrante y lo compara con listados de spam y trata de analizar el texto para un mejor filtrado del mismo. Una vez realizado el análisis, el mensaje quedará o no marcado como spam para su posterior filtrado o eliminación.
El filtrado de los mensajes de spam es habitualmente muy satisfactorio si el programa se ha configurado correctamente, permitiendo incluso el envío de informes de spam a bases de datos internacionales.

ClamAV (clamav-0.88.1-1)

El antivirus Clam es una herramienta bajo licencia GPL desarrollada para sistemas Linux/Unix. Se adapta perfectamente a casi cualquier servidor de correo y su principal función es la de escanear los datos adjuntos de un correo electrónico. La actualización de la base de datos es constante y la librería en la que se basa el programa es de libre distribución y uso por cualquier programa, lo que permite una integración perfecta bajo cualquier entorno.
El programa soporta firmas digitales en las actualizaciones y escanea ficheros comprimidos y mensajes de correo en casi cualquier formato.

Mailman (mailman-2.1.5-35)

Mailman es un software de gestión de listas de correo y de noticias. Su perfecta integración con la web permite una fácil y rápida administración del sistema, así como un uso muy sencillo de cara al usuario de las listas. Mailman puede crear archivos de correo automáticos, procesar correo rechazado, filtrar spam, enviar conjuntos de correos como uno solo y mucho más.

Squirrelmail (squirrelmail-1.4.6-0)

Squirrelmail es un lector de correo vía web escrito en php. Mediante esta tecnología de programación, proporciona acceso al servidor de correo mediante los protocolos IMAP y SMTP. Las páginas son creadas en HTML sobre la marcha y no se requiere el uso de javascript , lo cual garantiza la máxima compatibilidad en casi cualquier navegador. Gracias a la gran cantidad de add-ons disponibles, este lector de correo vía web se convierte en la herramienta perfecta de acceso a la cuenta de correo fuera del lugar habitual de trabajo.

3º. Configuración y/o modificación de cada uno de los archivos.

Ya tenemos instalados todos los paquetes que comentaba anteriormente. Ahora es el momento de ponerlo todo en regla.

  1. Hacemos nuestro propio certificado ssl, autofirmado por nosotros: (pincha aquí)
  2. Configuramos el archivo /etc/postfix/main.cf , luego le comentamos: (pincha aquí)
  3. Modificamos el archivo /etc/postfix/master.cf , luego le comentamos : (pincha aquí)
  4. Damos los toques necesarios a /etc/cyrus.conf , luego viene la teoría : (pincha aquí)
  5. Cambiamos lo necesario en /etc/imapd.conf , luego sabremos más : (pincha aquí)
  6. Modificamos el archivo /usr/lib/sasl2/smtpd.conf , luego vemos que es cada línea : (pincha aquí)
  7. Ahora hacemos los cambios en /etc/amavisd.conf , son pocos (pincha aquí)

Configuramos el archivo /etc/postfix/main.cf

4º. Creando cuentas para los usuarios virtuales en sasl y directorios de correo con cyradm.

4.1. Creando cuentas de usuario y asignación de password

Antes de empezar debemos de parar el demonio saslautd, ya que se va a utiliar únicamente el módulo sasldb, y, para utilizar éste, no es necesario ejecutar el demonio de autentificación, tecleamos:
superman:~ # /etc/init.d/saslauthd stop

La base de datos residirá en el fichero /etc/sasldb2 y tendrá los permisos:
superman:~ # ls -l /etc/sasldb2
-rw-r—– 3 cyrus mail 12288 2006-09-22 22:47 /etc/sasldb2

Por lo que todos los usuarios que quieran acceder a ella, y que no sea a través del demonio saslauthd, deben pertenecer al grupo mail.
Para añadir/eliminar los usuarios a la base de datos se utilizará el programa saslpasswd2.
- El primer usuario deber ser el propio cyrus, con lo cual tecleamos:
superman:~ # saslpasswd2 -f /etc/sasldb2 -c cyrus
Password:
Again (for verification):
- Creamos otro usuario llamado prueba
superman:~ # saslpasswd2 -f /etc/sasldb2 -c prueba
Password:
Again (for verification):
- Vemos los usuarios con contraseña en sasldb2
superman:~ # sasldblistusers2 /etc/sasldb2
cyrus@superman: userPassword
prueba@superman: userPassword
- Eliminamos el usuario prueba
superman:~ # saslpasswd2 -f /etc/sasldb2 -d prueba
- Comprobamos la eliminación
superman:~ # sasldblistusers2 /etc/sasldb2
cyrus@superman: userPassword.
- Cremos dos usuarios más como ejemplo, el usuario llamado info
superman:~ # saslpasswd2 -f /etc/sasldb2 -c info
Password:
Again (for verification):
- Creamos el otro usuario llamado webmaster
superman:~ # saslpasswd2 -f /etc/sasldb2 -c webmaster
Password:
Again (for verification):

Otro uso de saslpasswd2 es el de asociar usuarios a dominios mediante la utilización de la opción -u:
superman:~ # saslpasswd2 −c usuario01 −u dominio_tal.net

4.2. Administrando los buzones de correo de los usuarios, creación de sus directorios.

Una vez creados los usuarios en el paso 4.1 anterior, ahora creamos sus buzones de correo o directorios donde van a ir a parar todos sus correos.

La línea a teclear sería:
superman:~ # cyradm –user cyrus localhost
Password: (aquí ponemos la password de cyrus)

Nos aparece el prompt de esta manera localhost> (está esperando cyradm que tecleemos algo. Vamos a teclear help, para ver las opciones que nos brinda).

localhost> help
authenticate, login, auth authenticate to server
chdir, cd change current directory
createmailbox, create, cm create mailbox
deleteaclmailbox, deleteacl, dam remove ACLs from mailbox
deletemailbox, delete, dm delete mailbox
disconnect, disc disconnect from current server
exit, quit exit cyradm
help, ? show commands
info display mailbox/server metadata
listacl, lam, listaclmailbox list ACLs on mailbox
listmailbox, lm list mailboxes
listquota, lq list quotas on specified root
listquotaroot, lqr, lqm show quota roots and quotas for mailbox
mboxcfg, mboxconfig configure mailbox
reconstruct reconstruct mailbox (if supported)
renamemailbox, rename, renm rename (and optionally relocate) mailbox
server, servername, connect show current server or connect to server
setaclmailbox, sam, setacl set ACLs on mailbox
setinfo set server metadata
setquota, sq set quota on mailbox or resource
version, ver display version info of current server
xfermailbox, xfer transfer (relocate) a mailbox to a different server
localhost>_
Listada la ayuda nos vuelve a aparecer localhost> (estando a la espera de un nuevo comando)

Creamos los buzones de correo a los dos usuarios creados anteriormente: son info y webmaster.
Todos los buzones de usuario estarán bajo el directorio user. Por lo que para crear el buzón del usuario “info” sería:
localhost> cm user.info
- Vemos si se ha creado con éxito:
localhost>lm
user.info (\\HasNoChildren)
- Creamos al usuario info otro directorio llamado “personales”:
localhost>lm user.info.personales
localhost>lm
user.info (\\HasChildren)
user.info.personales (\\HasNoChildren)
- Ahora creamos el usuario “webmaster” de la misma manera:
localhost> cm user.webmaster
localhost>lm
user.info (\\HasChildren)
user.info.personales (\\HasNoChildren)
user.webmaster (\\HasChildren)

En el caso de tener la opción de configuración altnamespace: yes, el usuario vería en su programa cliente de correo el directorio `INBOX” y el directorio “personales” al mismo nivel.

- Para borrar un usuario cambiamos los permisos al usuario en cuestión (porque si no resulta imposible borrar el mailbox, incluso para el admin que en nuestro caso es cyrus)
localhost> sam user.info cyrus all
- Luego le borramos con :
localhost> dm user.info
De esta manera el usuario info no existiría ya, quedándonos únicamente para poder recibir el correo el usuario webmaster.
Repetir lo anteriormente dicho para dar de alta usuarios, o borrarlos.

- Para crear cuotas a los usuarios seria así:
localhost> setquota user.webmaster 50000 (donde 50000 serian 50 megas, el límite máximo de espacio de correo para el usuario webmaster)

- Una vez que hemos creado nuestros buzones a nuestro gusto salimos:
localhost> exit

Todos los buzones creados para los usuarios los tenemos en : /var/spool/imap/user/

5º. Levantando los “demonios” o servicios necesarios

Ahora tenemos que poner en marcha o re-arrancar todos los servicios que harán que todo esto funcione, empezamos :

superman:~ # /etc/init.d/postfix restart
superman:~ # /etc/init.d/cyrus restart
superman:~ # /usr/sbin/amavisd reload
superman:~ # /usr/sbin/clamd restart
superman:~ # /etc/init.d/freshclam restart
superman:~ # /usr/sbin/spamd restart

Ahora haremos alguna que otra prueba para ver si todo va bien :

(esto está por hacer)

6º. Configuración de squirrelmail

Como ya dije en la sección de paquetes a instalar, ya deberíamos tener instalado squirrelmail en la siguiente dirección :
/srv/www/htdocs/squirrelmail
desde donde cuelgan todos los archivos necesarios de este gran visualizador de correos para imap.

Tenemos que cambiar algunas cosas en config.php en la dirección /srv/www/htdocs/squirrelmail/config/config.php

Los cambios más significativos son los siguientes:
$org_name = “Tronk.Net … Tu Correo Web”; (Nombre que apararece al entrar en la web de squirrelmail)
$org_logo = SM_PATH . ”images/sm_logo.png”; (imagen o logo que apararece al iniciar web de squirrelmail)
$motd = “Que tengas un buen día … “; (mensaje que aparece al entrar en el correo de usuario)
$squirrelmail_default_language = ”es_ES”; (lenguage que utiliza por defecto)
$default_charset = ”iso-8859-1”;
$domain = ”tronk.net”;
$imapServerAddress = ”localhost”;
$imapPort = 143;
$useSendmail = false;
$smtpServerAddress = ”localhost”;
$smtpPort = 25;
$sendmail_path = ”/usr/sbin/sendmail”;
$pop_before_smtp = false;
$imap_server_type = ”cyrus”; (SUPERIMPORTANTE, aquí debemos poner cyrus que es nuestro servidor imap)
$invert_time = false;
$optional_delimiter = ”.”; (ojo que hay un punto entre las comillas simples)
$encode_header_key = ””;

$default_folder_prefix = ”MAIL.”;
$trash_folder = ”Papelera”;
$sent_folder = ”Sent”;
$draft_folder = ”Drafts”;
$default_move_to_trash = true;
$default_move_to_sent = true;
$default_save_as_draft = true;
$show_prefix_option = false;
$list_special_folders_first = true;
$use_special_folder_color = true;
$auto_expunge = true;
$default_sub_of_inbox = false;
$show_contain_subfolders_option = false;
$default_unseen_notify = 2;
$default_unseen_type = 1;
$auto_create_special = true;
$delete_folder = true;
$noselect_fix_enable = false;

$data_dir = SM_PATH . ”data/”;
$attachment_dir = ”/var/lib/squirrelmail/attach/”;
$dir_hash_level = 0;
$default_left_size = ”150”;

Las demás opciones las puedes dejar tal y como vienen. Guardas las modificaciones y cierras el config.php

6.1. Cambios en APACHE2
Bien, ya queda menos para poder ver nuestro squirrelmail funcionando con servidor seguro ssl, pero ahora debemos cambiar algúno de los archivos de configuración de apache2, vamos a ello.

En /etc/apache2 es donde tenemos todos los archivos de configuración de nuestro servidor web apache2

Vamos a /etc/apache2/sysconfig.d/loadmodule.conf , y miramos si tenemos, entre otras estas dos líneas :

LoadModule ssl_module /usr/lib/apache2-prefork/mod_ssl.so
LoadModule php5_module /usr/lib/apache2/mod_php5.so
LoadModule rewrite_module /usr/lib/apache2-prefork/mod_rewrite.so

Si las tenemos, perfecto; si no las tenemos las debemos de añadir.

Vamos y editamos el archivo /etc/apache2/listen.conf , y añadimos o descomentamos:

Listen 80
Listen 443
NameVirtualHost 192.168.1.10:80

Guardamos los cambios y cerramos listen.conf

Vamos a /etc/apache2/vhosts.d
Copiamos vhost.template y le llamamos vhost.conf
Copiamos vhost-ssl.template y le llamamos vhost-ssl.conf

Editamos /etc/apache2/vhosts.d/vhost.conf y añadiros un VirtualHost así:

Después de :

#
# VirtualHost template:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
Añadir esto :

<VirtualHost 192.168.1.10:80>
DocumentRoot /srv/www/htdocs/squirrelmail
ServerName mail.tronk.net
ServerAdmin webmaster@tronk.net
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}%{REQUEST_URI} [R]
</VirtualHost>

Guardamos los cambios y cerramos.

Editamos /etc/apache2/vhosts.d/vhost-ssl.conf

y modificamos la línea <VirtualHost _default_:443> y siguientes por estas :

<VirtualHost 192.168.1.10:443>

# General setup for the virtual host
DocumentRoot “/srv/www/htdocs/squirrelmail”
ServerName mail.tronk.net:443
ServerAdmin webmaster@tronk.net
ErrorLog /var/log/apache2/error_log
TransferLog /var/log/apache2/access_log

Buscamos la línea que dice : SSLCertificateFile , y cambiamos por:
SSLCertificateFile /etc/apache2/ssl.crt/server.crt

Buscamos la línea que dice : SSLCertificateKeyFile , y la cambiamos por:
SSLCertificateKeyFile /etc/apache2/ssl.key/server.key

Estas dos líneas son para poner nuestro cretificado ssl autofirmado por nosotros mismos ya creado anteriormente. Lo demás lo dejamos como está. Guardamos estos cambios y cerramos vhost-ssl.conf.

Vamos a /etc/sysconfig/apache2 y buscamos la línea que empieza por APACHE_MODULES

APACHE_MODULES=”authz_host actions alias auth_basic authz_groupfile authn_file authz_user autoindex cgi dir include log_config mime negotiation setenvif status userdir asis imagemap rewrite ssl php5 authz_default”

Y verificamos si los tres módulos cargados anteriormente están tambien incluidos en esa línea. (les pongo en negrita), si no están debes de añadirles a esa línea. Nota: no tienes porqué tener todos y cada uno de esos módulos de apache cargados, seguro que te falta alguno, pero lo pongo a modo orientativo.
Guardamos los cambios y cerramos el archivo /etc/sysconfig/apache2

Yo creo que no me dejo nada, pero si álguien viera que me fatal algo, o tengo algún error, por favor que lo diga así modificaré el tutorial. Entre todos podemos hacer grandes cosas :) = ¿ok?.

Por fin, levantamos el servicio de apache2:

superman:~ # /usr/sbin/apache2ctl start

Nos vamos a un browser web como es Firefox o en el propio Konqueror y ponemos mail.tronk.net (ojo si la tuya es mail.antonioflores.com pues debes poner tu dominio). Visualizaremos un mensaje que nos dice que el certificado ha fallado. Eso es normal ya que le hemos autofirmado nosostros mismos, y no una empresa de certificación como VerySing “que cuesta una pasta por cierto”. Aceptamos el certificado sin problemas y tendremos en pantalla la bienvenida logotipo y preparado para introducir login y password para entrar a nuestro correo mediante squirrelmail.
El login será alguno de los usuarios creados con cyradm, por ejemplo : webmaster
El password será el asignado en sasldb2 que le hayamos asignado : ************

Si te fijas en la dirección web o url pondrá: https://mail.tronk.net , HTTPS , eso es porque estamos en una comunicación segura.

Y ¡¡¡¡¡ POR FIN !!!! veremos los correos enviados a nuestro usuario webmaster.

La configuración interna de usuario mediante squirrelmail es una tontería, no tiene nada del otro mundo, se la dejo al lector. Pero si álguien cree necesario que ponga alguna cosa en concreto, no tiene más que pedirlo ;) . Mi portal se llama Tronk.net … Tu portal UTIL, y digo útil en mayúsculas.

7. Configuración del cliente de correo Kmail

Aquí voy a poner lo que debemos poner en nuestro Cliente de Correo Kmail para la configuración de las cuentas de usuario de correo creadas que queramos.
Presiona las Teclas ALT+F2 y teclea Kmail. Se abrirá el cliente de correo del entorno KDE. La configuración será más o menos parecida en cualquier cliente de correo que tengamos, yo voy a utilizar Kmail.

Estando dentro de Kmail, vamos a Preferencias -> Configurar Kmail , y pinchamos en -Cuentas-
Hay dos pestañas llamadas Recibiendo y Enviando
Pinchamos en Recibiendo. y pinchamos en Añadir, donde se nos abre una ventana con el tipo de cuenta: Elejimos bien POP3 o bien IMAP, es indiferente ya que nuestro servidor CYRUS acepta esos dos protocolos. Pero para el ejemplo elejimos IMAP y pincamos en el botón Aceptar.
Aquí se nos abre otra ventana con tres pestañas arriba que son : General (por defecto) , Seguridad y Filtrado

Por defecto estaremos en General:
- Nombre de la cuenta : webmaster (introducimos el nombre del usuario)
- Usuario: webmaster (de nuevo metemos el nombre del usuario a configurar)
- Contraseña : ******* (la que le dimos al crearle con sasl)
- Servidor : superman.tronk.net (es el pc donde trabaja nuestro servidor de correo)
- Puerto : 143 (puerto de imap por defecto)

Puesto esto , pinchamos en el botón Aceptar y ya tendríamos configurada la entrada de correo mediante IMAP para ese usuario.

Vamos ahora a configurar el correo saliente SMTP. Para ello pinchamos en la pestaña llamada -Enviado- y pinchamos en el botón Añadir.
Hay dos pestañas General (por defecto) y Seguridad.

Por defecto está abierta las opciones de la opción -General- con estas opciones:
Nombre: webmaster (teclemaos el nombre del usuario)
Servidor: superman.tronk.net (aqui tecleamos el nombre de nuestro servidor)
Puerto: 25 (puerto por defecto del smtp)
Precomando : (aquí no ponemos nada)
Seleccionamos la opción [x] El servidor necesita autenticación
Usuario : webmaster (el nombre de nuestro usuario]
Contraseña : ********* (la contraseña de ese usuario)
Seleccionamos la opción [x] Almacenar la contraseña SMTP.

Pinchamos en el botón Aceptar, y luego en el botón Aplicar y luego en el botón Aceptar.

Con esto hemos creado en Kmail el usuario webmaster para que pueda recibir y enviar correo medainte el cliente Kmail. Veremos en la parte izquierda el nombre de usuario y un icono llamado entrante, pues bien le damos doble clic y nos bajará todos los correos obtenidos de ese usuario.

Espero que os sirva este tutorial para que podais montar vuestro propio servidor de correo. SALUDOS.
——————————————————————————————————————————————————
Este tutorial está escrito por TRONK.NET
Se admite la copia total o parcial de este documentos, siempre que se respete su autoría o se haga referencia mediante un link a http://portal.tronk.net
——————————————————————————————————————————————————-

WEBS CONSULTADAS
——————————————————————————————————————————————————–

Aquí pongo los links a las páginas web que he consultado, las cuales me han servido de gran ayuda a la hora de redactar este tutorial.
http://libertonia.escomposlinux.org/story/2003/11/9/153832/272 -Postfix+Cyrus Imap+sasl+tls para debian sarge- Por emeteo.
http://bulma.net/body.phtml?nIdNoticia=1977 -Filtrando correo en postfix (antivirus y spam)- Por Fernando J. Pereda.
http://www.oreilly.com/catalog/mimap/chapter/ch09.html -Cyrus System Administration- Oreilly.
———————————————————————————————————————————————————

Categories: General Tags:

GNOME (GNU Network Object Model Environment)

Octubre 16th, 2008 admin No comments

El entorno Gnome

Gnome es un acrónimo de ”GNU Network Object Model Environment”, entorno de trabajo en red orientado a objetos, por lo que Gnome forma parte del más amplio proyecto GNU. Gnome es un entorno gráfico (escritorio de trabajo) amigable que permite a los usuarios usar y configurar sus ordenadores de una forma sencilla. Gnome incluye un panel (para arrancar aplicaciones y presentar el estado de funcionamiento), un escritorio ( donde se pueden situar los datos y las aplicaciones), un conjunto estándar de aplicaciones y herramientas de escritorio, y un conjunto de convenciones que facilitan la operación y consistencia de las aplicaciones entre sí.

Entorno escritorio GNOME

Figura 15. Aspecto que ofrece Gnome

Los usuarios de otros sistemas operativos y entornos se sentirán como en casa cuando usen el potente entorno gráfico que proporciona Gnome. Gnome es en su totalidad código abierto (software libre), con el código fuente disponible libremente y desarrollado por cientos de programadores en todo el mundo.
Gnome tiene una serie de ventajas para los usuarios. EL mismo facilita el uso y la configuración de aplicaciones sin usar interfaces puramente textuales (console). Es altamente configurable, permitiéndole ajustar su escritorio con el aspecto que desee.

El gestor de sesiones de Gnome recuerda la configuración previa, de manera que una vez que haya configurado las cosas a su gusto, las mantendrá así. Soporta muchos idiomas, y puede añadir más sin cambiar el software. Soporta incluso varios protocolos de arrastrar y soltar para una máxima interoperabilidad con aplicaciones que no sean compatibles con Gnome.

Gnome tiene también una serie de ventajas para los programadores que indirectamente benefician también a los usuarios. Los programadores no necesitan comprar una cara licencia de software para hacer compatibles sus aplicaciones comerciales. De hecho, Gnome es independiente de cualquier compañía – ningún componente del interfaz esta controlado únicamente por una compañía o tiene restringidas la modificación o redistribución. Las aplicaciones Gnome pueden desarrollarse en una gran variedad de lenguajes de programación, por lo que el programador no se ve limitado a un solo lenguaje de programación. Gnome usa la arquitectura universal de agentes de petición de objetos (CORBA) para permitir que los componentes software interactúen ‘’sin costuras”, independientemente del lenguaje en el que estén implementados, o incluso de la máquina en la que se estén ejecutando. Finalmente, Gnome funciona en numerosos sistemas operativos de tipo Un*x, incluido GNU/Linux. El gestor de ventanas es la parte del software que controla las ventanas en el ”Entorno de ventanas X”. La posición, bordes, y estilo de cualquier ventana la maneja el gestor de ventanas. Esto es muy distinto en muchos otros sistemas operativos, y la forma en que Gnome dialoga con los gestores de ventanas es diferente de la de otros entornos de escritorio. Como se indicó anteriormente en esta guía, Gnome no depende de ningún gestor de ventanas. Esto significa que la mayor parte de su entorno de escritorio no cambiará si decide cambiar de gestor de ventanas. Gnome trabaja con el gestor de ventanas para proporcionarle el entorno de trabajo más amigable posible. Gnome no se preocupa de la colocación de las ventanas, sino que obtiene información sobre su posición del gestor de ventanas. El paginador («Pager») sólo funcionará con gestores de ventanas compatibles con Gnome, al igual que arrastrar y soltar en el escritorio.

Si quiere saber más sobre el proyecto Gnome puede visitar la página web del mismo en http://www.gnome.org

ENLACES.

Sitio oficial de GNOME (GNU Network Object Model Environment) (EN)

Gnome Hispano (castellano)


Categories: General Tags:

Virtualización bajo Linux, análisis

Agosto 6th, 2008 admin No comments

Virtualización bajo Linux, análisis

 

En la página TechThrob.com han hecho una análisis de las cuatro principales opciones a la hora de virtualizar un sistema operativo bajo linux. Dicha acción significa arrancar un sistema operativo como si de un programa se tratara.

El análisis compete a cuatro programas que permiten la virtualización, tres de ellos gratuitos y uno de pago. Los programas en cuestión son Parallels (de pago), VMWare (gratuito para uso personal), VirtualBox y Qemu.

Las fases del análisis se dividen en la facilidad de instalación, aspecto visual y configuración del programa concluyendo con el rendimiento de la virtualización (para ello hace una instalación de Windows 2000 y prueba programas dentro).

VMWare y VirtualBox son los que mayor rendimiento han conseguido, teniendo la instalación de Windows 2000 lista en 15 minutos. Parallels consiguió hacerlo en 27 minutos y Qemu en 25 minutos. Según la experiencia dentro del sistema operativo, VirtualBox consigue el mejor comportamiento, VMWare tenía algún problema de parpadeo en ventanas y transparencias en general. Por otro lado Parallels parece correr bien el sistema y Qemu consume bastante CPU en modo idle.

La recomendación por su parte y por la nuestra es usar VirtualBox, aparte de porque dispone de una versión Open Source y otra gratuita para uso personal, por el rendimiento y porque es multiplataforma lo que permite que lleves tu máquina virtual al equipo que quieras sin ningún tipo de problema.

vINQulos:
TechThrob

 

Categories: General Tags:

Ejecuta tus programas windows en Linux con WINE (Emulador Windows)

Junio 6th, 2008 admin No comments

Ejecuta tus programas windows en Linux con WINE (Emulador Windows)

 

Wine permite ejecutar aplicaciones windows, en sistemas linux, a través de una serie de librerias, funciones , API’’s y programas desarrollados desde cero. Es decir, que no necesitas tener instalado ese inestable, inseguro, problemático y caro sistema operativo …

Hay mucha gente opina que es un tonteria usar el WINE; puesto que lo que hay que hacer es desarrollar aplicaciones nativas para linux y dejarse de emuladores, la respuesta es contundente: El primer paso es la posibilidad de que se ejecuten las aplicaciones, luego cuando se popularicen (y crezca la demanda), ya se encargan los propios fabricantes de realizar la versión nativa del software. Es lo que ha pasado con la suite Hancom Office, Magic, etc…

Características de WINE:

Soporte para la ejecución de programas DOS, Win 3.x y Win9x/NT/Win2000. (la mayoría de los controles Win32 están soportados).
Uso opcional de DLL externas a Wine (p.e. las DLL originales del Windows).
Gráficos a traves del X11 (lo que posibilitat la ejecución remota a través de servidores X), consola en modo texto.
Bastante avanzado soporte del DirectX para juegos.
Muy buen soporte del sonido y de dispositivos de entrada.
Impresión: soporte de drivers nativos Win16 y soporte interno PostScript.
Modems y dispositivos serie soportados.
Winsock TCP/IP.
Interfaz ASPI (SCSI): soporte de escanners, grabadoras de CD’’s , …
Unicode, soporte de idiomas
Depurador y registro configurable de mensajes
Desktop-in-a-box or mixable windows

Voy a explicar brevemente como realizar una instalación y configuración desde cero del Wine al mismo tiempo que os muestro un ejemplo práctico de su uso: la ejecución del programa de envío de mensajes cortos a móviles winsms de Azrael. (en espera de la versión nativa en Kylix del mismo ;-)

Lo primero que tenemos que hacer es bajarnos la última versión del wine, podemos bajarnos el codigo fuente, o un paquete binario según nuestra distribución, yo voy a explicar el proceso en el caso de que optemos por la instalación a partir del código fuente.

Para hacerlo, primeramente nos pasaremos por Wine Development HQ: http://www.winehq.com/, desde nos llevará a la dirección donde descargar la última versión liberada, por ejemplo, http://www.ibiblio.org/pub/Linux/ALPHA/wine/development/Wine-20020122.tar.gz

Una vez descomprimido de la forma usual:

tar zxvf Wine-20020122.tar.gz

Nos creará un directorio, con el código fuente, listo para ser compilado, aunque antes tendremos que ejecutar el script configure
$ cd wine-20020122
$ ./configure

Puede ocurrir, como en este caso que nos falte alguna libreria, como en este ejemplo:
*** Note: You have cups runtime libraries, but no development
*** libraries. Install the cups-devel package or whichever package
*** contains cups.h to enable CUPS support in WINE.

*** Note: Your system appears to have the FreeType 2 runtime libraries
*** installed, but ”freetype-config” is not in your PATH. Install the
*** freetype-devel package (or its equivalent on your distribution) to
*** enable Wine to use TrueType fonts.

En este caso no está informado que como no tenemos instaladas las librerias de desarrollo del CUPS ni del paquete freetype-devel, no tendremos soporte para ambas en Wine, aunque eso no impedirá la correcta compilación del mismo.
Si todo ha ido bien, ahora si que podemos empezar a compilar:

$ make depend && make

Ahora como root, tendremos que realizar la instalación de nuestro recien compilado Wine:
# make install

Una vez instalado, el siguiente paso es la configuración del Wine, esta se basa en un fichero de texto, que se encuentra el directorio home del usuario, dentro de .wine. Lo mejor es copiar el que viene de ejemplo y luego modificarlo para adaptarlo a nuestro sistema.

$ mkdir ~/.wine/
cp documentation/samples/config ~/.wine/config

Aquí os dejo los cambios que he realizado a ~/.wine/config para adaptarlo a mis necesidades:

[Drive A]
“Path” = “/floppy” <—
“Type” = “floppy”
“Label” = “Floppy”
“Serial” = “87654321″
“Device” = “/dev/fd0″

[Drive C]
“Path” = “/wine/c” <—-
“Type” = “hd”
“Label” = “MS-DOS”
“Filesystem” = “win95″

Lo que indica que la disquetera está en el directorio /floppy, tal y como se puede comprobar con:
$ grep fd0 /etc/fstab
/dev/fd0 /floppy auto noauto,user 0 0

En cambio para la unidad principal de Wine, la típica unidad c: del winbugs, he creado el directorio /wine/c. Una vez en ejecución, este directorio y todo lo que tengamos en él, se comportara como si fuera realmente la unidad c:.
De forma que cuando en el fichero ~/.wine/config tenemos algo como:
[wine]
“Windows” = “c:windows”
“System” = “c:windowssystem”

Realmente en mi máquina y con esta configuración se encuentra en /wine/c/windows/ y /wine/c/windows/system/.

Por lo tanto necesitaremos crear cierta estructura en nuestro directorio /wine/c:

cd /wine/c
mkdir -p windows/system
mkdir -p windows/Start Menu/Programs

El campo “Type”, puede tomar los siguientes valores: hd (disco duro o un directorio), cdrom (CD-ROM), floppy (disquetera) y network (Red).

Una vez correctamente configurado, le siguiente paso será crear el tristemente famoso registro de winbugs, ejecutando:

programs/regapi/regapi setValue < winedefault.reg

Si no tenemos el programa regapi, lo que tendremos que hacer es compilarlo de la siguiente forma:
$ cd programs/regapi
$ make
$ l regapi
$ regapi -> ../../wine
$ cd ../../
$ programs/regapi/regapi setValue < winedefault.reg

Esto lo que hace es crear el necesario registro directorio .wine del usuario en cuestión, tal y como podemos ver:
$ l ~/.wine/system.reg
-rw-r–r– 1 carlos users 16048 ene 26 16:15
/home/carlos/.wine/system.reg

Para verificar que todo funciona y esta correctamente configurado, podemos copiar el binario de la calculadora de windows y ver si realmente funciona o no:

$ cp /mnt/dos/windows/calc.exe /wine/c/windows/
$ wine calc
o
$ wine “c:windowscalc.exe”

Por último, vamos a utilizar el Wine para ejecutar el excelente programa de envío de mensajes SMS a móviles desarrollado por Azrael; http://www.winsms.org en nuestro querido Linuz. Lo primero será bajarnos el winsms de la página web, por ejemplo del mirror gentileza de NetVicious: http://webs.ono.com/NetVicious/ayudasms.zip.

Ahora lo descomprimimos y lo copiamos, por ejemplo a /wine/c/windows (que esta incluido en el Path, de forma que podemos ejecutarlo simplemente tecleando wine azrasms.exe

$ unzip ayudasms.zip
$ cp azrasms.exe /wine/c/azrasms.exe
$ wine azrasms.exe

Agradecer a Azrael, a NetVicious y todos los que han colaborado en este gran programa, que ahora también podemos disfrutar los usuarios de Linux gracias al proyecto WINE. :-)
Azrael, ¿como vas con el Kylix? ;-)

Enlaces relacionados:

WINE: The Open Source Way to Run Windows Application. http://www.unixreview.com/documents/s=1781/urm0112j/0112j.htm
Can WINE Ferment Move to Linux? (artículo en Wired): http://www.wired.com/news/business/0,1367,49719,00.html
WinEnLinux by hackman: http://members.tripod.com/~rebeli0n/tec/winenlinux.txt
Wine User Guide en formato pdf: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/development/wine-doc.pdf.gz
WineX. Soporte del DirectX en Wine: http://www.transgaming.com/
CodeWeavers: http://www.codeweavers.com/
WinSMS de Azrael: http://www.winsms.org/

 

Categories: General Tags:

Cuotas de Disco en Linux

Febrero 23rd, 2008 admin No comments

Cuotas de Disco en Linux

Para comenzar, debemos tener una partición a la que queremos asignar cuotas, es este mini how-to usare de ejemplo la partición de mi sistema /mnt/Server (/dev/hde1).
Primero añadimos al “fstab” (/etc/fstab) los valores “usrquota” y “grpquota” de modo que:
/dev/hde1 /mnt/Server ext3 acl,user_xattr 0 0
Quedaría así:
/dev/hde1 /mnt/Server ext3 acl,user_xattr,usrquota,grpquota 0 0

Como deberíamos de saber, si no lo sabéis, os lo recuerdo, para que los cambios en el fstab tengan efecto, se ha de remontar la partición, como en nuestro caso es /mnt/Server no hara falta, pero si fuese /home nos dira que esta usada. Uso SuSE 9.1 Profesional y en caso de que estuviésemos con /home deberíamos hacer lo siguiente:

Primero cerramos sesión de KDE u otro entorno grafico y quede en la pantalla de login, escribimos “root” y debajo ponemos la contraseña, en el menú desplegable de “tipo de sesión” escogemos “A prueba de fallos”.
Bien, estamos logeados como root y no estamos usando /home, pos procedamos a remontar la unidad. Yo use:
# mount -o remount /mnt/Server –> Cambiad /mnt/Server aplicado a vuestro caso.

Una vez remontado, podemos volver a iniciar sesión por ejemplo.

Para que el sistemas de quota funcione, hay que crear 4 archivos en el directorio raíz de la partición. En mi caso hde1 est montado en /mnt/Server, por lo tanto el directorio raiz es /mnt/Server. Los archivos a crear son los siguientes:
–> aquota.user aquota.group quota.user quota.group
Para crearlos, iremos al directorio raiz de nuestra partición:
# cd /mnt/Server
# touch aquota.user aquota.group

Para añadir seguridad a esto, cambiaremos los permisos de dichos archivos, de modo que root pueda leer y escribir, y denegado a los demás usuarios.
# chmod 600 aquota.user aquota.group

Weno, arrancamos el servicio “quota”
# rcquota start –> Cambiando “start” por “stop” y “restart” podemos parra o reiniciar el servicio.

Ahora hay que comprobar que sistemas tienen la quota activada y el uso que se le esta dando con el comando:
# quotacheck -avug
En el comando anterior, si da error de que no se ha encontrado el archivo para configurar la cuota, si estamos configurando la cuota en “/” lo ignoramos porque ahí solo escribe root y daria igual. En caso de que sea “/home” y de el error mencionado antes, cerramos todas las aplicaciones que estén corriendo y dejamos abierta una consola y tipeamos:
# telinit 1
Esto nos llevara a el modo monousuario, solo como root, nos pedirá la contraseña de este, la introducimos. Ahora ejecutamos:
# quotacheck -avug –> Si el error persigue:
# quotacheck -avugf –> Y ahora una comprobación forzada, pero tranquilos que a mis datos no les paso nada. A mi entender puede estropear los archivos “aquota.user” y “aquota.group” (Lo dejo bajo la responsabilidad de cada uno)
Esto debiera dar una salida como esta:
quotacheck: Scanning /dev/hde1 [/mnt/Server] done
quotacheck: Checked 69 directories and 381 files

Ahora debemos activar las cuotas para /mnt/Server
# quotaon /mnt/Server –> Esto activara las cuotas
# quotaoff /mnt/Server –> Esto desactivara las cuotas

Ahora llega la parte mas difícil del tema, configurar cuotas. El usuario que voy a limitar va a ser “guest”. Al tipear el comando de abajo, nos abrirá el editor de texto “vi”, para evitar eso, podemos hacer:
# export EDITOR=/usr/bin/mcedit –> Si no usais ni “Vi” ni “mcedit” cambiáis la ruta.

1. CUOTA DE USUARIOS:

A continuación:
# edquota -u guest
Acto seguido se nos abrera mcedit. Lo mas apropiado creo que será poner un ejemplo:

Disk quotas for user guest (uid 1003):
Filesystem blocks soft hard inodes soft hard
/dev/hde1 0 5120 6144 0 0 0

Suponiendo que se quiere asignar una cuota de disco de 5 MB con una tolerancia de hasta 6 MB. Las unidades se escriben en KiloBytes. “soft” es el limite de advertencia, “hard” el limite máximo, “blocks” es el espacio usado en KiloBytes e “inodes” es el numero de archivos. 0 significa ilimitado.
Cuando superemos el limite de advertencia (soft) de 5 MB nos dará este error:
–> hde1: warning, user block quota exceeded

Cuando estemos sobrepasando el limite (hard) de 6 MB, obtendremos esta salida:
–> cp: escribiendo «SSH10242345678.bmp»: Se ha excedido la cuota de disco
En este caso se crara un archivo con ese nombre, pero de 0 Bytes.

PD: Si no se te aplican los cambios, revisa que has guardado el archivo de configuracion que se abrio con mcedit y prueba a hacer:
# quotaoff /mnt/Server
# quotaon /mnt/Server

Con esto, ya tenemos las cuotas activadas para un usuario, para un grupo:

CUOTA DE GRUPOS:

Seguiremos el procedimiento anterior, si ya lo tenemos hecho no hará falta repetirlo.
Para los grupos usaremos:
# edquota -g shell –> Cambiando “shell” por el grupo correspondiente en tu sistema.

Un ejemplo:

Disk quotas for group shell (gid 1001):
Filesystem blocks soft hard inodes soft
/dev/hda1 0 1 1 0 0
/dev/hde2 0 1 1 0 0
/dev/hde1 0 1 1 0 0
/dev/hdg1 188 102400 204800 37 0

Bien, el grupo “shell” no tiene permiso de escritura nada mas que en su home, que “hdg1″ esta montado en (/home). Por defecto, las otras particiones tendrán un “0″, osea, ilimitado. Por precaución yo establecí un KiloByte. No tiene mayor misterio, se configura al igual que en los usuarios.

Con esto doy por terminado el How-To.

Elaborado por GuraDXPU del canal #SuSE del IRC-Hispano bajo SuSE 9.1 Professional Kernel 2.6.8. Siempre que se modifique pediría por favor que se me comunicase por el bien de todos.

 

Categories: General Tags:

Reinstalar LiLo o Grub (gestor de arranque)

Noviembre 16th, 2007 admin No comments

Reinstalar LiLo o Grub (gestor de arranque)

 

Pues yo lo que quiero en realidad es reinstalar LILO en el arranque del disco duro hda, alguno sabe como?

Tomado de: Red Hat Linux 8.0: Manual oficial de personalización de Red Hat Linux

Capítulo 29. Actualización del Kernel
Configuración del gestor de arranque
El paquete kernel de RPM configura el gestor de arranque, ya sea GRUB o LILO para arrancar el nuevo kernel
si se ha instalado el gestor de arranque.
Sin embargo, no configura el gestor de arranque para arrancar el nuevo kernel de manera predeterminada
Es una buena idea confirmar que el gestor de arranque se ha configurado correctamente. Esto es un paso
crucial. Si el gestor de arranque están configurado de forma incorrecta, no podrán arrancar el sistema. Si esto ocurre,
arranque el sistema con el disquete de arranque que creó anteriormente e intente configurar de nuevo el gestor de arranque

GRUB

Si selecciona GRUB como gestor de arranque, asegúrese que el fichero /boot/grub/grub.conf
contenga la sección title con la misma versión del paquete kernel que acaba de instalar
(lo mismo para los paquetes kernel-smp y/o):

# NOTICE: You have a /boot partition. This means that
# all kernel paths are relative to /boot/
default=0
timeout=30
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.18-7.95)
root (hd0,0)
kernel /vmlinuz-2.4.18-7.95 ro root=/dev/hda3
initrd /initrd-2.4.18-7.95.img

Si ha creado una partición separada para /boot, el camino al kernel y la imagen initrd será relativo a la partición /boot
Para configurar GRUB para arrancar el nuevo kernel de manera predeterminada, cambie el valor de la variable default
en el número de la sección de título que contiene el nuevo kernel. El número empieza por 0. Por ejemplo, si el nuevo
kernel es la sección del segundo título, establezca la variable default en 1
Puede empezar a probar su nuevo kernel reiniciando su ordenador y viendo los mensajes para asegurarse que su
hardware es detectado adecuadamente

LILO

Si ha seleccionado LILO como gestor de arranque, asegúrese que el fichero /etc/lilo.conf contenga la
sección image con la misma versión del paquete kernel que ha instalado:

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
message=/boot/message
linear
default=linux

image=/boot/vmlinuz-2.4.18-7.95
label=linux
initrd=initrd-2.4.18-7.95.img
read-only
root=/dev/hda5

El paquete RPM kernel activa los cambios con el comando /sbin/lilo

 

Categories: General Tags:

Pequeña introducción a iptables + ejemplos variados.

Octubre 16th, 2007 admin No comments

Pequeña introducción a iptables + ejemplos variados.

 

Del Dept.tutorial-relampago-de-la-pradera.
Iptables es una aplicación en linea de comandos que gestiona el filtrado de paquetes en sistemas Linux (kernels 2.4.x), en base a las reglas que hayamos definido. Iptables es mucho más potente que su antecesor Ipchains (kernels 2.2.x).
La estructura de Iptables es básicamente una cola : cuando un paquete llega, este es validado contra cada una de las reglas del firewall, en el momento que alguna regla casa (match) , se ejecuta la acción que haya sido definida en la regla (descartar el paquete, acceptarlo, enrutarlo, etc).
La estructura de un comando iptables es la siguiente :
iptables -t [tabla] -[AIRDLFZNXP] [regla] [criterio] -j [acción]
Vamos a ver que es cada cosa :


-t [tabla] Esta parte del comando especifica cual es la tabla en la que queremos añadir la regla. Existen 2 tipos de tablas válidas : nat y filter, siendo filter la tabla por defecto si es omitida parte en el comando. Nat se refiere a las conexiones que serán modificadas por el firewall, como por ejemplo, enmascarar conexiones, realizar redirecciones de puertos, etc. Filter es la tabla donde se añaden las relacionadas con el filtrado.
-[AIRDLFZNXP] [regla] Hay 4 opciones básicas con las que se puede jugar en esta apartado del comando. Estas opciones básicas son las siguientes :
  • A es para añadir (Append) una regla. Reglas válidas son INPUT, FORWARD y OUTPUT.
  • L es para listar las reglas.
  • F es para borrar todas las reglas o en el caso de INPUT, FORWARD o OUTPUT seán dados como argumento se borraran las reglas asociadas solo a esa clase.
  • P establece la politica por defecto del firewall. Por defecto es aceptar todas las conexiones.
  • [criterio] Aqui es donde se especificarán las características del tipo de paquete que casará con esta regla. Para establecer reglas sencillas (reglas stateless), podemos operar con las siguientes opciones : -s (ip/red fuente), -d (ip/red destino), –sport (puerto fuente), –dport (puerto destino), y -p (protocolo). Un ejemplo de comando de la sintaxis de un ocmando iptables sencillo podría ser este (la parte en que se define el criterio de la regla está en negrita) :

    iptables -A FORWARD -p [protocolo] -s [ip/red fuente] –sport [puerto fuente] -d [ip/red destino] –dport [puerto destino] -j DROP

    -j [action] Aqui establecemos que es lo que hay que hacer con el paquete. Las posibles opciones son : ACCEPT, REJECT, DROP, REDIRECT, LOG (existén más, pero estas son las básicas).

    ACCEPT aceptará el paquete.
    REJECT o DROP lo desecharán, la direncia entre ellos reside en que DROP descartará el paquete silenciosamente y REJECT emitirá un paquete ICMP Port Unreachable, indicando que está cerrado.
    REDIRECT redirigirá el paquete a donde se indique en el criterio del comando y por último…
    LOG lo logeará para su posterior análisis.

    Iptables es muy flexible y puede hacer cualquier cosa que se os ocurra a los paquetes que pasan por la red, man iptables y http://www.netfilter.org/ os informarán de todo lo que hay que saber.

    Para finalizar el tutorial-relampago, vamos a ver unos ejemplos y lo que hacen, que muchas veces aclaran más las cosas que la pura documentacion ;-) .

    Comando iptables -A INPUT -p tcp -i eth0 –dport 80 -j DROP
    Descripción Cerrar conexiones entrantes desde eth0 y hacia el puerto (local) 80 (HTTP)
    Comando iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/255.255.255.0 -j MASQUERADE
    Descripción Enmascarar por las conexiones procedentes de la red 10.0.0.0 como si lo hicieran desde la ip configurada en la interfaz eth0. (típica regla en un router linux compartiendo la conexión eth0 con la red local conectada a eth1).
    Una regla equivalente a esta puede ser esta (si atacamos por SNAT en lugar de MASQUERADE):

    iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to ip-de-eth0

    Comando iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
    Descripción Redireccionar al puerto 3128 (proxy) todos los paquetes que entran por eth1 y con destino puerto 80 (HTTP), de esta manera conseguimos un proxy transparente.
    Comandos iptables -A INPUT -p tcp -i eth0 -m state –state NEW,ESTABLISHED,RELATED –dport 22 -j ACCEPT
    iptables -A INPUT -p all -i eth0 -m state –state NEW,INVALID -j DROP
    Descripción Detener todas las conexiones entrantes desde la interfaz eth0 menos la conexiones al servicio ssh. La primera regla deja pasar los paquetes al 22 y la segunda cierra todo lo demas. Sin embargo todas las conexiones que se realizen desde la máquina (como navegar, consultar correo, etc) estarán permitidas por que no son conexiones iniciadas desde “fuera”. Con ipchains este tipo de reglas (reglas de inspección de estado, statefull) no existían.
    Comandos iptables -A OUTPUT -i eth0 -p icmp –icmp-type 8 -j DROP
    iptables -A FORWARD -i eth0 -p icmp –icmp-type 8 -j DROP
    Descripción Deshabilitar los paquetes ICMP entrantes de tipo echo (8) para el firewall (regla INPUT) y la red protegida (regla FORWARD).
    Comandos iptables -A INPUT -i eth0 -f -m length –length 0:40 -j DROP
    iptables -A FORWARD -i eth0 -f -m length 0:40 -j DROP
    Descripción Denegar paquetes fragmentados por debajo de 40 bytes. Tanto para conexiones que dirigidas al firewall (regla INPUT) como las que pasan a traves de él (regla FORWARD). Esta regla evita ataques del tipo “Tiny Fragment Attack”

    Autoría: LINUCA -Asociación de Usuarios GNU/Linux en Cantabria.-

    Categories: General Tags:

    Automontaje de unidades en linux

    Octubre 16th, 2007 admin No comments

    Automontaje de unidades en linux

    El demonio autofs es capaz de montar y desmontar automáticamente sistemas de archivos locales y remotos, liberándonos de hacerlo manualmente mediante la orden mount y umount.

    Autofs se comporta de cara al usuario de la siguiente manera:

    Existen directorios que están asociados con sistemas de archivos. Cuando el usuario ejecuta una orden que hace referencia al contenido de dicho directorio, autofs montará automágicamente el sistema de archivos correspondiente en ese punto de montaje.

    Una vez concluya la operación, espera un tiempo antes de desmontarlo de forma automática.

    Autofs es una solución que se compone de una parte que se incluye en el núcleo del sistema (La que se encarga de detectar que estamos entrando en uno de los directorios de automontaje) y de otra en espacio de usuario (un demonio) que se encarga del montaje en sí.

    Con esto quiero decir que el kernel debe haber sido compilado con soporte para ello si queremos usarlo. La buena noticia es que autofs es completamente modular y en el caso (improbable) de que nuestro kernel no lo soporte, no tendremos que reconstruirlo entero, sino sólo compilar el autofs como módulo (ahorrando tiempo y un reinicio).

    Si tenemos un kernel antiguo (anterior a 2.0.X) o no nos interesa andar recompilando, podemos echar mano a soluciones como amd (automounter daemon), menos eficientes pero que operan solamente en espacio de usuario. Este demonio es obsoleto en Linux, aunque creo que con los BSD hay gente que lo usa aún :-? .

    Para comprobar si disponemos de soporte para él incluido en el kernel podemos hacer:

    $ cat /proc/filesystems
    Esto muestra una lista de los sistemas de archivos soportados por nuestro kernel. Si aparece una línea tal qué:

    nodev autofs
    Es que nuestro kernel es válido.

    Una vez comprobado esto, debemos instalar el demonio. En RedHat y similares, el demonio así como una configuración básica de ejemplo y el script que define el servicio de automontaje se encuentran en el paquete autofs-*.i386.rpm.

    Para instalarlo:

    # rpm -ivh autofs-*.i386.rpm
    Rpm automáticamente añade el servicio al nivel de ejecución actual pero no se arranca aún (y no es deseable que lo hagamos ahora, pues todavía no lo hemos configurado).

    Importante: los paquetes de instalación que incluyen las distribuciones son seguros (o deberían serlos), pero si optáis por bajaros versiones actualizadas de Internet, deberías siempre comprobar qué archivos se incluyen, la firma de los paquetes (al menos que el resumen MD5 cuadre con lo esperado) y los scripts que lanzará rpm durante la instalación.

    Recordad que cuando instalamos paquetes, lo hacemos como root con todos los peligros que ello implica.

    Para chequear la firma (pgp/gpg y MD5):

    $ rpm –checksig autofs-*.i386.rpm
    Para chequear los scripts de instalación y de desinstalación, en busca de operaciones malignas:

    $ rpm -q –scripts autofs-*.i386.rpm
    Otras medidas como hacer simulaciones de instalación en entornos chrooted pueden ser excesivas, aunque según dicho popular: “un buen administrador, es el administrador paranoico”. Así que allá cada cual con su conciencia :-) .

    Una vez instalado, pasamos a la configuración. Vamos a suponer, por simplicidad, que el usuario sólo tiene una unidad de discos flexibles y un cdrom. Nos saltaremos unidades zip, jaz, volúmenes nfs, netbios, etc.

    El paquete autofs de RedHat, en las versiones que yo manejo, crea un directorio:

    /misc

    Trae los archivos de configuración:

    /etc/auto.master
    /etc/auto.misc

    Y el servicio de automontaje:

    /etc/rc.d/init.d/autofs

    Para la configuración que vamos a hacer, el directorio misc< nos sobra, así que:

    # rm -r /misc
    Editamos /etc/auto.master para dejarlo de esta forma:

    # auto.master $Id$
    /mnt/auto.floppy /etc/auto.montaje.floppy –timeout 3
    /mnt/auto.cdrom /etc/auto.montaje.cdrom –timeout 15
    ###
    El “timeout” es el tiempo en segundos que dejará pasar demonio después de que hayamos terminado de trabajar con el floppy o con el cdrom antes de desmontarlos. Podeis ajustarlo a vuestro gusto si veis que es demasiado grande o pequeño

    Los archivos auto.montaje.cdrom y auto.montaje.floppy no existen, así que los crearemos tomando como plantilla los ejemplos que nos muestran en /etc/auto.misc o en la página man de autofs(5):

    # auto.montaje.cdrom $Id$
    cdrom -fstype=iso9660,user,noexec,ro :/dev/cdrom
    ### # auto.montaje.floppy $Id$ floppy -fstype=auto,user,noexec,rw,uid=0,gid=19 :/dev/fd0 ###
    Las opciones “fstype” son las que serán pasadas a la orden mount por el demonio.

    Podemos fijar opciones específicas de ciertos sistemas de archivos (En el ejemplo del floppy uid=0 y gid=19 son propias de los sistemas fat, vfat, msdos, etc) que serán ignoradas de forma transparente si el sistema de archivos es distinto (Si el floppy es ext2, mount no se quejará porque el demonio de automontaje le pase uid y gid).

    Esta configuración no es precisamente la más segura del mundo, pero es bastante cómoda. El gid=19 debería corresponder al grupo “floppy”, al que deberían pertenecer los usuarios que deseen escribir en los discos flexibles.

    En muchos ambientes, permitir montaje de unidades (Y la escritura en ellas el caso el floppy) a los usuarios se considera un problema de seguridad, pero si sólo nosotros tenemos acceso físico a la máquina esto no debería preocuparnos demasiado.

    Escritos los archivos de configuración, ahora iremos al directorio /mnt y procederemos de la siguiente forma:

    Borramos los directorios cdrom y floppy si existiesen:

    # rm -r floppy cdrom
    Creamos los directorios auto.cdrom y auto.floppy.

    # mkdir auto.floppy auto.cdrom
    Creamos dos enlaces blandos, a través de los cuales accederemos a los sistemas de archivos de automontaje:

    # ln -s /mnt/auto.cdrom/cdrom /mnt/cdrom
    # ln -s /mnt/auto.floppy/floppy /mnt/floppy
    Nótese que ni /mnt/auto.cdrom/cdrom ni /mnt/auto.floppy/floppy existen, y no debemos en ningún caso crearlos.

    El demonio de automontaje se encargará de construir esos directorios cada vez que necesitemos acceder a un disco y de destruirlos cuando dejemos de utilizarlo.

    No deberíamos tocar nada de lo que haya dentro de /mnt/auto.cdrom/ y /mnt/auto.floppy/.

    Llegado a este punto, nos queda comentar (añadir un “#” al principio) las líneas correspondientes al floppy y al cdrom en el archivo /etc/fstab y arrancar el servicio para que podamos disfrutar del automontaje:

    # /etc/rc.d/init.d/autofs start

    Categories: General Tags: