Dicembre 25, 2021

Come configurare Samba Server in Redhat Linux

Questo tutorial spiega come configurare Samba server in Linux e Samba client in Windows e Linux, incluso come creare regole IPTABLES e configurare i booleani SELinux per consentire il traffico Samba passo dopo passo con esempi pratici. Scopri come condividere le risorse e accedere alle risorse condivise in Samba network.

  • Microsoft Window utilizza il protocollo CIFS (Common Internet File System) per il networking.
  • CIFS è stato sviluppato dal protocollo SMB (Server Message Block).
  • Samba è un software open source.
  • Samba utilizza il protocollo TCP / IP.
  • Samba è l’implementazione Linux dei protocolli SMB/CIFS.
  • Samba consente l’interoperabilità tra Linux e Window.
  • Samba fornisce un servizio di condivisione di file e stampa tra Linux e Window system.
  • Samba consente a Linux di interagire con client, Server, membro di Active Directory, controller di dominio primario o server membro.
  • Samba supporto Microsoft Access Control Lists.
  • Il file di configurazione principale del server Samba è / etc / samba / smb.conf
  • Samba strumento di Amministrazione Web (SWAT) è un GUI di base strumento di configurazione di Samba Serveravailable da RHEL 6
  • In Linux SAMBA offre i seguenti servizi:
    • l’Autenticazione e l’autorizzazione
    • condivisione di File e stampanti
    • la risoluzione del Nome
    • Navigazione

Esame RHCE argomento trattato in questo articolo

  • Fornire le condivisioni di rete per clienti specifici.
  • Fornire condivisioni di rete adatte alla collaborazione di gruppo.

Durante l’esame RHCE non avrai accesso a Microsoft window quindi devi sapere come testare la configurazione di Samba con il sistema Linux.

In questo tutorial userò due sistemi Server e linuxclient dal nostro ambiente di LABORATORIO. Configurerò Samba Server sul sistema Server e samba client sul sistema linuxclient. Se si desidera controllare la topologia di rete utilizzata in questo articolo, controllare il seguente articolo. Laboratorio allestito per la pratica RHEL.

RPM necessari per il Server Samba

RPM Descrizione
samba RPM di Base per il Server Samba
samba-client RPM di Base per il Client Samba
samba-common Includere comandi quelle richieste dal client e dei Server Samba
samba-doc fornire documentazione Samba
samba-swat l’interfaccia del GUI per la configurazione di Samba
samba-winbind Consenti interoperabilità tra Linux e Window
samba-domainjoin-gui Consente all’utente Linux di connettersi con gruppi di lavoro e domini Windows.

Attività di LABORATORIO

  • Configura Samba sul sistema server. Configurare iptables firewall e SELinux Booleani per consentire la connessione Samba sul server.
  • Crea 5 utenti sul sistema server. Crea un gruppo di due utenti. Aggiungi tutti gli utenti nel database utente Samba.
  • Controllare la connettività modulo linuxclient e windowclient sistema. Verifica per accesso da un utente.
  • Crea una cartella sharedata sul server. Concedere l’accesso in lettura e scrittura al pubblico sulla cartella sharedata. Condividi pubblicamente questa cartella. Modulo di prova linux e client window.

Configurare Samba Server

Sul server samba seguenti RPM sono obbligatori

  • samba
  • samba-common
  • samba-winbind

Controllare i necessari rpm

rpm-qa-samba

È possibile installare RPM da varie fonti, tra cui repository YUM, dump di GIRI, FTP, etc. In questo articolo sto installando RPM modulo RHEL 6 disco. Montare il disco RHEL 6 nella cartella multimediale e modificare la directory nella cartella del pacchetto

cd-media-package

Installare RPM necessario.

rpm-samba

Demoni di Samba

Per Samba abbiamo bisogno di tre servizi, un optional e due

