Come configurare smartphone e PC. Portale informativo
  • casa
  • Ferro
  • Protocollo Samba. Configurazione di Samba semplice e veloce

Protocollo Samba. Configurazione di Samba semplice e veloce

Samba è un programma che consente ai computer UNIX/Linux di emulare le macchine Windows. Utilizzando Samba, i computer possono condividere file o gestire lavori di stampa come file server o server di stampa Windows. Come il sistema operativo UNIX/Linux su cui viene eseguito, Samba è un software open source sviluppato da molti programmatori.

Il protocollo SMB viene utilizzato da Microsoft Windows 2000, NT e 95/98 per fornire l'accesso a dischi e stampanti. Utilizzando la suite di utilità Samba di Andrew Tridgell ( [e-mail protetta]), le macchine UNIX (incluso Linux) possono fornire l'accesso a dischi e stampanti per le macchine Windows. utilità smbfs scritte da Paal-Kr. Engstad ( [e-mail protetta]) e Volker Lendecke ( [e-mail protetta]), consentono alle macchine UNIX di montare le risorse SMB disponibili sulle macchine Windows o Samba.

Usando Samba puoi implementare i seguenti più comuni:

  1. Concedere l'accesso ai dischi Linux alle macchine Windows.
  2. Accedi ai dischi Windows per macchine Linux.
  3. Fornire l'accesso alle stampanti Linux per macchine Windows.
  4. Accedi alle stampanti Windows da sistemi Linux.

Installazione e test di Samba

L'installazione, come sai, dovrebbe iniziare con uno studio dettagliato della documentazione. È vero, la maggior parte degli amministratori di sistema trascura questa regola, guidata da un'altra: "Se tutto il resto fallisce, leggi la documentazione". In generale consigliamo di avviare l'installazione di Samba con un semplice comando: $ man samba (Fig. 1).

E anche dalla lettura della documentazione disponibile sul sito http://www.samba.org/. Va notato che per utilizzare Samba, la macchina deve trovarsi su un singolo segmento Ethernet della rete locale, utilizzando il protocollo TCP/IP. Samba non funzionerà quando si utilizzano altri protocolli di rete. Questo è fondamentalmente semplice poiché Linux e Windows 95/98/NT sono dotati del supporto TCP/IP. Tuttavia, se utilizzi macchine Windows 3.x, dovrai aggiungere il supporto TCP/IP.

Dove prendere

Per ottenere il codice sorgente dell'ultima versione di Samba, contatta http://www.samba.org/ e seleziona il server mirror più vicino a te: ftp://ftp.samba.org/. Il pacchetto Samba è incluso nei kit di distribuzione di numerosi sistemi UNIX/Linux, ad esempio Rad Hat o Suse Linux. Studia attentamente la documentazione del tuo Linux ed è molto probabile che ti basterà inserire il CD e installare i pacchetti Samba. In questo caso, puoi continuare a leggere l'articolo dal capitolo successivo.

Dopo aver ricevuto questo pacchetto, estrai tutto ciò che è etichettato *.tar.gz, ad esempio, nella directory /tmp (e per questo non è necessario essere root:), cioè:

$ tar -zxvf samba-latest.tar.gz

Se non hai problemi nell'estrazione di questo pacchetto, troverai una nuova directory, come samba-latest, con i file estratti al suo interno. Vai lì, guarda i file "README" e "Manifest": le istruzioni di installazione si trovano nell'ultimo file e assomigliano a questo:

$ ./configure $ make $ su # make install

Ora devi prestare attenzione a dove si trovano i tuoi file di configurazione. La maggior parte delle distribuzioni Samba per impostazione predefinita le collocano nella directory /etc e loro stesse nella directory /usr/local/samba.

Configurazione di Samba

Le informazioni di base sulla configurazione di Samba si trovano nel file smb.conf. Questo file deve essere maneggiato con cura. Se prevedi di modificare in qualsiasi modo la versione in esecuzione, assicurati di crearne una copia.

Per avviare il server per la prima volta, è necessario disporre di una versione funzionante del file smb.conf. Vai alla directory in cui dovrebbe trovarsi il file di configurazione. Molto probabilmente sarà /etc o /usr/local/samba/lib. Crea una copia di questo file, ad esempio smb.old: questo è possibile se disponi dei diritti di root. Ora che avete un file “pulito”, potete entrare nella configurazione più semplice, ovvero digitare le seguenti righe:

#File di configurazione Samba di base (smb.conf) gruppo di lavoro = nome netbios PTO = GALKA

Vedremo cosa significano queste righe nel file di configurazione di seguito, ma prima faremo una pausa per un momento e passeremo ai demoni SMB.

Lancio dei demoni

Esistono due demoni SMB: /usr/sbin/smbd e /usr/sbin/nmbd. È possibile eseguire i demoni Samba da inetd o come processo autonomo. Samba risponderà leggermente più velocemente se viene eseguito come processo autonomo.

A volte è necessario controllare le seguenti righe nel file /etc/services:

Netbios-ns 137/tcp nbns netbios-ns 137/udp nbns netbios-dgm 138/tcp nbdgm netbios-dgm 138/udp nbdgm netbios-ssn 139/tcp nbssn

Assicurati che siano tutti senza commenti. A seconda della tua distribuzione, potresti anche aver bisogno di aggiungerli a questo file. Samba non sarà in grado di collegarsi alle porte appropriate a meno che queste righe non siano nel file /etc/services.

Per avviare i demoni da inetd, inserire le seguenti righe nel file di configurazione di inetd, /etc/inetd.conf:

# Servizi SAMBA NetBIOS (per la condivisione di file e stampanti PC) netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd

Quindi riavviare il demone inetd eseguendo il comando:

Uccidi -HUP 1 `cat /var/run/inetd.pid`

Per avviare i demoni dagli script di avvio del sistema, inserire il seguente script nel file /etc/rc.d/init.d/smb (per la distribuzione RedHat) o /etc/rc.d (per la distribuzione Suse Linux) e creare simbolici si collega ad esso con nomi come /etc/rc.d/rcX.d/S91smb (avvia i servizi SMB in modalità multiutente), /etc/rc.d/rcX.d/K91smb (interrompe i servizi SMB allo spegnimento), / etc/rc.d/rc6 .d/K91smb (chiude i servizi SMB al riavvio), dove X è il numero del livello di avvio del sistema, solitamente il numero 2 o 3.

#! /bin/sh . /etc/rc.config # Determina la base e segui il nome del collegamento del runlevel. base=$(0##*/) link=$(base#*) # Forza l'esecuzione se non viene chiamato da una directory del runlevel. prova $link = $base && START_SMB=sì prova "$START_SMB" = "sì" || exit 0 # Il valore restituito dall'eco per il successo (definito in /etc/rc.config). return=$rc_done case "$1" in start) echo -n "Avvio servizi SMB:" startproc /usr/sbin/nmbd -D || return=$rc_failed startproc /usr/sbin/smbd -D || ritorno=$rc_fallito echo -e "$ritorno" ;; startd) echo -n "Avvio servizi SMB:" startproc /usr/sbin/nmbd -D -d 10 || return=$rc_failed startproc /usr/sbin/smbd -D -d 10 || ritorno=$rc_fallito echo -e "$ritorno" ;; stop) echo -n "Chiusura dei servizi SMB:" killproc -TERM /usr/sbin/nmbd || return=$rc_failed killproc -TERM /usr/sbin/smbd || ritorno=$rc_fallito echo -e "$ritorno" ;; riavvia|ricarica) $0 stop && $0 start || ritorno=$rc_fallito ;; status) echo -n "Verifica del servizio smb: " checkproc /usr/sbin/nmbd && echo -n "OK " || echo -n "Nessun processo" checkproc /usr/sbin/smbd && echo "OK" || echo "Nessun processo" ;; *) echo "Utilizzo: $0 (start|stop|restart|reload|status)" exit 1 esac # Informa il chiamante non solo in modo dettagliato e imposta uno stato di uscita. prova "$return" = "$rc_done" || esci 1 esci 0

Se all'avvio di Samba ricevi un messaggio che informa che il demone non può connettersi alla porta 139, molto probabilmente hai già processi Samba in esecuzione che non sono stati terminati. Guarda l'elenco dei processi (usando il comando "ps ax | grep mbd") per determinare se ci sono servizi Samba ancora in esecuzione. Se i demoni si rifiutano di avviarsi per qualche altro motivo, molto probabilmente questo script non si adatta al tuo UNIX/Linux e dovrai scavare di nuovo nella documentazione, correggere qualcosa e forse anche riscriverla.

Impostazione smb.conf di base

Ovviamente, nella configurazione sopra descritta, Samba può funzionare, ma non si può fare praticamente nulla. Esempi più utili e complessi verranno discussi di seguito. Ma prima devi comprendere le direttive smb.conf.

Ogni sezione del file inizia con un'intestazione di sezione, ad esempio , , ecc.

