miércoles, 25 de mayo de 2011

x11vnc ---- Utilizar un escritorio remoto...

... contando con solo un navegador web como cliente vnc. Pero, primero, les cuento con que situación nos encontrábamos.

Contábamos con un sólo equipo físico y necesitábamos montar dos servidores NTFS para distintas producciones. Teniendo en cuenta los niveles de producción que tendrán estas dos máquinas virtuales NTFS se toma la decisión de montar la siguiente estructura:
-Ubuntu Server 10.04 (instalación básica desde CD)
-openssh-server (para la administración remota básica de los pocos procesos que mantendrá el servidor Linux)
-xorg (como servidor gráfico)
-fluxbox (como gestor de ventanas)
-idesk (herramienta que mejora, muchísimo, el entorno de escritorio fluxbox)
-virtualbox-ose (para virtualizar las máquinas NTFS)
-virtualbox-guest-additions (para mejorar la integración de las máquinas virtuales con el escritorio)
-x11vnc (un servidor x para vnc)
-vnc-java (un servidor java para vnc)

Hasta acá tenemos instalado todo lo necesario para poner en marcha (y aprovechar mucho mejor nuestros recursos), un servidor con un virtualizador para poner en marcha 2 servidores en 2 máquinas virtuales.

Vayamos configurando todo para que nos quede como necesitamos. Como lo primero es lo primero, empezamos por el principio.

Luego de la instalación, básica, de Ubuntu Server 10.04, instalaremos el resto de los sistemas:
:~$ sudo aptitude install openssh-server xorg fluxbox idesk virtualbox-ose virtualbox-guest-additions x11vnc vnc-java

El servidor Ubuntu Server 10.04 casi que solo lo tendremos como contenedor del VirtualBox, por lo tanto, ya con el usuario correspondiente creado, lo ideal es que el equipo arranque directamente con el, e inicie el entorno gráfico automáticamente.
Todo esto no lo vamos a volcar en este post dado que ya tenemos en este blog un posteo al respecto, y es este:
Ubuntu Server ---- Inicio automático...

Al inicio automático del entorno gráfico, fluxbox, le podemos agregar aplicaciones, lo hacemos así:
:~$ vi ~/.fluxbox/startup
si es la primera vez que editamos este archivo encontraremos en la línea 10, el siguiente texto:
# Applications you want to run with fluxbox
si no se encuetra en la l0 el texto mencionado búsquenlo y al final de ese párrafo, agreguen:
idesk &
x11vnc -forever -usepw --httppdir /usr/share/vnc-java -httpport NumeroDePuerto &
virtualbox &

aquí le estamos diciendo al fluxbox que al iniciar corra también los programas idesk y virtualbox, como así también que dispare, con sus opciones, el server x11vnc. Pero antes de reiniciar el server, tenemos que darle el parámetro de configuración al servidor x11vnc, lo hacemos así:
:~$ x11vnc -storepasswd
con esto dejamos configurada la password para los clientes vnc que quieran ingresar.

Por supuesto, recuerden abrir en vuestro firewall, y/o router, el NumeroDePuerto que vamos a utilizar para que puedan ingresar los clientes vnc.

Configurar x11vnc
Ver Opciones de x11vnc
Otras formas de configurar vnc
Configurar idesk
Configurar fluxbox

lunes, 23 de mayo de 2011

fstab ---- Montar discos o unidades....

... compartidas de otros equipos o servidores, al momento del inicio.
Básicamente, para evitar tener que andar montando unidades o discos luego de iniciar o reiniciar un equipo.

Lo que tenemos que hacer es modificar el archivo /etc/fstab indicándole los discos o las unidades que queremos se monten al incio.

La estructura de fstab tiene el siguiente conjunto de columnas:


