Costruisci un semplice server Samba con un computer con poche risorse

C'è sicuramente molta letteratura su questo argomento Samba per costruire semplice o robusto Server di archiviazione, ma molte volte non ci portano direttamente al dunque nelle opzioni più pratiche con le rispettive precisazioni e possibili scenari di utilizzo reale, ovvero troviamo sempre molte informazioni ma non adeguate alle esigenze di tanti e soprattutto neofiti o principianti nella zona.

lpi

Ad ogni modo, vi lascio la mia esperienza in questo post sull'argomento:

Per prima cosa vi lascio le caratteristiche tecniche del computer a poche risorse utilizzato:

Hardware:

Software:

Quindi ho proceduto all'installazione e alla configurazione del pacchetto samba sul server della mia bambina Lan rosso fatto in casa come segue:

1.- Installa samba con il comando command:

aptitude install samba samba-common smbclient samba-doc smbfs winbind

2.- Ho eseguito il backup della configurazione predefinita di samba situata nel file di configurazione smb.conf con il comando comando:

cp /etc/samba/smb.conf /etc/samba/smb.conf.bck
  1. Quindi modificare il file di configurazione con un editor di mia preferenza con il comando comando:
vi /etc/samba/smb.conf

Lasciandolo come segue:


#======================= Global Settings =======================

[global]

## Browsing/Identification ###

workgroup = WORKGROUP
dns proxy = no
; wins support = no
; wins server = w.x.y.z
; server string = %h server
; name resolve order = lmhosts host wins bcast

#### Networking ####

; interfaces = 127.0.0.0/8 eth0
; bind interfaces only = yes

#### Debugging/Accounting ####

log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
; syslog only = no

####### Authentication #######

server role = standalone server
passdb backend = tdbsam
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
security = user
username map = /etc/samba/smbusers
; encrypt passwords = true

########## Domains ###########

; server role = primary classic domain controller
; server role = backup domain controller
; server role = domain logons
; logon path = \\%N\profiles\%U
; logon path = \\%N\%U\profile
; logon drive = H:
; logon home = \\%N\%U
; logon script = logon.cmd
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
; add group script = /usr/sbin/addgroup --force-badname %g
; domain logons = yes

############ Misc ############

usershare allow guests = yes
; usershare max shares = 100
; include = /home/samba/etc/smb.conf.%m
; domain master = auto
; idmap uid = 10000-20000
; idmap gid = 10000-20000
; template shell = /bin/bash
; winbind enum groups = yes
; winbind enum users = yes
; usershare max shares = 100
; SO_RCVBUF=8192 SO_SNDBUF=8192
; socket options = TCP_NODELAY
; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &


#======================= Share Definitions =======================

[homes]

comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S

; [netlogon]

; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = yes
; read only = yes

; [profiles]

; comment = Users profiles
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700

