Archive of articles classified as' "Ubuntu"

Back home

Configurar un Servidor FTP en Ubuntu (ProFTPd)

10/12/2009

La conectividad en estos días, es la necesidad  de muchos administradores de sistemas y de usuarios avanzados, por lo que hoy, veremos cómo hacer funcionar un servidor FTP en nuestras cajas con Ubuntu.

El primer paso, es actualizar nuestra paquetería para después instalar lo que necesitamos.

$ apt-get update && apt-get upgrade
$ apt-get install proftpd ucf

Ahora editaremos el fichero de configuración de nuestro servidor FTP, en este caso, el ProFTPd.

$ vim /etc/proftpd/proftpd.conf

Durante la instalación del servidor, nos preguntara como lo queremos ejecutar, seleccionamos “Standalone”.

Tenemos que modificar estas líneas únicamente para un funcionamiento simple pero efectivo y dejarlas de la siguiente manera:

ServerName                    "Mi Servidor"
ServerType                     standalone
DefaultRoot                     ~
MaxInstances                  30

Explicación breve de las opciones anteriores:
ServerName = El nombre que mostrara nuestro servidor
ServerType = Standalone, aquí solo verificamos que sea un Standalone, ya que lo especificamos desde la instalación.
DefaultRoot= ~ Esto es, que los usuarios del sistema que tengan derecho a login solo podrán navegar en su Home

Ahora, reiniciamos nuestro servicio:

$ /etc/init.d/proftpd restart
No Comments

Cambia la raiz de tu Ubuntu Linux a un disco duro mas grande

9/11/2009

A veces necesitamos cambiar nuestro sistema operativo de algún disco duro a otro, ya sea de igual tamaño o de mayor capacidad, en mi caso, tengo un servidor con Ubuntu Server y un disco duro de 160 GB, el que necesitaba migrar a un nuevo SATA de 1TB, pero después de 6 meses de producción, el sistema está configurado perfectamente, Samba, Apache,MySQL, Netatalk etc.

Por esta razón es mucho más fácil migrar tu instalación exactamente como esta, a volver a instalar limpio y configurar todo de nuevo. Si solo tienes que cambiar de disco duro y son idénticos, los últimos pasos de la guía no serán necesarios.

Esta guia asume que:

  • El primer disco duro es /dev/sda
  • El segundo disco duro es /dev/sdb

Notas:

Esta guía está basada en Ubuntu, pero puede servir para cualquier otra distribución haciendo los ajustes necesarios, si tienen dudas por favor exprésenlas en la sección de comentarios y tratare de ayudarles en la distribución que usen.

No uses dd para hacer este tipo de operación, ya que este está diseñado para copiar archivos crudos y por bloque. Esto quiere decir que si copias desde un disco de 160 GB a uno de 320 GB, el resultado final te mostrara un disco duro de 160 GB. No entrare en detalles, pero créanme, no lo hagan.

