Si vous rencontrez des difficultés pour partager votre répertoire ~Public dans Ubuntu 22.04, Jack Wallen a la solution pour vous.
Avec la sortie d'Ubuntu 22.04, plusieurs changements se sont produits sous le capot pour faire de cette dernière version LTS l'une des meilleures de l'histoire de la distribution Linux soutenue par Canonical. Mais il y a un changement qui a fait un peu de bruit. Ce problème concerne les autorisations par défaut des répertoires personnels de l'utilisateur.
Auparavant, l'autorisation du répertoire personnel de l'utilisateur était définie sur 755, ce qui permettait aux autres utilisateurs d'afficher le répertoire ainsi que les fichiers et sous-répertoires qui le contenaient. Pour éviter un tel problème de sécurité, les développeurs ont défini l'autorisation sur les répertoires personnels sur 750, ce qui signifie que seul le propriétaire du répertoire personnel peut afficher le contenu.
Si vous avez tendance à partager votre dossier ~/Public, cela pose un gros problème avec Samba, dans la mesure où le propriétaire du répertoire personnel est le seul à pouvoir accéder ou parcourir le dossier localement ou sur votre réseau local. Ce changement a été effectué uniquement pour des raisons de sécurité, et je pense que c'était la bonne voie à suivre, car il n'y a aucune raison pour que d'autres utilisateurs puissent voir le contenu du répertoire personnel de chacun.
Avec Samba, même si vous utilisez public = yes
, seul le propriétaire de ce répertoire personnel peut voir le partage. Cela signifie que même si vous autorisez spécifiquement les autres à créer et supprimer des fichiers dans ce dossier via la fenêtre Propriétés publiques de Nautilus (Figure A ), cela ne fonctionnera pas.
Figure A
Que fais-tu? J'ai deux solutions possibles pour cela. Creusons.
Ce dont vous aurez besoin
Les seules choses que vous devez suivre sont une instance en cours d'exécution d'Ubuntu Linux 22.04 et un utilisateur avec des privilèges sudo. Avec ces deux choses à portée de main, commençons notre Samba.
Couverture des développeurs à lire absolument
La solution la plus simple mais la moins sécurisée
Ce correctif particulier est la méthode la plus simple pour contourner le problème. Cependant - et c'est un gros problème - en utilisant cette option, vous contournez la sécurité qui a été ajoutée en privant les autres du droit de voir votre répertoire personnel.
Si vous êtes d'accord avec cela, vous pouvez contourner la mise à jour en redéfinissant l'autorisation de votre répertoire personnel sur 755 avec la commande :
chmod o+rx /home/USER
Où USER est votre nom d'utilisateur.
Cela seul devrait résoudre votre problème, mais ce n'est pas exactement la solution la plus sûre.
La solution la moins simple mais la plus sécurisée
Si cela n'est pas une option, vous pouvez toujours utiliser la directive Samba force user, qui oblige l'utilisateur invité à se faire passer pour vous. Cela conserve la mesure de sécurité mais permet aux autres utilisateurs de parcourir le contenu de votre répertoire ~/Public.
Pour utiliser cette méthode, ouvrez le fichier de configuration de Samba avec :
sudo nano /etc/samba/smb.conf
Vous devriez trouver au bas de ce fichier l'entrée de votre partage public, qui pourrait ressembler à ceci :
[Public]
path = /home/jack/Public
public = yes
guest only = yes
browsable = yes
writable = no
read only = no
force create mode = 0666
force directory mode = 0777
Au bas de cette section, ajoutez la ligne suivante :
force user = USER
Où USER est votre nom d'utilisateur. Enregistrez et fermez le fichier. Redémarrez Samba avec :
sudo systemctl restart smbd
À ce stade, tout utilisateur de votre système Linux pourra afficher le contenu du partage ~/Public en utilisant ses identifiants de connexion lorsqu'il se connectera à Samba.
La solution difficile mais la plus sûre
La meilleure option serait de partager un répertoire en dehors de votre domicile, car cela évite tout le problème des autorisations. Créons un nouveau répertoire avec la commande :
sudo mkdir /data
Modifiez l'autorisation de ce répertoire avec :
sudo chmod -R ugo+rw /data
Maintenant, créons le partage. Ouvrez la configuration de Samba avec :
sudo nano /etc/samba/smbd.conf
Au bas de ce fichier, collez ce qui suit :
[data]
path = /data
guest only = yes
browsable = yes
writable = no
read only = no
force create mode = 0666
force directory mode = 0777
Enregistrez et fermez le fichier. Redémarrez Samba avec :
sudo systemctl restart smbd
Maintenant, vous devriez voir le nouveau partage de données, auquel tout utilisateur disposant d'un compte sur le système devrait pouvoir accéder. Vous pouvez également ajouter public =yes pour donner un accès anonyme au partage.
Et c'est tout ce qu'il y a à faire pour aider Samba à contourner les nouvelles autorisations de répertoire personnel dans Ubuntu Linux 22.04. Si vous ne savez pas quelle solution utiliser, j'opterais pour la dernière option, car elle est plus sûre. Quoi qu'il en soit, vous pourrez donner à ces utilisateurs l'accès au contenu de vos partages Samba, qu'ils se trouvent dans votre répertoire personnel ou non.