Ora vai alla prima scheda “Configurazione” e fai clic sul pulsante “Condivisione file e stampe”. Nella finestra che appare, devi selezionare le caselle “I file su questo computer possono essere condivisi” (voglio poter dare ad altri l'accesso ai miei file) e “Le stampanti su questo computer possono essere condivise” (voglio per poter consentire ad altri di stampare sulle mie stampanti).

Infine indichiamo a Windows che Samba è un server WINS e sarà il master di navigazione, per fare ciò andiamo nelle proprietà del protocollo TCP/IP (Fig. 4) e nella finestra che appare selezioniamo “WINS Configurazione". Seleziona la casella "Abilita risoluzione WINS". Nel campo "Ordine di ricerca server WINS primario" che appare, inserisci l'indirizzo IP del server (Samba) - 192.168.0.1 e fai clic su "Aggiungi" o semplicemente... Vai vai alla scheda "Avanzate" e clicca su "Browse Master" nella finestra di sinistra, e nella finestra di destra imposta il valore su "Disabilitato". Questo è tutto. Ora non resta che cliccare più volte sul pulsante "OK" e riavviare Finestre.

In Windows NT, le schermate delle proprietà di rete sono leggermente diverse (mostrate nelle immagini), ma il concetto di base rimane lo stesso.

Dopo aver riavviato Windows, sentiti libero di fare clic su "Risorse di rete" e sarai in grado di vedere il server Samba, così come la tua directory home sul server Linux. Ora puoi semplicemente connettere queste risorse come unità di rete e assegnare loro lettere di unità.

Complichiamo un po' la configurazione: renderemo la directory /home/public leggibile da tutti, ma permetteremo solo alle persone del gruppo ADMINS di inserirvi informazioni. Per fare ciò, modificare la voce come segue:

Commento = Percorso materiale pubblico = /home/pubblico pubblico = sì scrivibile = sì stampabile = no elenco di scrittura = @ADMINS

Ci sono molti altri esempi di impostazioni del file server Samba che possono essere forniti, ma sarebbe meglio se guardassi la documentazione di Samba o le pagine man e le capissi da solo.

Accesso ai dischi Windows da Linux

È improbabile che gli utenti alle prime armi del sistema operativo Linux siano in grado di comprendere rapidamente il sistema per accedere ai file Linux da Windows e viceversa. Ma non è poi così complicato. L'accesso alle risorse Linux da Windows è stato brevemente descritto sopra e ora considereremo l'accesso alle risorse Windows da Linux.

Il programma client SMB per macchine UNIX/Linux è incluso nella distribuzione Samba. Fornisce un'interfaccia a riga di comando simile a ftp. È possibile utilizzare questa utility per trasferire file tra un "server" Windows e un client Linux.

Per vedere quali risorse sono disponibili su una determinata macchina, esegui il comando:

/usr/sbin/smbclient -L host

dove host è il nome della macchina che vuoi vedere. Questo comando restituirà un elenco di nomi di servizi, ovvero i nomi delle unità o delle stampanti a cui è possibile accedere. Fino a quando il server SMB non sarà configurato senza controllo dell'accesso, ti verrà richiesta una password. Quando richiesto, inserire la password per l'utente "ospite" o la password personale su questa macchina.

Per utilizzare il client, eseguire il comando seguente:

/usr/sbin/smbclient servizio

dove servizio è il nome della macchina e del servizio. Ad esempio, se stai tentando di accedere a una directory accessibile come pubblica su una macchina chiamata galka, il nome del servizio dovrebbe essere \\galka\public.

Riceverai un messaggio smbclient:

L'orario del server è Mercoledì 22 maggio 15:58:44 2001 Il fuso orario è UTC+10.0 Dominio= Sistema operativo= Server= smb: \>

I comandi per usare Samba sono gli stessi di ftp, ma se non sai come usare nessuno dei due, digita h per aiuto.

Naturalmente puoi usare smbclient per testare, ma molto presto ti stancherai. Per funzionare, molto probabilmente avrai bisogno del pacchetto smbfs. Smbfs viene fornito con due semplici utilità: smbmount e smbumount. Funzionano in modo simile al montaggio e allo smontaggio per le risorse SMB. Per esempio,

Smbmount//nome_computer/catalog/Mountpoint -U nome_utente

Di conseguenza, riceverai una risorsa "montata" con la possibilità di accedervi utilizzando i consueti metodi di Explorer.

Server di stampa per Linux

Per accedere a una stampante Linux da macchine Windows, è necessario assicurarsi che la stampante funzioni su Linux. Se puoi stampare sotto Linux, organizzare l'accesso alla stampante sarà molto semplice.

Aggiungi l'impostazione della stampante al tuo file smb.conf:

Stampa = bsd nome printcap = /etc/printcap carica stampanti = sì file di registro = /var/log/samba-log.%m directory di blocco = /var/lock/samba commento = Tutte le stampanti sicurezza = percorso server = /var/spool /lpd/lp navigabile = no stampabile = sì pubblico = sì scrivibile = no modalità di creazione = 0700 sicurezza = percorso server = /var/spool/lpd/lp nome stampante = lp scrivibile = sì pubblico = sì stampabile = sì comando di stampa = lpr -r -h -P %p %s

Assicuratevi che il percorso della stampante (nel nostro caso per ) corrisponda alla directory di spool specificata nel file /etc/printcap, ovvero verificate la presenza delle righe:

Nome Printcap = /etc/printcap carica stampanti = sì

Queste righe controllano se tutte le stampanti elencate in /etc/printcap devono essere caricate per impostazione predefinita. In questo caso non è necessario configurare ciascuna stampante separatamente. La sezione specifica le impostazioni per le stampanti che si desidera definire in modo esplicito. Se il sottosistema di stampa che stai utilizzando non funziona in questo modo (BSD), dovrai impostare un file printcap falso (o utilizzare il "comando print", vedi sotto). Per ulteriori informazioni sul sistema printcap, consultare il Printing-HOWTO.

Accesso a una stampante Windows da macchine Linux

Per accedere alla stampante su una macchina Windows, devono essere soddisfatte le seguenti condizioni:

  1. È necessario che nel file /etc/printcap siano presenti le voci corrette affinché corrispondano alla struttura della directory locale (per la directory di spool, ecc.)
  2. Dovresti avere lo script /usr/bin/smbprint. Viene fornito con i sorgenti di Samba, ma non con tutte le distribuzioni binarie di Samba.
  3. Se vuoi convertire file ASCII in PostScript, devi avere nenscript o il suo equivalente. Il programma nenscript è un convertitore PostScript che di solito viene installato nella directory /usr/bin.

La voce nel file /etc/printcap riportato di seguito riguarda una stampante HP 5MP su un server Windows NT. Vengono utilizzati i seguenti campi nel file /etc/printcap:

Cm - commento; lp - nome del dispositivo da aprire per l'output; sd - directory di spool della stampante (sulla macchina locale); af - file contabile sull'utilizzo della stampante; mx - dimensione massima del file (zero - nessuna restrizione); if - nome del filtro di input (script).

Frammento del file /etc/printcap:

# /etc/printcap # # //galka/oreilly tramite smbprint # lp:\ :cm=HP 5MP Postscript OReilly su galka:\ :lp=/dev/lp1:\ :sd=/var/spool/lpd/lp: \ :af=/var/spool/lpd/lp/acct:\ :mx#0:\ :if=/usr/bin/smbprint:

Assicurati che le directory buffer e la directory utilizzata per il monitoraggio dell'utilizzo esistano e dispongano dell'autorizzazione di scrittura. Assicurati che la riga "if" contenga il percorso corretto dello script smbprint (fornito di seguito) e che le voci puntino al dispositivo di output corretto (il file speciale /dev).

#!/bin/sh –x # # File di registro del debug, cambia in /dev/null se preferisci. # logfile=/tmp/smb-print.log # logfile=/dev/null # # L'ultimo parametro del filtro è il nome del file contabile. # spool_dir=/var/spool/lpd/lp config_file=$spool_dir/.config # Dovrebbe leggere le seguenti variabili impostate nel file di configurazione: # server # service # password # user eval `cat $config_file` # # Alcuni aiuti per il debug, cambia >> in > se vuoi lo stesso spazio. # echo "server $server, servizio $servizio" >> $file di registro (# NOTA Potresti voler aggiungere la riga `echo Translate" se vuoi la # traduzione CR/LF automatica durante la stampa. echo Translate echo "print -" cat) | /usr/bin/smbclient "\\\\$server\\$servizio" $password -U $utente -N -P >> $file di registro

La maggior parte delle distribuzioni Linux sono dotate di un programma chiamato nenscript per convertire i documenti ASCII in PostScript.

Conclusione

Fino a poco tempo fa, le capacità di Samba erano limitate a quelle sopra elencate. Possiamo però affermare con sicurezza che la nuova versione di Samba 2.2 raggiunge Windows 2000 in termini di funzionalità e contiene ulteriori miglioramenti. Uno dei principali sviluppatori di Samba, Jeremy Allison, lo definisce un "importante aggiornamento" che aiuterà i sistemi Samba a integrarsi più facilmente nelle reti Microsoft. Il software consente di risparmiare non solo perché non è necessario pagare per il sistema operativo del server, ma anche perché non è necessario pagare le licenze "client" per tutti i computer che utilizzano il server.

Informazioni sulle nuove funzionalità di Samba 2.2. leggi il nostro articolo “Samba 2.2 - cosa nuovo » .

ComputerPress 10"2001

O forse è solo l’interesse e la curiosità che spingono gli utenti a cercare i vari software adatti. Samba è uno di questi software. Devi sapere come configurare Samba su Ubuntu Server se vuoi trasformare il tuo computer in un database o in un archivio di file.

L'installazione di Samba su Ubuntu Server ti consente di creare un database.

Se pensavi che la pagina fosse dedicata all'apprendimento della danza, ti sbagliavi di grosso. Samba è un software gratuito. Fornisce l'accesso a stampanti e file. E lo fa su vari sistemi operativi.

Cosa serve?

Rispetto ad altri pacchetti software per scopi simili, Samba presenta numerosi vantaggi e caratteristiche.

  • Consente di connettere tra loro un sistema simile a Unix, ovvero qualsiasi sistema Linux e Windows. E non solo Windows. Il programma è molto “onnivoro”: MacOS, Solaris e altri sistemi operativi di vario grado di popolarità.
  • Samba consente agli utenti Windows di utilizzare i computer Ubuntu come server. Cioè, utilizza i file a cui è stato stabilito l'accesso, nonché alcuni dei dispositivi collegati.
  • Supporta la struttura del dominio NT Domain, gestisce gli utenti NT, supporta le funzioni di membro e controller primario.

Probabilmente, per molti, la cosa principale è la comunicazione con le macchine Windows. In questo caso, agiscono come client e il computer Ubuntu funge da server. D'altra parte, un utente Ubuntu può anche accedere alle cartelle di rete di Windows.

Samba è stato prodotto dal 1992. E, cosa più importante, vengono ancora rilasciate nuove versioni. Quest'ultimo è stato rilasciato il 7 marzo 2017. Ogni anno gli sviluppatori cercano di stabilire la compatibilità con un gran numero di diverse versioni dei sistemi operativi, ma la caratteristica principale rimane la connessione dei sistemi Linux con Microsoft. Rispetto a Windows Server, Samba potrebbe essere inferiore a causa della mancanza di supporto per alcuni protocolli e infrastrutture host. Tuttavia, molti sostengono che la velocità di Samba sia molto più elevata.

Configurazione di Samba

Prima della configurazione, è necessario installare il programma. L'installazione di Samba avviene allo stesso modo degli altri programmi, inserendo il comando nel terminale:

sudo apt-get install samba

Precisiamo subito: tutti i passaggi che verranno descritti, compresa l'installazione del programma, possono essere eseguiti sia su Ubuntu semplice che su Ubuntu Server. Solo quest'ultimo ha a disposizione un'interfaccia esclusivamente testuale.

Dopo l'installazione, dovresti fare un backup del file di configurazione:

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

$ sudo vi /etc/samba/smb.conf

Oppure ne modifichiamo uno esistente. Questo file contiene le impostazioni di base del server Samba. Per capire cosa faremo dopo, dobbiamo capire cosa significano le diverse linee.

  • Gruppo di lavoro - gruppo di lavoro. Anche il valore di questo parametro sarà spesso Workgroup, poiché in Windows il dominio del gruppo di lavoro predefinito è simile a questo.
  • Il nome Netbios è il nome del computer Ubuntu visto dagli utenti Windows. Qui puoi inserire il valore a tua discrezione.
  • Sicurezza: modalità di autorizzazione dell'utente. L'impostazione predefinita è Utente, ovvero l'autenticazione a livello di utente. Per ora è meglio lasciare così.
  • Livello del sistema operativo - indica la priorità che Samba ha rispetto agli altri client (PC) sulla rete locale o Internet.
  • Ordine di risoluzione dei nomi: ordine di risoluzione dell'indirizzo IP in base al nome NetBIOS.
  • Sola lettura: privilegio di leggere o scrivere una directory. Il valore può essere "sì" - sola lettura, "no" - scrittura.

Crea un utente

Questa è l'azione più semplice con cui puoi iniziare a lavorare con Samba.

Aggiungi un utente nel sistema operativo stesso:

$ useradd -M -l -s /sbin/nologin nome utente

Creiamo una password per questo:

Aggiungiamo il nostro utente al database Samba:

$ smbpasswd -un nome utente

Puoi eseguire varie altre azioni utilizzando il comando $ smbpasswd:

  • $ nome utente smbpasswd - cambia password
  • $ smbpasswd -x nomeutente - elimina un utente
  • $ smbpasswd -d nome utente - banna l'utente

Il server deve essere riavviato se si apportano modifiche al file di configurazione. Questo viene fatto usando il comando:

$ systemctl riavvia smb

Queste sono le impostazioni di base di Samba. Ora puoi provare a mettere in pratica il programma.

Accesso alle cartelle

Per prima cosa proviamo a creare una cartella che sarà accessibile a tutti gli utenti, anche a quelli non autorizzati in Samba.

Creiamo una cartella con la quale lavoreremo poi su due computer:

$ sudo mkdir -p /samba/access

Ora diamo a questa cartella un accesso esteso in modo che qualsiasi client sulla nostra rete locale possa aprirla:

$cd/samba
$ sudo chmod -R 0755 accesso
$ sudo chown -R nessuno: accesso a nessun gruppo/

Il proprietario secondo il codice non è nessuno.

Ora nel file di configurazione del server devi creare due sezioni: la prima contenente le informazioni di base:


gruppo di lavoro = GRUPPO DI LAVORO
stringa server = Server Samba %v
nome netbios = srvr1
sicurezza = utente
mappa su ospite = utente errato
ordine di risoluzione del nome = host bcast
proxy DNS = no
#==============
E il secondo, contenente i dati sulla cartella di accesso:

percorso = /samba/access
navigabile = sì
scrivibile = sì
ospite ok = sì
sola lettura = no

Le sezioni si susseguono nello stesso ordine.

Aggiorna modifiche al server:

$ sudo servizio smbd riavvio

Azioni con un computer Windows

Su Windows, devi anche eseguire alcuni passaggi in modo da poter aprire facilmente una nuova cartella condivisa e modificarla.

  1. Apri la riga di comando. È consigliabile farlo con diritti estesi, cioè come amministratore.
  2. Eseguiamo il comando:
  3. blocco note C:\Windows\System32\drivers\etc\hosts
  4. Si apre un file in cui inseriamo la seguente riga:
  5. 168.0.1 srvr1.dominio.com srvr1
    Grazie ad esso, la cartella diventerà accessibile.
  6. Puoi aprirlo utilizzando la riga "Esegui". Premi Win + R, inserisci: Successivamente, si aprirà una cartella per noi.

Cartella chiusa

Un server Samba configurato può essere utilizzato anche per creare cartelle di rete con accesso limitato. Anche tale cartella deve essere prima creata e poi aggiunta alla configurazione di Samba.

Creiamo una cartella chiamata "Chiuso":

$ sudo mkdir -p /samba/allaccess/chiuso

Creiamo un gruppo speciale che può avere accesso a questa cartella:

$ sudo addgroup securegroup

Creiamo diritti speciali per diversi gruppi:

$ cd /samba/access
$ sudo chown -R richard: gruppo protetto chiuso
$ sudo chmod -R 0770 chiuso/

Proprio come nel caso di una cartella aperta, aggiungiamo informazioni alla configurazione:


percorso = /samba/accesso/chiuso
utenti validi = @securegroup
ospite ok = no
scrivibile = sì
navigabile = sì

Riavviamo il server.

Come puoi capire, abbiamo creato una cartella Chiusa all'interno di Access. Pertanto, Accesso può essere aperto da ogni utente della rete locale, ma per visualizzare e modificare Chiuso è necessario disporre di diritti speciali.

Per assicurarti che tutto funzioni esattamente come specificato nel file batch, puoi seguire alcuni semplici passaggi.

Creiamo un utente e lo aggiungiamo al nostro gruppo chiuso:

$ sudo usermod -a -G securegroup winston

Il nome del nostro utente è come un pacchetto di sigarette (o il Primo Ministro britannico).

Creiamo una password per Winston:

$ sudo smbpasswd -a winston

Successivamente, ci verrà richiesto di inserire una nuova password per accedere nuovamente con l'account appena creato. Non dimenticare di riavviare dopo questo. Ora sai come configurare un server tramite Samba in Ubuntu.

Naturalmente, le capacità di Samba non si limitano alla sola creazione di semplici cartelle. Ma queste semplici istruzioni ed esempi mostrano cosa puoi fare con questo programma. Questo sarà il primo passo verso la comprensione dell'essenza dei PC server e della loro gestione.

Samba è un software per organizzare la condivisione di file e lavorare con risorse condivise tra computer che eseguono Linux/Unix e il sistema operativo Windows. Samba è costituito da una parte client e una parte server. La parte client consente di accedere alle cartelle di rete e alle risorse Windows e la parte server, a sua volta, apre l'accesso generale alla cartella Ubuntu per altre macchine, incluso Windows.

Questa breve istruzione coprirà la configurazione più semplice di Samba Ubuntu 18.04, nonché come impostare l'accesso condiviso alla cartella Ubuntu con diversi livelli di privilegi.

Creeremo tre cartelle condivise con diversi livelli di autorizzazione. Una cartella con accesso anonimo, con accesso per gli utenti appartenenti a un gruppo specifico e accesso solo per un utente specifico.

Sia le macchine Linux che quelle Windows possono accedere alle cartelle condivise in Ubuntu, utilizzando qualsiasi programma in esecuzione sul protocollo SMB.

Affinché tutto funzioni correttamente, tutte le macchine devono trovarsi nello stesso gruppo di lavoro specificato sul server Samba. Per impostazione predefinita, per Windows, Linux e MacOS, il gruppo di lavoro si chiama Gruppo di lavoro. Per scoprire quale gruppo di lavoro viene utilizzato in Windows, apri la riga di comando (Win+R, quindi cmd) ed esegui il seguente comando:

postazione di lavoro di configurazione di rete

Vediamo il parametro di cui abbiamo bisogno nella riga Dominio della stazione di lavoro. Questo è il gruppo di lavoro.

Ora, se un computer con un server Samba nella vostra rete ha un indirizzo IP permanente, è consigliabile inserirlo nel file host. Per fare ciò, esegui la riga di comando come amministratore:

Ed esegui il comando:

blocco note C:\Windows\System32\drivers\etc\hosts

Nel file che si apre aggiungi una riga con l'indirizzo IP del computer su cui verrà installato Samba:

192.168.0.1 srvr1.dominio.com srvr1

Ora puoi passare alla domanda su come condividere la cartella Ubuntu.

Configurazione di Samba su Ubuntu 16.04

Iniziamo, come al solito, con l'installazione. L'installazione di Samba Ubuntu insieme a tutti i componenti necessari viene eseguita con il comando:

sudo apt-get install -y samba samba-common python-glade2 system-config-samba

Una volta installato tutto, puoi procedere alla configurazione. Per prima cosa, crea un backup del tuo file di configurazione Samba originale:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Dopo aver creato il backup, crea il tuo file di configurazione con questo comando:

sudo vi /etc/samba/smb.conf

Per prima cosa specifichiamo le impostazioni globali del file server. Per fare ciò, inserisci le seguenti righe nel file:


gruppo di lavoro = GRUPPO DI LAVORO

nome netbios = condivisione Ubuntu
proxy DNS = no

dimensione massima del registro = 1000
backend passdb = tdbsam
Sincronizzazione password unix = sì

pam cambio password = sì
mappa su ospite = utente errato
la condivisione degli utenti consente agli ospiti = sì

Diamo uno sguardo più da vicino al significato di queste righe.

  • gruppo di lavoro- il gruppo di lavoro, come già accennato, dovrebbe essere lo stesso su tutte le macchine
  • nome netbios- nome del computer che verrà visualizzato in Windows;
  • file di registro- l'indirizzo del file in cui verranno archiviati i messaggi di errore e altre informazioni;
  • sicurezza- Eseguire l'autenticazione a livello utente per impostazione predefinita;
  • ordine di risoluzione del nome- ordine di risoluzione degli indirizzi IP per nome NetBIOS. bcast: significa inviare una richiesta di trasmissione alla rete locale. Se tutti i computer tra cui è prevista l'interazione si trovano sulla stessa rete, questa opzione è ottimale;
  • back-end passdb- modalità di memorizzazione delle password degli utenti;
  • Sincronizzazione password Unix- sincronizzazione delle password degli utenti Samba con le password Unix locali;
  • mappa per l'ospite- indica quando all'utente verrà concesso l'accesso ospite. Sono disponibili tre valori: Mai- Mai, cattivo utente- quando tale utente non esiste, password errata- quando la password viene inserita in modo errato,

Una volta completata la creazione del file di configurazione, passiamo alla domanda su come condividere la cartella Ubuntu per Windows.

Condivisione cartelle Ubuntu

Per prima cosa creiamo una cartella condivisa accessibile a tutti. Cioè con accesso anonimo, senza autorizzazione samba.

Crea una cartella a cui condivideremo l'accesso, ad esempio:

sudo mkdir -p /samba/allaccess

Dopo aver creato la cartella, è necessario impostarne i diritti di accesso corretti. I seguenti comandi consentono l'accesso alla cartella a tutti e rendono nessuno il proprietario:

cd/samba
sudo chmod -R 0755 allaccess
sudo chown -R nessuno:nogroup allaccess/

Il passo successivo è descrivere la cartella allaccess nel file di configurazione di samba:


percorso = /samba/allaccess
navigabile = sì
scrivibile = sì
ospite ok = sì
sola lettura = no

Il tuo file di configurazione ora dovrebbe assomigliare a questo:


gruppo di lavoro = GRUPPO DI LAVORO
stringa server = %h server (Samba, Ubuntu)
nome netbios = condivisione Ubuntu
proxy DNS = no
file di registro = /var/log/samba/log.%m
dimensione massima del registro = 1000
backend passdb = tdbsam
Sincronizzazione password unix = sì
programma passwd = /usr/bin/passwd %u
pam cambio password = sì
mappa su ospite = utente errato
la condivisione degli utenti consente agli ospiti = sì
#==============
percorso = /samba/allaccess
navigabile = sì
scrivibile = sì
ospite ok = sì
sola lettura = no

Diamo uno sguardo più da vicino alle opzioni utilizzate qui:

  • sentiero- percorso della cartella che deve essere condivisa;
  • navigabile- se la cartella verrà visualizzata nell'elenco delle condivisioni disponibili;
  • scrivibile- se la cartella sarà scrivibile;
  • sola lettura- la cartella è di sola lettura;
  • ospite ok, pubblico- se sarà consentito l'accesso agli ospiti;
  • unico ospite- se impostato su sì, la cartella sarà accessibile solo agli ospiti;
  • gli host lo consentono- Indirizzi IP dai quali è possibile accedere a questo server;
  • utenti validi- per impostazione predefinita, tutti gli utenti possono accedere; se si passa un elenco di utenti in questo parametro, solo loro potranno accedere;
  • creare maschera- maschera dei diritti per i file creati.

Per applicare le modifiche, riavviare il server Samba:

sudo systemctl riavvia samba

La configurazione di Samba Ubuntu 16.04 per l'accesso anonimo è completa. Adesso puoi verificare la disponibilità della cartella condivisa allaccess da Windows, per farlo premi Win+R ed esegui:

\\srvr1\allaccess

Vedrai la nostra cartella. Se non lo vedi, controlla di nuovo la configurazione. È possibile accedere alla cartella senza autorizzazione samba. La configurazione delle condivisioni Samba con accesso senza autorizzazione è completata.

Puoi anche connetterti a questo server da Linux usando Nautilus; basta digitare l'indirizzo smb://server-ip, nella sezione altri luoghi:

Condivisione sicura delle cartelle Ubuntu

Per condividere una cartella per Windows Ubuntu, a cui avranno accesso solo gli utenti di un determinato gruppo, creeremo una cartella separata e la descriveremo nel file di configurazione di Samba in Ubuntu.

Per prima cosa creiamo una cartella:

sudo mkdir -p /samba/allaccess/secered

Crea un gruppo:

sudo addgroup securegroup

Impostazione dei diritti:

cd /samba/allaccess
$ sudo chown -R richard: securegroup assicurato
$ sudo chmod -R 0770 protetto/

L'ultimo passaggio è aggiungere le impostazioni al file di configurazione di samba:

sudo vi /etc/samba/smb.conf


percorso = /samba/allaccess/secered
utenti validi = @securegroup
ospite ok = no
scrivibile = sì
navigabile = sì

Riavviare il server Samba. Ora solo gli utenti del securegroup possono accedere alla cartella condivisa in Ubuntu.

Per verificare come funziona, aggiungiamo l'utente richard al nostro gruppo:

sudo usermod -a -G securegroup richard

Linux è un eccellente sistema operativo, ma non possiamo allontanarci da Windows e nemmeno lui può allontanarci da noi. Windows ci circonderà sempre, a casa, nella rete aziendale o in un Internet cafè. Dobbiamo costantemente scambiare documenti con computer Windows: dopo tutto, non tutti gli utenti preferiscono lavorare su Linux. Avere a disposizione un server on Linux , in ogni caso, sarà necessario interagire con i computer Windows, quindi parleremo di connettere Linux alla rete Microsoft.

Installazione di Samba

Per installare Samba, dobbiamo installare i pacchetti samba e samba-client. Si consiglia inoltre di installare il pacchetto smbfs. Inoltre, il sistema aggiornerà il pacchetto samba-common, che potrebbe essere già installato sul sistema. Tutte le mie manipolazioni verranno eseguite Ubuntu 10.04, le principali differenze rispetto alle altre distribuzioni sono il metodo di installazione. Per Ubuntu tramite la console, in questo modo:

$ sudo apt: ottieni installa samba

Oppure utilizzando il gestore pacchetti Synaptic, che è quello che ho fatto, questa opzione si è rivelata più conveniente per me, poiché potevo selezionare dall'elenco i pacchetti di cui avevo bisogno, questi erano:

    samba

    smbclient

    samba-comune

Se hai mai utilizzato un'altra distribuzione Linux, probabilmente hai familiarità con il programma LinNeighbourhood. Questo è un programma grafico che ti consente di visualizzare le risorse di rete di Windows. Non ce n'è bisogno in Ubuntu. Innanzitutto, gli strumenti GNOME standard ti consentono di navigare nelle reti Windows. E in secondo luogo, solo per divertimento, ho installato il programma LinNeighbourhood da uno dei repository di Ubuntu. Si è scoperto che questo programma, trovato da Synaptic, non è affatto utilizzabile (problemi con la localizzazione). Bene, va bene, ha senso capirlo se esistono ottimi strumenti standard che già funzionano.

Configurazione di base di Samba

In questa fase, supponiamo che l'utilità sia installata. Il file di configurazione principale di Samba è /etc/samba/smb.conf. È necessario aprirlo e modificare diversi parametri. Il primo è gruppo di lavoro - specifica il nome (a scelta) del gruppo di lavoro o del dominio NT:

GRUPPO DI LAVORO = Il mioGruppoHome

Puoi anche impostare il parametro del commento: questa è una descrizione del tuo computer:

commento = Il mio computer Linux

Imposta il parametro di sicurezza. Se la rete è client/server, è necessario selezionare il parametro server e serete peer-to-peer (ovvero una rete senza server dedicato), quindi è necessario selezionare l'utente o condividere:

sicurezza = condivisione

Imposta il nome dell'account ospite in questo modo:

account ospite = ospite

È inoltre necessario configurare le codifiche:

tabella codici client = 866

set di caratteri = utf8

Per far funzionare Samba più velocemente, imposta le seguenti opzioni:

opzioni socket = TCP_NO RITARDO SO_RCVBUF=8192 SO_SNDBUF=8192

proxy DNS = no

Il parametro interfacce specifica le interfacce su cui deve essere eseguito il servizio Samba. È necessario specificare le interfacce che collegano la nostra macchina alle reti Windows:

interfacce = 192.168.0.22/24

Configurazione delle condivisioni

Ora resta da configurare le risorse che vogliamo fornire per uso pubblico, questa è la sezione [ pubblico].

# directory condivisa

commento = Elenco pubblico

# sentiero

percorso = /var/samba

# non solo leggere

sola lettura = no

# consente la scrittura

scrivibile = sì

# consenti l'accesso ospite

ospite ok = sì

# consente la visualizzazione del contenuto della directory

navigabile = sì

In questo caso, la risorsa condivisa sul nostro computer sarà la directory /var/samba (è necessario crearla, poiché per impostazione predefinita non esiste tale directory nel sistema). Altri utenti potranno scrivervi i propri file (sola lettura=no, scrivibile=sì) e, naturalmente, potranno leggerli (sfogliabile=sì). Non è necessario verificare nome utente e password per accedere alla risorsa (guest ok=yes): viene utilizzato il cosiddetto accesso ospite. Il commento "Directory pubblica" sarà visto da altri utenti della rete Windows durante la visualizzazione delle risorse del nostro computer.

Se è necessario fornire l'accesso generale ("condividi") alle directory home degli utenti, vai alla sezione ;. Decommentare tutte le righe commentate con un punto e virgola prima della riga;. T . e. Dovrebbe sembrare come questo:

commento = Directory Home

navigabile = no

utenti validi = %S

scrivibile = no

crea maschera = 0600

maschera di directory = 0700

Attualmente, le directory degli utenti non saranno visibili nell'elenco delle risorse condivise; puoi accedervi su \\server\nome utente . Ad esempio, \\server\petya. Se desideri che le risorse utente siano visualizzabili, imposta il parametro sfogliabile su sì:

navigabile = sì

Dopo tutte le modifiche, salva il file di configurazione ed esegui (o riavvia) Samba:

$ sudo /etc/init.d/samba start

Visualizzazione delle risorse di rete di Windows

Puoi visualizzare le risorse di rete di Windows utilizzando il programma smbclient, ma funziona in modalità testo, quindi non è del tutto comodo da usare. È molto più comodo utilizzare un browser di file per visualizzare le risorse di rete. Puoi farlo utilizzando il menu Transizione | Connettiti al server...

Segreti di ottimizzazione di Samba

Ora parliamo di come far funzionare Samba un po' più velocemente. Se apri il file di configurazione smb.conf, troverai al suo interno il parametro wide links. Non installarlo mai NO ! Ciò ridurrà significativamente le prestazioni di Samba. Al contrario, è necessario impostarlo su sì (se il parametro wide links era disabilitato in precedenza), il che migliorerà significativamente le prestazioni.

Il parametro wide links determina come Samba seguirà i link simbolici. Se collegamenti larghi=no, Samba non seguirà i collegamenti simbolici al di fuori dell'ambito esportato. Samba segue prima il collegamento simbolico e poi esegue quella che viene chiamata ricerca del percorso della directory (una chiamata di sistema che determina dove finisce il collegamento). Questa operazione comporta 6 chiamate di sistema in più rispetto a se wide links=yes. Considerando che vengono eseguite molte operazioni simili, la disabilitazione dei collegamenti ampi riduce le prestazioni di Samba di circa il 30%.

Questo articolo discuterà della creazione di una rete locale wireless per dispositivi che eseguono vari sistemi operativi Windows, Linux, Android utilizzando Samba.

Al giorno d'oggi quasi ogni appartamento dispone di una rete Wi-Fi e sono disponibili anche numerosi dispositivi diversi (laptop, smartphone, tablet, Android TV Box). A questo proposito, prima o poi sarà necessario unire tutti i dispositivi disponibili per l'uso in un'unica rete domestica per accedere facilmente a tutti i tipi di file da qualsiasi gadget.

Questo è in realtà ciò che verrà discusso in questa opera. Quindi iniziamo.

Per la costruzione della rete utilizzeremo una soluzione già pronta chiamata Samba. Si tratta di un pacchetto di programmi open source gratuiti che consente di connettersi a unità di rete, stampanti e altre apparecchiature su vari sistemi operativi utilizzando il proprio protocollo SMB/CIFS.

Il software è composto da due parti: server e client. Installeremo il server Samba su uno dei dispositivi, che per definizione sarà quello principale, e il client Samba su tutti gli altri.

Installazione del server Samba

Nel mio caso, come dispositivo server, ho scelto un laptop su cui erano installati in parallelo Windows 7 e Ubuntu Mate 16.04. Di seguito considereremo in dettaglio il processo di installazione e configurazione di Samba per entrambi i sistemi operativi.

Configurazione del server Samba sotto Linux

Per impostazione predefinita, Samba non è installato su Ubuntu, quindi è necessario farlo prima di procedere. Opzionalmente, per non modificare successivamente il file di configurazione di Samba tramite terminale, installeremo il programma Gadmin-Samba, che include, oltre ai pacchetti server Samba, un'interfaccia grafica.

Per installare digitare da terminale:

Sudo apt installa gadmin-samba

Una volta completata l'installazione, avvia Gadmin Samba. L'interfaccia dell'applicazione non è russificata, ma comprendere le impostazioni è abbastanza semplice.


Ci sono molte impostazioni nel programma, ma nel complesso nel nostro caso siamo interessati alla scheda "Utenti". Vai ad esso e aggiungi un nuovo utente.


Fare clic sul pulsante "Nuovo utente", inserire il nome utente nella finestra aggiornata, creare una password, aggiungerla al gruppo (per non "inventare la ruota", indicare quella esistente, vale a dire "sambausers") e impostare la directory home per i file. Successivamente, fai clic su "Applica".


Videobox HD - nuovo utente

Per applicare le modifiche, riavviare il server utilizzando rispettivamente i pulsanti “disattiva” e “attiva” situati nell'angolo in alto a sinistra della finestra dell'applicazione.


Non dimenticare, inoltre, di impostare i diritti di accesso alle cartelle “condivise” per l’accesso condiviso. Questo può essere fatto sia tramite terminale che tramite l'interfaccia grafica del file explorer Nautilus.


Nautilus: modifica dei permessi


Nautilus - Autorizzazione di scrittura file

Configurazione del server Samba in Windows

Nel caso di Windows tutto è molto più prosaico, poiché in questo sistema operativo Samba viene utilizzato per impostazione predefinita.

In linea di principio è possibile utilizzare un account esistente o abilitare l'accesso ospite. In alternativa è possibile creare un altro account i cui dati verranno utilizzati per l'accesso alla rete

Per creare un nuovo account, devi andare al “pannello di controllo”, selezionare “gestisci account utente” e creare un nuovo account con una password.


Aggiunta di un nuovo account

Quando crei un nuovo utente, dovrai selezionare un tipo di account, creare un nome e una password.


Nell'ultima fase, dovrai impostare i diritti per visualizzare le modifiche alle cartelle "condivise". Questo può essere fatto in Windows Explorer standard tramite la voce del menu contestuale "Proprietà" in relazione alla cartella che ti serve.


"Condivisione" di una cartella


Aggiunta di un utente e modifica delle autorizzazioni della cartella

Dopo aver creato un nuovo utente, assicurati di accedere nuovamente alla sessione corrente affinché le modifiche abbiano effetto.

Installazione del client Samba su Android

Per accedere al server Samba e, di conseguenza, alle unità di rete sui dispositivi con Android, consiglio di utilizzare l'applicazione Root Explorer (link per scaricare la versione completa senza pubblicità alla fine dell'articolo).

I migliori articoli sull'argomento