Frase

El conocimiento humano pertenece al mundo y por lo tanto todos somos libres de hacer uso de el.

domingo, 22 de febrero de 2009

Gestor de archivos en modo consola linux

mc-panels

Bueno, ahora les presento otra aplicación de shell, bueno una aplicación más en modo consola,esta vez le toca a la sección de Gestor de Archivos, conocemos los gestores de arhivos en modo grafico como son el Nautilus en Gnome, el Konqueror en KDE y el Thunar en XFCE, este es un gestor de archivos en modo consola llamado Midnight Commander (mc), este proyecto lo desarrolla GNU, así que si estamos usando debian, lo podemos instalar via apt, de la siguiente manera:

1.- Abrimos una terminal, Nos logeamos como root

$su

contraseña

2.- Actualizamos los repositorios

#apt-get update

3.- Instalamos mc

#apt-get install mc

4.- Para ejecutar el programa vasta con teclear en consola mc

$mc

Podemos ver sus opciones en la parte superior, se encuentra el menú, y en la parte inferior se encuentran algunas funciones basicas.

Dentro del programa podemos hacer multiples tareas como son, crear directorios, cambiar permisos, dueño, enlaces, buscar archivos, renombrar, etc.

Bueno, otras de las fantasticas opciones de este programa es que incluye un gestor de trasferencia de archivos, hablo de que también nos sirve como ftp, cuando instalamos mc, también nos instala un editor llamado mcedit, sólo basta teclear su nombre para invocarlo

$mcedit

Una de las caracteristicas muy importantes, es que tanto en mc como en mcedit podemos usar el mouse.

Aquí les dejo la liga del proyecto, en caso de que usen otra distribucción:

http://www.ibiblio.org/mc/

Pebrot

Bueno, hoy les traigo una aplicación en modo consola, que me ha convencido como mi cliente de mensajeria instantanea para el protocolo que implementa hotmail, que es el msn, esta aplicación se llama pebrot, es una aplicación desarrollada en python, por lo cual para poder instalar esta aplicación es necesaria tener una versión de python mayor o igual a la versión Python 2.2.

1.- Primero nos descargamos el código fuente desde la página del proyecto, buscamos en la página una apartado donde diga download

http://pebrot.sourceforge.net/

2.- Una vez descargado, abrimos una terminal y nos logeamos como root

$su

tecleamos nuestro password

3.- Ahora nos dirigimos al directorio donde descargamos el archivo, en mi caso es en mi directorio Software/

#cd Software/

4.- Ahora descomprimo y desempaqueto el archivo descargado, en mi caso es el pebrot-0.8.8.tar.gz

#tar -zxvf pebrot-0.8.8.tar.gz

5.- Ahora acceso al directorio desempaquetado, que es pebrot-0.8.8

#cd pebrot-0.8.8

6.- Ahora ejecutamos el instalador

#python setup.py install

7.- Nos salimos de la cuenta de root

#exit

8.- Ahora configuramos nuestra cuenta de correo de hotmail, para ello editamos el siguiente archivo

$vim ~/.pebrot/pebrotrc
“Buscamos donde diga:”
user=
“Ahora lo dejamos, con nuestra cuenta”
user = micorreo@hotmail.com
“Salimos y guardamos cambios”
Esc :wq

8.- Ejecutamos pebrot

$pebrot

“Nos aparecera nuestra cuenta, y nos pedira nuestra contraseña”

“Tecleamos nuestra contraseña, en caso de no teclear correctamente nuestra contraseña, nos manda un error en el programa, así que hay que ejecutar de nuevo el comando”

Algunos comandos importantes:

\h muestra la lista de comandos

\l lista la lista de contactos conectados, enumerados

\numero abre una conversación con el número del contacto

\i numero invita a un usuario a la conversación, numero, es el número del contacto

\e limpia la pantalla

\c cierra la conversación activa

\a usuario añade un usuario a la lista de contactos

\b usuario bloquea a un usuario de nuestra lista de contactos

\f archivo envia un archivo

\fa acepta un archivo que nos deseen enviar

\fr rechaza la recepción de un archivo

\s estado cambia de estado de tu conexion

estado puede tener los siguientes valores

awy Ausente

nln En linea

bsy Ocupado

Existen varios estado, para ello hay que consultar \h

La tecla tab nos ayuda a desplazarnos entre las conversaciones que tengamos

sábado, 17 de enero de 2009

Reparar Grub con LiveCd

- Arranca el liveCD de Ubuntu. Si no sabes exactamente que partición es (como se llama en ubuntu) la que tiene ubuntu instalada puedes hacer en consola:
Código:
sudo fdisk -l
Te tienes que fijar en una línea que pondrá algo como esto:
Código:
/dev/hdc1               1        2882    23148544   83  Linux
En mi caso me dice que donde tengo linux es en el tercer disco duro (me lo indica la "c") y en la primera partición (me lo indica el "1").

Si por te ejemplo te saliese algo como esto:
Código:
/dev/sda2               1        2882    23148544   83  Linux
Te estaría diciendo que está en el primer disco duro (la "a") y en la segunda partición (el "2")