Servizio Demoni Descrizione
Richiesto smb smbd (SMB/CIFS) principale di samba servizio che forniscono autenticazione e autorizzazione degli utenti e la condivisione di file e stampanti
Richiesto nmb nmbd (nome NetBIOS del server) Risorse navigazione
Opzionale winbind winbindd Per la risoluzione di host e nome utente

Se avete appena installato RPM di questi servizio sarebbe stato fermato.

smb-nmb-stoped

Avviare i servizi necessari

smb-nmb-running

assicurarsi che i servizi sono in esecuzione al successivo avvio di Linux

chkconfig-smb-on

Come consentire samba attraverso firewall

Durante la RHCE 6 esame avremo sia il firewall (iptables) e la protezione di SELinux.

Per far comunicare Samba al di fuori del server dobbiamo configurare iptables e SELinux.

Come per consentire a Samba in iptables

SAMBA utilizza le porte 137,138,139 e 445

la Porta 137 UDP NetBIOS name service (WINS)
Porta 138 NetBIOS datagram UDP
La porta 139 Sessione NetBIOS di TCP (TCP), Windows Condivisione di File e Stampanti
la Porta 445 Microsoft-DS Active Directory, Windows azioni (TCP)
la Porta 445 Microsoft-DS di condivisione file SMB (UDP)

Per aprire il firewall per Samba aggiunge le seguenti regole e riavviare il iptables

 #iptables -A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT #iptables -A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

iptables-samba-server

Come consentire Samba server da SELinux firewall

SELinux come funzione di sicurezza impedisce la visualizzazione di una condivisione automaticamente. SELinux è la complessa funzionalità di sicurezza di Linux. Per RHCE 6 esame si deve sapere seguenti valori booleani di SELinux

samba_enable_home_dirs Abilita la condivisione della directory home
samba_export_all_ro per Consentire l’accesso in sola lettura a qualsiasi directory
samba_export_all_rw Imposta di lettura/scrittura di accesso a qualsiasi directory
samba_share_t di file Predefinito che Samba è in grado di condividere

puoi consente samba_export_all_ro o samba_export_all_rw Booleane in ambiente di laboratorio, ma in la vita reale che sarebbe un rischio per la sicurezza. La sua buona abitudine di impostare un tipo di file per file e directory che devono essere condivisi tramite Samba. Puoi farlo con il seguente comando

# chcon -R -t samba_share_t /sharedata

In questo esempio abilitiamo la directory / sharedata. Ora Samba può condividere questa directory.

Per condividere la directory home predefinita eseguire il seguente comando:

setsebool -P samba_enable_home_dirs on

-P si assicura che la modifica conservi dopo il riavvio.

setbool

È possibile creare un nuovo utente Samba solo da account validi su un computer Linux in modo da creare 5 utenti

useradd

Impostare la password per tutti gli utenti. Evitare di impostare la password per il sistema locale se si creano solo questi utenti per il servizio Samba e non si desidera concedere loro l’accesso al sistema locale.

passwd

passwd1

Il comando smbpasswd-a può essere usato per aggiungere un utente al database delle password in / etc / samba / per l’autenticazione SAMBA. Impostare gli utenti Samba con il comando smbpasswd.

smbpasswd

Creare un gruppo smb e aggiungere gli utenti smbuser3 e smbuser4

group-add

Ora apri il file di configurazione principale di Samba

vi-smb-conf

La smb.il file conf include due tipi di righe di commento.

  • Il simbolo hash (#) viene utilizzato descrive una funzione
  • Il punto e virgola (;), utilizzato per commentare la funzione (Add; per disabilitare la funzione, rimuovere ; per abilitare la funzione)

annotare il valore di gruppo di lavoro directory

workgroup-mygroup

sarebbe la stessa rete per la connettività senza soluzione di continuità

passa Ora di Condividere le Definizioni sezione per impostazione predefinita Samba condividere automaticamente la directory home dell’utente loggato che definire nei primi quattro righe di questa sezione.
browseable = nessun utente limite alla propria home directory. Samba legge le informazioni sulla directory home dal file/etc / passwd, quindi non è necessario specificare il percorso delle directory home.
share-home

Chiudi la smb.conf file ora e annotare l’indirizzo IP del server

serverip

Queste sono tutte le configurazioni di cui abbiamo bisogno in questo momento sul server.

Configurare il client Samba su Linux system

Sul client Samba seguenti RPM sono obbligatori

  • samba-client
  • samba-common
  • samba-winbind-client

rpm-qa-samba-client

Monte RHEL 6 disco nella cartella media e passare alla directory del Pacchetto

cd-media-ls-package

Installare RPM, se necessario.

rpm-samba-client

Controllare la connettività dal server Samba.

ping-server

Prova ad elencare la condivisione dal server Samba con smbuser1

client-login

Per verificare “Condividi home directory utente”, elencare la condivisione da smbuser5 e creare una cartella sambatmp. Loggato da smbuser5 e montare la sua home directory nella cartella sambatmp. Per assicurarsi che l’utente abbia il permesso scrivibile, crea anche un file di test.

smbuser5-login

Vai sul sistema server e accedi da smbuser5 e verifica il test.

ls-smbuser5

Abbiamo configurato con successo Samba client sul sistema client Linux.

Configurazione della finestra 7 Samba client di sistema

Apri proprietà del computer

computer-properties

fare Clic su modifica impostazione

change-setting

fare Clic su modifica

change-rename

Cambiare il nome del gruppo di lavoro di GRUPPO

mshome-workgroup

sia necessario riavviare il Sistema, confermare il riavvio

restart-ok

Dopo aver riavviato il sistema di Controllo di connettività forma Server

winconnectivity

Apri Rete e fare clic su server di sistema

win-network

Login da smbuser1

smbuerlogin

Utente verrà registrato nella sua casa directory

smbuser

Abbiamo configurato con successo window 7 come sistema client di Samba.

Creare una cartella sharedata sul server. Concedere l’accesso in lettura e scrittura al pubblico sulla cartella sharedata. Condividi pubblicamente questa cartella. Modulo di prova linux e client window.

Sul server creare una cartella /sharedata. Questa cartella viene creata dall’utente root in modo che i nostri utenti non saranno in grado di scrivere in questa cartella. Cambiare il suo permesso 777. Configura SELinux booleano . Ora apri la smb.file conf

mkdir-sharedata

Questa quota di / sharedata condividerà una posizione comune in cui l’utente può scaricare / caricare / leggere i file. In questo fine del file aggiungere seguente stanza e salvare il file

 # Common location for people to share files comment = common location file sharing path = /sharedata read only = no public = yes 

smb-conf-sharedata

Riavviare il servizio smb

restart-smb

Su linuxclient creare una directory tmpdata e montare la cartella sharedata in esso. Creare file di test.

mount-sharedata

sharedata è una cartella temporanea e abbiamo condiviso con il pieno permesso per tutti. Significa che un altro utente dovrebbe essere in grado di leggere / scrivere il file creato da smbuser5. Per testarlo vai su window system e apri il sistema server dalla rete. Apri la cartella sharedata e leggi il file

read-file-on-window

Ora elimina questo file.

confirm-delete-window

Crea una cartella e crea un file al suo interno

create-file-window

Controllare questi sul sistema Server.

check-on-server

Nell’esempio precedente abbiamo condiviso una cartella in modo sicuro in cui qualsiasi utente può eliminare altri file e cartelle. Ora rendilo un po ‘ sicuro. Vai server e modificare il permesso di 1777

set-stickybit-sharedata

Su linuxclient effettuato l’accesso da smbuser5 e creare un file

linuxclient-exmpale-stickybit

Sulla finestra siamo registrati da smbuser1, prova a leggere il file.

read-stickybit-file-window

Ora prova a eliminare questo file.

try-to-delete-sticky-bit-file

Sarà negato

sticky-bit-error-delete

Come negare gli utenti in Samba

Samba consente di negare utente / utenti da risorse condivise. Per negare smbuser5 da sharedata aprire / etc / samba / smb.conf e cambiare il valore di configurazione di seguito e salvare il file

deny-smbuser5-server

Ricaricare il servizio smb

reload-smb

Su linuxclient sistema prima di tentare di montare sharedata da smbuser5 e che da smbuser1

deny-smbuser5-clinet

Come limite di samba del gruppo

Abbiamo creato un gruppo smbgroup sopra in questo tutorial. Ora configura Samba per consentire l’accesso solo a questo gruppo.

Sul server modificare il gruppo di sharedata e aggiornare l’autorizzazione a 1770. Apri la smb.file conf

chgrp-sharedata

Aggiornamento la stanza e salvare il file

group-samba-share

ricaricare il servizio smb

reload-smb

Su linux client di provare prima con smbuser5 che non è il membro del smbgroup e poi provare con smbuser3 che è il membro di smbgroup

group-samba-linuxclient

Per limitare la samba per gli utenti

Ora possiamo condividere solo per l’utente/ gli utenti. Ora configurare Samba toallow solo smbuser1 sulla cartella sharedata.

Sul server fai di smbuser1 il proprietario della cartella / sharedata e aggiorna l’autorizzazione. Apri la smb.conf

samba-user-share

cambiare la stanza e salvare il file

samba-user-share-config

Ricaricare il file

reload-smb

Su linuxclient provare prima con gli altri utenti e ultima prova con smbuser1

single-user-samba

finora in questo articolo abbiamo configurato diverso livello di accesso per la condivisione Samba. Per l’esame RHCE 6 ricorda sempre che i permessi dei file, le opzioni di montaggio del file system, i booleani SELinux, l’ACL non possono essere sovrascritti da Samba. Significa che se una directory non ha il permesso di scrittura e hai l’impostazione Samba writeable = yes, non permetterà di scrivere. Questo è il motivo per cui prima aggiorniamo l’autorizzazione del file system rispetto alle impostazioni di Samba.

Durante l’esame RHCE 6 seguire 2 comandi può essere molto utile per te.

testparm

il comando testparm controllerà smb.file conf per errori interni. Se l’output di questi comandi ritorna senza errori, si utilizza il file di configurazione.

testparm

smbstatus

Questo comando elenca la connessione Samba corrente.

smbstaus

Per l’esame RHCE 6 dovrebbe anche conoscere le seguenti direttive di smb.file conf

Come cambiare il nome del server samba

Per impostazione predefinita Samba hostname come nome NetBIOS. NetBIOS è il nome che altri client vedono negli elenchi di ricerca di rete come quelli mostrati da un comando Microsoft net view o da un normale comando Linux smbclient. Per modificare il nome del server Samba rimuovere il commento e modificare il valore della seguente direttiva.

; netbios name = MYSERVER

Come cambiare il nome del gruppo di lavoro samba

Il nome predefinito del gruppo di lavoro di Samba è MYGROUP. È possibile aggiornarlo modulo smb.file conf. Per modificare il nome del gruppo di lavoro predefinito, aggiornare il valore della seguente direttiva.

workgroup = MYGROUP

Come limitare samba alla rete locale

Per limitare l’accesso alla rete specificata, rimuovere il commento alla seguente direttiva e specificare la rete.

; hosts allow = 127. 192.168.12. 192.168.13.

Se si decommenta senza modificare il valore, limiterebbe l’accesso alle reti con gli indirizzi IP di rete 192.168.12.0 e 192.168.13.0 e il computer locale (127.): È anche possibile configurare la direttiva hosts deny. Configurare le direttive host allow/deny qui solo se si desidera apportare modifiche a livello globale. Le directory condivise individualmente possono anche essere configurate con host consenti / nega. Quindi, se stai cercando configurazioni individuali, fallo nella propria sezione.

network-related-opration

Questo è tutto per questo articolo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.