Samba, VNC y cambio de contraseña en Raspberry Pi

6 minutos de lectura

Habilitando servicios

La primera vez necesitamos tener conectada la rpi al televisor o monitor junto a un teclado y un ratón.

Vamos a poner en marcha ssh y vnc.

En pixel (escritorio por defecto en Raspbian) lo haremos desde Herramientas -> Configuración Raspberry Pi->Interfaces activamos las dos opciones.

Si no tenemos un entorno de escritorio, si hemos instalado Raspbian Lite por ejemplo, lo haremos desde la terminal:

El usuario por defecto es pi

Y la contraseña raspberry

1sudo raspi-config

En la ventana que aparece seleccionamos Interfaces Options

Elegimos el servicio que deseamos habilitar

Seleccionamos Si

A partir de ahora ya podemos conectamos mediante ssh a la rpi.

Para averiguar que dirección ip tiene la rpi en pixel,

pasar el ratón por encima del icono de red

Si no tenemos instalado el entorno gráfico, podemos averiguar la dirección ip desde la consola :

1ificonfig -a

Lo ideal es darle un dirección ip fija a la rpi en el router.

Cambiar la contraseña de usuario

Para conectarnos a la rpi, abrimos una terminal y escribimos:

1ssh -X pi@direccion_ip_rpi

El argumento -X es para poder lanzar aplicaciones gráficas desde la consola. Cambiamos la contraseña al usuario pi.

1passwd

Actualizar el sistema

Desde la consola ejecutamos:

1sudo apt-get update && sudo apt-get upgrade -y

Montar disco duro externo de forma automática

Creamos la carpeta donde se montará el disco

1sudo mkdir /media/Nas01

Averiguamos el UUID y el TYPE (sistema de ficheros) de nuestro disco

1sudo blkid
2/dev/mmcblk0: PTUUID="fbaa6d83" PTTYPE="dos"
3/dev/mmcblk0p1: LABEL="boot" UUID="70CE-EB76" TYPE="vfat" PARTUUID="fbaa6d83-01"
4/dev/mmcblk0p2: UUID="f2100b2f-ed84-4647-b5ae-089280112716" TYPE="ext4" PARTUUID="fbaa6d83-02"
5/dev/sda1: LABEL="Nas_01" UUID="9bd4f982-0898-418c-b0ed-be29c2fac1c9" TYPE="ext4" PARTUUID="00013875-01"

En mi caso es UUID=“9bd4f982-0898-418c-b0ed-be29c2fac1c9

Editamos el fichero /etc/fstab/

1nano /etc/fstab

y añadimos:

1UUID="9bd4f982-0898-418c-b0ed-be29c2fac1c9"  /media/Nas01  ext4  defaults   0  0

ext4 es el sistema de ficheros de mi disco, hay que poner el que corresponda a tu disco.

Montamos la unidad.

1sudo mount -a

Instalando samba

1sudo apt-get install samba

Hacemos copia de seguridad del fichero /etc/samba/smb.conf por si metemos la pata.

1sudo cp /etc/samba/smb.conf /etc/samba/smb.conf-orig

Una vez que tenemos la copia hecha, editamos el fichero /etc/samba/smb.conf

1sudo nano /etc/samba/smb.conf

Al final del fichero añadimos el recurso a compartir

 1[RPi]
 2  comment = Carpeta usuario pi
 3  path = /home/pi
 4  available = yes
 5  writable = yes
 6  browseable = yes
 7  only guest = no
 8  create mask = 0644
 9  directory mask = 0755
10  public = no
11
12[Nas_01]
13  comment = Disco Duro externo 1TB
14  path = /media/pi/Nas_01
15  available = yes
16  writable = yes
17  browseable = yes
18  only guest = no
19  create mask = 0644
20  directory mask = 0755
21  public = no

Añadimos el usuario pi a samba y le ponemos clave

1sudo smbpasswd -a pi

Reiniciamos el servicio

1sudo /etc/init.d/samba restart

Si no funcionase y no viéramos el recurso compartido reiniciamos la rpi.

1sudo reboot -h now

