NFS_SAMBA_PRACTICA

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

Sistemes informàtics

NFS
Introducció

Network File System (NFS) és un sistema de compartició d’arxius entre màquines


UNIX desenvolupat per Sun Microsystems i IBM (1984).
Es tracta d’un protocol per a sistemes client/servidor on el servidor comparteix una
carpeta del seu disc perquè el client pugui accedir a ell per xarxa com si la
informació estigués al seu mateix disc.

Característiques:
● És un estàndard obert (RFC 1813 -> NFSv3, RFC 3530 -> NFSv4)
● Permet fer routing entre màquines de xarxes diferents (p.e Internet)
● Està dissenyat perquè pugui ser ràpid i lleuger fent servir paquets UDP.
NFS v3

Característiques:
● L’especificació és de 1995.
● Trencat el límit que tenia NFSv2 amb fitxers de fins a 2GiB. Amb aquests
versió s’utilitzen 64 bits per a la mida del fitxer, superant amb això la barrera
dels 2GiB.
● Es millora el rendiment de les escriptures amb el mètode d’escriptura
asíncrona amb el servidor.
● S’afegeixen atributs als fitxers.

Problema: La seguretat es fa a nivell de màquina o xarxa, no a


nivell d’usuari.

NFS v4

Característiques:
● Afegeix millores de rendiment respecto a NFS v3.
● Implementa seguretat a nivell d’usuari.
● S’està desenvolupant la versió NFSv4.1 per a sistemes servidors distribuïts
(clusters).

Si hem d’interconnectar entre sí màquines UNIX i compartir fitxers,


la millor opció és utilitzar NFS que és natiu de UNIX. Si tenim
màquines Windows a la xarxa, es pot utilitzar Samba per a servir els
fitxers. En qualsevol cas, no són sistemes excloents.
Instal·lació i configuració de NFSv3 en Linux

En un sistema basat en Debian, podem instal·lar NFS amb la següent comanda:


$ sudo apt install nfs-kernel-server

Un cop instal·lat el paquet anterior, es crea en el nostre sistema el fitxer de


configuració /etc/exports que és necessari per a realitzar la configuració.
carpeta_compartida client1/subxarxa1(opcions1) client2/subxarxa2(opcions2) ...

Exemple:
/compartida 192.168.1.0/24(rw,async,no_subtree_check)

Opcions més comunes:


● rw: Indica que l’accés serà de lectura/escriptura. Per defecte, l’accés és de
només lectura (també es pot fer explícit amb l’opció ro).
● async: Permet escriptures asíncrones al el servidor que milloren el
rendimiento cuando el número de peticiones de escritura es muy alto. La
opción por defecto es '''sync''' que realiza las escrituras de forma síncrona, es
decir, cada vez que se indica desde el cliente que se quiere guardar un
fichero.
● no_subtree_check: Evita la comprovació del subtree checking o
verificacions en tot l’arbre on està la carpeta compartida. Molt opinen que
aquestes comprovacions donen més problemes dels que solucionen per la
qual cosa, en la majoria de casos, s’hauria de deixar aquesta opció. L’opció
contrària és subtree_check.

Pots veure més opcions amb man exports o a la següent pàgina:


http://es.tldp.org/Manuales-LuCAS/GARL2/garl2/x-087-2-nfs.exports.html

La configuració es fa efectiva un cop reiniciem el servei:


$ sudo systemctl restart nfs-kernel-server.service
Per tal de no haver de reiniciar el servei i provocar un tall
momentani dels usuaris que estaven accedint, podem recarregar la
configuració nova amb l’opció reload en comptes de restart.

Verifiquem que la carpeta està compartida amb:


$ sudo exportfs
/compartida 192.168.1.0/24

Suposem que el directori /compartida està creat al servidor i que la


xarxa 192.168.0.1/24 existeix i n’hi ha client en aquest rang de
xarxa.
Configuració del client

Un cop el servidor està configurat, passem al client.


En primer lloc, instal·lem el paquet nfs-common.
$ sudo apt install nfs-common

