enero 22, 2008

Integrar terminal en el Escritorio.

pantallazo50.png

Seguro que muchos ya lo han probado, yo lo hice hace algunos meses, pero al poco timpo ya no lo usaba, Esta vez lo integre de mejor manera al escritorio y resulto mucho mejor de lo que esperaba, lo primero será instalar el programa que nos ayudará a esto:

$ sudo apt-get install alltray

Una vez instalado Alltray, abrimos una terminal y en el menú superior pulsamos en Editar > Perfiles…, una vez abierto el editor de perfiles pulsamos en Nuevo y ponemos el nombre que queramos, yo he puesto Transparente. Una vez hecho esto volvemos al editor de perfiles, seleccionamos el creado y pulsamos en Editar. Ahora seguiremos estos pasos:

enero 02, 2008

Crear una particion /home separada en Ubuntu.

Imagina que has instalado Ubuntu de la manera habitual. Entonces tendras que /home es una carpeta mas que cuelga
de /, Y ahora te interesaria tener /home en una particion separada de tu disco duro.
Esto es una buena opcion para en futuras ocasiones reinstalar el sistema, pues podrias sobreescribir la raiz /, pero todos
tus datos quedarian inmutables en /home (en otra particion distinta).

Antes de hablar de particiones, seria conveniente que leyeras esta guia.

Nota: lo que se comenta a continuacion es un proceso de riesgo por lo que es aconsejable que seas un usuario ya avanzado.

Lo primero necesitas arrancar mediante un Live CD. Por 2 razones:

1. Para redimensionar una particion existente / esta tiene que ser desmontada. Si la estas utilizando, al estar en uso, no podras. Por eso debemos arrancar mediante un LiveCD.

2. Si se estropea algo por accidente, siempre podremos
volver a usar el Live CD para restaurar las configuraciones anteriores, o recuperar ficheros importantes.

En el ejemplo usaremos un Live CD de Ubuntu con GParted. pero tambien puedes usar QTParted en Knoppix o DiskDrake en PCLinuxOS.

Creando una nueva Particion

Arrancamos con el Live CD
(si vas a redimensionar una particion NTFS “ASEGURATE” antes de haberla desfragmentado desde Windows)
Se inicia el entorno de escritorio. Ahora:
Desde el live CD instala Gparted:

$ sudo aptitude update && sudo aptitude install gparted ntfsprogs

Entonces pulsa ALT+F2 y teclea:

$ gksudo gparted

01.png

Se inicia Gparted. Busca la particion que quieres redimensionar para crear la nueva /home particion.
En este caso estamos redimensionando la particion /dev/hda5, pero tu particion puede tener un nombre diferente.
Anota con cuidado esta informacion, los nombres de las particiones son “muy” importantes (/dev/hda1, o /dev/hdb1. /dev/sda2, etc…)

Click derecho sobre la particion y elige la opcion Resize/Move:

home02.png

Selecciona el nuevo tamaño que quieres:

home03.png

Ahora en el espacio vacio, click derecho y selecciona New:

home04.png

Elige crear particion del tipo Filesystem ext3 o ReiserFS, Esta ultima te da mas velocidad:

home06.png

Cuando estes satisfecho con los cambios, haz clic en Apply:

home07.png

home08.png

Una vez que los cambios hayan sido aplicados, anota el nombre de la nueva particion y sal de GParted.

En el ejemplo, la particion que hemos redimensionado
era /dev/hda5 y la nueva particion que se ha creado tiene de nombre /dev/hda7, en ella es donde ubicaremos /home. La carpeta original de /home sin embargo cuelga de / en la particion /dev/hda1. Es “IMPORTANTISIMO” que sustituyas los nombres de las particiones por los que se apliquen en tu caso en particular.

Usando la nueva Particion

Ahora de nuevo en la terminal, montamos /dev/hda1 y /dev/hda7.
Montamos /dev/hda1 pues ahi esta / y dentro la carpeta /home
es el origen.
y montamos /dev/hda7 pues es la particion destino donde queremos copiar y montar los datos actuales de /home.

sudo mkdir /old
sudo mount -t ext3 /dev/hda1 /old
sudo mkdir /new
sudo mount -t ext3 /dev/hda7 /new

Ahora hacemos un backup de /home en la vieja particion y la movemos a la nueva particion:

cd /old/home
find . -depth -print0 | sudo cpio –null –sparse -pvd /new/
sudo mv /old/home /old/home_backup
sudo mkdir /old/home

Ahora indicamos que vamos a usar la nueva particion como /home:

Sacamos una copia de seguridad:

sudo cp /old/etc/fstab /old/etc/fstab_backup
sudo nano /old/etc/fstab

y añadimos con un editor de texto (en el ejemplo usamos nano) la siguiente linea al fichero fstab:

/dev/hda7 /home ext3 nodev,nosuid 0 2

Salvamos (Control-X), confirmamos (Y) y Salimos (Enter)

Despues de hacer el reboot (reiniciar) ya deberiamos estar
usando la nueva /home particion.

Cuando compruebes que todo funciona correctamente. Podemos eliminar los datos de la vieja particion:

sudo rm -rf /home_backup

¿Y si esto no funciona?

Por ejemplo por si hemos configurado de manera erronea el fichero /etc/fstab.
Arrancamos de nuevo el live CD, entramos en una terminal
y tecleamos:

sudo mkdir /recovery
sudo mount -t ext3 /dev/hda1 /recovery
sudo cp -R /recovery/home_backup /recovery/home
sudo cp /recovery/etc/fstab_backup /recovery/etc/fstab

Con lo que volveriamos a la situacion inicial. Entonces reiniciamos y tendriamos todo a como lo teniamos antes de ponernos a trastear con el.

Instalando Servidor FTP seguro en Ubuntu.

Un servicio muy habitual es el ftp, sobre todo si tenemos montado un
servidor Web para que los diseñadores y webmasters puedan dejar allí sus
creaciones sin molestar a los administradores, nosotros. Con este
objetivo, vamos a montar un servidor ftp.

Usuario: cliente_01
Acceso a su directorio: /var/www/dominio1
Sin shell en el sistema y en un entorno chroot

Usuario: cliente_02
Acceso a su directorio: /var/www/dominio2
Sin shell en el sistema y en un entorno chroot

Usuario: webmaster
Acceso a su directorio: /var/www
Sin shell en el sistema y en un entorno chroot

Preparación del sistema

Antes de instalar el servidor ftp vamos a crear los usuarios y
securizarlos para que tengan los mínimos permisos y sólo puedan hacer lo
que nosotros definamos.

Crearemos un grupo llamado ftp al cual asociaremos los usuarios.

# groupadd ftp

Creamos los usuarios con sus correspondientes características.

#useradd -g ftp -d /var/www/dominio1 -c ” Cliente 1 ” client_01
#useradd -g ftp -d /var/www/dominio2 -c ” Cliente 2 ” client_02
#useradd -g ftp -d /var/www -c ” webmaster ” webmaster

Les asignamos un password a los usuarios con el comando passwd. Si no
tiene password no funcionará.

Ahora creamos una shell fantasma en el directorio correspondiente.

#mkdir /bin/ftp

Editamos el fichero /etc/shells y la añadimos en la ultima línea y
continuación editamos el fichero /etc/passwd y buscamos las líneas donde
están definidos los usuarios que hemos creado antes y les añadimos el
shell falso:

client1:x:1005:1005: Cliente 1 :/var/www/dominio1:/bin/ftp
client2:x:1006:1005: Cliente 2 :/var/www/dominio2:/bin/ftp
webmaster:x:1007:1005: webmaster :/var/www:/bin/ftp

Instalación del servidor

Ahora es cuando realmente vamos a realizar la instalación del servidor
con el comando apt-get.

#apt-get install vsftpd

Esto descargará los paquetes y los dejará ordenados en sus directorios
correspondientes junto a los scripts de arranque y parada del servicio.

Configuración del servidor

El fichero de configuración del servidor se encuentra
en /etc/vsftpd.conf. Lo editamos para configurarlo a nuestro gusto y
objetivo. El contenido es algo parecido, buscamos las líneas indicadas y
las modificamos:

# Example config file /etc/vsftpd.conf
#Escuchando
listen=YES
#
………………………………………..

# Desactivamos el acceso anónimo

anonymous_enable=NO
#
# Descomentamos la línea para que se puedan conectar
local_enable=YES
#
# Permitimos a usuarios locales escribir
write_enable=YES
#
# APLICA CONFIGURACIÓN UMASK
local_umask=003
#Mensajes welcome
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
……………………….
#
# You may override where the log file goes if you like. The default is
shown
# below.
xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog
format
xferlog_std_format=YES
# Se descomenta esto para crear una jaula
chroot_local_user=YES
# You may specify an explicit list of local users to chroot() to their
home
# directory. If chroot_local_user is YES, then this list becomes a list
of
# users to NOT chroot().
#chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list
#
# Debian customization
# secure_chroot_dir=/var/run/vsftpd
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
# This option specifies the location of the RSA certificate to use for
SSL
# encrypted connections.
#rsa_cert_file=/etc/ssl/certs/vsftpd.pem
userlist_enable=YES
tcp_wrappers=YES
userlist_deny=NO

A continuación creamos el fichero vsftpd.chroot_list el cual tendrá la
lista de usuarios que no tendrán acceso al servidor:

# touch /etc/vsftpd.chroot_list

Volcamos los datos a este fichero desde etc/password con el comando.

# cat /etc/passwd | awk -F: ‘{ print $1 }’ > /etc/vsftpd.chroot_list

Esto nos genera un fichero con los login de usuarios del sistema del
cual quitamos los que si queremos que tengan acceso y los ponemos en el
fichero /etc/vsftpd.user_list.

Ejemplos de ficheros:

vsftpd.chroot_list

# usuarios con no acceso
root
daemon
bin
sys
sync
games
man
lp
mail
news

vsftpd.user_list

#usuarios con acceso
webmaster
client_01
client_02

Despues solo ejecutamos el comando:

# sudo /etc/init.d/vsftpd restart

Y Listo, Ya tenemos nuestro Servidor FTP operativo.