Como realmente esto nos dice poco, pongo como ejemplo el fstab de mi equipo:
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
#
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda7 during installation
UUID=xxxx / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=xxxx /boot ext4 defaults 0 2
# /home was on /dev/sda5 during installation
UUID=xxxx /home ext4 defaults 0 2
# swap was on /dev/sda6 during installation
UUID=xxxx none swap sw 0 0
#Hasta aquí lo creó automáticamente la instalación
#
#
#De aquí para abajo son las modificaciones realizadas por el usuario
#Disco de 500Gb
/dev/sdb5 /media/MiBackUp01_ ext4 rw,nosuid,user,nodev,uhelper=devkit 0 0
#
#
#Disco de 80Gb copia de BKs
/dev/sdc1 /media/MiBackUp02_ ext4 rw,nosuid,user,nodev,uhelper=devkit 0 0
#
#
#Carpeta Compartida en Servidor para Desarrollos
//ip_s/carpeta_comp/ /mnt/carpeta ext4 rw,username=user,password=pass 0 0
#
#
#Carpeta Compartida Privada
//ip_s/carpeta_comp/ /home/usuario/carpeta ext4 rw,username=user,password=pass 0 0


Por supuesto cualquier modificación que tengamos que hacer en fstab la tenemos que hacer editando como superusuarios, por lo tanto:
:~$ sudo vi /etc/fstab

Para poder agregar un disco rígido que ya tenemos montado, lo mejor es realizar los siguientes pasos:
:~$ mount
este comando nos devolverá algo como esto:
/dev/sda7 on / type ext4 (rw,errors=remount-ro,commit=0)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
/dev/sdb5 on /media/MiBackUp01_ type ext4 (rw,noexec,nosuid,nodev,uhelper=devkit,commit=0)
/dev/sdc1 on /media/MiBackUp02_ type ext4 (rw,noexec,nosuid,nodev,uhelper=devkit,commit=0)
/dev/sda1 on /boot type ext4 (rw,commit=0)
/dev/sda5 on /home type ext4 (rw,commit=0)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)


detectamos el o los discos que nos interesan, en mi caso son:
/dev/sdb5 on /media/MiBackUp01_ type ext4 (rw,noexec,nosuid,nodev,uhelper=devkit,commit=0)
/dev/sdc1 on /media/MiBackUp02_ type ext4 (rw,noexec,nosuid,nodev,uhelper=devkit,commit=0)


las copiamos, y las agregamos al final del archivo fstab de esta manera:
#Disco de 500Gb
/dev/sdb5 /media/MiBackUp01_ ext4 rw,nosuid,user,nodev,uhelper=devkit 0 0
#Disco de 80Gb copia de BKs
/dev/sdc1 /media/MiBackUp02_ ext4 rw,nosuid,user,nodev,uhelper=devkit 0 0


Vemos que en la columna options aparece la palabra user, bueno, con ese agregado al momento de montarse el disco no nos pedirá contraseña, ya que lo hemos agregado como usuario.
Salimos grabando del editor y listo, podemos reiniciar para verificar si se montó automáticamente.

Si no tenemos montado el disco, podemos ejecutar el siguiente comando:
:~$ mount

este comando nos devolverá algo como esto:
Disco /dev/sda: 250.1 GB, 250059350016 bytes
255 cabezas, 63 sectores/pista, 30401 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0xf65c3dc7
Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 1 1019 8183808 83 Linux
/dev/sda2 1020 30401 236010853 5 Extendida
/dev/sda5 4438 30401 208555798+ 83 Linux
/dev/sda6 1020 1720 5630719+ 82 Linux swap / Solaris
/dev/sda7 * 1721 4437 21824271 83 Linux

Disco /dev/sdc: 80.0 GB, 80000000000 bytes
255 cabezas, 63 sectores/pista, 9726 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0x24e424e3
Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sdc1 1 9726 78123071 83 Linux

Disco /dev/sdb: 500.1 GB, 500107862016 bytes
255 cabezas, 63 sectores/pista, 60801 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0x0007e9d2
Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 1 60801 488384001 5 Extendida
/dev/sdb5 1 60801 488383969+ 83 Linux


elegimos el dispositivo a montar, por ejemplo:
Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb5 1 60801 488383969+ 83 Linux

y el resto tenemos que ir agregandolo todo nosotros, quedando como mostrabamos antes:
#Disco de 500Gb
/dev/sdb5 /media/MiBackUp01_ ext4 rw,nosuid,user,nodev,uhelper=devkit 0 0