Ara ja podem muntar la carpeta del servidor en una carpeta del nostre client:
$ sudo mount -t nfs 192.168.1.2:/compartida /remot
on /remot és una carpeta creada a la màquina client.

O, el que és el mateix, es pot afegir al fitxer /etc/fstab una línea como la següent:
192.168.1.2:/compartida /remot nfs rw 0 0

Observa que el sistema d’arxius ara és nfs.

Hem de tenir en compte que, per accedir al sistema d’arxius amb NFS, el client
haurà de superar tres capes de seguretat:
● La que imposa el sistema d’arxius del client (permisos rwx a la carpeta que fa
de punt de muntatge del client)
● La que imposa el servei NFS (rw, ro, ...)
● La que imposa el sistema d’arxius del servidor (permisos rwx a la carpeta del
servidor)

El següent esquema representa el que acabem de dir:


Els permisos i propietaris de la carpeta que fa de punt de muntatge a la màquina client són
els mateixos que té la carpeta compartida al servidor.
Sistemes informàtics

Samba
Introducció

Samba és un programari obert i lliure que implementa el protocol CIFS (Common


Internet File System) que és l’actual nom del protocol original SMB (Server Message
Block) de Microsoft. El nom neix a partir d’inserir dues vocals al nom del protocol
SMB.

Va ser desenvolupar per Andrew Tridgell el 1992. Com que en aquell moment no
existia un document públic i lliure que indiqués com funcionava SMB, Tridgell va
haver de deduir, mitjançant enginyeria inversa, el funcionament del protocol amb
l’ajut d’un sniffer de xarxa.

Actualment, el document amb el protocol CIFS de Microsoft està disponible a:


https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-cifs/d416ff7c-c536-
406e-a951-4f04b2fd1d2b

Samba permet a sistemes basats en UNIX poder compartir recursos amb equips
que tenen instal·lat Microsoft Windows que sí implementen CIFS de forma nativa.

Usos de Samba:
● Compartir carpetes
● Compartir impressores (gestió de cues d’impressió)
● Controlador Principal de Domini (PDC: Primary Domain Controller) i
Controlador Secundari de Domini (BDC: Backup Domain Controller)
● Servidor Active Directory (AD).
Samba com a client

Podem usar una máquina UNIX com a client de CIFS. Per exemple, podem
compartir una carpeta a la xarxa amb una màquina Windows i accedir a la
carpeta compartida des d’un client Linux.
Per fer això, hem de tenir instal·lat al client el paquet necessari per tal
d’accedir al sistema d’arxius CIFS que ens ofereix el servidor:
$ sudo apt install cifs-utils

Ahora ja podem muntar la carpeta compartida:


$ sudo mount -t cifs //màquinaremota/carpetacompartida /puntdemuntatge -o username=nomusuari

On:
● cifs: És el sistema d’arxius en xarxa que usa el protocol CIFS.
● màquinaremota: És el nom o IP de la màquina que fa de servidor
d’arxius.
● carpetacompartida: És la carpeta en xarxa compartida al servidor.
Observa que el nom real de la carpeta i el nom que té a la xarxa no
tenen per què coincidir.
● puntdemuntatge: Carpeta del client on es muntarà la carpeta
remota.
● nomusuari: És el nom d’un usuari de la màquina que fa de servidor
d’arxius CIFS.

Observa que amb CIFS, a diferència de NFS, hem d’identificar-nos contra el servidor. Per
això, l’opció username sempre l’hem de posar.

Si volem que la carpeta es munti automàticament quan el client arrenqui, haurem


d’afegir una entrada al fitxer /etc/fstab:
//màquinaremota/carpetacompartida /puntmuntatge cifs rw,username=nomusuari,uid=usuarilocal 0 0

On:
● uid: És l'identificador (numèric o alfanumèric) de l’usuari de la màquina client
que volem que sigui el propietari de la carpeta que fa de punt de muntatge
(d’aquesta forma podrà escriure com a usuari regular sense haver de ser
root). També es pot afegir l’opció gid per especificar el grup de la màquina
client que farà de grup propietari de la carpeta muntada.

