Trisquel 3.0 STS “Dwyn”

Trisquel GNU/Linux es una versión del sistema operativo Ubuntu cuyo objetivo principal es el desarrollo de un sistema totalmente libre que sea fácil de usar, completo, y con un buen soporte de idiomas. Parece que lo han conseguido pues cuentan con la recomendación de la propia Free Software Foundatión.

El Proyecto Trisquel nació en 2004 con el apoyo de la Universidad de Vigo, y fue presentado oficialmente en Abril de 2005 por el fundador del Proyecto GNU, Richard Stallman, como invitado de honor.

Sigue leyendo

SquirrelMail: un potente webmail

SquirrelMail: un potente webmail (servidor)

SquirrelMail es un webmail muy interesante por su facilidad de instalación, simpleza y por la gran cantidad de características que ofrece gracias a su arquitectura de plug-ins.

SquirrelMail es un webmail con un montón de ventajas:

  • Tiene un montón de funciones interesantes. No tiene nada que envidiar a muchos clientes de correo. Además está escrito en PHP4 y es GPL, por lo que podeis ampliarlo, modificarlo fácilmente y es totalmente gratis. Gracias a la arquitectura de plug-ins podreis añadir otros plug-ins para incluir nuevas funciones.
  • Es muchísimo más estable que bastantes clientes de correo (sobretodo si lo comparais con el Mozilla).
  • Acceso a vuestro correo desde cualquier sitio, basta cualquier ordenador con conexión a Internet y un navegador.
  • Podeis acceder a vuestro correo de forma segura (a través de SSL).

Las características más interesantes de este webmail son:

  • Gestión de carpetas.
  • Internacionalización.
  • Libro de direcciones personal y acceso a otros servicios de LDAP (muy útil si teneis LDAP montado en una organización). Permite hacer búsquedas de direcciones.
  • Gestión de attachments.
  • Servicio de búsqueda en emails.
  • No necesita ninguna base de datos para funcionar (al contrario que muchos otros webmails que necesitan MySQL o PostgreSQL).
  • Interfaz de usuario fácil y potente.
  • Arquitectura de plug-ins.
  • Múltiples temas (colorines).
  • Configuración de las vistas de mensajes: número de mensajes visibles en pantalla, campos visibles, orden, cada cuanto tiempo comprueba si hay nuevos mensajes, etc.

Y si añadimos plug-ins ya es una pasada:

  • Posibilidad de añadir direccions de correo de emails entrantes o contenidas en un email a nuestro libro de direcciones de forma automática.
  • Autocompletado de direcciones de correo cuando se escribe un email.
  • Una imprescindible: enseñar fortunes.
  • Envio de páginas HTML comprimidas (en caso de ficheros largos).
  • Reloj.
  • Filtros de mensajes según direcciones de correo o subject.
  • Filtrado de spamming.
  • Descarga de correo de múltiples cuentas POP.
  • Utilidad de corrección de correos en cualquier idioma. Esto me dejó con la boca abierta.
  • Traducción de correos a diferentes lenguas. Y esto ya no te cuento.

En fin, que me bajé todos los plug-ins el primer dia y me he instalado unos 19, aunque hay bastantes más. Además los plugins son muy faciles de instalar. Requerimientos Los requerimientos básicos para instalarlo son:

  • PHP4. No hace falta tener instalada la libreria IMAP de PHP.
  • Servidor Web. Yo lo he probado con Apache 1.3.19.
  • Servidor IMAP. Yo lo he probado con Cyrus IMAP.

Nota: también se pueden usar múltiples cuentas POP con un plug-in pero necesitareis un servidor IMAP para autenticar el usuario. Aunque seguramente sería posible hacer algún plug-in o extensión para que funcione también con un servidor POP. Instalación y Configuración Suponiendo que vuestra instalación de Apache, PHP4 y IMAP ya funciona correctamente :) la instalación no puede ser más sencilla, os bajais la última versión, yo probé la versión de desarrollo 1.1.1 y de momento no he detectado ni un solo bug, y la poneis en un directorio que puede acceder vuestro servidor Web. Además se necesitan dos directorios más, uno para datos y otro para guardar temporalmente los attachments, que necesitan permisos especiales para mayor seguridad. Para más detalles, mirad el fichero INSTALL que es muy corto.

Luego configurais Apache si es necesario, si quereis usar por ejemplo virtual hosting o acceso a través de SSL.

Para configurarlo (servidor IMAP, parámetros por defecto, etc) se puede usar un sencillo script en perl, que tiene varios menus. O también lo podeis configurar a mano editando un fichero con variables PHP.