Ahora desde el explorar de ficheros accedemos a la dirección ip de la rpi, veremos el recurso compartido.

Al intentar acceder, nos pedirá un nombre de usuario y la contraseña (la que pusimos en el paso anterior)

Si las credenciales son correctas, veremos el contenido de la carpeta que hemos compartido en la rpi.

NFS

También podemos utilizar la rpi para compartir los recursos en red con NFS.

Edito: 10-08-2017

Lo siguientes apuntes los he sacado del magnifico sitio El atareao

Me limito a hacer un copia pega para mis futuras instalaciones

Para su instalación

1sudo apt-get install nfs-kernel-server

Modificamos el archivo /etc/netconfig y comentamos las dos siguientes líneas

1udp6 tpi_clts v inet6 udp - -
2tcp6 tpi_cots_ord v inet6 tcp - -

Así, en mi caso, el archivo /etc/netconfig, una vez realizadas las modificaciones, tiene el siguiente aspecto,

1udp        tpi_clts      v     inet     udp     -       -
2tcp        tpi_cots_ord  v     inet     tcp     -       -
3#udp6       tpi_clts      v     inet6    udp     -       -
4#tcp6       tpi_cots_ord  v     inet6    tcp     -      -
5rawip      tpi_raw       -     inet      -      -       -
6local      tpi_cots_ord  -     loopback  -      -       -
7unix       tpi_cots_ord  -     loopback  -      -       -

Editamos el fichero /etc/exports :

1sudo nano -w /etc/exports

Ponemos los recurso que vamos a exportar:

1/media/Nas01/    192.168.1.0/24(rw,no_subtree_check,async)

Reiniciamos servicios

1sudo exportfs -ra
2sudo update-rc.d rpcbind enable && sudo update-rc.d nfs-common enable
3sudo service rpcbind restart
4sudo service nfs-kernel-server restart

El cliente linux debe de tener instalado nfs-common.

Para ver los recursos que nos presenta una maquina:

1showmount -e 192.168.1.53
2Export list for 192.168.1.53:
3/media/Nas01 192.168.1.0/24

Ahora sabemos que la maquina 192.168.1.53 tiene disponibles para compartir el recurso /media/Nas01

Antes de montar el recurso debemos de crear una carpeta en nuestro ordenador para ello:

1sudo mkdir /media/Nas01

Cambiamos permisos y propietario del directorio Nas01

1chown -R carlos:carlos /media/Nas01
2chmod -R 755 /media/Nas01

Ahora podemos montar manualmente el recurso que nos presenta la maquina o hacerlo al iniciar el sistema a tráves del fichero /etc/fstab.

Manualmente desde una terminal.

1sudo mount -t nfs 192.168.1.53:/media/Nas01   /media/Nas01

En el fichero fstab, controlamos el montaje mediante systemd, si el recurso no esta disponible, por ejemplo porque se intenta montar antes de que esté levantada la red o simplemente porque el servidor ya no lo comparte, no intentara montarlo, esperara el tiempo que le indiquemos en timeout y continuará.

1192.168.1.3:/media/Nas01   /media/carlos/Nas01  nfs    noauto,x-systemd.automount,_netdev,noatime 0 0

Si el recurso esta disponible, el usuario podrá montarlo de forma automática, por ejemplo a través de dolphin o nautilus, sin necesidad de poner ningún comando.

VNC

Si tenemos instalado un entorno gráfico en la rpi puede ser interesante controlarlo de forma remota mediante VNC.

Durante los primeros pasos hemos visto como activar el servidor SSH, para VNC lo haremos de la misma forma.

Podemos utilizar cualquier cliente VNC, yo utilizo realvnc incluso puedes conectarte desde el teléfono móvil mediante VNCViewer - Remote Desktop_ o androidVNC

Configuramos la conexión, Archivo-> Nueva Conexión

En el campo VNC server deberemos poner la dirección ip de la rpi.

La próxima semana

La próxima semana veremos como instalar y configurar transmission , hacerlo funcionar como un servicio y personalizando el usuario que inicie dicho servicio.