GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer le serveur Samba sur CentOS 8

Samba est un logiciel gratuit et open source qui peut être utilisé pour partager des fichiers, des dossiers et des imprimantes entre les systèmes Linux et Windows. Il est également utilisé pour l'authentification et l'autorisation, la résolution de nom et l'annonce de service. Il peut être exécuté sur différents systèmes d'exploitation, notamment Linux, Unix, OpenVMS et bien d'autres.

Dans ce tutoriel, nous allons apprendre à installer Samba et à le configurer en tant que serveur de partage autonome sur CentOS 8.

Prérequis

  • Un serveur exécutant CentOS 8.
  • Un mot de passe root est configuré sur votre serveur.

Installer le serveur Samba

Par défaut, le package Samba est disponible dans le référentiel par défaut CentOS. Vous pouvez l'installer avec la commande suivante :

dnf install samba samba-common samba-client -y

Après avoir installé Samba, démarrez le service SMB et activez-le après le redémarrage du système avec la commande suivante :

systemctl start smb
systemctl enable smb

Vous pouvez maintenant vérifier le service Samba avec la commande suivante :

systemctl status smb

Vous devriez obtenir le résultat suivant :

? 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

Créer un partage public avec Samba

Dans cette section, nous allons créer un partage public avec Samba afin que tout le monde puisse accéder au répertoire de partage public sans mot de passe.

Créer un répertoire de partage public

Tout d'abord, créez un dossier partagé nommé public et créez également deux fichiers dans le répertoire public :

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

Ensuite, attribuez les autorisations et la propriété nécessaires avec la commande suivante :

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

Configurer Samba

Ensuite, vous devrez configurer Samba pour partager un répertoire public.

Commencez par créer une copie de sauvegarde du fichier /etc/samba/smb.conf avec la commande suivante :

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

Ensuite, créez un nouveau fichier de configuration Samba :

nano /etc/samba/smb.conf

Ajoutez les lignes suivantes :