Si conoceis algún otro webmail mejor que este comunicadmelo, pero lo veo difícil. Por si quereis buscarlo aquí os paso un inventario de webmails , en la que podeis encontrar hasta 43 webmails. Otros webmails que he provado son: Basilix, IMP, Postaci, 6xmailer, popper, NOCC.

–Mateu–

E-mail del autor: mbatle _ARROBA_ mbatle.com
Podrás encontrar este artículo e información adicional en: http://bulma.net/body.phtml?nIdNoticia=634

Página web oficial : http://www.squirrelmail.org/

ROUTE (network)

ROUTE (network)

 
ROUTE: Define las rutas estáticas a otra máquinas ó redes, a través de interfaces que hayan sido definidos con ifconfig.
ej.: route add 10.0.0.9 netmask 255.0.0.0 reject
Tablas de enrutamiento:

Destination

Gateway

Getmask

Flags

Metric

Ref

Usel

Iface

195.195.0.3

195.195.0.100

*

U

O

2

38

Eth0

Destination.: Indica la dirección IP de sistema de destino del paquete IP.

Gateway.: Indica el equipo al cual debe de enviar el sistema en que se encuentra el usuario dicho paquete IP para que llegue al sistema destino. Si este campo se encuentra con un *, indica que ambos equipos, el del usuario y el sistema destino, se encuentran conectados directamente y que por lo tanto, no necesitan de sistmas intermediarios para conectarse.

Genmask.: Se utiliza para definir la generalidad de una ruta, ayudando de esta manera a determinar la mejor ruta.

Flags.: Indica el tipo de ruta a seguir así este campo puede tomar los siguientes valores generales

H=sistema

U=arriba

D=ruta dinámica

G=pasarela

M=modificada

Metric.: Indica el coste de la ruta a seguir.

Ref.: Indica el número de rutas en la red que dependen de esta ruta, debido a que utilizan como paso para llegar a los host/servidores de destino.

Use.: Las veces que se ha consultado la tabla de enrutamiento

Iface.: La interfaz de red a la cual la ruta suministra paquetes