Lo primero, es instalar gddrescue la herramienta que utilizaremos (tenemos que tener habilitado el repositorio “universe”.

$ sudo apt-get install gddrescue

Una vez instalado el paquete ejecutamos el siguiente comando:

$ sudo ddrescue -v /dev/sda /dev/sdb transfer.log

En donde -v indica que nos informe de lo que sucede y el transfer.log, es donde almacenaremos la salida del comando para después poder analizarla si así lo deseamos. Con el comando en ejecución, deberemos de ver algo así:

user@server:~# sudo ddrescue -v /dev/sda /dev/sdb transfer.log

About to copy 146810 MBytes from /dev/sda to /dev/sdb
Starting positions: infile = 0 B,  outfile = 0 B
Copy block size: 128 hard blocks
Hard block size: 512 bytes
Max_retries: 0    Split: yes    Truncate: no

Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:   397869 kB,  errsize:       0 B,  errors:       0
Current status
rescued:    28361 MB,  errsize:       0 B,  current rate:   25165 kB/s
ipos:    28361 MB,   errors:       0,    average rate:   22753 kB/s
opos:    28361 MB
Copying data...

Cuando se termine de procesar la información, tendremos una copia exacta en el disco duro destino, solo restara cambiarlo y arrancar para probar que todo funcione correctamente.

En mi caso, tuve que crear una partición con el espacio que sobro en el disco destino para montar /home/ pero esto debe de ser muy sencillo, así que no lo incluiré en esta guía.

No Comments

Resplados locales con RSync

27/10/2009

Aquí un pequeño script para hacer respaldos sincronizados con RSync entre solamente dos directorios, si se necesita más, se puede adaptar a las necesidades que tengamos.

dirA = Directorio que queremos respaldar
dirB = Directorio destino

Las opciones que interesantes son:
–no-whole-file: Con esto, revisaremos que el archivo tenga diferencias, si es asi, se copia.
–delete: Se elimina del destino, si en el origen no existe.

#!/bin/bash
echo -e "Comenzando Respaldo"
rsync -av --no-whole-file --delete /dirA/ /dirB/
No Comments

Vuze en Ubuntu Linux

27/10/2009

Creo que hoy en día, muchos de nosotros utilizamos los Torrents y una herramienta útil, aunque en mi opinión un poco mas pesada de lo que necesitamos es Vuze. Para instalarlo en nuestro Ubuntu, si es Jaunty será descargar estos debs dependiendo de nuestra arquitectura:

Jaunty 32 bit: .DEB
Jaunty 64 bit: .DEB

Si necesitamos descargar para alguna otra versión como Intrepid o Hardy, visitamos directamente getdeb: http://www.getdeb.net/app/Vuze

Ya descargado, solo le damos doble click y listo!

Por ultimo cambiaremos los permisos del directorio en donde se instala vuze, esto para permitir actualizaciones y evitar que cada ves que lo iniciamos nos pida reiniciar.

sudo chmod 777 -R /usr/share/vuze/

No Comments

Seguridad Linux: SSH, cambiar el puerto y bloquear el acceso con root

30/09/2009

Teniendo como premisa “La seguridad es primero” ahora les paso un par de tips de seguridad para nuestras cajas Linux, en este tutorial haremos un poco mas seguro nuestro servidor sshd (Secure Shell), ya que por defecto usa el puerto 22. Esto porque la mayoría de sriptkiddies usan los valores por defecto del sistema para intentar vulnerar la seguridad de los servidores.

Por ejemplo, cualquiera puede intentar algo así:

$ ssh root@miservidor.com

Primero, creamos si es necesario, un usuario de sistema con derecho a shell, si no es que ya tenemos uno disponible.

Lo primero será, denegar el acceso al sistema como root, para lo que editaremos el fichero (En Ubuntu, en otras distribuciones o instalaciones personalizadas pordira variar) /etc/ssh/sshd_config lo haremos mediante vim o gedit, el editor de nuestra preferencia.

$ sudo vim /etc/ssh/sshd_config

Dentro del fichero cambiaremos las siguientes lineas:

#Aqui cambiamos el puerto
#Port 22
Port 2995

#En esta linea negamos acceso a root
#PermitRootLogin yes
PermitRootLogin no

Ahora, reiniciamos el demonio sshd:

$ sudo /etc/init.d/ssh restart

Eso es todo! Ahora para entrar a nuestro servidor tendremos que utilizar el comando ssh de la siguiente manera:

$ ssh miusuario@miservidor -p 2995

No Comments

Respalda y sincroniza tu información con Unison en Ubuntu Linux

3/09/2009

Unison es una aplicación para hacer respaldos mediante SSH, es rápido y muy confiable, podemos respaldar en un disco duro de algún equipo conectado a la red local o en la internet, ya que la autenticación se lleva acabo con Secure Shell (SSH).

Primero debemos instalar los paquetes necesarios, lo haremos mediante el poderoso APT.

$ sudo aptitude install openssh-server unison unison-gtk

Después, crearemos el directorio en nuestro home, en donde almacenaremos los scripts que correrá Unison, además de crear un el archivo donde escribiremos nuestro primer script.

$ mkdir .unison

$ gedit .unison/backup.prf &

Dentro del fichero backup.prf, agregaremos algo similar a lo siguiente:

### Rutas Base ###
# La raiz del escritorio
root = /home/usuario

# Raiz del direcotrio de respaldo
root = ssh://usuario@x.x.x.x//ruta/al/respaldo

### Directorios a Respaldar ###

# Completo
path = Documents/

path = Music/

path = Pictures/
### Directorios Ignorados ###
ignore = Path Algo*
ignore = Name tmp.*

Creo que el fichero se explica por si mismo, pero, de todas formas haré una breve descripción:

usuario@x.x.x.x -> Aquí pondremos la IP valida del servidor o equipo de respaldos.

path = Documents/ -> Con este formato, le diremos a Unison, que directorios dentro del root queremos respaldar (el root lo definimos arriba, el directorio del usuario)

ignore = Name tmp.* -> Aquí, le decimos a Unison, que ignore los archivos que tengan extensión tmp

Nosotros podremos añadir las reglas y exclusiones que queramos, recuerden que este es solo un archivo muestra.

Ahora, abriremos la aplicación en cuestión, la encontraremos bajo Aplicaciones -> Accesorios -> Unison y por defecto nos mostrara los ficheros que tenemos bajo el direcotio ~/.unison que en este momento es probable que solo sea uno, “backup”

1

Enseguida, nos pedirá la contraseña que tenemos para autenticar.

2

Unison nos devolverá un mensaje, diciendo que nunca se ha ejecutado antes, no se preocupen solo clic en OK.

3

Ya con la interfaz abierta, Unison escaneara el contenido de los directorios que le especificamos para el respaldo, en la siguiente imagen, se aprecia en rojo.

4

Por último, la aplicación nos indicara que archivos hay que colocar en donde, para hacer la sincronización correcta, ahora solo es tiempo para que termine de trabajar. Eso es todo, ahora podemos correr Unison las veces que queramos y nuestros respaldos estarán al día, ademas de no transferir todo de un jalón, por eso definitivamente es mejor sincronizar que respaldar a la antigua.

4 Comments

Conectar por ssh con sshmenu

1/09/2009

SSHMenu es un applet para el panel del entorno Gnome el cual permite gestionar todas las conexiones SSH de una forma muy fácil.

2009082811354289_1

Puesto que se encuentra en los repositorios de Ubuntu con una versión anterior, se debe de instalar de la siguiente forma, esto dentro de /etc/apt/sources.list:

deb http://sshmenu.sourceforge.net/debian stable contrib

Luego abrimos un Terminal y validamos la llave del repositorio e instalamos:

gpg –keyserver subkeys.pgp.net –recv-keys 4CC00851
gpg –export –armor 4CC00851 | sudo apt-key add -

sudo apt-get update

sudo apt-get install sshmenu-gnome

Una vez instalado, hacemos click derecho sobre el panel y elegimos Añadir al panel…, buscamos SSH Menu y lo agregamos.

Ahora solo queda agregar los servidores a conectar desde el menú de preferencias y con esto olvidarnos por un momento de la forma que lo hacíamos en modo texto desde la terminal.

Información de KoalaSoft

No Comments

Script para limpiar archivos de sistema Mac OS X en directorios compartidos con Linux

1/09/2009

Si estamos compartiendo algunos directorios con máquinas Mac OS X, ya sea mediante AFP (Apple Filing Protocol) o el clásico SMB (Samba), seguramente nos hemos dado cuenta la cantidad de archivos inservibles que nos deja el sistema operativo de la manzana en nuestro servidor, tal como pueden ser:

  • .DS_Store
  • ._*
  • :2*
  • .Apple*

Aunque tomando en cuenta que estos archivos son muy pequeños, eventualmente pueden incrementarse en volumen y llegar a mal gastar un espacio en disco que puede ser considerablemente importante.

El siguiente script en Bash, nos ayudara a encontrar estos ficheros y eliminarlos permanentemente de nuestros discos duros. Es opcional el configurar algún cron para su ejecución automática cuando mejor nos convenga.

Sin tanto charla, aquí el script, lo único que deberán de modificar es la ruta al disco(os) duro(s) que necesiten limpiar, en el ejemplo se usaran 2 discos duros:

Primero crearemos nuestro script, como root o con sudo:

$ vim osx_cleaner.sh

Después insertaremos lo que se muestra a continuación:

#!/bin/bash

echo "Preparing to clean up the system... $HOSTNAME"
 echo -n ""
 sleep 1

###### Limpiar el 1erdisco
 find /1erdisco/ -name ".DS_Store" -exec rm -Rfv '{}' \;
 find /1erdisco/ -name "._*" -exec rm -Rfv '{}' \;
 find /1erdisco/ -name ":2*" -exec rm -Rfv '{}' \;
 find /1erdisco/ -name ".Apple*" -exec rm -Rfv '{}' \;
 ######Limpiar el 2dodisco
 find /2dodisco/ -name ".DS_Store" -exec rm -Rfv '{}' \;
 find /2dodisco/ -name "._*" -exec rm -Rfv '{}' \;
 find /2dodisco/ -name ":2*" -exec rm -Rfv '{}' \;
 find /2dodisco/ -name ".Apple*" -exec rm -Rfv '{}' \;

Por ultimo cambiaremos los permisos al script para su ejecución:

$ chmod +x osx_cleaner.sh

Y lo ejecutamos:

$ ./osx_cleaner.sh

Esto limpiara nuestros discos de la basura residual del Apple OS X.

Edición de ultimo minuto:

Al final de cada linea en el script hay que agregar un espacio y ” \;” sin comillas, ya que el plugin de code highlight se los comio, entonces nos quedaria algo asi:

$ find /1TBB/ -name “.Apple*” -exec rm -Rfv ‘{}’ \;

No Comments

Descubre que distribución Linux estas usando.

24/08/2009

Aquí les dejo un tip rápido sobre como averiguar que distribución/versión de GNU/Linux estamos utilizando, esto es importante si estamos en algún servidor que no tiene GUI o simplemente queremos aprender algo nuevo.

Existen dos formas:

cat /proc/version

Que nos regresara algo asi como:

Linux version 2.6.28-15-generic (buildd@palmer) (gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ) #49-Ubuntu SMP Tue Aug 18 18:40:08 UTC 2009

Y la segunda, es mas “concreta, nos regresara algo mas corto:

cat /etc/issue

Nos devuelve:

Ubuntu 9.04 \n \l

No Comments

Error al particionar un disco duro con HFS+ (Mac FS) desde Ubuntu

19/08/2009

Si alguna ves hemos necesitado formatear un disco duro externo (USB) con formato para Mac OS, seguramente nos daremos cuenta que Gparted nos regresa un error al tratar de eliminar las particiones, diciendo que no tiene una tabla de particiones valida.

Para solucionar este molesto error, solo es necesario dar un par de clicks. He aqui las imagenes.

Primero seleccionamos el disco en Gparted

gparted1

Después solo hará fatla seleccionar desde el menu: Device -> Create Partition Table (Dispositivo -> Crear tabla de particiones).gparted2

El sistema nos advierte que se pederan todos los datos del Disco Duro, me imagino que esto no nos importara. asi que damos click en “Crear”.

gparted3

Ahora es solo cuestión de esperar y tendremos un disco duro con una tabla de particiones vacía para crear las particiones que necesitemos.

No Comments