Com instal·lar Samba a Ubuntu per compartir fitxers a Windows
Samba és un programari de codi obert i gratuït per compartir fitxers i serveis d'impressió entre sistemes semblants a Unix, inclosos els amfitrions Linux i Windows a la mateixa xarxa.
En aquesta guia, mostrarem com configurar Samba4 per compartir fitxers bàsics entre sistemes Ubuntu i màquines Windows. Cobrirem dos possibles escenaris: anònim (no segur) i compartició segura de fitxers.
Tingueu en compte que a partir de la versió 4.0, Samba es pot utilitzar com a controlador de domini (DC) d'Active Directory (AD). Hem organitzat una sèrie especial per configurar Samba4 Active Directory Domain Controller, que inclou temes clau a Ubuntu, CentOS i Windows.
- Configuració del controlador de domini Samba4 Active Directory
Instal·leu i configureu Samba a Ubuntu
El servidor Samba està disponible per instal·lar-lo des dels dipòsits d'Ubuntu predeterminats mitjançant l'eina de gestor de paquets apt tal com es mostra.
$ sudo apt install samba samba-common python-dnspython
Un cop instal·lat el servidor samba, ara és el moment de configurar el servidor samba com a: compartició de fitxers anònima i segura.
Per a això, hem d'editar el fitxer de configuració principal de Samba /etc/samba/smb.conf (que explica diverses directives de configuració).
Primer feu una còpia de seguretat del fitxer de configuració de samba original de la següent manera.
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
Després, procedirem a configurar samba per a serveis d'intercanvi de fitxers anònims i segurs, tal com s'explica a continuació.
Important: abans de seguir endavant, assegureu-vos que la màquina Windows es troba al mateix grup de treball que es configurarà al servidor Ubuntu.
Inicieu sessió a la vostra màquina Windows, feu clic amb el botó dret a \Aquest PC o \El meu ordinador → Propietats → Configuració avançada del sistema → Nom de l'ordinador per verificar el grup de treball.
Alternativament, obriu l'indicador d'ordres i visualitzeu-lo executant l'ordre següent i cerqueu \domini de l'estació de treball.
>net config workstation
Un cop conegueu el vostre grup de treball de Windows, és hora d'avançar i configurar el servidor samba per compartir fitxers.
Compartició anònima de fitxers de Samba
Primer comenceu creant un directori de samba compartit on s'emmagatzemaran els fitxers.
$ sudo mkdir -p /srv/samba/anonymous_shares
A continuació, configureu els permisos adequats al directori.
$ sudo chmod -R 0775 /srv/samba/anonymous_shares $ sudo chown -R nobody:nogroup /srv/samba/anonymous_shares
Ara obriu el fitxer de configuració.
$ sudo vi /etc/samba/smb.conf OR $ sudo nano /etc/samba/smb.conf
A continuació, editeu o modifiqueu la configuració de la directiva tal com es descriu a continuació.
global] workgroup = WORKGROUP netbios name = ubuntu security = user [Anonymous] comment = Anonymous File Server Share path = /srv/samba/anonymous_shares browsable =yes writable = yes guest ok = yes read only = no force user = nobody
Ara verifiqueu la configuració actual de samba executant l'ordre següent.
$ testparm
Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) WARNING: The "syslog" option is deprecated Processing section "[printers]" Processing section "[print$]" Processing section "[Shares]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] netbios name = UBUNTU server string = %h server (Samba, Ubuntu) server role = standalone server map to guest = Bad User obey pam restrictions = Yes pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . unix password sync = Yes syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No usershare allow guests = Yes panic action = /usr/share/samba/panic-action %d idmap config * : backend = tdb [printers] comment = All Printers path = /var/spool/samba create mask = 0700 printable = Yes [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = No [Anonymous] comment = Anonymous File Server Share path = /srv/samba/anonymous_shares force user = nobody read only = No guest ok = Yes
A continuació, reinicieu els serveis de Samba per efectuar els canvis anteriors.
$ sudo systemctl restart smbd [Systemd] $ sudo service smbd restart [Sys V]
Aneu a la màquina Windows i obriu \Xarxa des d'una finestra de l'Explorador de Windows. Feu clic a l'amfitrió d'Ubuntu (TECMINT per al nostre cas), o bé intenteu accedir al servidor samba mitjançant la seva adreça IP.
\2.168.43.168
Nota: utilitzeu l'ordre ifconfig per obtenir l'adreça IP del vostre servidor Ubuntu.
A continuació, obriu el directori Anonymous i proveu d'afegir-hi fitxers per compartir-los amb altres usuaris.
Compartició segura de fitxers de Samba
Per protegir amb contrasenya una compartició de samba, heu de crear un grup smbgrp i establir una contrasenya per a cada usuari. En aquest exemple faig servir aaronkilik com a usuari i contrasenya com a tecmint.
$ sudo addgroup smbgrp $ sudo usermod aaronkilik -aG smbgrp $ sudo smbpasswd -a aaronkilik
Nota: El mode de seguretat de samba: seguretat = usuari requereix que els clients introdueixin un nom d'usuari i una contrasenya per connectar-se als recursos compartits.
Els comptes d'usuari de Samba estan separats dels comptes del sistema, però, opcionalment, podeu instal·lar el paquet libpam-winbind que s'utilitza per sincronitzar usuaris i contrasenyes del sistema amb la base de dades d'usuaris de samba.
$ sudo apt install libpam-winbind
A continuació, creeu el directori segur on es guardaran els fitxers compartits.
$ sudo mkdir -p /srv/samba/secure_shares
A continuació, configureu els permisos adequats al directori.
$ sudo chmod -R 0770 /srv/samba/secure_shares $ sudo chown -R root:smbgrp /srv/samba/secure_shares
Ara obriu el fitxer de configuració.
$ sudo vi /etc/samba/smb.conf OR $ sudo nano /etc/samba/smb.conf
A continuació, editeu o modifiqueu la configuració de la directiva tal com es descriu a continuació.
[Secure] comment = Secure File Server Share path = /srv/samba/secure_shares valid users = @smbgrp guest ok = no writable = yes browsable = yes
Igual que abans, executeu aquesta ordre per veure la vostra configuració actual de samba.
$ testparm
Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) WARNING: The "syslog" option is deprecated Processing section "[printers]" Processing section "[print$]" Processing section "[Shares]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] netbios name = UBUNTU server string = %h server (Samba, Ubuntu) server role = standalone server map to guest = Bad User obey pam restrictions = Yes pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . unix password sync = Yes syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No usershare allow guests = Yes panic action = /usr/share/samba/panic-action %d idmap config * : backend = tdb [printers] comment = All Printers path = /var/spool/samba create mask = 0700 printable = Yes [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = No [Anonymous] comment = Anonymous File Server Share path = /srv/samba/anonymous_shares force user = nobody read only = No guest ok = Yes [Secure] comment = Secure File Server Share path = /srv/samba/secure_shares valid users = @smbgrp read only = No
Un cop hàgiu fet amb les configuracions anteriors, reinicieu els serveis de Samba per aplicar els canvis.
$ sudo systemctl restart smbd [Systemd] $ sudo service smbd restart [Sys V]
Com abans, a la màquina Windows, i obriu \Xarxa des d'una finestra de l'Explorador de Windows. Feu clic a l'amfitrió d'Ubuntu (TECMINT per al nostre cas). Podeu obtenir l'error següent, si no, aneu al pas següent.
Intenteu accedir al servidor mitjançant la seva adreça IP, p. \\192.168.43.168
com aquest. A continuació, introduïu les credencials (nom d'usuari i contrasenya) per a l'usuari aaronkilik i feu clic a D'acord.
Ara veureu tots els directoris compartits, feu clic a Segur per obrir-lo.
Podeu compartir de manera segura alguns fitxers amb altres usuaris permesos de la xarxa deixant-los anar en aquest directori.
Habiliteu Samba a UFW Firewall a Ubuntu
Si teniu el tallafoc UFW habilitat/actiu al vostre sistema, heu d'afegir les regles per permetre que Samba passi pel vostre tallafoc.
Per provar-ho, hem utilitzat l'esquema de xarxa 192.168.43.0. Executeu les ordres següents especificant la vostra adreça de xarxa.
$ sudo ufw allow proto udp to any port 137 from 192.168.43.0/24 $ sudo ufw allow proto udp to any port 138 from 192.168.43.0/24 $ sudo ufw allow proto tcp to any port 139 from 192.168.43.0/24 $ sudo ufw allow proto tcp to any port 445 from 192.168.43.0/24
També podeu consultar aquests articles útils sobre l'ús compartit de fitxers Samba en una xarxa.
- Configuració del controlador de domini Samba4 Active Directory - Part 1 a 14
- Com muntar/desmuntar sistemes de fitxers locals i de xarxa (Samba i NFS) a Linux
- Ús d'ACL (llistes de control d'accés) i muntatge de recursos compartits de Samba/NFS
- Com solucionar la vulnerabilitat de SambaCry (CVE-2017-7494) als sistemes Linux
Això és tot! En aquesta guia, us vam mostrar com configurar Samba4 per compartir fitxers anònims i segurs entre màquines Ubuntu i Windows. Utilitzeu el formulari de comentaris a continuació per compartir qualsevol reflexió amb nosaltres.