Es decir para ubuntu empieza a contar los discos duros con letras (a,b,c) y las particiones con número (1,2,3). Para grub se numeran de otra forma (empieza a contar los discos duros desde 0 y las particiones desde 0). Si ejecutas en consola:
Código:
sudo grub
Entras en un apartado especial de grub en el que funcionan unos pocos
comandos si haces:
Código:
root (hd0,1)
Con esto haces que grub sepa donde está ubuntu o cualquier otro linux, en verdad este paso sirve para decirle a grub donde tiene que buscar el directorio /boot, necesario para que grub pueda funcionar y linux pueda arrancar (también puede darse el caso que /boot esté en una partición distinta del directorio raíz), en este caso está en el primer disco duro y en la segunda partición (recuerda: para grub se empieza a contar desde 0).

Luego puedes reinstalar grub haciendo lo siguiente:
Código:
setup (hd0)
Y se reinstala grub al principio del primer disco duro (es lo más común, instalarlo al principio de un disco duro, en el MBR), si todo ha ido bien te tiene que decir algo como esto:
Código:
 Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 17 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,0)/boot/grub/stage2
/boot/grub/menu.lst"... succeeded
Sales de grub poniendo:
Código:
quit
Y reinicias sin el cd, ahora debería estar grub como estaba antes de instalar Vista.

viernes, 16 de enero de 2009

Video y Wifi en Ubuntu

Pues les comento que yo puse estos drivers (anterior post) porque desgraciadamente uso windows para correr el photoshop y muchos otros programas de diseño, pero yo soy seguidero del mundo GNU/Linux desde hace ya 4 años y voy a ayudar a otros que se esten cambiando a este mundillo :) , en linux no es necesario instalar, drivers de sonido, procesador y demaces, solo hay que “Arreglar” el de WiFi y el GeForce 7000M (que es una B0Ludes ya que te lo detecta solo :D )

WiFi: Primero debemos tener instalado Ubuntu en nuestra Notebook, Segundo hay que descargar los drivers de WiFi que puse en el post anterior para windows, y descomprimirlos en nuestro /home (carpeta personal)

  1. Escribe en una consola: sudo rmmod ath_pci (para borrar un driver en conflicto)
  2. Escribe luego: sudo gedit /etc/modprobe.d/blacklist
    1. Añade al final del archivo: blacklist ath_pci
    2. Guarda el archivo.
  3. Reinicia el Ordenador
  4. En la Terminal (consola) escribi: sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9
  5. ve al directorio/carpeta (/home/[Nombre de usuario]/WLAN Atheros AR5007 5.3.0.45/ndis5x) o donde metiste los drivers de wifi y escribe: sudo ndiswrapper -i net5211.inf
  6. Escribe: sudo ndiswrapper -m
  7. Escribe: sudo modprobe ndiswrapper (si se les traba el PC reinicien el sistema y vuelvan a ejecutar el comando)

Ahora veremos como hacer que cada vez que se inicie el sistema reconosca el WiFi

  1. Escribe en la consola: sudo gedit /etc/modules
    1. Introduce al final del archivo: ndiswrapper
    2. Guarda el Archivo

Y listo, wireless en nuestro portatil con ubuntu.

Ahora el Video :D :

Es Muy Facil:

Abren una consola y escriben: sudo apt-get envyng-core envyng-gtk (o para Kubuntu cambian el gtk por qt)

Ahora en Menu>Herramientas ban a tener el progama EnvyNG, lo abren y seleccionan NVIDIA y seleccionan Instalar el Controlador NVIDIA (deteccion automatica de hardware) y listo se os comenzara a instalar el driver automaticamente :D haci de facil y ahora desde Sistema>Admin> Nvidia X Settings puedeb seleccionar la resolucion que quieran y ocn esto ya tienen ACELERACION 3D y van a poder ejecutar Compiz-Fusion :D bueno espero que les aya servido, atentamente: MiCruma

Instalar Java JDK en Win XP

Desde hace por lo menos un año llevo usando Java, pues ahora le diré como compilar algún código en Java en Windows XP.

Pues este es un tutorial de como instalar.

Primero vamos a descargar el The Java SE Development Kit (JDK) de este sitio:

http://java.sun.com/javase/downloads/index.jsp

La versión con la que hago este tutorial es con la versión 6 Update 2.

IMPORTANT: Siempre JDK se actualiza, es bueno tener la última versión ya que corrige muchos bugs.

Ejecutamos el archivo que bajamos y aparecerá una pantalla como esta, y le Damos Accept

