Getconf et eCryptfs
Sous Ubuntu lors de l’installation on a la possibilité de chiffrer son home, cela se fait avec eCryptfs. Personnellement je le fais, ça coûte pas grand-chose et si on se fait voler le matériel, ça peut éviter des problèmes. A noter que les NAS Synology utilisent eCryptfs.
eCryptfs a une limitation pouvant poser problème, il n’est pas possible d’avoir un nom de fichier de plus de 143 caractères (voir ici et là). Évidemment la plupart d’entre nous n’ira jamais donner un nom aussi long à un fichier cependant certains programmes le font et ça peut être source d’ennuis.
Je rappelle qu’on peut voir tous les systèmes de fichiers montés (ext4, tmpfs, sysfs, ecryptfs, etc.) avec la commande mount
. Voyons comment interroger dynamiquement les variables de configuration système via l’outil getconf (paquet libc-bin installé par défaut).
getconf -a # Afficher toutes les variables de configuration du système et leur valeur getconf LONG_BIT # Afin de savoir si le système est en 32 ou 64 bits getconf PATH_MAX /dev/sda # Ça donne 4096 chez moi (type du système de fichiers : ext4). On interroge ici la longueur maximale du chemin d'un fichier (Maximum pathname length), exemple : /ceci/est/un/chemin/de/fichier/vraiment/très/très/long/qui/ne/doit/pas/dépasser/une/longueur/de/4096/caractères/vers/mon/jolifichier.txt getconf PATH_MAX /home/babar # Ça donne 4096 chez moi (type du système de fichiers : ecryptfs) getconf NAME_MAX /dev/sda # Ça donne 255 chez moi. On interroge ici la longueur maximale du nom du fichier (Maximum filename length), exemple : monnomdefichiertreeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeslongquinedoitpasdépasserunelongueurde255caractèresextensioncomprise.txt getconf NAME_MAX /home/babar # Ça donne 143 chez moi. Notez ici la différence
Mon /home/babar
étant chiffré avec eCryptfs, on voit que la longueur maximale d’un nom de fichier à l’intérieur de ce dossier est de 143 caractères. En revanche, je peux tout à fait créer un fichier avec un nom de 255 caractères dans le dossier /etc
par exemple. Pour information vous avez sur Wikipédia les limitations de quelques systèmes de fichiers (file systems).
Dans le prochain article on ira plus loin en rentrant dans un problème concret.
Source : http://stackoverflow.com/questions/6571435/limit-on-file-name-length-in-bash