Configuración dos recursos compartidos en Samba4
- Nesta sección imos ver como compartir con Samba4 as carpetas persoais dos usuarios e a carpeta común, así como a configuración necesaria para que os clientes, tanto Windows como Linux, accedan de forma automática a estas carpetas.
- Por último, veremos tamén como configurar os perfís móbiles dos usuarios para que a súa configuración persoal de escritorio, programas, etc. se mova con eles dun equipo a outro dentro do dominio.
Definir recursos compartidos no servidor samba
- O primeiro paso será engadir no ficheiro de configuración de samba as carpetas compartidas. Abrimos o ficheiro /etc/samba/smb.conf e engadimos no final as seguintes liñas:
[usuarios] path=/srv/samba/usuarios read only = No [comun] path=/srv/samba/comun read only = No
- Un parámetro moi interesante que podemos engadir ao final da sección [global] é hide unreadable, para que as carpetas inaccesibles para un usuario xa non aparezan cando acceda a elas a través de samba:
[global] .... .... hide unreadable = yes
- Executamos o seguinte comando para recargar a configuración de samba:
smbcontrol all reload-config
Configurar as carpetas persoais centralizadas
- O que pretendemos neste apartado é que todo usuario do dominio teña accesible a súa carpeta persoal, tanto dende un equipo Windows como Linux.
Configuración para os clientes Windows
- Imos ver como configurar a carpeta persoal dos usuarios para os clientes Windows do dominio utilizando RSAT, comprobando o seu funcionamento dende wclient01.
- Logo explicaremos tamén como podemos configurar a carpeta persoal con samba-tool.
Con RSAT
- Iniciaremos sesión no equipo wclient01 como Administrator (recórdese que para poder administrar os usuarios o usuario ten que ser membro de do grupo Domain Admins) e lanzamos a ferramenta de Usuarios e equipos de Active Directory.
- No momento en que configuremos a carpeta persoal do usuario con RSAT, esta vaise crear de forma automática utilizando as credenciais do usuario co que iniciamos sesión (Administrator). Desta maneira, o usuario propietario da carpeta será Administrator, e o grupo propietario o grupo principal deste usuario. O máis conveniente sería que este grupo fose Domain Admins, e así só accederían ás carpetas ademáis dos propios usuarios (e os profes ás dos alumnos dos seus grupos), os administradores do dominio.
- Por iso antes de nado imos facer un axuste nas propiedades do usuario Administrador, para establecer o grupo Domain Admins como principal.
Imos ás propiedades do usuario sol para configurar a súa carpeta persoal. Na pestana Perfil, dentro da sección de Carpeta particular activamos a opción de Conectar: e seleccionamos a letra da unidade na que queremos á que se conecte a carpeta persoal do usuario (deixamos Z:). Na caixa de texto introducimos a ruta á carpeta persoal do usuario, que no caso de sol será \\dserver00\usuarios\persoais\profes\sol. Aceptamos.
- Despois de configurar a carpeta persoal para sol e noe, podemos ver en dserver00 as carpetas creadas e os seus permisos. Fixémonos en que en cada carpeta só pode entrar cada usuario, ademais dos administradores:
root@dserver00:~# ls -lh /srv/samba/usuarios/persoais/profes/
total 16K
drwxrwx---+ 2 3000003 users 4,0K Mai 17 20:15 noe
drwxrwx---+ 2 3000003 users 4,0K Mai 17 20:15 sol
root@dserver00:~/scripts_samba4# getfacl /srv/samba/usuarios/persoais/profes/sol
getfacl: Eliminando '/' iniciais en nomes de ruta absolutos
# file: srv/samba/usuarios/persoais/profes/sol
# owner: 3000003
# group: users
user::rwx
user:sol:rwx
group::---
group:users:---
group:3000003:rwx
mask::rwx
other::---
default:user::rwx
default:user:sol:rwx
default:user:3000003:rwx
default:group::---
default:group:users:---
default:group:3000003:rwx
default:mask::rwx
default:other::---
- Imos probar agora o efecto nos clientes Windows do dominio:
Con samba-tool
- Se usamos samba-tool para a creación dos usuarios, podemos utilizar os seguintes parámetros para configurar a carpeta persoal:
- --home-drive=letra_da_unidade (indicamos a letra a unidade na que se conectará a carpeta persoal)
- --home-directory=ruta_carpeta_persoal (a ruta da carpeta persoal do usuario como a introduciríamos en RSAT pero introducindo o carácter de escape (\) antes de cada \, de forma que haberá que duplicar cada \. Por exemplo, a ruta da carpeta persoal de sol introduciríamola como: \\\\dserver00\\usuarios\\persoais\\profes\\sol)
- Neste caso, teremos que crear a carpeta persoal de forma manual, xa que samba-tool non creará a carpeta de forma automática. Tamén teremos que establecer os permisos adecuados para que o usuario poida acceder súa carpeta persoal, preferentemente utilizando ACLs.
Configuración para os clientes Linux
- Nos clientes Linux a configuración será diferente, xa que será nos clientes onde realizaremos a configuración necesaria para que monten unha carpeta por CIFS cando o usuario inicia sesión.
- Para poder montar a carpeta coas credenciais que introduce o usuario ao iniciar sesión, utilizaremos o paquete libpam-mount.
- Instalamos o paquete libpam-mount, e o paquete cifs-utils para poder montar carpetas por CIFS.
sudo apt-get install libpam-mount cifs-utils
- Abrimos como root o ficheiro de configuración do paquete libpam-mount, /etc/security/pam_mount.conf.xml para engadir as liñas marcadas antes da etiqueta de peche </pam_mount>:
...
<logout wait="0" hup="0" term="0" kill="0" />
<!-- pam_mount parameters: Volume-related -->
<mkmountpoint enable="1" remove="true" />
<volume sgrp="g-profes" fstype="cifs" server="dserver00.iescalquera.local" path="usuarios/persoais/profes/%(USER)" mountpoint="/media/%(USER)/Persoal" options="workgroup=iescalquera,iocharset=utf8,uid=%(USER)" />
<volume sgrp="g-dam1-alum" fstype="cifs" server="dserver00.iescalquera.local" path="usuarios/persoais/alumnos/dam1/%(USER)" mountpoint="/media/%(USER)/Persoal" options="workgroup=iescalquera,iocharset=utf8,uid=%(USER),gid=g-dam1-profes" />
<volume sgrp="g-dam2-alum" fstype="cifs" server="dserver00.iescalquera.local" path="usuarios/persoais/alumnos/dam2/%(USER)" mountpoint="/media/%(USER)/Persoal" options="workgroup=iescalquera,iocharset=utf8,uid=%(USER),gid=g-dam2-profes" />
</pam_mount>
- O que estamos facendo é montar, en función do grupo no que estea o usuario a súa carpeta persoal en /media/usuario/Persoal.
- Vexamos o efecto da configuración:
Configurar a conexión automática de outras carpetas compartidas
- Ademais das carpetas persoais de cada usuario, é moi habitual que dentro do dominio teñamos carpetas comúns ás que poden acceder distintos usuarios.
- No noso caso, xa temos creada a carpeta compartida comun e os usuarios poderían acceder manualmente a ela co explorador de ficheiros tanto dende os clientes Windows como Linux, pero imos ver como podemos conectar automaticamente un acceso a esas carpetas.
Conexión automática dende os clientes Windows
- Nos clientes Windows, imos facer uso dun script de inicio de sesión que conecte as carpetas comúns que nos interesen.
- Como xa vimos na parte V, os clientes Windows buscarán ese script dentro dunha carpeta compartida co nome netlogon no controlador do dominio.
- Se vemos o contido do ficheiro de configuración de samba, esta carpeta xa está compartida:
.... [netlogon] path = /var/lib/samba/sysvol/iescalquera.local/scripts read only = No ....
- Pois imos crear dentro desa carpeta o script de inicio de sesión inicio.bat, que será tamén moi similar ao que definimos na parte V, simplemente adaptando a ruta das carpetas persoais dos alumnos:
- SCRIPT /var/lib/samba/sysvol/iescalquera.local/scripts/inicio.bat:
@echo off
REM Ficheiro de inicio de sesion
REM Mapeamos comun para todo usuario que inicie sesion
net use R: \\dserver00\comun /persistent:no
REM Miramos se o usuario que inicia sesion e un profesor
REM Se é un profesor mapeamos alumnos a S:
net user /domain %username% | findstr /C:"g-profe" && (
net use S: \\dserver00\usuarios\persoais\alumnos /persistent:no
)
REM Miramos se o usuario que inicia sesion e un alumno
REM Se e un alumno abrimos un aviso (Como facer dobre clic sobre o ficheiro: st$
net user /domain %username% | findstr /C:"g-alum" && (
start \\dserver00\netlogon\avisos\aviso_alumnos.html
)
- Creamos a carpeta de avisos e o ficheiro aviso_alumno.html coa mensaxe de benvida:
mkdir /var/lib/samba/sysvol/iescalquera.local/scripts/avisos
nano /var/lib/samba/sysvol/iescalquera.local/scripts/avisos/aviso_alumnos.html
- Ficheiro /var/lib/samba/sysvol/iescalquera.local/scripts/avisos/aviso_alumnos.html:
Benvidos/as ao IES Calquera
- Imos establecer os permisos de toda a carpeta na que gardamos o script e o seu contido (de forma recursiva), para que todos os usuarios poidan ler e executar o seu contido:
setfacl -Rm g:g-usuarios:rx /var/lib/samba/sysvol/iescalquera.local/scripts/
Con RSAT
- Unha vez que xa temos o script creado no servidor, imos configurar os usuarios para que executen o script no inicio da sesión.
Con samba-tool
- Se usamos samba-tool para a creación dos usuarios, podemos establecer o script de inicio de sesión para o usuario co parámetro:
- --script-path=nome_do_script
Conexión automática dende os clientes Linux
- Nos clientes Linux facemos uso de pam-mount para incluír o acceso en función do grupo ás carpetas que queirammos.
- Engadimos no ficheiro /etc/security/pam_mount.conf.xml as liñas marcadas (antes do peche da etiqueta </pam_mount>):
...
<volume sgrp="g-usuarios" fstype="cifs" server="dserver00.iescalquera.local" path="comun" mountpoint="/media/%(USER)/Comun" options="workgroup=iescalquera,iocharset=utf8" />
<volume sgrp="g-profes" fstype="cifs" server="dserver00.iescalquera.local" path="usuarios/persoais/alumnos" mountpoint="/media/%(USER)/Alumnos" options="workgroup=iescalquera,iocharset=utf8" />
</pam_mount>
- Vexamos o efecto iniciando sesión co usuario sol:
Tamén poderíamos configurar un script de inicio de sesión (inicio.sh) para clientes Linux en netlogon conectando con pam_mount a carpeta netlogon e seguindo os mesmos pasos que se explican na parte V.
Os pasos serían os mesmos, por iso agora omitímolo para non complicar a configuración.
Perfís móbiles
- Para rematar, imos ver como configurar perfís móbiles, tanto para clientes Windows como Linux.
Configuración para os clientes Windows
- Faremos a configuración con RSAT e comprobarémolo no cliente, e explicaremos como configuralo utilizando samba-tool.
Con RSAT
- Comprobamos en dserver00 que se creou carpeta do perfil de sol e a súa ACL. Podemos ver que o resto de usuarios non teñen permiso de acceso:
root@dserver00:~# ls -lh /srv/samba/usuarios/perfisWindows/
total 8,0K
drwxrwx---+ 14 sol g-usuarios 4,0K Feb 2 03:06 sol.V6
root@dserver00:~# getfacl /srv/samba/usuarios/perfisWindows/sol.V6/
getfacl: Eliminando '/' iniciais en nomes de ruta absolutos
# file: srv/samba/usuarios/perfisWindows/sol.V6/
# owner: sol
# group: g-usuarios
user::rwx
user:sol:rwx
user:3000001:rwx
group::---
group:g-usuarios:---
group:3000001:rwx
mask::rwx
other::---
default:user::rwx
default:user:sol:rwx
default:user:3000001:rwx
default:group::---
default:group:g-usuarios:---
default:group:3000001:rwx
default:mask::rwx
default:other::---
- Comprobamos que dentro da carpeta Desktop do perfil de sol está a carpeta creada dende o cliente:
root@dserver00:~# ls /srv/samba/usuarios/perfisWindows/sol.V6/Desktop/
carpeta no escritorio de sol desktop.ini
Con samba-tool
- Se usamos samba-tool para a creación dos usuarios, podemos establecer o script de inicio de sesión para o usuario co parámetro:
- --profile-path=ruta_do_perfil (introducindo o carácter de escape (\) antes de cada \, de forma que haberá que duplicar cada \. Por exemplo, a ruta da carpeta persoal de sol introduciríamola como: \\\\dserver00\\usuarios\\perfisWindows\\sol).
Configuración para os clientes Linux
- Nos clientes Linux o perfil almacénase na carpeta home do usuario, así que para dispoñer de perfís móbiles o que faremos é montar esta carpeta nunha carpeta compartida no servidor, facendo uso de pam-mount.
- Engadimos unha nova liña en /etc/security/pam_mount.conf.xml (antes do peche da etiqueta </pam_mount>):
...
<volume sgrp="g-usuarios" fstype="cifs" server="dserver00.iescalquera.local" path="usuarios/perfisLinux" mountpoint="/home/local/IESCALQUERA" options="workgroup=iescalquera,iocharset=utf8,uid=%(USER)" />
</pam_mount>
- Desta forma montamos sobre a carpeta /home/local/IESCALQUERA (que é onde PBISOpen crea as carpetas dos usuarios) a carpeta dos perfís dos usuarios para Linux.
- Tendo en conta que PBISOpen crea automaticamente a carpeta persoal do usuario se non existe, o funcionamento será similar ao dos perfís de Windows, xa que o perfil de usuario crearase a primeira vez que inicie sesión nalgún cliente Linux do dominio. Tamén habería a opción de utilizar un script para dar de alta aos usuarios que crease automaticamente a carpeta do perfil do usuario na súa creación, escoller unha opción ou outra dependería sobre todo dos procedementos definidos para o mantemento dos usuarios no dominio.
- Comprobamos en dserver00 a carpeta creada do perfil de sol e os seus permisos, e que aparece creada a carpeta dende o cliente:
root@dserver00:~# getfacl /srv/samba/usuarios/perfisLinux/sol
getfacl: Eliminando '/' iniciais en nomes de ruta absolutos
# file: srv/samba/usuarios/perfisLinux/sol
# owner: sol
# group: g-usuarios
user::rwx
user:sol:rwx
group::---
group:g-usuarios:r-x
mask::rwx
other::---
default:user::rwx
default:user:sol:rwx
default:group::r-x
default:group:g-usuarios:r-x
default:mask::rwx
default:other::r-x
root@dserver00:~# ls /srv/samba/usuarios/perfisLinux/sol/
Carpeta creada no perfil de sol Documentos Imaxes Música Vídeos
Descargas Escritorio Modelos Público
Nos seguintes enlaces podes atopar explicacións sobre a configuración de carpetas persoais compartidas e perfís móbiles con Samba4: