I file server spesso devono ospitare una varietà di diversi sistemi client. L'esecuzione di Samba su Ubuntu 22.04 Jammy Jellyfish consente ai sistemi Windows di connettersi e accedere ai file, così come ad altri sistemi Linux e MacOS. Una soluzione alternativa sarebbe quella di eseguire un server FTP/SFTP su Ubuntu 22.04, che può anche supportare le connessioni da molti sistemi.
L'obiettivo di questo tutorial è configurare un server Samba di base su Ubuntu 22.04 Jammy Jellyfish per condividere le directory home degli utenti e fornire accesso anonimo in lettura e scrittura alla directory selezionata.
Esistono miriadi di possibili altre configurazioni di Samba, tuttavia lo scopo di questa guida è di iniziare con alcune nozioni di base che possono essere successivamente ampliate per implementare più funzionalità per soddisfare le tue esigenze. Imparerai anche come accedere al server Samba di Ubuntu 22.04 da un sistema Windows.
In questo tutorial imparerai:
- Come installare il server Samba
- Come configurare la condivisione Samba di base
- Come condividere le directory home degli utenti e le directory anonime pubbliche
- Come montare la condivisione Samba su MS Windows 10
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Ubuntu 22.04 Jammy Medusa |
Software | Samba |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Come configurare la condivisione Samba Server su Ubuntu 22.04 istruzioni passo passo
- Cominciamo con l'installazione del server Samba. Questo è un compito piuttosto banale. Per prima cosa, apri un terminale a riga di comando e installa
tasksel
comando se non è ancora disponibile sul tuo sistema Ubuntu 22.04. Una volta pronto, usatasksel
per installare il server Samba.$ sudo apt update $ sudo apt install tasksel $ sudo tasksel install samba-server
- Inizieremo con un nuovo file di configurazione pulito, mentre manterremo anche il file di configurazione predefinito come backup a scopo di riferimento. Esegui i seguenti comandi Linux per fare una copia del file di configurazione esistente e creare un nuovo
/etc/samba/smb.conf
file di configurazione:$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup $ sudo bash -c 'grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf'
- Samba ha un proprio sistema di gestione degli utenti. Tuttavia, qualsiasi utente esistente nell'elenco utenti di samba deve esistere anche all'interno di
/etc/passwd
file. Se il tuo utente di sistema non esiste ancora, quindi non può essere individuato all'interno di/etc/passwd
file, prima crea un nuovo utente usandouseradd
comando prima di creare qualsiasi nuovo utente Samba. Una volta che il tuo nuovo utente di sistema, ad es.linuxconfig
esce, usasmbpasswd
comando per creare un nuovo utente Samba:$ sudo smbpasswd -a linuxconfig New SMB password: Retype new SMB password: Added user linuxconfig.
- Il passaggio successivo consiste nell'aggiungere la condivisione della directory home. Usa il tuo editor di testo preferito, ad es. atom, sublime, per modificare il nostro nuovo
/etc/samba/smb.conf
File di configurazione di Aamba e aggiungi le seguenti righe alla fine del file:[homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S
- Facoltativamente, aggiungi una nuova condivisione Samba in lettura e scrittura disponibile pubblicamente accessibile da utenti anonimi/ospiti. Innanzitutto, crea una directory che desideri condividere e modifica i suoi permessi di accesso:
$ sudo mkdir /var/samba $ sudo chmod 777 /var/samba/
- Una volta pronto, apri nuovamente il
/etc/samba/smb.conf
file di configurazione di samba e aggiungi le seguenti righe alla fine del file:[public] comment = public anonymous access path = /var/samba/ browsable =yes create mask = 0660 directory mask = 0771 writable = yes guest ok = yes
- Controlla la tua configurazione attuale. Il tuo
/etc/samba/smb.conf
Il file di configurazione di samba in questa fase dovrebbe essere simile a quello qui sotto:
[global] workgroup = WORKGROUP server string = %h server (Samba, Ubuntu) log file = /var/log/samba/log.%m max log size = 1000 logging = file panic action = /usr/share/samba/panic-action %d server role = standalone server obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no [homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S [public] comment = public anonymous access path = /var/samba/ browsable =yes create mask = 0660 directory mask = 0771 writable = yes guest ok = yes
- La nostra configurazione di base del server Samba è terminata. Ricordati di riavviare sempre il tuo server samba, dopo che sono state apportate modifiche a
/etc/samba/smb.conf
file di configurazione:$ sudo systemctl restart smbd
- (opzionale) Creiamo dei file di prova. Dopo aver montato correttamente le nostre condivisioni Samba, i file seguenti dovrebbero essere disponibili a nostra disposizione:
$ touch /var/samba/public-share $ touch /home/linuxconfig/home-share
Accedi alla condivisione Samba di Ubuntu 22.04 da MS Windows
- A questo punto siamo pronti per rivolgere la nostra attenzione a MS Windows. Il montaggio delle directory delle unità di rete potrebbe essere leggermente diverso per ciascuna versione di MS Windows. Questa guida utilizza MS Windows 10 nel ruolo di client Samba. Per iniziare, apri il tuo
Windows Explorer
quindi fare clic con il pulsante destro del mouse suNetwork
e fai clic suMap network drive...
scheda. - Successivamente, seleziona la lettera di unità e digita il percorso di condivisione Samba che è l'indirizzo IP o il nome host del tuo server Samba seguito dal nome della home directory dell'utente. Assicurati di selezionare
Connect using different credentials
se il tuo nome utente e password sono diversi da quelli di Samba creati consmbpasswd
comando su Ubuntu 22.04. - Inserisci la password dell'utente Samba creata in precedenza su Ubuntu 22.04.
- Sfoglia la home directory dell'utente. Dovresti essere in grado di vedere il file di test creato in precedenza. Così come dovresti essere in grado di creare nuove directory e file.
- Ripetere i passaggi di montaggio anche per la condivisione di directory samba pubblicamente anonima.
- Conferma di poter accedere alla directory condivisa di samba pubblica.
Tutto fatto. Ora sentiti libero di aggiungere più funzionalità alla configurazione del tuo server di condivisione Samba.
Pensieri conclusivi
In questo tutorial, abbiamo imparato come installare Samba su Ubuntu 22.04 Jammy Jellyfish Linux. Abbiamo anche visto come creare una condivisione Samba, un utente Samba e configurare l'accesso in lettura e scrittura. Quindi, abbiamo esaminato i passaggi per connetterci al nostro server Samba da una macchina client che esegue MS Windows. L'utilizzo di questa guida dovrebbe consentire di creare un file server in grado di ospitare connessioni da vari sistemi operativi.