Il peut arriver qu’avec un partage SAMBA un fichier ou dossier se retrouve avec un nom illisible au « bon » vieux format DOS 8.3
(8 caractères, un point et 3 caractères − le tout en majuscule uniquement).
Si aucun vieux système n’a à utiliser vos partages (ce qui est très probablement le cas), vous pouvez probablement vous passer de prendre le risque d’un « ravage » de vos noms de fichiers.
La configuration SAMBA
Samba vous permet de lui donner des instructions plus précises sur la façon dont il doit effectuer la manipulation des noms, y compris celles contrôlant la sensibilité à la casse, le caractère inséré pour former un nom modifié et la possibilité d’associer manuellement les noms de fichiers d’un format à un autre.
Ici pour le sujet qui nous intéresse, il faut modifier le fichier smb.conf
, et voici les options de mutilation (si, si, c’est le vrai nom) qui sont proposées par SAMBA.
Option | Paramètres | fonction | Défaut | Portée |
---|---|---|---|---|
case sensitive | booléen | Si yes , Samba traitera les noms de fichiers comme sensibles à la casse (Windows ne le fait pas). | no | Partage |
default case | upper ou lower | Casse à prendre par défaut (utilisée uniquement lorsque la casse préservée est no). | lower | Partage |
preserve case | booléen | Si yes , conserve la casse fournie par le client (c’est-à-dire, ne convertis pas en case par défaut). | yes | Partage |
short preserve case | booléen | Si yes , préserve la casse des noms au « format 8.3 » fournis par le client. | yes | Partage |
mangle case | booléen | Mutilez le nom s’il est en casse mixte | no | Partage |
mangled names | booléen | Mutilez les noms longs au format 8.3 DOS. | yes | Partage |
mangling char | chaîne (caractère unique) | Donne un caractère mutilant. | ~ | Partage |
mangled stack | numérique | Nombre de noms mutilés à conserver sur la pile de mutilation locale. | 50 | Global |
mangled map | string (liste de motifs) | Permet le mappage des noms de fichiers d'un format à un autre. | Aucun | Partage |
Concernant le problème proposé, la solution est très simple. Dans le fichier /etc/samba/smb.conf
aller dans la section [global]
et ajouter (ou modifier) la ligne :
mangled names = no
Cas d’un NAS QNAP
Le même problème existe avec les NAS qui, généralement, supportent en priorité les systèmes Windows.
Concernant la marque QNAP, l’aide présente la solution suivante, à effectuer en ssh directement depuis le NAS :
/bin/sed -i '/^oplocks/d' /etc/config/smb.conf
/bin/sed -i '/^mangled names/d' /etc/config/smb.conf
/sbin/setcfg global "oplocks" yes -f /etc/config/smb.conf
/sbin/setcfg global "mangled names" no -f /etc/config/smb.conf
/etc/init.d/smb.sh restart
Liens
- samba how to display files with colon in their names?
- Correct mangle filename for all shared folders in one time.(8.3 Filename)
ᦿ