Categoría: General

  • Comandos útiles (III)

    Siguiendo la serie de comandos útiles aquí tenemos otro:

    Mostar el tamaño de todos los directorio de la carpeta home:

    $ du -sh ~/*

     

  • ¿Problemas cambiando brillo?

    Les cuento que tenia el problema de no poder cambiar el brillo en mi pantalla de portatil, trate con el xbacklight y con la miniaplicacion pero nunca funcionaron. Me puse a investigar varios scripts y trate de ajustarlos hasta que me diera resultado. Se que tal vez alguien pueda hacer mejor estos scripts, pero comprendan que solo tengo menos de una semana usando ubuntu.

    Primero creamos un archivo que contendrá el nivel de brillo actual

    $sudo gedit /etc/abacklight.txt

    Lo guardamos en blanco o si van a hacer pruebas antes del reinicio con un valor entre 0 y 255.

    Después creamos un script de arranque con el sistema, para tener al inicio el nivel de brillo que queramos. Yo usé el directorio /etc.

    $sudo gedit /etc/sbacklight.sh

    Dentro ponen las siguientes lineas:

    #!/bin/sh
    echo 95 > /etc/abacklight.txt
    chown suusuario /sys/bus/pci/devices/0000:00:02.0/config
    setpci -s 00:02.0 F4.B=95

    (más…)

  • El objetivo de la enseñanza es la libertad

    Consiste en lograr que usted sepa cómo funcionan las cosas para que de este modo no se vea limitado por las herramientas que utiliza.

  • Sobre distros…

    Hace tiempo que deseaba escribir algo que no fuera puramente técnico. Esta vez quiero expresar una opinión personal que es casi una opinión política. Pero aún así me gustaria reflejarla.

    En España tenemos un esquema territorial bastante curioso basado en Comunidades Autónomas. Para mí este sistema es antinatural y antieuropeo. Me explico: en Europa todos los paises queremos unirnos, tener cosas en común, libre mercado, libre tránsito, etc. Pues en España «queremos» justamente lo contrario: separarnos, tener distintos idiomas que nos impidan la integración, distintos derechos, distinta sanidad, distinta educación. Pues eso: el mundo al revés.

    Este enfoque, llevado al mundo Linux sigue un enfoque igual: si tenemos 17 comunidades autónomas tendremos 17 distribuciones linux diferentes. Los esfuerzos hechos por una comunidad para tener una distribución Linux avanzada, la tienen que volver a hacer el resto de comunidades para sacar una distribución del mismo nivel.

    Y digo yo: no sería mejor colaborar, unir esfuerzos para tener una distribución común, si este es el deseo. Esto se podria traspolar a nivel mundial aunque me conformaría que esta unión se produjera a nivel nacional. Con esto se conseguiría, bajo mi opinión, tener una distribución mejor, con menos esfuerzo y que nos uniera en lugar de separarnos.

    Como dije al principio, esto es mi opinión personal, habrá muchos enfoques distintos a los que respeto aunque no comparta. Espero que mi humilde opinión sea igualmente respetada.

  • WordPress 2.7 y mi intranet

    logowordpressEl blog que estais leyendo esta construido con WordPress y alojado en una maquina privada (mi servidor). El dominio digital21.info esta redireccionado a mi ip publica fija que me da mi proveedor de internet. Pues bien WordPress tiene en su configuracion el parámetro que indica en que Url esta instalado dicho WordPress. En mi caso http://www.digital21.info.

    Configuracion WordPress

    Hasta ahora todo bien. Puedo acceder desde cualquier ordenador con Internet a mi blog como espero que puedas hacerlo tu. Desde todos los ordenadores menos desde mi red interna. Al poner http://www.digital21.info en cualquier ordenador de mi red interna no obtengo respuesta. No pasa nada, pensé. Si pongo mi dirección local 192.168.0.100, lo veré. Pues tampoco. Parece ser que la configuración anterior de WordPress impide hacer esto.

    (más…)

  • Screen

    En las necesidades que me han surgido a lo largo de la administración de un servidor linux sin entorno gráfico está la manera de ejecutar un comando que tarda mucho en terminar (por ejemplo, un rsync de mucha información) y poder consultar su estado si se ha cortado el ssh con el que lo ejecutastes.

    Ahora sí, para comenzar a trabajar con un screen ejecutamos el comando:

    screen
    Este comando se ejecuta solo una vez. Los otros que quieran entrar al screen que abrimos pueden ejecutar:

    screen -rx

    screen -rx nos permite reconectarnos (conectarnos) a un screen previamente abierto.

    Si deseamos dejar un screen abierto ejecutando algún comando ponemos:

    ^a d

    así cmo lo ves: control-a, soltamos las teclas y apretamos d (no mantengas apretado ^a)

    la d viene de: detach, desconectar.

    al desconectarnos, dejamos abierto con el comando ejecutando. Si queremos reconectarnos hacemos:

    screen -rx

    ya está, nos hemos conectado neuvamente (fijate que screen -rx ya le vimos antes, y hace precisamente esto).

    Ahora, hasta el momento hemos utilizado una sola ventana… pero screen nos permite manejar múltiples ventanas en la sesión.

    Para abrir una neuva ventana ponemos:

    ^a c

    Correcto, como antes: Control-a, soltamos las teclas y apretamos c

    la C viene de: create, crear.

    Estamos ya en la segunda ventana, tenemos dos ventanas en el screen.

    Para movernos a la ventana anterior ponemos:

    ^a p

    la p viene de previuos

    o si queremos ir a la siguiente ponemos:

    ^a n

    n: next

    podemos abrir con ^a c, varias ventanas, muchas, y podemos ciclar entre ellas apretando continuamente ^a p o ^a n, incluso cuando se llega a la ultima ventana, nos regresaría a la primera (ciclo).

  • Instalar impresora USB en Ubuntu Server.

    Después de una investigación previa he encontrado la información para instalar mi impresora USB en el servidor Ubuntu sin gestor gráfico. La información está en inglés pero creo que es util:

    Howto: configure cups on Ubuntu Server from command line

    I recently installed Ubuntu server on one of my machines at home. I didn’t want to install the Gnome desktop, so when it came time to configure cups as a print server I had a time figuring it out. Nobody seems to be configuring from the command line, but without Gnome, there doesn’t appear to be another way (cups web page doesn’t allow administration, details below).

    I’m posting my notes here in the hope that it will save somebody else some frustration. The guide below sets up cups on a server running a fresh install of Ubuntu Server 6.06. The printer will be available to any computer on the network.

    I use «smithers» as the hostname for my linux box.  You can substitute the IP address for «smithers» in the guide.

    To install on smithers (my Ubuntu server):

    1. $ sudo apt-get install cupsys cupsys-client

    2. Modify /etc/cups/cupsd.conf

    – comment out
    #BrowseAllow @LOCAL
    #BrowseAddress @LOCAL
    – add
    BrowseAllow all

    – For the block change «Allow localhost»
    to «Allow all».

    NOTE: If you do this for the other two location
    blocks, you can view the admin and config
    stuff.  However, the https stuff doesn’t
    work so you can’t administer anything.  You
    have to administrate from the command line.
    for more details as to why you can’t do this
    from the web interface, which would be my first
    choice, check out /usr/share/doc/cupsys/README.Debian.gz.

    3. Modify /etc/cups/cups.d/browse.conf

    – Change to «Browsing on»

    4. Modify /etc/cups/cups.d/ports.conf

    – Change «Listen localhost:631» to «Listen 631»

    5. $ sudo /etc/init.d/cupsys restart

    6. Get info on the connected printers:
    $ lpinfo -v
    network socket
    direct usb://hp/deskjet%205550?serial=MY25K1K0TC2L
    network http
    network ipp
    network lpd
    direct parallel:/dev/lp0

    7. Add the printer:
    $ sudo lpadmin -E -p hp5550 -v usb://hp/deskjet%205550?serial=MY25K1K0TC2L -P /usr/share/ppd/cups-included/HP/deskjet.ppd -u allow:all

    NOTE: substitute my details for your details. You can name the printer anything you like. I don’t think it allows numbers as the first letter, spaces, dashes, or underscore characters. I’m not positive about these rules, so if I’m wrong, post a follow up. alt As for the ppd file, there are only a few that come with cups, but I believe they cover the vast majority of printers. Just take a guess and try the one you think will apply. I think there were only 5 or so files.

    8. To delete a printer (shouldn’t need to do this):
    $ sudo lpadmin -x hp5550

    NOTE: you shouldn’t need to do this, but I included this just in case you wanted to remove a printer.

    9. To set the default printer:
    $ sudo lpadmin -d hp5550

    10. Enable the printer (required):
    $ cupsenable hp5550

    11. Start accepting jobs (required):
    $ accept hp5550

    NOTE: I read that the «-E» option is the same as the cupsenable and accept commands. However, it didn’t work for me. I had to issue both commands before it would work. You can check the status of the printer using the «printers» link below to see the printer status.

    12. You can now browse the server using a web browser on
    port 631.  For example: http://smiters:631.  To see the
    printers, navigate to http://smithers:631/printers

    13. To allow Windows XP to print to the cups printer, use the
    add printer wizard.  Start->Printers and Faxes.  Then
    select add printer.  Select network printer.  For the IP
    address use: http://smithers:631/printers/hp5550.  Click
    next, find the appropriate driver.  Continue until wizard
    is complete.  Print a test page.  Enjoy!

    La información original se puede encontrar en este foro.
  • µTorrent en Ubuntu Server

    Después de mucho buscar he encontrado en un blog la información que estaba buscando. Los antecedentes son lo siguientes:

    Tengo en casa un pequeño ordenador con Ubuntu Server instalado. No tiene ningún servidor X instalado. Accedo por ftp, ssh, http, etc sin problemas, pero también me gustaría instalar un servidor gráficos para acceder por VNCViewer.

    Encontré en http://adumont.wordpress.com la forma de hacerlo. Los artículos originales se encuentran en http://adumont.wordpress.com/2007/10/10/%C2%B5torrent-en-linux-i-introduccion/. Por lo tanto lo que se refiere a continuación es mérito completo del autor del blog (gracias).

    Para bajar los capitulos de mi series preferidas, no he encontrado ningun cliente Bittorrent mejor que µTorrent:
    * es muy pequeño y consume poco
    * no necesita instalacion,
    * soporta RSS (programar el µTorrent para que baje una serie es mas facil que programar el video!).

    Lo malo es que es para Windows. En casa tengo un servidor de ficheros corriendo Debian y esto me obligaba a mantener encendido tambien otro equipo con Windows.

    Hasta que probe µTorrent bajo Wine en Debian, y funciono perfectamente.

    Bajamos Wine y µTorrent:

    # apt-get install wine
    $ wget http://download.utorrent.com/1.8/utorrent.exe

    En mi caso, como mi Linux hace de servidor, no suele tener conectado ni monitor ni teclado (salvo casos que los necesite). Por lo tanto, no tiene entorno grafico, pero µTorrent (y Wine) necesitan un entorno grafico para correr. Para resolver este problema, he instalado el paquete vncserver.

    Es un servidor X que corre en background (frame buffer). Es decir que esta en memoria, no en un monitor. Para poder interactuar con el, lo haremos de forma remota con un cliente VNC. Es perfecto para poder lanzar µTorrent en el servidor.

    Para bajar VNCserver:

    # apt-get vncserver

    En este post, vamos a suponer que lanzo µTorrent en el puerto 4567, con el usuario utorrent.

    Abrimos el firewall del linux, para permitir conexiones entrantes al puerto del µTorrent:

    # Apertura puerto 4567 para uTorrent
    iptables -A INPUT -i eth0 -p tcp --dport 4567 -m state --state NEW -j ACCEPT

    Lanzamos el servidor X vncserver. En mi caso, lo lanzo en el display :2 :

    utorrent@servidor$ vncserver :2

    Vemos que vncserver lanza Xrealvnc con un monton de opciones:

    utorrent  10784     1  4 15:22 pts/0    00:10:12 Xrealvnc :2 -desktop X
    -httpd /usr/share/vnc-java -auth /home/utorrent/.Xauthority -geometry 796x576
    -depth 24 -pixelformat bgr888 -rfbwait 120000 -rfbauth /home/utorrent/.vnc/passwd
    -rfbport 5902 -fp /usr/share/fonts/X11/misc/ -co /etc/X11/rgb

    Al abrir el display :2, el servidor VNC escucha en el puerto 5900+2=5902. Para levantar µTorrent, vamos a conectarnos desde otro equipo con un cliente VNC a nuestro servidor (en el cliente indicaremos “servidor::5902″).

    Al desconectarnos, no pasara nada, todo lo que teniamos sigue corriendo en el vncserver.

    Para lanzar µTorrent, ejecutaremos:

    DISPLAY=:2 wine ~/.wine/drive_c/Program Files/uTorrent/uTorrent.exe

    (En mi caso, he copiado el binario uTorrent.exe en la ruta ~/.wine/drive_c/Program Files/).

    Si es la primera vez que lanzamos Wine, saldra un pequeño asistente, indicar tipo de equipo “Windows XP”. Luego, configurar el µTorrent. (En mi caso, he conservado la configuracion de µTorrent que tenia bajo Windows, copiando los ficheros de configuracion de µTorrent en la misma ruta que el binario en Linux).

    Podemos ver que µTorrent en Linux no requiere muchos recursos:

    top - 06:48:06 up 9 days,  9:01,  3 users,  load average: 0.07, 0.26, 0.68
    Tasks: 112 total,   2 running, 110 sleeping,   0 stopped,   0 zombie
    Cpu(s):  2.3%us,  2.6%sy,  0.0%ni, 94.4%id,  0.3%wa,  0.0%hi,  0.3%si,  0.0%st
    Mem:    256972k total,   253344k used,     3628k free,     3672k buffers
    Swap:   735852k total,    56760k used,   679092k free,    72680k cached
    
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    13873 utorrent   18   0 2597m  10m 4948 S  2.3  4.2  31:05.70 uTorrent.exe
    13877 utorrent   15   0  4076  712  544 S  1.6  0.3   6:41.99 wineserver

    Aqui van algunos pantallazos del µTorrent corriendo en mi Linux:
    pict0004.gif pict0005.gif pict0002.gif

  • (II) Protección de un directorio en Apache2

    Existe una forma de proteger un directorio de los ojos indiscretos a través de la tupla login/contraseña. Seguiremos los siguientes pasos:

    1) Crear un archivo con claves y usuarios:

    htpasswd -c /etc/passwd.apache username

    con la opción -c estamos indicando la ruta del archivo de claves ( que es recomendable que esté fuera del árbol web público para que nadie se lo pueda bajar). Además estamos poniendo el username o nombre de usuario que queremos crear en dicho archivo, que puede ser uno que esté en el sistema o no, es independiente. Nos pedirá la contraseña para dicho usuario.
    Con el fin de establecer la seguridad necesaria, cambie los atributos de lectura y escritura solo para el usuario apache:

    chmod 600 /etc/passwd.apache
    chown apache:apache /etc/passwd.apache

    Si más tarde querríamos añadir más usuarios a dicho archivo para que puedan acceder al recurso web:

     htpasswd /etc/passwd.apache username

    2) Crear otro archivo descriptivo del recurso a proteger:

    Posteriormente, en el directorio web que queramos proteger, deberemos crear un archivo oculto llamado .htaccess con el siguiente contenido:

    AuthName Privado
    AuthType Basic
    AuthUserFile /etc/passwd.apache
    Require valid-user

    3) Hacer que el Apache proteja dicho recurso:

    Por último, deberemos indicar a Apache que para dicho directorio busque el archivo .htaccess que en la configuración por defecto, habíamos puesto en la directiva AllowOverride None para que no lo hiciera. Entonces, si el directorio a proteger es /var/www/privado/ deberemos añadir en /etc/apache/httpd.conf algo como:

    AllowOverride AuthConfig

    y recargar la configuración del servidor.

    Se puede acceder a la información completa en :
  • Asegurando nuestro sistema contra «rootkits».

    Los «rootkits» son un conjunto de herramientas de software diseñadas para buscar procesos activos de nuestro linux, ficheros nuestros o del sistema vulnerables, para, a través de ellos, tomar el control de nuestro sistema sin que seamos conscientes de ello.

    Seguiendo nuestro intento de asegurar nuestra máquina encontramos una herramienta que testeará nuestro sistema y nos indicará si existen vulnerabilidades graves. Hay que tener en cuenta que un sistema linux o no, es vulnerable en función de la pericia del usuario que lo controle. El programa del que tratamos es «Rootkit Hunter».

    Su instalación en nuestro Ubuntu es extremadamente sencilla.

    Bastará un «apt-get install rkhunter» como usuario root para tenerlo instalado. A continuación (también desde root) teclearemos «rkhunter –update» para que rkhunter se conecte con su base de datos en internet e instale las ultimas actualizaciones de la versión. Hay que tener en cuenta que rootkits aparecen constantemente (al igual que los virus) y por ello es conveniente mantener a rkhunter actualizado.

    Por último, «rkhunter –checkall» nos hará la comprobación de nuestro sistema y nos mostrará en pantalla (a la vez que crea un log) lo que ha encontrado como vulnerabilidad.

    Un saludo y a disfrutar de rkhunter («rkhunter» sin parámetros nos indicará los comandos disponibles).