GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Samba Server su CentOS 8

Samba è un software gratuito e open source che può essere utilizzato per condividere file, cartelle e stampanti tra sistemi Linux e Windows. Viene anche utilizzato per l'autenticazione e l'autorizzazione, la risoluzione dei nomi e l'annuncio del servizio. Può essere eseguito su diversi sistemi operativi inclusi Linux, Unix, OpenVMS e molti altri.

In questo tutorial impareremo come installare Samba e configurarlo come server di condivisione autonomo su CentOS 8.

Prerequisiti

  • Un server che esegue CentOS 8.
  • Sul tuo server è configurata una password di root.

Installa il server Samba

Per impostazione predefinita, il pacchetto Samba è disponibile nel repository predefinito di CentOS. Puoi installarlo con il seguente comando:

dnf install samba samba-common samba-client -y

Dopo aver installato Samba, avvia il servizio SMB e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:

systemctl start smb
systemctl enable smb

Ora puoi verificare il servizio Samba con il seguente comando:

systemctl status smb

Dovresti ottenere il seguente output:

? smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-03-02 23:03:30 EST; 8s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 2072 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 25028)
   Memory: 33.8M
   CGroup: /system.slice/smb.service
           ??2072 /usr/sbin/smbd --foreground --no-process-group
           ??2074 /usr/sbin/smbd --foreground --no-process-group
           ??2075 /usr/sbin/smbd --foreground --no-process-group
           ??2076 /usr/sbin/smbd --foreground --no-process-group

Crea una condivisione pubblica con Samba

In questa sezione creeremo una condivisione pubblica con Samba in modo che tutti possano accedere alla directory di condivisione pubblica senza password.

Crea una directory di condivisione pubblica

Innanzitutto, crea una cartella condivisa denominata public e crea anche due file all'interno della directory pubblica:

mkdir -p /samba/share/public
touch /samba/share/public/file1.txt
touch /samba/share/public/file2.txt

Quindi, assegna le autorizzazioni e la proprietà necessarie con il seguente comando:

chmod -R 0755 /samba/share/
chmod -R 0755 /samba/share/public
chown -R nobody:nobody /samba/share
chown -R nobody:nobody /samba/share/public

Configura Samba

Successivamente, dovrai configurare Samba per condividere una directory pubblica.

Innanzitutto, crea una copia di backup del file /etc/samba/smb.conf con il seguente comando:

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

Quindi, crea un nuovo file di configurazione di Samba:

nano /etc/samba/smb.conf

Aggiungi le seguenti righe:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = samba-server
security = user
map to guest = bad user
dns proxy = no

[Public]
path = /samba/share/public
browsable =yes
writable = yes
guest ok = yes
read only = no

Salva e chiudi il file. Quindi, riavvia il servizio Samba per applicare le modifiche:

systemctl restart smb

Quindi, testa la configurazione di Samba con il seguente comando:

testparm

Dovresti vedere il seguente output:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
	dns proxy = No
	map to guest = Bad User
	netbios name = SAMBA-SERVER
	security = USER
	server string = Samba Server %v
	idmap config * : backend = tdb


[Public]
	guest ok = Yes
	path = /samba/share/public
	read only = No

Configura SELinux e Firewall

Quindi, imposta i valori booleani e di contesto di sicurezza SELinux appropriati sulla directory di condivisione con il seguente comando:

setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"
restorecon /samba/share/public

Successivamente, tutto il servizio Samba tramite firewalld con il seguente comando:

firewall-cmd --add-service=samba --zone=public --permanent
firewall-cmd --reload

Accedi a Samba Share da Ubuntu Gnome

Per accedere alla condivisione Samba, vai sulla macchina remota, apri il file manager di Gnome e fai clic su Connetti a Server come mostrato di seguito:

Fornisci l'indirizzo IP del tuo server Samba e fai clic su Connetti pulsante. Dopo una connessione riuscita, dovresti vedere la condivisione Samba nella schermata seguente:

Ora, fai clic su Pubblico directory, dovresti vedere i tuoi file nella schermata seguente:

Accedi a Samba Share dalla riga di comando di Ubuntu

Puoi anche accedere alla condivisione Samba dalla riga di comando.

Innanzitutto, elenca tutte le condivisioni Samba disponibili con il seguente comando:

smbclient -L //45.58.38.51

Dovresti vedere il seguente output:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

	Sharename       Type      Comment
	---------       ----      -------
	Public          Disk      
	IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------

Puoi anche montare la condivisione Samba usando il protocollo cifs. Per farlo, installa il pacchetto cifs-utils con il seguente comando:

apt-get install cifs-utils -y

Quindi, monta la condivisione Samba nella directory /mnt con il seguente comando:

mount -t cifs //45.58.38.51/public /mnt/

Ti verrà chiesto di fornire la password come mostrato di seguito:

Password for [email protected]//45.58.38.51/public: 

Basta premere Invio senza inserire alcuna password per montare la condivisione Samba:

Ora puoi accedere alla condivisione Samba nella directory /mnt:

ls /mnt/

Dovresti vedere il seguente output:

file1.txt  file2.txt

Crea condivisione privata con Samba

In questa sezione creeremo una condivisione privata con Samba in modo che solo l'utente autenticato possa accedere alla directory di condivisione privata.

Crea utente e gruppo

Innanzitutto, crea un gruppo denominato private con il seguente comando:

groupadd private

Quindi, crea un nuovo utente chiamato privateuser e aggiungilo al gruppo privato:

useradd -g private privateuser

Quindi, imposta la password per l'utente con il seguente comando:

smbpasswd -a privateuser

Uscita:

New SMB password:
Retype new SMB password:
Added user privateuser.

Crea una directory di condivisione privata

Quindi, crea una cartella condivisa denominata private e crea anche due file all'interno della directory privata:

mkdir -p /samba/share/private
touch /samba/share/private/private1.txt
touch /samba/share/private/private2.txt

Quindi, assegna l'autorizzazione e la proprietà appropriate con il seguente comando:

chmod -R 0770 /samba/share/private
chown -R root:private /samba/share/private

Quindi, configura il contesto SELinux per la directory privata con il seguente comando:

semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"
restorecon /samba/share/private

Configura Samba

Quindi, apri il file di configurazione di Samba e definisci la condivisione privata:

nano /etc/samba/smb.conf

Aggiungi le seguenti righe alla fine del file:

[Private]
path = /samba/share/private
valid users = @private     
guest ok = no
writable = yes
browsable = yes

Salva e chiudi il file, quindi riavvia il servizio Samba per applicare le modifiche:

systemctl restart smb

Quindi, controlla la configurazione di Samba con il seguente comando:

testparm

Dovresti vedere il seguente output:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
	dns proxy = No
	map to guest = Bad User
	netbios name = SAMBA-SERVER
	security = USER
	server string = Samba Server %v
	idmap config * : backend = tdb


[Public]
	guest ok = Yes
	path = /samba/share/public
	read only = No


[Private]
	path = /samba/share/private
	read only = No
	valid users = @private

Accedi a Samba Share dalla riga di comando di Ubuntu

Innanzitutto, accedi alla condivisione disponibile con il seguente comando:

smbclient -L //45.58.38.51

Dovresti vedere il seguente output:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

	Sharename       Type      Comment
	---------       ----      -------
	Public          Disk      
	Private         Disk      
	IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------

Quindi, connettiti al server Samba ed elenca la condivisione disponibile con il seguente comando:

smbclient //45.58.38.51/private -U privateuser

Ti verrà chiesto di fornire una password come mostrato di seguito:

Enter privateuser's password: 

Digita la tua password e premi Invio per accedere alla shell Samba come mostrato di seguito:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
smb: \>

Ora, elenca la condivisione disponibile con il seguente comando:

smb: \> ls

Dovresti vedere il seguente output:

  
.                                   D        0  Tue Mar  3 10:03:22 2020
  ..                                  D        0  Tue Mar  3 10:01:56 2020
  private1.txt                        N        0  Tue Mar  3 10:03:17 2020
  private2.txt                        N        0  Tue Mar  3 10:03:22 2020

		51194 blocks of size 2097152. 49358 blocks available

Ora esci dalla shell Samba con il seguente comando:

smb: \>exit

Puoi anche montare la condivisione Samba nella directory /opt:

mount -t cifs -o user=privateuser //45.58.38.51/private /opt

Ti verrà chiesto di fornire una password come mostrato di seguito:

Password for [email protected]//45.58.38.51/private:  *********

Fornisci la tua password e premi Invio per montare la condivisione Samba.

Ora puoi controllare la tua condivisione Samba nella directory /opt come mostrato di seguito:

ls /opt/

Uscita:

private1.txt  private2.txt

Accedi a Samba Share da Ubuntu Gnome

Per accedere alla condivisione Samba, vai sulla macchina remota, apri il file manager di Gnome e fai clic su Connetti a Server come mostrato di seguito:

Fornisci l'indirizzo IP del tuo server Samba e fai clic su Connetti pulsante. Dopo una connessione riuscita, dovresti vedere la condivisione Samba nella schermata seguente:

Ora, fai clic su Privato directory, fornisci il tuo nome utente e password, quindi fai clic sul pulsante Connetti. Dovresti vedere i tuoi file nella schermata seguente:

Congratulazioni! hai installato e configurato correttamente il server Samba su CentOS 8.


Cent OS
  1. Come installare il server Minecraft su CentOS 7

  2. Come installare Nginx su CentOS 8

  3. Come installare PostgreSQL su CentOS 8

  4. Come installare Teamspeak 3 Server su CentOS 8

  5. Come installare ProFTPD su CentOS 7

Come installare VestaCP su CentOS 6

Come installare il server VNC su CentOS 7

Come installare il server Minecraft su CentOS 6

Come installare il server VNC su CentOS 6

Come installare il server DHCP su CentOS 7

Come installare Samba su CentOS 8