Come posso aumentare il limite del nome file di 143 byte di Ubuntu per le directory crittografate?


13

Nelle directory crittografate, Ubuntu (almeno 15.10) sembra avere un limite di byte del nome file di 143 B - molto più piccolo del limite del file system ext4 di 255 B. Dove si trova questo limite speciale, perché è impostato in primo luogo e c'è un modo per aumentarlo?


Posso avere nomi di file di 145 byte.
Tim

Ciao! Usi la crittografia del file system sul tuo sistema?
Armand Bozsik,

Per verificare il limite del nome file, consultare stackoverflow.com/questions/6571435/… - Ubuntu ext4 ha un limite di 255 come previsto. Anche correlati: askubuntu.com/questions/166764/how-long-can-file-names-be
Takkat

@ArmandBozsik che sembra essere la causa. C'è un modo per aumentare il limite del nome file in una directory crittografata?
BipedalShark

1
Stai usando eCryptfs? EncFS potrebbe avere un limite diverso o un contenitore LUKS di dimensioni fisse potrebbe utilizzare ext normale ... Oppure, non utilizzare la crittografia del nome file può modificare il limite
Xen2050

Risposte:


10

Dov'è impostato il limite di Ubuntu,

È un limite del filesystem. Tutti gli "ext" hanno un limite di 255 caratteri. Ecco un elenco di molti filesystem . ReiserFS mostra 4032 byte (ma è limitato a 255 caratteri a causa di Linux VFS ).

Il limite di 144 caratteri per il file codificato non è corretto. È 143 ( dal creatore di utility ecryptfs ). I caratteri rimanenti sono necessari per la crittografia, quindi non è possibile superarlo (la crittografia non funziona su file con più di 143 caratteri).

e c'è un modo per aumentarlo?

No


Qualche informazione in più. Questi mostreranno il limite delle dimensioni di file e directory in caratteri:

 getconf NAME_MAX /dev/sda
 getconf PATH_MAX /dev/sda

Vedi /usr/include/linux/limits.hper la dichiarazione di queste 2 variabili:

#ifndef _LINUX_LIMITS_H
#define _LINUX_LIMITS_H

#define NR_OPEN         1024

#define NGROUPS_MAX    65536    /* supplemental group IDs are available */
#define ARG_MAX       131072    /* # bytes of args + environ for exec() */
#define LINK_MAX         127    /* # links a file may have */
#define MAX_CANON        255    /* size of the canonical input queue */
#define MAX_INPUT        255    /* size of the type-ahead buffer */
#define NAME_MAX         255    /* # chars in a file name */
#define PATH_MAX        4096    /* # chars in a path name including nul */
#define PIPE_BUF        4096    /* # bytes in atomic write to a pipe */
#define XATTR_NAME_MAX   255    /* # chars in an extended attribute name */
#define XATTR_SIZE_MAX 65536    /* size of an extended attribute value (64k) */
#define XATTR_LIST_MAX 65536    /* size of extended attribute namelist (64k) */

#define RTSIG_MAX     32

#endif

È possibile modificare questo valore ma è necessario ricompilare almeno la funzione fopen () affinché sia ​​utilizzabile. E non ci sarà compatibilità con nessun altro sistema operativo.

Quindi cambio la mia risposta in: Sì, puoi ma per favore non farlo :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.