Reinstalar LiLo o Grub (gestor de arranque)

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

 

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

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.-

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

    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/

     

    Cuotas de Disco en Linux

    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.

     

    APT-GET PARA SUSE 9.1 ¿CÓMO?

    APT-GET PARA SUSE 9.1 ¿CÓMO?

     

    El mejor sistema para instalar/actualizar programas

    Voy a explicar de forma práctica y sin entrar en detalles técnicos cómo poder utilizar el comando apt-get en SuSE 9.1 de igual forma que lo hace la distribución Debian.

    Empecemos:

    1.- BAJAR ARCHIVOS NECESARIOS:

    Aqui : ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.1-i386/RPMS.suser-rbos/

    tenemos todos los archivos necesarios para llevar esta tarea a buen puerto. Los archivos a bajar son los siguientes:

    TODOSEXCEPTO ESTOS:

    MPlayer-suite-1.0-rb3.i586.rpm , (luego podremos bajarle cómodamente y con sus dependencias resultas cuando tengamos apt instalado)

    kynaptic-0.5-58357cl.1.i586.rpm , apt4rpm-0.68.2-2.noarch.rpm

    Si te fijas hay dos versiones distintas de estos dos archivos (a fecha 1-noviembre-2004) , lo que luego nos dará error cuando carguemos los rpm,s, ya que no sabrá cual de los dos instalar.

    Repito estos tres archivos no hay que bajárselos.

    2.- COMPROBANDO DEPENDENCIAS.

    Una vez guardados estos archivos que hemos bajado, tenemos que entrar al directorio donde los tengamos, por ejemplo yo los he guardado en /home/apt-suse-rpms/ con lo que como root entro a dicho directorio:

    # cd /home/apt-suse-rpms/

    Luego hacemos una comprobación de dependencias con el siguiente comando:

    # rpm –test -Uvh *.rpm

    con lo que nos muestra una lista con las dependencias existentes para poder instalar los rpm,s bajados. Ejemplo:

    error: Failed dependencies:

    perl-XML-LibXML is needed by apt4rpm-0. 68.2-2

    python-gnome >= 2.0 is needed by gramps-1.0.7-0.suse091.rb.1

    etc ……

    Tenemos que resolver estas dependencias, bien insertando el cd o dvd de suse 9.1 o bien buscándolos por la red.

    Con Yast esta tarea no es nada complicada. Simplemente se va a Yast -> Software-> instalar/desinstalar software – y en Buscar: con las opciones de Buscar en: [x] Nombre [x] Resumen [x] Descripción y [x] Proporciona ACTIVADAS, vamos escribiendo todos y cada uno de los nombre de los paquetes que nos han dado error: Failed dependencies:

    ejemplo Buscar: perl-XML-LibXML y pinchamos en el botón Buscar.

    En la parte derecha nos aparece el paquete a instalar, le marcamos para instalar, y así sucesivamente con todos los paquetes dependientes.

    Una vez marcados para instalar todos los paquetes dependientes pulsamos el botón Aceptar. Yast en este momento se dispondrá a su instalación en nuestro sistema sin más problemas.

    Volvemos a utilizar el comando # rpm –test -Uvh *.rpm

    para asegurarnos que no sale ninguna dependencia incumplida. Si no sale ninguna dependencia, ya estamos listos para instalar.

    Si vemos alguna dependencia incumplida procedemos a instalar el paquete con Yast como ya se ha explicado.

    3.- INSTALAR PAQUETES RPM

    Con el comando

    # rpm -Uvh *.rpm

    se instalarán todos los paquetes rpm de nuestro directorio /home/apt-suse-rpms/

    Enhorabuena, ya tenemos instalado apt en nuestra distribución SuSE 9.1 favorita. ;-)

    4.- CONFIGURACIÓN DE SOURCES.LIST

    Por defecto tenemos un sources.list creado en /etc/apt/sources.list

    Este es el archivo que le servirá al comando apt-get de base para buscar los paquetes que queramos instalar.

    Pero vamos a mejorar este sources.list y sus repositorios. Si le dejamos con los repositorios que nos trae por defecto funcionaría correctamente. No es estrictamente necesario hacerlo pero es recomendable ya que a la hora de instalar programas y aplicaciones con el apt-get tendrá muchas más opciones de bajada.

    Para ello tendremos que editar el archivo sources.list con el editor que tu quieras, borramos totalmente lo que tenga y pegamos los siguientes repositorios (yo tengo estos):

    # inicio de Source.list

    rpm ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.1-i386 update-prpm update suse-projects security-prpm security base kde gnome xfree86 mozilla samba3 suser-rbos suser-gbv usr-local-bin suser-tcousin suser-scorot suser-ollakka labplot funktronics packman packman-i686 kernel-of-the-day wine suse-people kde3-stable suser-guru

    rpm-src ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.1-i386 update-prpm update suse-projects security-prpm security base kde gnome xfree86 mozilla samba3 suser-rbos suser-gbv usr-local-bin suser-tcousin suser-scorot suser-ollakka labplot funktronics packman packman-i686 kernel-of-the-day wine suse-people kde3-stable suser-guru

    # final de Source.list

     

    Una vez pegado, guardamos los cambios en el archivo soruce.list, y cerramos.

    5. UTILIZACIÓN DE APT-GET

    Antes que nada hay que teclear lo siguiente:

    # apt-get update

    Esto actualizará las fuentes de los paquetes bajando las cabeceras de archivos. No instalamos nada con ello, simplemente preparamos el archivo apt-get para que sepa donde buscar y bajar los paquetes que le peticionemos.

    NOTA: Se recomienda hacer # apt-get update habitualmente antes de instalar cualquier programa. Como he dicho actualizará las cabeceras de paquetes y siempre tendremos la última versión del paquete seleccionado.

    Ahora estamos listos para instalar el o los paquetes que queramos con:
    # apt-get install nombre_paquete
    Este comando instala el paquete que le peticionemos.

    Ejemplo: # apt-get install MPlayer divx4linux w32codec-all
    nos instala el reproductor de Mplayer así como los codec para reproducir archivos con divx xvid etc … en nuestra SuSE. ;)

    6. OTROS COMANDOS APT-GET

    #apt-cache search programa_que_buscas
    Nos dirá el nombre del programa en caso de que no sepas exactamente su nombre

    #apt-cache show nombre_paquete
    Nos muestra información sobre el nombre del paquete que indiquemos.

    #apt-get -s upgrade
    Nos actualiza todo el sistema y paquetes que tengas instalados en ese momento. Utilízalo con moderación.

    ————————————————————————————————————————
    AUTOR: tronk de portal.tronk.net … tu portal útil. Con la colaboración de abs #suse
    Puedes copiar este mini-manual siempre respetando esta autoría. Si modificas algo de este contenido, o lo copias a otra web, házmelo saber a webmaster @ tronk . net.
    ————————————————————————————————————————

    Y hasta aquí este manual que a más de uno le vendrá de perlas.

    Si tienes algún comentario que hacer, o quieres mejorar este manual, hazlo en Comentarios de esta noticia.

    Un saludo a todos.

    Automontaje de unidades en linux

    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