Si no queremos reiniciar el equipo, podemos ejecutar:
:~$ sudo mount -a
y verificamos si todo quedó tal cual lo necesitamos.

Hasta acá hemos contado como, en nuestro caso particular, montamos al inicio del sistema 2 discos rígidos que tenemos conectados al equipo.

Bien, montemos ahora, unidades de disco compartidas en otros equipos. Como primera medida, tenemos que saber como se llaman las carpetas compartidas que vamos a utilizar, y las carpetas locales donde van a ser montadas, personalmente, las unidades de red compartidas las monto en /mnt y los discos rígidos en /media.
Bueno, vamos con un ejemplo y como hay que empezar por el principio:
:~$ sudo vi /etc/fstab

la carpeta que tenemos que montar se encuentra en el servidor 172.21.128.55, y la carpeta compartida por samba es Desarrollos, por lo tanto, al final del archivo fstab editado, agregamos:
//172.21.128.55/desarrollos/ /mnt/des cifs rw,username=user,password=pass 0 0
salimos grabando, luego reiniciamos y automáticamente veremos montadas las carpetas en nuestras carpetas locales.

Si queremos saber más sobre el comando fstab:
:~$ man fstab

viernes, 20 de mayo de 2011

smbpasswd ---- Agregar usuarios de SAMBA

Para agregar, o mejor escrito, para administrar usuarios de SAMBA se utiliza el comando smbpasswd, pero antes los usuarios que vamos a crear, deben existir como usuarios UNIX.

Para crear el usuario UNIX:
:~$ sudo useradd USUARIO

Para crear el usuario de SAMBA:
:~$ sudo smbpasswd -a USUARIO
con la opción -a le estamos indicando que se esta añadiendo un usuario. Luego de ejecutar el comando antes mencionado, nos pedirá la password y re confirmar la password

En el caso de querer eliminar un usuario de SAMBA, ejecutamos el siguiente comando:
:~$ sudo smbpasswd -x USUARIO
y de esta forma el usuario mencionado en el comando será eliminado.

Otras opciones del comando smbpasswd:
-d: Deshabilitar un usuario
-e: Habilitar un usuario
-n: Usuario sin password. Necesita parámetro null passwords = yes en sección 'global' del archivo de configuración de samba.
-m: Indica que es una cuenta de máquina (equipo)


Si queremos saber más sobre el comando smbpasswd:
:~$ man smbpasswd

sábado, 7 de mayo de 2011

Ubuntu Server ---- Inicio automático...

Generalmente los servidores ni bien terminan de iniciarse o ponerse en marcha, ya quedan con todos los servicios en estado funcional sin tener que acceder con usuario y password.
También, generalmente, los servidores tienen creados 1 o 2 usuarios, y con "poderes", por lo tanto no es de buena utilidad este tip que traigo hoy.

Primero, editar el siguiente archivo:
~$ sudo vi /etc/init/tty1.conf
y agregar la siguiente línea, al final del archivo:
exec /bin/login -f USERNAME < /dev/tty1 > /dev/tty1 2>&1
(recuerden modificar USERNAME por su propio nombre de usuario).

Al "rebootear" verán como el nombre de usuario asignado a la línea antes mencionada, se loguea automáticamente.
Si algún otro usuario necesita loguearse, con solo usar CTRL+ALT+F2, se pueden loguear normalmente.

Pero puede darse el caso que por alguna razón en particular necesiten disparar un entorno gráfico en particular, como el fluxbox por ejemplo, bueno, en este caso:
~$ vi ~/.bashrc
y en el final de este archivo, agreguen:
if [ $(tty) == "/dev/tty1" ]; then
#agregar más código siempre antes de startx
startx
fi

ó
if [ -z "$DISPLAY" ] && [ $(tty) = /dev/tty1 ]; then
startx
fi

Prueben cual les funcione mejor.
Como dice la línea comentada, pueden agregar más código antes de disparar startx

Fuentes:
LinuxAdda
luchognr