[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

Enregistrez et fermez le fichier. Ensuite, redémarrez le service Samba pour appliquer les modifications :

systemctl restart smb

Ensuite, testez la configuration de Samba avec la commande suivante :

testparm

Vous devriez voir le résultat suivant :

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

Configurer SELinux et le pare-feu

Ensuite, définissez les valeurs booléennes et de contexte de sécurité SELinux appropriées sur le répertoire de partage avec la commande suivante :

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

Ensuite, tous les services Samba via firewalld avec la commande suivante :

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

Accéder au partage Samba depuis Ubuntu Gnome

Pour accéder au partage Samba, allez sur la machine distante, ouvrez le gestionnaire de fichiers Gnome et cliquez sur Se connecter à Serveur comme indiqué ci-dessous :

Indiquez l'adresse IP de votre serveur Samba et cliquez sur Se connecter bouton. Après une connexion réussie, vous devriez voir le partage Samba dans l'écran suivant :

Maintenant, cliquez sur Public répertoire, vous devriez voir vos fichiers dans l'écran suivant :

Accéder au partage Samba à partir de la ligne de commande Ubuntu

Vous pouvez également accéder au partage Samba à partir de la ligne de commande.

Tout d'abord, répertoriez tous les partages Samba disponibles avec la commande suivante :

smbclient -L //45.58.38.51

Vous devriez voir le résultat suivant :

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
	---------            -------

Vous pouvez également monter le partage Samba à l'aide du protocole cifs. Pour ce faire, installez le package cifs-utils avec la commande suivante :

apt-get install cifs-utils -y

Ensuite, montez le partage Samba dans le répertoire /mnt avec la commande suivante :

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

Il vous sera demandé de fournir un mot de passe comme indiqué ci-dessous :

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

Appuyez simplement sur Entrée sans saisir de mot de passe pour monter le partage Samba :

Vous pouvez maintenant accéder au partage Samba dans le répertoire /mnt :

ls /mnt/

Vous devriez voir le résultat suivant :

file1.txt  file2.txt

Créer un partage privé avec Samba

Dans cette section, nous allons créer un partage privé avec Samba afin que seul l'utilisateur authentifié puisse accéder au répertoire de partage privé.

Créer un utilisateur et un groupe

Commencez par créer un groupe nommé private avec la commande suivante :

groupadd private

Créez ensuite un nouvel utilisateur nommé privateuser et ajoutez-le au groupe privé :

useradd -g private privateuser

Ensuite, définissez le mot de passe de l'utilisateur avec la commande suivante :

smbpasswd -a privateuser

Sortie :

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

Créer un répertoire de partage privé

Ensuite, créez un dossier partagé nommé privé et créez également deux fichiers dans le répertoire privé :

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

Ensuite, attribuez l'autorisation et la propriété appropriées avec la commande suivante :

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

Ensuite, configurez le contexte SELinux pour le répertoire privé avec la commande suivante :

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

Configurer Samba

Ensuite, ouvrez le fichier de configuration Samba et définissez le partage privé :

nano /etc/samba/smb.conf

Ajoutez les lignes suivantes à la fin du fichier :

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

Enregistrez et fermez le fichier puis redémarrez le service Samba pour appliquer les modifications :

systemctl restart smb

Ensuite, vérifiez la configuration de Samba avec la commande suivante :

testparm

Vous devriez voir le résultat suivant :

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

Accéder au partage Samba à partir de la ligne de commande Ubuntu

Tout d'abord, accédez au partage disponible avec la commande suivante :

smbclient -L //45.58.38.51

Vous devriez voir le résultat suivant :

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
	---------            -------

Ensuite, connectez-vous au serveur Samba et répertoriez le partage disponible avec la commande suivante :

smbclient //45.58.38.51/private -U privateuser

Il vous sera demandé de fournir un mot de passe comme indiqué ci-dessous :

Enter privateuser's password: 

Tapez votre mot de passe et appuyez sur Entrée pour accéder au shell Samba comme indiqué ci-dessous :

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

Maintenant, répertoriez le partage disponible avec la commande suivante :

smb: \> ls

Vous devriez voir le résultat suivant :

  
.                                   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

Maintenant, quittez le shell Samba avec la commande suivante :

smb: \>exit

Vous pouvez également monter le partage Samba sur le répertoire /opt :

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

Il vous sera demandé de fournir un mot de passe comme indiqué ci-dessous :

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

Fournissez votre mot de passe et appuyez sur Entrée pour monter le partage Samba.

Vous pouvez maintenant vérifier votre partage Samba dans le répertoire /opt comme indiqué ci-dessous :

ls /opt/

Sortie :

private1.txt  private2.txt

Accéder au partage Samba depuis Ubuntu Gnome

Pour accéder au partage Samba, allez sur la machine distante, ouvrez le gestionnaire de fichiers Gnome et cliquez sur Se connecter à Serveur comme indiqué ci-dessous :

Indiquez l'adresse IP de votre serveur Samba et cliquez sur Se connecter bouton. Après une connexion réussie, vous devriez voir le partage Samba dans l'écran suivant :

Maintenant, cliquez sur Privé répertoire, indiquez votre nom d'utilisateur et votre mot de passe, puis cliquez sur le bouton Connecter. Vous devriez voir vos fichiers dans l'écran suivant :

Toutes nos félicitations! vous avez installé et configuré avec succès le serveur Samba sur CentOS 8.


Cent OS
  1. Comment installer le serveur Minecraft sur CentOS 7

  2. Comment installer Nginx sur CentOS 8

  3. Comment installer PostgreSQL sur CentOS 8

  4. Comment installer le serveur Teamspeak 3 sur CentOS 8

  5. Comment installer ProFTPD sur CentOS 7

Comment installer VestaCP sur CentOS 6

Comment installer le serveur VNC sur CentOS 7

Comment installer le serveur Minecraft sur CentOS 6

Comment installer le serveur VNC sur CentOS 6

Comment installer le serveur DHCP sur CentOS 7

Comment installer Samba sur CentOS 8