També podem afegir els paràmetres file_mode i dir_mode per establir els permisos
que tindrà la carpeta muntada. Aquests permisos es posaran en octal. (exemple:
dir_mode=0750).

Si volem configurar el client Samba des d’una màquina que fa de servidor,


com que necessitem donar la password cada cop que arranquem, la única
solució és fer-ho amb un fitxer de credencials.
Hem de crear un fitxer de text que contingui els credencials amb l’usuari i
password a assignar:
$ sudo nano /etc/identificaciosamba
El nom i la ubicació la podem decidir nosaltres.

Amb un contingut com el següent:


username=nomusuari
password=paraulaclau

On nomusuari i paraulaclau són l’usuari i password que utilitzarem al


servidor.
Normalment, per més seguretat, no permetrem que ningú més que root
pugui llegir aquest contingut:
$ sudo chmod 700 /etc/identificaciosamba
Fins i tot, podem fer que el fitxer sigui ocult (amb un .) davant.

Ara, a la línia de /etc/fstab on muntem automàticament la carpeta per


Samba, canviem l’opció username per la següent opció:
credentials=/etc/identificaciosamba

Aquesta solució no és òptima perquè tenim una password en un fitxer de


text pla. Malauradament, és la única opció quan tenim una màquina a la
qual no estem davant quan arrenca per posar una password, com és el cas
d’un servidor.
Samba com a servidor

Per tal d’instal·lar el programari servidor de Samba a sistemes Linux basats


en Debian, podem utilitzar la següent comanda:
$ sudo apt install samba

A més del programari necessari per a fer de servidor, aquest paquet afegeix
la carpeta /etc/samba i, dins d’ella, el fitxer de configuració smb.conf.

La estructura del fitxer de configuració smb.conf és la següent:

[secció]
opció1 = valor1
opció2 = valor2
opció3 = valor3
.
.
.

On:
● secció: És el nom de la secció o recurs compartit. Per exemple, quan
compartim una carpeta, aquí posaríem el nom amb el què volem que aquesta
carpeta es vegi a la xarxa. També s’usa per a seccions del fitxer que tenen un
significat propi com són global, homes, netlogon, profiles o printers.
● opcióN: És el paràmetre que, segons el valor que tingui, configura Samba
per a actuar d’una forma específica.
● valorN: És el contingut de l’opció de configuració i que nosaltres assignem.

A més, podem fer servir els símbols # ó ; al principi d’una línia per indicar que es tracta
d’un comentari. Habitualment, # s’utilitza per a comentaris on apareix text que explica la
configuració que ve a continuació, mentre que ; se sol usar per deshabilitar una opció que més
endavant podrem habilitar simplement eliminant el símbol de comentari.
Exemple:
# Compartim una carpeta a la xarxa
[carpeta]
path = /compartida
;read only = no

Amb Samba tenim l’eina testparm que permet saber si el fitxer de configuració té
alguna errada de sintaxi o no abans d’aplicar la configuració al servidor.

$ testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[carpeta]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
idmap config * : backend = tdb

[carpeta]
path = /compartir

El missatge Loaded services file OK indica que la sintaxi és correcta.


Un cop premem Enter, se’ns mostra la configuració tal i com la detecta el servidor.
Pot ser que alguna opció ens mostri de forma diferent a com l’hem configurat
nosaltres però el resultat hauria de ser el mateix.
Quan la configuració és correcta, podem aplicar els canvis al servidor.
Per a sistemes basats en Linux Debian, podem reiniciar el servei amb:

$ sudo systemctl restart smbd.service


$ sudo systemctl restart nmbd.service

La primera comanda reinicia el servidor Samba. La segona reinicia el servidor de


noms inclòs al protocol CIFS.
Alternativament, podem recarregar la configuració sense detenir el servei amb:
$ sudo systemctl reload smbd.service

Usuaris Samba

Els usuaris es gestionen a Samba de forma independent del sistema operatiu.


Tanmateix, per poder donar d’alta un usuari a Samba, aquest ha d’existir
prèviament al sistema operatiu.
Si no existeix, podem donar-lo d’alta com:
$ sudo useradd -s /usr/sbin/nologin nomusuarisamba