Nos aparecerá donde queramos que se instale, en este caso Yo lo instale en C:/Java/. [Pueden dejar la dirección de default que se instala en C:/Archivos de programas/.

Le damos clic en Next y Empezará la instalación de Java Development Tools:

Ahora te pedirá donde quieres intalar el Java SE, Este es indispensable para Windows XP. Al igual que el anterior lo instalé en C:/Java/, pero puedes dejar la carpeta de instalación de Default, que es C:/Archivos de programas/

Dale Next y empezará la instalación de Java SE:

Terminará la instalación, deberá aparecer una ventana como esta y le das clic en Finish:

Seguido de esto, necesitamos decirle a nuestro computador donde esta el compilador de JAVA, para esto vamos a MI PC y hacemos clic derecho con el botón del mouse y vamos a Propiedades y después nos vamos a la pestaña donde dice Opciones Avanzadas. Damos Clic en Variable de entorno.

Luego buscamos la variable llamada "Path" en las Variables del Sistema y hacemos click en modificar. Al final del campo llamado "valor de variable" escribimos la ubicacion del compilador de JAVA, en nuestro caso escribimos ";C:\Java\jdk1.6.0_02\bin". Noten el ; que hay antes de c: esto separa nuestro directorio de los otros valores ya ingresados

En la misma ventana de Variable de entorno. Creamos una variable llamada Classpath, en entradad tendrás que ingresar la dirección de la variable. En este caso la dirección es ;C:\Java\jdk1.6.0_02\src.zip\ Para terminar hacemos clic en Aceptar y cerramos todas las ventanas

Ahora vamos al Menu Inicio -> Todos los programas -> Accesorios -> Simbolo del sistema.
Aparecera ante nosostros una Consola de DOS, en ella escribimos java y hacemos un enter y después tecleamos javac para ver si el sistema encuentra el interprete de JAVA. Si nos sale algun error, hay que volver atras a revisar la configuracion de las variables de entorno del sistema.

Y eso es todo para poder compilar algún código Java en Windows XP, un buen IDE para compilar código Java, les recomiendo uno llamado JCreator, que es muy bueno, solamente lo instalan y toma todos estos valores para poder compilar igual.

miércoles, 14 de enero de 2009

Manual SSH: El dios de la administración remota

Y es que no se merece un titular peor. ¿Has estado alguna vez en el trabajo o en casa de y has necesitado o te has acordado de un archivo que no tienes en ese momento pero sí en tu ordenador? Existen los escritorios remotos, de hecho Ubuntu trae uno instalado por defecto, pero puede que no queramos hacer más que mandarnos un archivo o hacer algo en el ordenador remoto. Para esto -y mucho más- existe SSH, con un inmenso potencial.

SSH son las siglas de Secure SHell. Lo que te ofrece es una consola en un ordenador remoto con los privilegios que tenga la cuenta con la que conectes. Es decir, si en tu PC tienes varias cuentas, puedes conectar desde otro ordenador al tuyo con cualquiera de esas cuentas y sus respectivos privilegios, como pudiera ser la cuenta root, la de tu administrador sudo o la de un usuario normal sin poder de administración. Y todo esto con encriptación de datos.

En este tutorial os voy a mostrar algunas facetas de su uso, pero antes debéis saber que tener el servidor de SSH corriendo es de cierto riesgo, ya que si no tocáis la configuración por defecto para aumentar la seguridad a un nivel más que aceptable, puede ser un agujero para que alguien pueda entrar en vuestro sistema. Pero no os preocupéis, si seguís estos pasos es difícil que suceda, nunca imposible, pero sí difícil.

El manual es algo extenso debido a que he intentado hacer que resulte bastante completo y que, como llevo haciendo en el resto de tutoriales, quiero que sepáis lo que estáis haciendo, los porqués y lo que significa cada cambio que hacéis. De esta forma tendréis criterio propio para vuestras modificaciones personales.

Instalar

En vuestros repositorios ya tenéis SSH dispuesto a instalar, así pues:

$ sudo aptitude install ssh

Una vez instalado se autoiniciará el demonio que ejecuta el servidor SSH y gestiona las solicitudes de login remoto.

Configuración: Mayor seguridad

Como decía antes no es muy inteligente usar SSH sin modificar el fichero de configuración del servidor. Vamos a modificar algunas opciones para conseguir una seguridad aceptable.

$ sudo gedit /etc/ssh/sshd_config

(nota) Si algunas de las opciones que aquí comento no aparecen en vuestro sshd_config, simplemente agregadlas. Podéis hacerlo donde queráis, aunque lo suyo es que lo hagáis al principio o al final para que sepáis cuales son las opciones que vosotros habéis agregado.

Vemos un fichero de configuración típico basado en “opción valor”. Vamos a comenzar las modificaciones por el puerto que es lo primero que vemos y una de las cosas más importantes. SSH usa por defecto el puerto 22. Esto significa que si no lo cambiamos estamos entregando a un caco que sabe la dirección de dónde vivimos (nuestra IP) también la llave del portal.

Cambiaremos el puerto para evitarlo. Esto no quita que el caco pueda intentar averiguar “el portal” si sabe cómo hacerlo pero al menos le ponemos impedimentos. También hay scripts que atacan directamente el puerto 22, por lo que el cambio de puerto es algo obligatorio. Poned el que queráis y abridlo también en el router para que podáis acceder a vuestro ordenador desde otro. Usaremos por ejemplo el 4321, podéis poner el que queráis. Así pues en el fichero de configuración:

port 4321

Un poco más abajo buscad la opción “Protocol” debe estar a valor 2, si no es así (valor 1 ó 2,1 ponedla. Hay dos versiones de protocolo SSH. La primera está ya en desuso y tiene varias vulnerabilidades. Así debéis dejarlo en vuestra configuración:

Protocol 2

Buscad la sección “Authentication”. Sus dos primeras opciones son también importantes. La primera es el número de segundos que tendrá el usuario remoto para hacer login en tu máquina. Poned ese valor a pocos segundos, no tardamos mucho en hacer login si sabemos la cuenta y la password. De esta forma evitamos ciertos scripts que se aprovechan de ese tiempo. El valor típico en términos de seguridad es 30, aunque podéis poned incluso menos si estáis más conformes.

LoginGraceTime 30

Justo debajo tenéis otras de las opciones más importantes, PermitRootLogin. Si antes usé la metáfora del caco y el portal, esta opción viene a ser que le digáis también en qué planta del bloque de pisos vivís y qué puerta, faltándole sólo la llave. Con esto lo que insinúo es que si sabe por qué puerto entrar, tan sólo le queda averiguar dos datos: el nombre de una cuenta y su contraseña.

Si tenemos esta opción habilitada (yes) el caco ya tiene la mitad del trabajo hecho, pues el usuario “root” existe en todas las máquinas GNU/Linux, tan sólo le queda averiguar la contraseña. Por eso es más que recomendable deshabilitar esta opción. No os preocupéis los que tenéis en mente usar SSH para hacer un uso administrativo, podéis hacerlo con vuestra cuenta y sudo sin problema alguno. Así pues…

PermitRootLogin no

También podéis señalar con el dedo las cuentas que tienen permitido el uso SSH (AllowUsers). Pongamos un ejemplo, que es como mejor se entienden las cosas: Supongamos que tienes un amigo con el que quieres compartir algo vía SSH y además tiene un hermano que es un enreda y en el que no confías por si te la puede liar. Llamaremos a las cuentas “amigo” y “pesado” respectivamente. Para restringir el uso de SSH a tu amigo y a tu propia cuenta (llamémosla “pepino”) podemos indicárselo mediante configuración. Incluso podemos indicar también que tu amigo sólo se pueda conectar a tu ordenador desde el suyo, sabiendo su IP (supongamos que es 83.45.258.21). Pondríamos en la configuración:

AllowUsers pepino amigo@83.45.258.21

De esta forma tú podrías usar tu cuenta (pepino) para conectar a tu equipo desde cualquier lugar, tu amigo podría hacerlo sólo desde su ordenador (si tiene esa IP) y tu hermano no podría conectar a tu máquina vía SSH, si no tiene tu cuenta.

Otra opción interesante es el número de intentos que tiene el usuario remoto para hacer login (MaxAuthTries). Como comenté antes, quien intente conectar debe acordarse de su login y password, por lo que es tontería darle un número grande de intentos. En principio con dos son más que suficientes. Si al segundo intento no lo ha conseguido se cortará la conexión SSH. Siempre se puede volver a conectar y reintentarlo, pero así nos quitamos de encima ciertos scripts que intentan encontrar el login por fuerza bruta a base de ensayo y error.

MaxAuthTries 2

Por último hay otra opción que define el número máximo de usuarios conectados simultáneamente a tu máquina. Esto ha de adaptarse a tus propias necesidades. Si estamos hablando de un ordenador personal donde sólo vas a conectar tú, pues lo lógico sería que como mucho hubiera una. Si estamos hablando de un ordenador que hará las veces de servidor compartiendo una carpeta a varias máquinas, deberás decidir cuántos son. Cuanto tengas claro el número indícalo en la opción siguiente en lugar de la ‘X’:

MaxStartups X

Ya podéis guardar y cerrar gedit. Con esto tenéis un servidor SSH bastante seguro. Como comenté antes nunca es 100% seguro pero a priori podéis estar bien tranquilos. Sólo resta reiniciar el propio servidor SSH para que tome los cambios que hemos efectuado en su configuración. Escribid en consola:

$ sudo /etc/init.d/ssh restart

Un último consejo. Como habéis visto podemos poner trabas al caco en cuanto a nuestra dirección y puerta, pero ¿podemos ponerle problemas con la llave? La llave se entiende que es la contraseña. Y la respuesta es afirmativa. Podéis hacerlo pero vosotros mismos. Poned claves en condiciones a vuestras cuentas. Usad como poco 5 ó 6 caracteres y a ser posible que se entremezclen mayúsculas, minúsculas y números, por ejemplo: entr3TuXeSyp3p1n0s.

Es un ejemplo exagerado, enrevesado a la hora de escribir e incómodo para meterlo en sudo cada dos por tres, pero intentad que sea del estilo y procurad que no sea algo tan simple como vuestro nombre, el de vuestra mascota, vuestra fecha de nacimiento, grupo favorito, etc.

Uso de SSH en consola
  • Conectar

Ahora que tenemos SSH bien seguro es hora de que veais para qué sirve. Parto de que tenéis dos equipos, el que tenéis delante y al que queréis conectar. Obviamente debéis tener una cuenta en el segundo para poder entrar. La forma de conectar por defecto es la siguiente:

$ ssh tu_cuenta@ip_del_ordenador_remoto

Esto sería si no hubiéramos cambiado el puerto, ya que intentaría conectar por el puerto 22 que es el puerto por defecto del cliente. Podéis cambiarlo si queréis para que conecte por defecto por el puerto que le digáis en lugar del 22 editando el fichero /etc/ssh/ssh_config. Descomentáis (si está comentada) la opción “Port” y en lugar de “22″ ponéis el que queráis.

La otra opción, que es lo más normal, es simplemente indicarle en la línea de conexión qué puerto ha de usar:

$ ssh -p puerto tu_cuenta@ip_del_ordenador_remoto

Para que lo veais más claro os voy a poner un ejemplo. Mi portátil está en la ip 192.168.1.4 y el puerto SSH que tengo para el mismo es el 4884. La cuenta que voy a usar para conectarme es “pepino”, así que para conectar desde mi PC de sobremesa al portatil sería:

$ ssh -p 4884 pepino@192.168.1.4

Tras esto me pedirá la contraseña:

pepino@192.168.1.4's password:

La introducimos y tras un texto de “bienvenida” veremos que nuestro prompt ha cambiado a “nombre_cuenta@nombre_manquina”. Mi portatil se llama salamandra, así pues mi prompt es:

pepino@salamandra:~$

A partir de este instante tu consola está controlando el equipo remoto. Estarás en el home de tu cuenta en la máquina remota. ¿Qué podemos hacer?

  • Copiar ficheros

Seguramente es lo primero que se os ha pasado por la cabeza a algunos. Efectivamente podemos copiar ficheros fácilmente desde el ordenador remoto al que estamos usando en este momento, y es fácil (es una sóla línea):

$ scp ruta/archivo cuenta_en_ordenador_presente@ip_ordenador_presente:ruta/fichero

Complicado a priori, ¿verdad? En el fondo no lo es, una vez sabéis qué es cada cosa. ruta/fichero es el lugar donde está el archivo a copiar en la primera aparición, y el lugar donde se va a copiar en la segunda. cuenta_en_ordenador_presente es la cuenta que estáis usando (u otra) en el ordenador que tenéis delante (no el remoto). La ip_ordenador_presente es precisamente la ip de vuestro ordenador. Pero como siempre mejor con un ejemplo.

Supongamos que quiero copiarme un fichero llamado pepino.jpg que está en el escritorio de la cuenta “pepino” del portátil (el ordenador remoto) y quiero copiármelo en el home de la cuenta “tux” de mi ordenador presente, cuya ip es 192.168.1.6. Ya que estoy quiero aprovechar y cambiarle el nombre. Quiero que se llame pepinaceo.jpg en lugar de pepino.jpg. Escribiremos en el SSH (es una sóla línea):

$ scp /home/pepino/Desktop/pepino.jpg tux@192.168.1.6:/home/tux/pepinaceo.jpg

¿No funciona? ¿Sabes por qué? El puerto, recordad que lo cambiamos y aquí también tenemos que indicárselo. En el ordenador de sobremesa tengo abierto el puerto 8448, así pues (es una sóla línea):

$ scp -P 8448 /home/pepino/Desktop/pepino.jpg tux@192.168.1.6:/home/tux/pepinaceo.jpg

Nos pedirá la contraseña de la cuenta “tux” en el ordenador que tenemos delante y copiará el archivo:

pepino@192.168.1.4's password:
pepinaceo.png 100% 292KB 291.7KB/s 00:00

Y si ya estuvieramos en el escritorio (prompt: pepino@salamandra:~/Desktop$) no habría que poner toda la ruta si no queremos ya que tomaría la ruta relativa a la actual:

$ scp -P 8448 pepino.jpg tux@192.168.1.6:/home/tux/pepinaceo.jpg

(Nota) Ojo con la ‘P’ que en este caso debe ser mayúscula.

Otra gracia del asunto es que no tienes por qué copiarlo a tu equipo actual. Si tienes acceso a otro ordenador más, puedes copiar algo de uno al otro del mismo modo, es decir, teniendo login en ambos y sabiendo su IP. Por otro lado si lo que queremos copiar es una carpeta, basta con añadirle el parámetro ‘-r’ para que copie todo su contenido (r=recursivo).

  • Otros usos

Básicamente cualquiera que se os pase por la cabeza. Daros cuenta que para un sistema GNU/Linux el interfaz no lo es todo, de hecho es prácticamente una aplicación que está corriendo bajo el propio sistema operativo, por lo que podéis administrar perfectamente vuestro equipo desde una consola y con acceso remoto vía SSH. Dentro de una conexión SSH, podéis reiniciarlo:

pepino@salamandra:~$ sudo reboot
Broadcast message from pepino@salamandra
(/dev/pts/1) at 23:45 …
The system is going down for reboot NOW!

O apagarlo:

pepino@salamandra:~$ sudo halt
Broadcast message from pepino@salamandra
(/dev/pts/1) at 23:51 …
The system is going down for halt NOW!

O usar cualquier otra aplicación de texto, como podría ser una que os presenté hace poco y que os podría venir muy bien en este caso: links. De esta forma si queréis podeís navegar en la consola y descargaros algo en vuestra máquina estando en otra.

El abanico de posibilidades es realmente inmenso.

SSH en Nautilus

Lo cierto es que si lo que queremos es simplemente copiar archivos o ver el contenido de alguno de ellos que están en otra máquina, podemos usar nautilus que siempre será más amigable para algunos que a través de consola.

No hay mucho cambio al respecto. Alt+F2 y escribid dentro “nautilus”. Se os abrirá el navegador de archivos. Nautilus tiene dos formas de mostrarte dónde estás dentro de la jerarquía de directorios. Una es a través de botones donde cada carpeta es un botón que puedes pulsar para volver atrás:

Y otra que te indica la ruta en modo texto:

Para cambiar de un modo al otro pinchad en el icono que está a la izquierda del todo que es un folio escrito y un lápiz. Nos quedaremos en el segundo modo y en la caja de texto de “Lugar:” escribiremos la orden de conexión:

ssh://tu_cuenta@ip_pc_remoto

Siguiendo con los ejemplos anteriores:

ssh://pepino@192.168.1.4

Esto sería si el puerto es el que está por defecto, como nosotros lo cambiamos tenemos que indicárselo con “:puerto” tras la ip. En nuestro ejemplo:

ssh://pepino@192.168.1.4:4884

Ahora nos pedirá la contraseña de la cuenta. Tenomos estas tres opciones:

Tomad la decisión que queráis. Personalmente yo soy de los prefieren tomarse la molestia de introducir la clave en cuestiones tan importantes como es la seguridad de SSH.

Tras esto nos colocará en la raíz de la máquina remota. Si lo que queríamos era que nos dejara en una carpeta determinada se lo podemos indicar en la línea de conexión. Por ejemplo en el escritorio de nuestra cuenta:

ssh://pepino@192.168.1.4:4884/home/pepino/Desktop/

Ahora podéis copiar archivos y carpetas con total comodidad desde vuestro escritorio GNOME.

Ejecutar aplicaciones gráficas remotamente

Otra cosa muy práctica que podemos hacer gracias a SSH es ejecutar una aplicación que no tenemos en el equipo actual pero sí en el remoto y trabajar allí. Es decir, puedes mirarlo como un servidor de trabajo gráfico. Si aún no queda claro os pongo otro ejemplo:

Mientras estábais fuera de casa el pesado de tu hermano se ha hecho con tu ordenador porque tiene que hacer algo y si no “se lo dice a mamá“. Sin embargo tú también tienes cosas que hacer en él. No hay problema. Te pones en el equipo de tu hermano y abres la aplicación que necesites de tu propio ordenador en el PC de tu hermano.

Práctico, ¿verdad? Pues es muy sencillo, basta con añadir un argumento más (-X) y el nombre de la aplicación que queremos usar. Por ejemplo imaginemos que queremos jugar a Doom en DOSBox, y en el ordenador de tu hermano no tenemos ninguna de las dos cosas. Podemos instalar DOSBox, copiar la carpeta de Doom, montarla y jugar. O también podemos ejecutar directamente DOSBox remotamente y montar el juego que ya tenemos en nuestro equipo:

$ ssh -X -p 4884 pepino@192.168.1.4 dosbox

Ahora tan sólo resta montar la carpeta como ya os mostré. Podéis introducir la ruta de vuestro PC pues en el fondo es en vuestro PC donde se está ejecutando todo.

Cambiar el mensaje de bienvenida

Ya saliendo de la parte práctica, he querido hacer esta pequeña sección dentro del manual para los fanáticos de la personalización como yo. Si recordáis cuando os expliqué la conexión por consola, os comenté que tras introducir la clave nos daba una especie de texto de bienvenida. Este texto de bienvenida es modificable y puedes poner lo que quieras. Este es el de mi equipo de sobremesa:

Para hacerlo es simple. Tienes que editar (con privilegios de administrador) el archivo /var/run/motd y escribir dentro lo que quieras que aparezca cuando alguien se conecte. Es decir:

$ sudo gedit /var/run/motd

Lo modificamos a nuestro gusto, guardamos y cerramos gedit.

Hace unos días mi amigo Kasual me pidió una y otra vez algún articulo que hablara un poco de la Terminal de Linux. Se que a todo el mundo no le agrada mucho el teclear comandos bajo la terminal pero hay gente que esto le empieza a ser apasionante y quieren aprender un poco mas. Para mi el teclear es algo que todavía no ha perdido su atractivo y me gusta defenderme en sistemas que no tienen un entorno gráfico para tirar de ratón.
En este articulo os voy a enseñar algo muy curioso y muy sencillo. Se trata de comunicarse entre Terminales.

¿ Para que puede servirnos ?

Imaginemos que estamos conectados a un servidor por ssh y necesitamos hacer algo sin interrupciones por parte de otro usuario que esté conectado desde otra Terminal como por ejemplo editar un archivo o simplemente compilar algún programa sin que el otro usuario nos modifique nada cuando nosotros estemos operando. Para esto podemos hacer dos cosas, llamar por teléfono a los que creamos que pueden conectarse o mirar nosotros mismos quien hay conectado a el servidor y enviarle un mensaje. Esta técnica también podríamos aplicarla para saber si hay algún intruso conectado a nuestro servidor y tomar medidas.

En mi caso he usado Linux Ubuntu aunque esta técnica funciona en la mayoría de distribuciones Linux actuales. Para ello usaremos el comando ” Who ” que es capaz de mostrarnos información sobre los usuarios que hay conectados y desde que Terminal.

Para comenzar vamos a abrir una Terminal desde el menú Aplicaciones -> Accesorios -> Terminal y vamos a teclear el comando …

who

entreterminales1

Como podemos ver se muestra el usuario, el numero de Terminal, la fecha y la hora en la que fue conectado. En estos momentos representa que nosotros estámos conectados a la Terminal ” pts/0 “. Ahora para hacer la prueba vamos a abrir otra Terminal y tecleamos de nuevo el comando …

who

entreterminales2

Como veis ha aparecido otro usuario nuevo llamado ” forat ” y con el nombre de Terminalpts/1 “. Dentro del directorio /dev/pts es donde nuestras terminales se van creado y es hay donde tenemos que mandar el mensaje.

Para enviar un mensaje a la nueva Terminal llamada ” pts/1 ” vamos a usar el comando ” echo ” que como muchos de vosotros ya sabéis es para enviar un texto a una salida estándar como puede ser una Terminal.

La forma que usaremos para enviar un texto a la otra Terminal es tan sencilla como la siguiente …

echo ” hola que tal, necesito reiniciar ¿ Estas haciendo algo ? ” >> /dev/pts/1

De este modo la Terminalpts/1 ” vera el siguiente mensaje …

entreterminales4

Aprender los secretos de la Terminal no es estrictamente necesario a la hora de usar Linux y menos si usamos Linux Ubuntu pero siempre es bueno tener nociones y saber hacer algo en concreto en el momento exacto que podamos necesitarlo.

Compartiendo carpetas con equipos Windows en Ubuntu Hardy Heron

1.- En la primera maquina elegís la carpeta a compartir, haces botón derecho de mouse arriba y te vas a opciones de compartición. Si no tenes el SAMBA instalado te guía como hacerlo.

2.- Marcas compartir esta carpeta, escribís el nombre de la carpeta compartida o le dejas el que tiene. Le das al botón crear compartición. y listo.

3.- En la otra PC para buscar la carpeta compartida, buscas en la dirección IP de la primera PC directamente en la barra del navegador de archivos poniendo por ejemplo: smb://192.168.1.1 ... ya deberias ver las carpetas compartidas.



La versión 8.04 de Ubuntu mejora un poco lo que es el compartir carpetas con usuarios de sistemas operativos Windows. Por desgracia, aún contiene ciertos detalles menores, aunque es mucho más cómodo que en versiones anteriores una vez que configuramos todo correctamente. A continuación se explica como compartir carpetas en Ubuntu.

Primero, vamos a la carpeta que queremos compartir, y elegimos Opciones de compartición.



Saldrá una nueva ventana, donde podemos configurar las opciones de compartición de la carpeta elegida. Si es la primera vez que lo hacemos, nos mostrará un diálogo indicándonos que el servicio de compartición no está instalado, y si deseamos instalarlo. Elegimos Instalar el servicio, seguido de lo cual, nos pedirá nuestra contraseña de usuario para instalar los paquetes necesarios (samba y libpam-smbpass).


Después de esto, ya podremos configurar las opciones para compartir la carpeta con los usuarios Windows, como el nombre compartido, y si deseamos que otros usuarios puedan escribir en ella.
No nos interesa el tema de la seguridad, asi que habilitamos el acceso de invitado, para que cualquier usuario dentro de nuestra red tenga acceso a la carpeta. Después de esto presionamos el botón de Crear compartición.

Aqui vendría el primer mensaje de error. Ubuntu nos diria algo como lo siguiente:

La «red compartida» devolvió el error 255: net usershare: cannot open usershare directory /var/lib/samba/usershares. Error Permiso denegado You do not have permission to create a usershare. Ask your administrator to grant you permissions to create a share.

Cerramos la ventanita de Opciones de compartición. Hay dos maneras de solucionar esto:

1) Reiniciando el demonio de samba. Para ello, escribimos en una terminal lo siguiente:

sudo /etc/init.d/samba restart

2) En caso de que lo anterior no funcione, reiniciar todo el sistema.

Yo me decanté por la segunda opción. Después de ello, ya deberíamos de ser capaces de compartir carpetas sin problemas. Pero antes de esto, editamos el archivo smb.conf para poner el nombre de la red que usamos para trabajar. Escribimos en una terminal:

sudo gedit /etc/samba/smb.conf

En la sección [global], buscamos la opcion workgroup y cambiamos su valor al valor que usemos para el Grupo de trabajo de la red de Windows (click derecho en Mi PC - Propiedades - pestaña de Nombre de equipo). Guardamos los cambios, y reiniciamos samba con:

sudo /etc/init.d/samba restart

Después de ello, los equipos con Windows ya deberian de ser capaces de ver a nuestro equipo y lo que compartimos, y viceversa.

Pero, ¿qué pasa si queremos compartir carpetas de unidades NTFS montadas en nuestro equipo?

Si elegimos compartir alguna carpeta dentro de una unidad NTFS, nos mostraría el siguiente mensaje al intentar hacerlo:

La «red compartida» devolvió el error 255: net usershare add: cannot share path /media/Data/ISO as we are restricted to only sharing directories we own. Ask the administrator to add the line "usershare owner only = False" to the [global] section of the smb.conf to allow this.

Básicamente ahi mismo nos da la explicación del problema y su solución. En Ubuntu, las unidades son montadas por root. Nosotros somos usuarios de a pie, y por lo tanto no tenemos privilegios sobre éstas, entre los cuales está el poder compartirlas. Pero podemos decirle a samba que 'ignore' esto y baje su nivel de seguridad modificando el archivo smb.conf.
En una terminal escribimos:

sudo gedit /etc/samba/smb.conf

Nos vamos a la sección inicial, la [global], y agregamos:

usershare owner only = False


Cerramos guardando los cambios, y reiniciamos samba con:

sudo /etc/init.d/samba restart

Después de esto, podremos compartir cualquier carpeta que podamos ver, incluyendo las que estan dentro de unidades NTFS a las que tengamos acceso.

Un detalle: en mi caso, por alguna razón, al momento de agregar las carpetas que comparto, e inmediatamente después de iniciar el sistema Ubuntu, no veo nada en la Red en Ubuntu. pero pasado un minuto o dos, ya se puede ver lo que esté compartido. Este problema solo existe en modo gráfico, porque si quiero acceder a los shares en modo texto, no tengo el problema.

Ndiswrapper

Muchos de vosotr@s teneis problemas con Ubuntu porque no os detecta la tarjeta de red (ya sea interna o inalambrica tipo llave USB) y no podeis conectar a Internet. Esto en parte no es culpa de Ubuntu o de ningun otro Linux, le podriamos dar un pequeño tiron de orejas al fabricante del hardware, por no proporcionar un driver nativo para Linux. Con el tiempo ira cambiando, y seguramente dentro de poco no tengamos que pelearnos con compilar drivers, ni tonterias de esas para poder usar nuestro hardware en nuestro linux.