[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
; write list = root, @lpadmin

; [cdrom]
; comment = Samba server's CD-ROM
; read only = yes
; locking = no
; path = /cdrom
; guest ok = yes
; /dev/scd0   /cdrom  iso9660 defaults,noauto,ro,user   0 0
; preexec = /bin/mount /cdrom
; postexec = /bin/umount /cdrom

# EJEMPLO DE RECURSO COMPARTIDO

[RECURSO_COMPARTIDO]

comment = Servidor Disco Duro 500 GB
path = /media/usuario-sysadmin/RESPALDO
writeable = yes
browseable = yes
public = yes
valid users = usuario_samba
create mask = 0755
directory mask = 0755
guest ok = no
; read only = no
; write list = usuario_samba
; force group = usuario_samba
; hide dot files = yes
; guest only = yes
; guest account = nobody
; delete veto files = yes
; veto files = /*.exe/*.com/*.dll/*.mp3/*.avi/*.mkv/*.msi/*.mpg/*.wmv/*.wma

Come ti ho già detto, su Internet ci sono abbondanti informazioni su samba e ciascuna delle opzioni deve essere configurata all'interno del file smb.conf, che non è l'intenzione di questa pubblicazione. Tuttavia, vi lascio questi pochi link sull'argomento:

Ho quindi proceduto alla creazione del file utente samba "samba_user" dentro di me Server Samba, che ho usato per amministrare (gestire) risorse condivise in remoto dai miei altri computer con GNU / Linux e MS Windows.  Nel mio caso particolare non lavorerò in condivisione Cartelle ma completamente mio Hard Drive secondario di 500 GB. Per questo motivo, richiedo che questo disco venga montato automaticamente all'avvio del server, anche senza caricare l'interfaccia grafica, quindi ho provveduto ad eseguire la seguente procedura:

Montaggio permanente di Disco rigido da 500 GB all'interno Piattaforma server

a) Convalida (ho preso atto) del file punto di montaggio e cartella locale dove il mio Piattaforma montava automaticamente il disco rigido da 500 GB. Altrimenti avrei potuto creare una cartella dove montare la risorsa locale da condividere, con il comando comando: mkdir -p / design_path / designato_folder e quindi dare il permesso all'utente sul mio utente principale del server chiamato "User-sysadmin".

b) Modifica il file fstab con l'ordine di comando "Nano / etc / fstab" e inserire la seguente linea di montaggio:

/ dev / sdb1 / media / user-sysadmin / BACKUP / ntfs-3g rw, user_id = 1000, group_id = 1000

Nota: Uso "Ntfs-3g" poiché il mio disco è formattato in NTFS. Puoi aggiungere o meno l'opzione auto della linea di assemblaggio in fstab, a seconda delle vostre esigenze o necessità. Per me in particolare, questa opzione mi ha causato instabilità (intermittenza) durante il montaggio della risorsa durante l'avvio Piattaforma. È possibile riavviare il server per verificare il montaggio automatico del disco rigido o provare a eseguire il comando comando "Mount -a" per testare il punto di montaggio. Se tutto va bene, riavvia per riprovare a eseguire il montaggio dall'inizio. Questa linea può essere configurata in molti modi e in modi più dettagliati ma spetta alla ricerca personale, poiché non è oggetto della pubblicazione. Per ulteriori informazioni sulle opzioni fstab, fare clic qui.

Successivamente ho proceduto alla creazione del file utente locale Cosa userò in samba per gestire le mie condivisioni da remoto. Questo può essere fatto in 2 modi diversi:

1.- Base:

1.1) Crea un utente locale per gestire samba:

adduser user_samba

2.- Avanzate:

2.1) Crea la cartella home dell'utente locale per gestire samba:

mkdir / design_path / samba_user

2.2) Crea un gruppo di utenti samba:

groupadd user_group

2.2) Crea profilo utente samba:

utenteaggiungi -g user_samba -d / designato_percorso / samba_user -c "Cartella home dell'utente" -s / bin / false user_group

Successivamente, e dopo che samba è stato installato e configurato, abilitato e montato la risorsa di condivisione, creato l'utente locale, dobbiamo:

Aggiungi l'utente locale al Samba Server (servizio) installato con il prompt dei comandi:

Aggiungi utente user_samba sambashare

Crea la password di accesso cosa avrà Utente locale in Samba con il comando comando:

smbpasswd -a user_samba

Riavvia il servizio Samba:

a) servizio di ricarica samba

b) riavvio del servizio smbd

c) riavvio del servizio nmbd

Ora non ci resta che controllare l'accesso da un computer in rete alla condivisione. Per questo dobbiamo aprire un file explorer, esplorare l'ambiente di rete e visualizzare la condivisione dal server. Tuttavia, per vedere la disponibilità tramite terminale, è possibile eseguire i seguenti comandi di comando, conoscendo o meno l'IP o il nome del server Samba:

1) smbclient –list = 192.168.XX

2) smbclient –list = 192.168.XX –user = samba_user

3) nbtscan 192.168.0.0/24

4) nmblookup samba_server_name

E per accedere alla condivisione da un computer in rete, apri un file explorer, esplora l'ambiente di rete e fai fare doppio clic sulla condivisione dal server, in inserire i dati di accesso (Utente / Password / Dominio)o inserisci il percorso diretto nel seguente formato: smb: //192.168.xx/ SHARED_RESOURCE. Per connettersi tramite terminale, esegui il seguente comando: smbclient –user = samba_user //192.168.xx/SHARED_RESOURCE

Infine, e se necessario, è possibile configurare che la risorsa condivisa venga caricata automaticamente sull'attrezzatura di rete mediante la seguente procedura:

a) Crea una cartella locale dove verrà montata la risorsa condivisa, con il comando comando:

mkdir -p / design_path / designato_folder

b) Modifica il file fstab con l'ordine di comando "Nano / etc / fstab" e inserire la seguente linea di montaggio:

//192.168.XX/SHARED_RESOURCE/ / design_path / designato_folder cifs user, rw, username = samba_user, password = samba_user_password, gid = 100 ?, Uid = 100 ?, Iocharset = utf8, dir_mode = 0755, file_mode = 0755 0 2

Nota: Uso "Cif" poiché è il moderno protocollo samba che samba si connette a una risorsa di rete, in alcuni casi potrebbe essere necessario utilizzarlo «smb » invece di «cifs ». Il tipo di autorizzazione assegnata in modalità_dir y modalità_file dipenderà da ciò che si designa e / o l'utente della cartella condivisa richiede, sebbene preferibilmente dovrebbero essere gli stessi di quelli designati nel file smb.conf per detta risorsa condivisa. E i valori corrispondenti in id y uid Devono essere appropriati, cioè quelli dell'utente che monterà la risorsa sul computer remoto. Inoltre puoi aggiungere o meno l'opzione auto della linea di assemblaggio in fstab, a seconda delle vostre esigenze o necessità. Per me in particolare, questa opzione mi ha causato instabilità (intermittenza) durante il montaggio della risorsa durante l'avvio Piattaforma. È possibile riavviare il server per verificare il montaggio automatico del disco rigido o provare a eseguire il comando comando "Mount -a" per testare il punto di montaggio. Se tutto va bene, riavvia per riprovare a eseguire il montaggio dall'inizio. Questa linea può essere configurata in molti modi e in modi più dettagliati ma spetta alla ricerca personale, poiché non è oggetto della pubblicazione. Per ulteriori informazioni sulle opzioni fstab, fare clic qui.

Bene, spero che questo post ti piaccia con i miei umili passaggi e consigli a tale scopo.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   chiwy suddetto

    Molto interessante.

    E per un semplice server di posta ...?

    Saluti.

  2.   Ing. José Albert suddetto

    Proverò a farne uno!

  3.   oscar silva suddetto

    Gentile, era necessario aggiungere il piccolo dettaglio riguardante la connessione da computer Windows ..., altrimenti bravo tuto.

    Saluti 🙂