Académique Documents
Professionnel Documents
Culture Documents
Nous pouvons vérifier que le service "samba" fait maintenant partie de notre zone, en
exécutant :
$ sudo firewall-cmd --list-services
cockpit dhcpv6-client http samba ssh
Là encore, si aucune zone n'est spécifiée, la commande est appliquée à la zone par défaut.
Configuration d'un répertoire partagé accessible aux
invités
Disons que nous voulons partager un répertoire via samba, et que nous voulons laisser
libre accès à ce répertoire aux utilisateurs invités, sans qu'ils aient à fournir de mot de
passe. Pour obtenir le résultat souhaité, nous devons apporter quelques modifications
au /etc/samba/smb.conffichier et ajouter une "strophe" pour notre part. Ouvrez le fichier
avec votre éditeur préféré, et dans la [global]section, ajoutez le texte en surbrillance :
[global]
workgroup = SAMBA
security = user
printing = cups
printcap name = cups
load printers = yes
cups options = raw
map to guest = bad user
L' map to guest = bad userinstruction mappera les tentatives de connexion avec de
mauvais noms d'utilisateur à l'utilisateur invité par défaut, qui, par défaut, est nobody. Ceci
est nécessaire pour permettre un accès anonyme sans avoir à fournir de mot de passe.
Après ce changement, nous devons ajouter une nouvelle strophe dédiée à notre partage à
la fin du fichier. Nous nommerons la ressource partagée « linuxconfig » :
[linuxconfig]
path = /mnt/shared
guest only = yes
Avec la configuration ci-dessus, nous avons déclaré que nous voulions partager le contenu
du /mnt/sharedrépertoire, sans avoir besoin d'authentification de l'utilisateur. Cette
configuration est évidemment risquée et n'est présentée ici qu'à titre d'exemple : dans un
scénario réel, vous pouvez au moins refuser l'accès en écriture aux invités (vous pouvez le
faire en ajoutant l' writeable = no instruction). Pour que les modifications soient
effectives, nous devons redémarrer les démons :
$ testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum
Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[linuxconfig]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Encore une fois, nous devons redémarrer les démons smbet nmbpour que nos modifications
soient effectives. Le répertoire partagé ne sera désormais accessible qu'après avoir fourni
les informations d'identification correctes.
Configurer SELinux pour samba
SELinux est souvent vu comme une complication, et tout de suite désactivé. Ce n'est pas
nécessaire : nous devons seulement apprendre à le configurer et profiter de l'amélioration
de la sécurité qu'il apporte. Pour que notre partage samba fonctionne lorsque SELinux est
en mode "application", nous devons attribuer le contexte approprié à notre répertoire et à
nos fichiers partagés :
$ sudo chcon -R -t samba_share_t /mnt/shared
Dans l'exemple ci-dessus, nous avons utilisé la chconcommande avec l' -toption pour
changer la TYPEsection du contexte SELinux en samba_share_t. Nous avons également
utilisé le -Rcommutateur pour rendre la commande récursive. Cette modification survivra
à un redémarrage, mais pas à un réétiquetage du système si une politique par défaut existe
pour notre répertoire et nos fichiers, car dans ce cas, la configuration par défaut serait
réappliquée.
Si nous voulons que notre modification survive à un événement de réétiquetage, nous
devons ajouter notre règle à la politique. Nous pouvons le faire en utilisant
la semanagecommande :
$ sudo semanage fcontext -l | grep /mnt/shared
/mnt/shared(/.*)?
all files system_u:object_r:samba_share_t:s0
Puisque nous avons utilisé la (/.*)?regex, la règle sera appliquée à tout le contenu du
répertoire "partagé", et au répertoire lui-même. Nous pouvons vérifier que notre règle a
été ajoutée à la stratégie en répertoriant les libellés utilisés sur notre système :
$ sudo semanage fcontext -l | grep /mnt/partagé
/mnt/partagé (/.*) ? tous les fichiers system_u:object_r:samba_share_t:s0
Nous devrions maintenant avoir une configuration de samba fonctionnelle. Pour peaufiner
davantage la configuration de samba, nous devrons peut-être également manipuler les
booléens SELinux. Par exemple, lors de l'ajout d'utilisateurs existants à samba, pour que
leurs répertoires personnels soient partagés, nous devons activer le booléen SELinux
dédié. Pour lister tous les booléens liés à la samba, nous pouvons exécuter :