A continuació, podem afegir-lo ja a la llista d’usuaris Samba:


$ sudo smbpasswd -a nomusuarisamba

En qualsevol moment podem consultar la llista d’usuaris Samba:


$ sudo pdbedit -L

Si volem eliminar usuaris Samba, ho podem fer amb l’opció -x:


$ sudo smbpasswd -x nomusuarisamba

Windows com a client fa caché dels credencials (usuari/password) de la sessió


establerta amb el servidor Samba. Si volem eliminar aquesta caché, podem teclejar des
de la línia de comandes de Windows: net session delete
Permisos de carpetes

Per defecte, quan es comparteix una carpeta a Samba, aquesta té permisos de només
lectura. Aquest comportament es pot modificar amb paràmetres de configuració dins del
recurs en concret:
● read only = yes/no: Per defecte és yes (només lectura). Si posem no, la carpeta té
permisos de lectura i escriptura. Aquest paràmetre també es pot escriure com
writable = yes/no on writable = yes és el mateix que read only = no.
● valid users = llista d’usuaris o grups que tenen accés al recurs. També existeix
l’opció oposada invalid users.
● read list = llista d’usuaris o grups que tenen permisos de només lectura a un recurs
on el seu accés estava establert com de lectura/escriptura.
● write list = llista d’usuaris o grups que tenen accés de lectura/escriptura a un recurs
de només lectura.
● guest ok = yes/no : Indica si es permet l’accés amb el compte convidat que, per
defecte, és nobody. Aquesta opció és equivalent a public = yes/no.
● guest account = usuari: En comptes de fer servir l’usuari nobody com a compte
d’usuari convidat, es pot fer servir qualsevol altre compte amb aquesta opció.
● admin users = llista d’usuaris o grups que tenen permisos de root a la carpeta
compartida.
● hosts allow = llista de servidors: Determina la llista servidors o (nom o IPs ,poden
ser també xarxes) que poden accedir a la carpeta. Si aquesta opció es posa a la
secció [global], llavors afecta a totes les carpetes del servidor.
● hosts deny = llista de servidors: El mateix que a l’opció anterior però es fa servir per
dir qui no pot accedir a la carpeta.

Els grups a Samba es refereixen a grups del sistema operatiu Linux. A l’hora d’establir un
grup a la configuració de Samba, s’indica precedit per @.

A part de les seccions que creem amb carpetes nostres, també hi ha seccions que tenen un
nom ja establert.
La secció predefinida més important és global. En aquesta secció definim paràmetres que
no afecten a una carpeta en particular, sinó al comportament de tot el servidor. Si
especifiquem aquí restriccions sobre usuaris màquines (valid users, hosts allow, …),
aquestes restriccions afectaran a totes les carpetes del servidor.

Altres paràmetres que també són vàlids dins de la secció global com netbios name indica
quin serà el nom del servidor visible a la xarxa.
Connexió des del client Windows gràficament i per
comandes
Des d’un client Windows, podem connectar-nos gràficament.
Per tal de poder fer-ho, des de l’explorador d’arxius fem clic dret amb el ratolí a sobre de
Este equipo o Red i ens obre el següent diàleg:

Escrivim a Carpeta la IP del servidor i el nom de la carpeta compartida amb el


format:

\\IP_servidor\carpetacompartida

Alternativament, també ens podem connectar des de la línia de comandes de


Windows amb:

net use Z: \\IP_servidor\carpetacompartida

Si a net use no l’indiquem amb quin usuari s’ha de connectar, utilitza l’usuari de
Windows actual. Si aquest usuari no funciona, llavors ens demana un nou usuari/password.
També li podem dir amb quin usuari Samba ens volem connectar afegint l’opció
/user:usuari a net use.
Si volem eliminar la connexió creada, es pot fer amb net use Z: /delete.
Impressores

Una impressora que estigui configurada al sistema operatiu es pot compartir amb
Samba.

Per exemple:
[printers]
comment = All Printers
browseable = yes
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700

Aquesta configuració fa que automàticament siguin visibles a la xarxa totes les impressores
que tenim configurades al nostre sistema operatiu.

