Configuración do cliente NFS
Introdución
- Xa vimos que o no servidor os usuarios do LDAP xa poden acceder aos seus homes e a comun.
- Imos agora configurar os clientes para que os usuarios do LDAP a parte de iniciar sesión poidan acceder aos seus datos que están no servidor NFS..
Instalación do cliente NFS
- Para poder acceder á carpetas compartidas por NFS, no equipo cliente teremos que instalar o paquete nfs-common:
sudo apt-get install nfs-common
Montaxe dunha carpeta por NFS mediante comandos
- Dende o cliente, baseándose para este punto nas exportacións de dserver00:
/home/iescalquera 172.16.5.0/255.255.255.0(rw) /comun 172.16.5.0/255.255.255.0(rw)
- Podemos montar unha carpeta compartida por NFS noutro equipo sobre una carpeta local utilizando o comando mount. A sintaxe será a seguinte:
sudo mount [-t nfs] equipo_servidor_NFS:carpeta_compartida_NFS punto_de_montaxe
- A opción de -t nfs podemos utilizala para indicar que o tipo de unidade que imos montar é unha carpeta compartida por NFS, pero non é necesario poñelo xa que o comando detectará o tipo de partición automaticamente.
- Primeiro imos crear as carpetas no cliente uclient01 onde se montarán as comparticións exportadas por dserver00. Os puntos de montaxe poden ser en calquera carpeta, pero:
- Se na configuración home de cada usuario LDAP lle indicamos que o seu cartafol persoal están en /home/iescalquera/...
- Cando esteamos no cliente e iniciemos sesión cun usuario do dominio vai esperar atopar o seu cartafol persoal en /home/iescalquera/...
- Co cal, debemos crear unha carpeta no cliente que coincida co que se lle indicou na configuración home a cada usuario.
- Para comun imos montala en /media pois Ubuntu todo dispositivo montado en /media o amosa como unha icona directamente no lanzador, e queda moi cómodo para ir a comun.
sudo mkdir /home/iescalquera sudo mkdir /media/comun
- Imos agora a montar facer probas con un deles até deixalo definitivamente configurado.
sudo mount dserver00:/home/iescalquera /home/iescalquera #Tamén podemos poñer a IP do servidor, ou dserver00.iescalquera.local
- Probas de funcionamento. Lembrar que pia é unha alumna de dam2. Imos ver onde pode acceder e onde non e así comprobamos que funcionan os permisos.
uadmin@uclient01:~$ su - pia Contrasinal: pia@uclient01:~$ pwd /home/iescalquera/alumnos/dam2/pia pia@uclient01:~$ ls /home/iescalquera/alumnos/ dam1 dam2 pia@uclient01:~$ ls /home/iescalquera/alumnos/dam1 mon tom pia@uclient01:~$ ls /home/iescalquera/alumnos/dam1/mon ls: non se pode abrir o directorio /home/iescalquera/alumnos/dam1/mon: Permiso denegado pia@uclient01:~$ ls /home/iescalquera/profes ls: non se pode abrir o directorio /home/iescalquera/profes: Permiso denegado pia@uclient01:~$ exit logout
Montaxe automático dunha carpeta NFS no arranque do sistema
- O inconveniente de montar a carpeta por NFS utilizando o comando mount é que ao reiniciar o equipo esta montaxe realizada non permanecerá. Se queremos que o equipo cliente monte automaticamente cada vez que arranque algunha carpeta compartida por NFS noutra máquina sobre un directorio local, introduciremos unha liña no ficheiro /etc/fstab coa seguinte sintaxe:
equipo_servidor_NFS:carpeta_compartida_NFS punto_de_montaxe nfs opcións
- Por exemplo, no caso do apartado anterior a liña sería:
#Pódese usar a IP do servidor dserver00:/home/iescalquera /home/iescalquera nfs defaults,_netdev 0 0 dserver00:/comun /media/comun nfs defaults,_netdev 0 0
- O parámetro _netdev é para indicarlle ao cliente que ese punto de montaxe é de rede e que non trate de montalo até que a rede estea dispoñible.
- Podemos utilizar o comando mount para montar todas as carpetas indicadas no ficheiro /etc/fstab que non estean montadas (así podemos simular o que fai o sistema no arranque):
sudo mount -a
- Comprobación
mount /dev/sda1 on / type ext4 (rw,errors=remount-ro) ... dserver00:/home/iescalquera on /home/iescalquera type nfs4 (rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.16.5.20,local_lock=none,addr=172.16.5.10,_netdev) dserver00:/comun on /media/comun type nfs4 (rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.16.5.20,local_lock=none,addr=172.16.5.10,_netdev)
- Agora o lector pode validarse en modo consola cos usuarios do dominio e comprobar os permisos aplicados ás carpetas persoais e de comun.
Iniciar sesión en modo gráfico
- Pero agora se desexamos iniciar sesión en modo gráfico imos ver que non hai maneira de teclear o nome de usuario dun membro do dominio, só usuarios locais.
- Para iso editamos o seguinte ficheiro:
sudo nano /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
- E engadimos esta liña:
greeter-show-manual-login=true
- Reiniciamos o ordenador ou o servizo lightdm
sudo service lightdm restart
Experimentación e modo gráfico
- E agora xa podemos iniciar sesión cun usuario do dominio.
- Imos iniciar con noe: profesor de dam2.
Vemos que aparece no Lanzador e en Nautilus un acceso a comun (Lembrar que está montado en /media/comun). E tamén está o cartafol do usuario noe, onde se crearon un montón de cartafois no momento que iniciou sesión en modo gráfico. Tamén está o enlace Exemplos que era o que estaba en skel (Examples.desktop).
Se pechamos sesión vemos que amosa os usuarios que iniciaron sesión no equipo.
Se non se desexara, por seguridade, que non se amosaran os usuarios que iniciaron sesión no equipo habería que engadir esta liña greeter-hide-users=true ao mesmo ficheiro onde habilitamos que nos permitise entrar cos usuarios do dominios: /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf.
- O seguinte amosa un tree dende o servidor dserver00 para mostrar que as carpetas creadas no home de noe cando iniciou sesión en modo gráfico en realidade está almacenadas no servidor.
root@dserver00:~# tree /home/iescalquera/profes/ /home/iescalquera/profes/ ├── noe │ ├── Descargas │ ├── Documentos │ ├── Escritorio │ ├── examples.desktop │ ├── Imaxes │ ├── Modelos │ ├── Música │ ├── Público │ └── Vídeos └── sol └── examples.desktop 10 directories, 2 files
Agregar accesos directos (Marcadores) ás carpetas montadas por NFS
- No visto até agora, cando entra un usuario:
- Alumno, ten a súa carpeta persoal e comun facilmente accesibles.
- Profe, tamén ten facilmente accesible a súa carpeta persoal e comun, pero non así coa carpeta dos alumnos para cando quere ir ver o traballo realizado por un dos seus alumnos.
- Neste último caso tería que navegar pola estrutura de carpetas, home -> iescalquera -> alumnos -> curso -> alumno.
- Sería interesante que aos usuarios profesores lles aparecera automaticamente un marcador (acceso directo ou favorito) no nautilus, como se amosa na imaxe:
- Pois co uso de marcadores (Acceso directo) (Carpetas favoritas) podemos facilitar esta operación, creando un script de inicio de sesión que se execute cando entra o usuario.
- Se o usuario que entra é un:
- profe: creamos ese marcador
- alumno: non facemos nada.
- Se o usuario que entra é un:
- O que faremos no script é modificar o ficheiro .config/gtk-3.0/bookmarks, que é onde se almacenan os marcadores, e está almacenado na carpeta persoal do usuario, para engadir unha liña por cada carpeta á que queiramos enlazar da seguinte forma:
file://RutaDaCarpeta NomeFavorito
Así, por exemplo, se queremos engadir enlaces ás carpetas /home/iescalquera/alumnos engadiremos a liña:
file:////home/iescalquera/alumnos Alumnos
- Imos crear un script para que cree este ficheiro: sudo nano /opt/engadir_marcadores.sh (ou gedit no canto de nano)
- Lembrar que se vai executar xusto no momento no que un usuario calquera inicia sesión:
#!/bin/bash
#Comprobamos se o usuario que inicia sesión é un profe.
#E non ten creado o favorito
if (groups ${u} | grep profes) && !(cat ~/.config/gtk-3.0/bookmarks| grep Alumnos)
then
#Engadimos o favorito ao ficheiro pero non machacamos o ficheiro porque
#o usuario xa pode ter por se mesmo creados marcadores dende o contorno gráfico.
echo file:///home/iescalquera/alumnos Alumnos>>~/.config/gtk-3.0/bookmarks
fi
- E poderiamos invocar ese script dende o script /etc/profile, que se executa no inicio de sesión dos usuarios.
- Engadiríamos a liña en negriña (editalo con sudo nano ou sudo gedit):
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). sh /opt/engadir_marcadores.sh if [ "$PS1" ]; then if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then # The file bash.bashrc already sets the default PS1. # PS1='\h:\w\$ ' if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ "`id -u`" -eq 0 ]; then PS1='# ' else PS1='$ ' fi fi fi # The default umask is now handled by pam_umask. # See pam_umask(8) and /etc/login.defs. if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done unset i fi
Na seguinte imaxe podemos ver o efecto na sesión dun usuario profesor/a, co acceso que se creou grazas ao script:
Instantáneas do escenario 2-A: NFS
- Configuramos o cliente uclient02 ao igual que uclient01.
- Ao igual que nos escenarios anteriores, imos facer instantáneas do escenario 2.A