Cicle: CFGS Administració de Sistemes Informàtics en Xarxa (ASIX)
Mòdul: 0374. Administració de sistemes operatius
A qualsevol organització real conviuen sistemes operatius diferents: estacions de treball Windows per a ofimàtica, servidors Linux per a serveis d’infraestructura, portàtils macOS de direcció, tauletes Android… Cap empresa es pot permetre illes incomunicades.
Motius pels quals cal compartir recursos entre SO diferents:
Els recursos que típicament cal compartir entre SO són:
La clau de la interoperabilitat és que el protocol de xarxa és el contracte comú: mentre client i servidor parlin el mateix protocol (SMB/CIFS, NFS, IPP, LDAP, Kerberos…), el SO de cada extrem és irrellevant.
| Servei | Protocol | Origen | Ús típic |
|---|---|---|---|
| Samba | SMB/CIFS | Lliure (implementa el protocol de Microsoft) | Compartir fitxers/impressores des de Linux cap a Windows i viceversa; també pot fer de controlador de domini AD |
| NFS | NFSv3/NFSv4 | Nadiu Unix/Linux | Compartir fitxers entre sistemes Unix/Linux; Windows en té client opcional |
| CUPS + IPP | Internet Printing Protocol | Lliure | Servidor d’impressió multiplataforma |
| Winbind / SSSD | — | Lliure | Permet a un Linux autenticar usuaris contra un domini AD (Kerberos + LDAP) |
| Active Directory | Kerberos, LDAP, DNS, SMB | Propietari (Microsoft), però amb clients lliures | Directori centralitzat d’identitats i polítiques |
SMB (Server Message Block), també conegut per l’antic nom CIFS, és el protocol natiu de compartició de fitxers i impressores de Windows. Samba és la implementació lliure d’aquest protocol per a sistemes Unix/Linux, i permet:
Network File System és el protocol de compartició de fitxers natiu del món Unix. NFSv4 incorpora Kerberos per a autenticació segura, cosa que en facilita la integració amb AD. Windows disposa d’un component opcional (Client for NFS / Server for NFS) per interoperar-hi, tot i que a la pràctica és molt més habitual fer servir SMB quan hi ha Windows involucrat.
CUPS (Common Unix Printing System) gestiona la impressió a Linux i pot exposar cues via IPP, el mateix protocol que fan servir nadivament Windows i macOS des de fa anys. Alternativament, Samba pot compartir cues CUPS via SMB perquè els clients Windows les vegin com una impressora de xarxa clàssica.
Compartir un recurs sense controlar-ne l’accés és un risc de seguretat greu. Cal distingir diverses capes:
smbpasswd),
independents del sistema: vàlid per a escenaris petits o
standalone.Cal distingir dues capes de permisos independents que sovint es confonen:
valid users, read only, permisos NTFS de compartició a Windows).
Determinen qui pot arribar al recurs per xarxa.getfacl/setfacl) a Linux. Determinen
què es pot fer un cop dins.El permís efectiu és sempre la intersecció més restrictiva de
totes dues capes. Per exemple, si la compartició Samba permet
escriptura, però el permís POSIX del directori és r-x,
l’usuari no podrà escriure.
Un dels reptes clàssics: un SID d’usuari de Windows/AD no és un UID
Unix. Samba resol això amb idmap:
# /etc/samba/smb.conf (fragment, servidor membre de domini)
[global]
workgroup = THOS
realm = THOS.LOCAL
security = ads
idmap config * : backend = tdb
idmap config * : range = 3000-7999
idmap config THOS : backend = rid
idmap config THOS : range = 10000-999999Amb aquesta configuració, cada SID del domini THOS.LOCAL es tradueix
de manera determinista a un UID/GID Linux, cosa que permet que els
permisos POSIX reflecteixin la pertinença a grups d’AD (p. ex. Domain Users, Professors, Alumnes).
smb encrypt = desired/required a Samba).sec=krb5p xifra dades i autenticació.Reaprofitem la infraestructura THOS.LOCAL:
sssd/winbind.| Nivell | Eina Linux | Eina Windows | Què verifica |
|---|---|---|---|
| Xarxa (ICMP) | ping, traceroute |
ping, tracert |
Encaminament bàsic |
| DNS | dig, nslookup, host |
nslookup, Resolve-DnsName |
Resolució del domini i registres SRV d’AD |
| Ports/serveis | nmap, nc -vz |
Test-NetConnection |
Ports oberts (445 SMB, 389/636 LDAP, 88 Kerberos, 53 DNS) |
| Aplicació | smbclient -L, showmount -e |
net view, exploració xarxa |
El servei respon i llista recursos |
# Des del client Linux, cap al DC
dig SRV-DC01.thos.local
dig -t SRV _ldap._tcp.thos.local
nc -vz SRV-DC01.thos.local 88 # Kerberos
nc -vz SRV-FS01.thos.local 445 # SMB
# Llistar recursos compartits d'un servidor Windows sense autenticar-se encara
smbclient -L //SRV-FS01.thos.local/ -U THOS\\ramon# Des del client Windows, cap al servidor Linux amb Samba
Test-NetConnection SRV-LINUX.thos.local -Port 445
nslookup SRV-DC01.thos.local
net view \\SRV-LINUXSi smbclient -L demana contrasenya i respon amb la
llista de comparticions (IPC$, comparticions creades), la
capa d’aplicació SMB funciona correctament de cap a cap, incloent-hi
l’autenticació.
Pas previ imprescindible per treballar amb identitats de domini des de Linux.
sudo apt update
sudo apt install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin krb5-user
# Descobrir el domini
sudo realm discover thos.local
# Unir-se al domini (cal un compte amb privilegis d'unió)
sudo realm join --user=administrador thos.local
# Comprovar
realm list
id THOS\\ramon
getent passwd "THOS\\ramon"Perquè els usuaris de domini puguin fer login
interactiu, cal assegurar-se que pam_mkhomedir crea el
directori d’inici automàticament:
sudo pam-auth-update --enable mkhomedirsudo apt install samba winbind libpam-winbind libnss-winbind# /etc/samba/smb.conf
[global]
workgroup = THOS
realm = THOS.LOCAL
security = ads
winbind use default domain = yes
winbind refresh tickets = yes
template shell = /bin/bash
template homedir = /home/%U
idmap config * : backend = tdb
idmap config * : range = 3000-7999
idmap config THOS : backend = rid
idmap config THOS : range = 10000-999999
[dades]
path = /srv/samba/dades
valid users = @"THOS\Domain Users"
read only = no
browseable = yes
force group = "THOS\Domain Users"
create mask = 0660
directory mask = 0770
[professors]
path = /srv/samba/professors
valid users = @"THOS\Professors"
read only = no
browseable = yessudo net ads join -U administrador
sudo systemctl restart smbd nmbd winbind
sudo systemctl enable smbd nmbd winbind
# Permisos POSIX del recurs
sudo mkdir -p /srv/samba/dades /srv/samba/professors
sudo chgrp "THOS\Domain Users" /srv/samba/dades
sudo chmod 2770 /srv/samba/dadesDes de l’explorador d’arxius de Windows: \\SRV-LINUX.thos.local\dades. Com que el client i el
servidor comparteixen domini AD, l’autenticació és transparent (SSO amb
Kerberos) si l’usuari ja ha iniciat sessió al domini.
# Muntatge manual amb credencials de domini (Kerberos)
sudo mount -t cifs //SRV-FS01.thos.local/documents /mnt/documents \
-o sec=krb5,cruid=$(id -u),multiuser
# Muntatge amb usuari/contrasenya (menys recomanable, sense SSO)
sudo mount -t cifs //SRV-FS01.thos.local/documents /mnt/documents \
-o username=ramon,domain=THOS,vers=3.1.1
# Entrada permanent a /etc/fstab
//SRV-FS01.thos.local/documents /mnt/documents cifs credentials=/root/.smbcreds,vers=3.1.1,uid=1000,gid=1000 0 0sudo apt install nfs-kernel-server# /etc/exports
/srv/nfs/comu 10.0.10.0/24(rw,sync,sec=krb5,no_subtree_check)
sudo exportfs -ra
sudo systemctl restart nfs-kernel-serverMuntatge des d’un altre Linux:
sudo mount -t nfs4 -o sec=krb5 SRV-LINUX.thos.local:/comu /mnt/comuWindows només munta NFS amb el component opcional Client for NFS (edicions Pro/Enterprise), i sol requerir un mapatge d’usuaris addicional (NFS no coneix SID). Per aquest motiu, en un entorn amb Windows és preferible SMB per a la compartició principal i reservar NFS per a la interoperabilitat entre servidors Linux.
sudo apt install cups
sudo usermod -aG lpadmin ramon
sudo systemctl enable --now cupsAfegir la impressora via la interfície web de CUPS
(https://localhost:631) i, per exposar-la també via SMB als
clients Windows:
# /etc/samba/smb.conf
[printers]
comment = Totes les impressores
path = /var/spool/samba
browseable = no
printable = yes
guest ok = nosudo mkdir -p /var/spool/samba
sudo chmod 1777 /var/spool/samba
sudo systemctl restart smbd cupsDes de Windows: \\SRV-LINUX.thos.local mostrarà la
impressora com un recurs més, instal·lable amb el driver
corresponent.
Des de Linux/macOS es pot afegir directament via IPP: ipp://SRV-LINUX.thos.local:631/printers/nom_impressora.
| Comprovació | Ordre |
|---|---|
Sintaxi de smb.conf vàlida |
testparm |
| Unió al domini correcta | net ads testjoin |
| Tiquet Kerberos vigent | klist |
| Resolució d’identitats de domini | wbinfo -u, wbinfo -g, id THOS\\usuari |
| Sessions SMB actives | smbstatus |
| Comparticions visibles | smbclient -L localhost -U% |
| Exports NFS actius | showmount -e localhost |
| Cues d’impressió | lpstat -p -d |
| Registre d’errors | journalctl -u smbd -u winbind -f |
testparm -s
net ads testjoin
wbinfo -t
smbstatus
showmount -e localhost
lpstat -p -dUn servei es considera “verificat” quan es compleixen tres
condicions: el dimoni està actiu
(systemctl status), respon localment (ordres anteriors) i
és accessible des d’un client de l’altre SO amb les credencials i
permisos previstos.
Repartiment de rols suggerit:
Professors, Alumnes) i n’assigna permisos diferenciats a dues
comparticions.Lliurable de la pràctica:
Alumnes
no pot escriure a la compartició professors (evidència del control d’accés).Documentar no és opcional: sense documentació, cap configuració és mantenible ni auditable. Cada servei desplegat ha d’anar acompanyat d’una fitxa amb, com a mínim:
## Fitxa de servei: Samba — SRV-FS01
- Rol al domini: membre de THOS.LOCAL
- Versió: Samba x.x.x (Debian/Ubuntu xx.xx)
- Comparticions:
| Nom | Ruta | Grup autoritzat | Permisos |
|------------|-----------------------|-----------------|----------|
| dades | /srv/samba/dades | Domain Users | rw |
| professors | /srv/samba/professors | Professors | rw |
- Mapatge idmap: rid, rang 10000-999999 per a THOS
- Xifratge: smb encrypt = desired
- Dependències: DNS i Kerberos de SRV-DC01
- Còpia de seguretat: inclosa a la política de BackupPC (vegeu fitxa corresponent)
- Data última modificació / autor: ...
- Incidències conegudes: ...
Aquesta documentació ha de:
rid i no autorid a
l’idmap).