Archive for the ‘Linux’ Category

SUID: permisos para otros usuarios

Thursday, July 1st, 2010

El bit SUID activado sobre un fichero indica que todo aquél que ejecute el archivo va a tener durante la ejecución los mismos privilegios que quién lo creó.

Supongamos. por ejemplo, que el usuario user1 crea un script “test.sh” que tiene como resultado una escritura sobre un fichero cuyo propietario es el mismo usuario.


#!/bin/bash
dt=`date`
echo $USER $dt >> /home/user1/log
echo "Updated the log file sucessfully."

Supongamos, además, que el usuario quiere dar permiso a otros usuarios para ejecutar este script. En este caso hay dos opciones:
(more…)


Conversión de archivos de audio en linux

Wednesday, February 24th, 2010

La herramienta SoX, multiplataforma, permite realizar varias operaciones muy interesantes sobre ficheros de audio:

  • Obtener información:
     $ sox fichero.wav
  • Reproducir audio:
    $ play fichero.wav
  • Grabar archivo:
    $ rec -r 8000 -c 1 fichero.wav

    → graba con un muestreo de 8 kbps y a un canal (la extensión determina el formato).

  • Convertir:
    $ sox fichero.wav fichero.ogg

    → convierte el fichero del formato “wav” a “ogg”

  • Acelerar:
    $ sox fichero.wav acelerado.wav speed 2.0
  • Recortar:
    $ sox fichero.wav recortado.wav trim 60 10

    → devuelve los 10 segundos posteriores al primer minuto.

  • Escuchar podcast:
    $ play http://dondesea.com/ficheros/audio/podcast.mp3

La instalación de Ubuntu es muy sencilla:

$ sudo apt-get install sox libsox-fmt-all

Para otras plataformas: http://sox.sourceforge.net

La reproducción, grabado y/o conversión desde/hacia mp3 requiere de la librería lame.

Via | http://bitelia.com


VT6656 Driver para Ubuntu Karmic Koala

Friday, November 6th, 2009

Tal como sugieren en el thread del bug correspondiente, VT6656 wireless chipset is unsupported, la solución para conseguir que funcione la tarjeta (o adaptador USB) wifi con chipset VT6656 es compilar la versión “staging” del driver, incluído en la versión del kernel 2.6.32-rc6.

En mi último viaje a Japón compré un Kohjinsha SC3 que monta este chipset. Así que he generado un pequeño paquete que permite compilar e instalar el driver en Ubuntu 9.10 (Karmic Koala).

Podéis descargar los fuentes aquí:

driver_staging_vt6656.tgz

Al descomprimirlo generará una carpeta llamada “driver”. Basta con hacer (dentro de la carpeta generada):

$ sudo make install

para que se añada el driver al arranque de Ubuntu. Si ejecutamos:

$ modprobe vntwusb

el driver se cargará y podremos conectar a la red usando nuestra tarjeta wifi con chipset VT6656.

Por último decir que, tal como indican en el thread relacionado con el bug, sólo funciona la encriptación WPA2. No funcionan ni WPA ni la mixta (WPA+WPA2).

Que lo disfrutéis.


GNUmakefile para Objective-C y Objective-C++

Monday, December 22nd, 2008

Construir el makefile para un proyecto Objective-C en el framework de GNUstep es muy sencillo.

Basta con añadir algunas directivas de inclusión de ficheros y la lista de ficheros de código:

include $(GNUSTEP_MAKEFILES)/common.make

APP_NAME = edictParser
edictParser_APPLICATION_ICON = icon.png
edictParser_RESOURCE_FILES = icon.png
edictParser_OBJC_FILES = main.m

include $(GNUSTEP_MAKEFILES)/application.make

Para el caso de querer utilizar código C++, sustituimos la línea:

edictParser_OBJC_FILES = main.m

por:

edictParser_OBJCC_FILES = main.mm

Y un pequeño truco para no tener que modificar el makefile cada vez que añadimos un fichero de código:

edictParser_OBJCC_FILES = $(shell ls -c1 *.mm)

[Nótese que la extensión para los ficheros Objective-C++ es mm.]


FTP recursivo

Friday, September 12th, 2008

Hacer un FTP recursivo utilizando el cliente en línea de comando puede ser un infierno. El comando mget sólo toma los ficheros del directorio actual. Con lo cual hay que navegar “a mano” a través de las carpetas para ir tomando los ficheros y colocarlos en el lugar adecuado.

La solución es utilizar el comando wget:

$ wget -r --user=nombre-usuario --password=pass ftp://nombre-dominio:puerto/path

Por ejemplo:

$ wget -r --user=ilikeblues --password=cutrepass ftp://midominio.com/micarpeta


Configuración proxy en Ubuntu

Monday, May 12th, 2008

Trabajar con máquinas Ubuntu en un entorno con proxy puede ser un poco molesto, sobre todo a la hora de actualizar el sistema operativo o utilizar aplicaciones que realizan conexiones a Internet y no permiten una configuración proxy rápida e intuitiva.

Los navegadores suelen ser fáciles de configurar. Sin embargo,¿cómo hacer para que, por ejemplo, apt-get funcione correctamente?

Es bastante sencillo: sólo hay que añadir estas líneas al final del fichero /etc/profile:

http_proxy=http://{nombre_de_usuario}:{contraseña}@{proxy_server}:{puerto_proxy}/
export http_proxy

Por ejemplo:

http_proxy=http://pepito:grillo@proxy.midominio.com:8080/
export http_proxy

Reboot y listo. apt-get, y el resto de aplicaciones que hacen conexiones de tipo http a internet, funcionando correctamente.


Get Adobe Flash playerPlugin by wpburn.com wordpress themes