Si volem evitar que les impressores siguin visibles per defecte, podem afegir l’opció load
printers = no a la secció [global]:

[global]
load printers = no ; Fem que les impressores no siguin visibles a
la xarxa Windows

En aquesta situació, podem fer que només siguin visibles les impressores que nosaltres
decidim afegim el nom de la impressora a una secció:

[HP_LaserJet_P2015]
printable = yes
path = /var/spool/samba

També podem fer que el client proveeixi el driver de la impressora a la carpeta


/var/lib/samba/printers. D’aquesta forma, quan configurem la impressora des del
client Windows, el servidor li subministrarà automàticament el driver.

Més informació a:
https://www.oreilly.com/library/view/linux-in-a/0596007582/ch04s04.html
Sistemes informàtics
Pràctica NFS/Samba (Solució)

En una empresa volem donar accés als usuaris a certes carpetes d’un servidor amb
Debian Linux.

L’empresa té els departaments de direcció, compres, vendes i desenvolupament.

Al departament de desenvolupament treballen tres persones: el Joan, el Toni i la


Cristina.

Al departament de compres només hi ha el Pau, a vendes la Roser i el Jordi i a


direcció el Marcel (que és el director) i la Carme.

Cada departament es troba en una subxarxa com s’indica a continuació:

● Desevolupament: 192.168.1.0/24
● Compres: 192.168.2.0/24
● Vendes: 192.168.3.0/24
● Direcció: 192.168.4.0/24

1.- Instal·la el necessari per tenir el servei NFS a la màquina Debian. Indica com
reinicies el servei NFS i mostra que s’està executant (mostra que el servei escolta
en el port corresponent i que el seu estat és actiu). Quin port utilitza el servei NFS?

# Instal·lem el servei NFS

$ sudo apt install nfs-kernel-server


# Reiniciem el servei NFS amb:

$ sudo systemctl restart nfs-kernel-server.service

# Per demostrar que s’està executant el servei (que està actiu):

$ sudo systemctl status nfs-kernel-server.service

● nfs-server.service - NFS server and services

Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor


preset: enabled)

Active: active (exited) since Sat 2019-04-20 18:08:34 CEST; 1min 34s ago

Process: 4622 ExecStopPost=/usr/sbin/exportfs -f (code=exited,


status=0/SUCCESS)

Process: 4621 ExecStopPost=/usr/sbin/exportfs -au (code=exited,


status=0/SUCCESS)

Process: 4620 ExecStop=/usr/sbin/rpc.nfsd 0 (code=exited, status=0/SUCCESS)

Process: 4630 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited,


status=0/SUCCESS)

Process: 4629 ExecStartPre=/usr/sbin/exportfs -r (code=exited,


status=0/SUCCESS)

Main PID: 4630 (code=exited, status=0/SUCCESS)

# Per veure el port on escolta el servei NFS.


$ ss -ta

State Recv-Q Send-Q Local Address:Port


Peer Address:Port
LISTEN 0 64 0.0.0.0:nfs
0.0.0.0:*
LISTEN 0 64 0.0.0.0:44165
0.0.0.0:*
LISTEN 0 128 0.0.0.0:ldap
0.0.0.0:*


$ ss -tan
State Recv-Q Send-Q Local Address:Port
Peer Address:Port
LISTEN 0 64 0.0.0.0:2049
0.0.0.0:*
LISTEN 0 64 0.0.0.0:44165
0.0.0.0:*
LISTEN 0 128 0.0.0.0:389
0.0.0.0:*

# Els anteriors resultats demostren que el port on escolta el servei NFS és el 2049.

2.- Configura el servidor per permetre que els usuaris del departament de
desenvolupament puguin accedir per NFS a la carpeta devel del servidor en mode
lectura/escriptura i la resta de departaments només en mode lectura. Quin canvi
faries a la configuració del servidor NFS per tal de permetre que un departament
pugui escriure?

# Hem de crear primer la carpeta /devel


$ sudo mkdir /devel

# Creem els usuaris que necessitem del departament desenvolupament (Nota:


també es poden crear a LDAP)
$ sudo adduser joan
$ sudo adduser toni
$ sudo adduser cristina

# Creem el grup desenvolupament


$ sudo addgroup desenvolupament

# Fem que els usuaris del departament desenvolupament pertanyin al grup del
mateix nom:
$ sudo adduser joan desenvolupament
$ sudo adduser toni desenvolupament
$ sudo adduser cristina desenvolupament
# Fem que desenvolupament sigui el grup propietari de /devel i li donem
permisos d’escriptura
$ sudo chown :desenvolupament /devel
$ sudo chmod g+w /devel

(repetim el mateix amb els usuaris del grup vendes, compres i


direccio).

# Fitxer /etc/exports (tot en una sola línia)


/devel 192.168.1.0/24(rw,sync,no_subtree_check)
192.168.2.0/24(ro,sync,no_subtree_check)
192.168.3.0/24(ro,sync,no_subtree_check)
192.168.4.0/24(ro,sync,no_subtree_check)

# Reiniciem el servei

$ sudo systemctl restart nfs-kernel-server.service

Si hem de permetre a un altre departament que pugui escriure a /devel, haurem


de fer que el grup propietari de la carpeta /devel sigui diferent a desenvolupament
(per exemple desenv2) i fer que tots els usuaris dels departaments que hagin de
poder escriure a /devel estiguin dins del grup desenv2.

A continuació, hem de modificar la línia del /etc/exports referent a la xarxa


específica del departament que ha de poder escriure i posar rw en comptes de ro.

Detalla la configuració del servidor i els clients que necessites perquè es munti
automàticament la carpeta en xarxa per NFS.

Al servidor ja ho hem explicat abans amb el fitxer /etc/exports i els permisos de la


carpeta.
Al client haurem de posar al fitxer /etc/fstab una línia com la següent:

192.168.1.2:/devel /devel nfs rw 0 0

On 192.168.1.2 és la IP del servidor NFS, i el segon /devel que apareix és el


punt de muntatge del client.

A més, hem de tenir present que el uid numéric de l’usuari al servidor i al client ha
de ser el mateix. El millor per a assegurar-lo és fer servir LDAP.

3.- La Cristina utilitza també una màquina Windows 10 per accedir a la carpeta
devel en mode lectura/escriptura.

Instal·la el servei Samba al servidor per tal de permetre que pugui accedir.

$ sudo apt install samba

Fes la configuració del servidor suposant que potser més endavant, els altres
usuaris del departament de desenvolupament també hauran de poder accedir amb
els mateixos permisos que tenen amb NFS.

# Creem els usuaris del grup desenvolupament a Samba

$ sudo smbpasswd -a cristina

# En previsió de que més endavant vulguin accedir també els altres usuaris del
departament de desevolupament, creem també els seus usuaris:
$ sudo smbpasswd -a joan
$ sudo smbpasswd -a toni

# Nota: Hem de tenir creat (quan hem fet l’apartat del NFS) un grup per al seu
departament i hem de tenir afegits a tots tres al grup.
Detalla la configuració del servidor.

# Creem un nou fitxer /etc/samba/smb.conf o afegim al final del ja existent el


següent contingut:

[devel]
path = /devel
read only = yes
valid users = @desenvolupament @compres @vendes @direccio
write list = @desenvolupament

# L’anterior contingut presuposa que s’han donat d’alta tots els usuaris i grups de
l’empresa.
# Aconseguim que tots els usuaris puguin accedir en mode lectura però només els
usuaris del departament desenvolupament podran escriure.

Mostra com veuria un client del departament de desenvolupament la seva màquina


Windows amb la carpeta devel accesible des de la seva màquina.

#A continuació mostrem com veuria Cristina la carpeta muntada i amb una


subcarpeta que ha pogut crear per tenir permisos d’escriptura i lectura. També
hem posat la carptura de com la veuria Toni del mateix departament.
Com a Toni:
4.- El servidor Samba només pot deixar accedir a màquines de les xarxes locals on
estan els departaments:

● Desevolupament: 192.168.1.0/24
● Compres: 192.168.2.0/24
● Vendes: 192.168.3.0/24
● Direcció: 192.168.4.0/24

A més, el servidor ha de poder ser trobat a la xarxa local amb el nom:


ServidorDocs.

Indica la configuració que has de fer i quins serveis has de reiniciar per fer-la
efectiva.

# Creem un nou fitxer /etc/samba/smb.conf o afegim al final del ja existent el


següent contingut:

[global]
hosts allow = 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24
192.168.4.0/24
netbios name = ServidorDocs

[devel]
path = /devel
read only = yes
valid users = @desenvolupament @compres @vendes @direccio
write list = @desenvolupament

# A continuació hem de reiniciar tant el servei de compartició de carpetes com el


de noms
$ sudo systemctl restart smbd.service
$ sudo systemctl restart nmbd.service

5.- Mostra la configuració del servidor Samba per afegir la resta d’usuaris:

● La carpeta compres haurà de ser accessible només per al departament de


compres i en mode lectura/escriptura.
● La carpeta vendes haurà de ser accessible en mode lectura/escriptura
només per al departament de Vendes, excepte per al Jordi que només tindrà
permís de lectura.
● La carpeta direccio haurà de ser accessible tans sols per als membres del
departament Direcció i en mode només lectura. El Marcel, de forma
excepcional, serà l’únic que hi podrà escriure.

# Creem un nou fitxer /etc/samba/smb.conf o afegim al final del ja existent el


següent contingut:

[global]
hosts allow = 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24
192.168.4.0/24
netbios name = ServidorDocs

[devel]
path = /devel
read only = yes
valid users = @desenvolupament @compres @vendes @direccio
write list = @desenvolupament

[compres]
path = /compres
valid users = @compres
read only = no

[vendes]
path = /vendes
valid users = @vendes
read only = no
read list = jordi

[direccio]
path = /direccio
valid users = @direccio
read only = yes
write list = marcel

Nota 1: Mira de fer servir grups.

Nota 2: Mostra tant la configuració del servei com els usuaris/grups creats.

6.- Tenim una impressora HP LaserJet 5200 PS sense tarja de xarxa però volem
connectar-la a la xarxa perquè es pugui imprimir des de qualsevol departament.

Indica quina configuració faries al servidor i mostra com es veuria des d’un client
Windows un cop configurada a la màquina client.

# Afegim a /etc/samba/smb.conf el següent contingut:

[global]
hosts allow = 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24
192.168.4.0/24
netbios name = ServidorDocs
load printers = no

[devel]
path = /devel
read only = yes
valid users = @desenvolupament @compres @vendes @direccio
write list = @desenvolupament

[compres]
path = /compres
valid users = @compres
read only = no

[vendes]
path = /vendes
valid users = @vendes
read only = no
read list = jordi

[direccio]
path = /direccio
valid users = @direccio
read only = yes
write list = marcel

[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700

[HPLaserJet5200PS]
printable = yes
path = /var/spool/samba
Y un cop configurada es veuria així:
Verifica com es veu des del servei CUPS un document imprès a un client.
7.- Indica què ens aporta Samba que no tingui ja NFSv3.

# A més de NFS amb Samba podem:


● Compartir impressores
● Fer autenticació per usuari/password sense instal·lar cap servei més
● S’integra millor que NFS amb xarxes Windows

8.- Quina diferència hi ha entre Samba i CIFS?

# Estrictament, CIFS és un protocol (l’antic SMB) i Samba és una implementació


software d’aquest protocol.

9.- Quins serveis has utilitzat a Samba? Per a què serveix cadascun?

# Necessitem el servei de compartició de carpetes (smbd) i el de noms (nmbd),


aquest últim per tenir en compte que s’ha de difondre el nom del servidor amb la
seva IP per la xarxa.

10.- Quin port utilitza Samba?

# Per al servei de compartició de carpetes (smbd) es fa servir el port 445 i per al


servei de noms (nmbd) el port 139.

11.- Quina eina de Samba ens permet comprovar que la sintaxi del fitxer de
configuració sigui la correcta abans de reiniciar el servei?

$ testparm

You might also like