Pero para aquellos de vosotros que tengais problemas de conexion, tal vez esto os sirva de ayuda. Se trata de ndiswrapper y es una utilidad que nos permite usar la tarjeta de red en Linux a partir de los ficheros que se proporcionan con el driver de Windows. Es decir, usaremos el driver de Windows para poder conectar, pero usados dentro de nuestro Linux. A muchos no os servira, porque no estan soportadas todas las tarjetas, pero es cuestion de probar.

Me hubiera gustado comentar todo esto con un tutorial de los “buenos” pero por motivos temporales no podre escribirlo hasta dentro de unas semanas. De todas formas os dejo el siguiente video que cuenta paso a paso como instalar Ndiswrapper y configurar una tarjeta de red para poder usarla en Linux mediante esta aplicacion.

El video, por desgracia, esta en ingles, pero al ser grafico no es muy complicado de seguir. Asi que intentare hacer un resumen rapido.

Lo primero que hace el autor es usar el comando: “lspci” o “lsusb”. El primero es por si tienes una tarjeta de red interna, el segundo es para tarjetas basadas en USB. Con estos comandos nos aseguramos que el sistema las haya detectado correctamente y podamos utilizarlas.

Por ejemplo, en mi caso tengo un adaptador conceptronics inalambrico, asi que ejecuto:

jose@soledad:~$ lsusb
Bus 001 Device 001: ID 0000:0000
Bus 004 Device 002: ID 14b2:3c02 Atheros Communications Inc

Y veo que el sistema, al menos me la detecta y reconoce. Algo es algo.

Despues lo que hace es conectar a la pagina de ndiswrapper para bajarse el codigo de la aplicacion y compilarlo con el comando “make”.
Sin embargo y de acuerdo a lo leido en el blog de tac, ndiswrapper esta en el CD de ubuntu, asi que podriamos instalarlo siguiendo los siguientes pasos (no probado):

Después de instalar, y con el cdrom dentro del equipo se ejecuta

$ apt-cdrom add

para añadirlo a sources.list. A continuación, lo típico

$ apt-get install ndiswrapper-common ndiswrapper-utils-1.9

Bien, con ndiswrapper instalado. el autor del video se vuelve a conectar a la pagina de ndiswrapper y se descarga el driver de su tarjeta.

Listado de tarjetas soportado por Ndiswrapper

Aqui tu tendrias que buscar por la tuya (a ver si tienes suerte).
Te descargas el driver de tu tarjeta y lo descomprimes. Se te generara entonces una serie de ficheros, el que nos interesa es aquel que tenga extension .inf.

Para instalarlo con ndiswrapper se ejecuta con la opcion “-i”:

$ ndiswrapper -i fichero_con_extension_inf

Por ejemplo:

$ ndiswrapper -i bcmwl5.inf

Con esto se instalaria el driver para poder usarlo.
Ahora nos queda añadir ese interface de red. Para ello ejecutamos:

$ ndiswrapper -n

Se crea un alias llamado wlan0

Ahora levanta ese interface de red:

$ sudo ifconfig wlan0 up

Y si no hay problemas ya tienes ip nueva. Con ifconfig puedes ver la configuracion de red:

$ ifconfig

Prueba a hacer un ping para ver que tienes conexion:

$ ping www.google.com

Bueno y esto seria todo, lamento no poder detallarlo mas, pero espero que al menos sirva para que investigueis un poco, y consigais que funcione esa tarjeta de red puñetera.