Bagaimana saya dapat meningkatkan batas nama file 143-byte Ubuntu untuk direktori terenkripsi?

13

Dalam direktori terenkripsi, Ubuntu (setidaknya 15,10) tampaknya memiliki batas byte nama file sebesar 143 B - jauh lebih kecil dari batas sistem file ext4 dari 255 B. Di mana batas set khusus ini, mengapa ia ditetapkan di tempat pertama? , dan apakah ada cara untuk meningkatkannya?

BipedalShark
sumber
Saya dapat memiliki nama file yang 145 byte.
Tim
Hai! Apakah Anda menggunakan enkripsi sistem file pada sistem Anda?
Armand Bozsik
Untuk menguji batas nama file, lihat stackoverflow.com/questions/6571435/… - Ubuntu ext4 saya memiliki batas 255 seperti yang diharapkan. Juga terkait: askubuntu.com/questions/166764/how-long-can-file-names-be
Takkat
@ArmandBozsik yang tampaknya menjadi penyebabnya. Apakah ada cara untuk meningkatkan batas nama file di direktori terenkripsi?
BipedalShark
1
Anda menggunakan eCryptfs? EncFS mungkin memiliki batas yang berbeda, atau wadah LUKS ukuran tetap dapat menggunakan ekst ... Atau, tidak menggunakan enkripsi nama file dapat mengubah batas
Xen2050

Jawaban:

10

Di mana batas Ubuntu ditetapkan,

Ini adalah batas filesystem. Semua "ext" memiliki batas 255 karakter. Berikut adalah daftar banyak filesystem . ReiserFS menunjukkan 4032 byte (tetapi terbatas pada 255 karakter karena Linux VFS ).

Batas 144 karakter untuk file yang dienkripsi salah. Ini adalah 143 ( dari pencipta utilitas ecryptfs ). Karakter yang tersisa diperlukan untuk mengenkripsi sehingga Anda tidak dapat menggunakannya (enkripsi tidak berfungsi pada file dengan lebih dari 143 karakter).

dan adakah cara untuk meningkatkannya?

Tidak


Beberapa info lebih lanjut. Ini akan menampilkan batas ukuran file dan direktori dalam karakter:

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

Lihat /usr/include/linux/limits.hdeklarasi 2 variabel ini:

#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

Anda dapat mengubah nilai ini tetapi Anda harus mengkompilasi ulang setidaknya fungsi fopen () agar dapat digunakan. Dan tidak akan ada kompatibilitas dengan sistem operasi lain.

Jadi saya mengubah jawaban saya menjadi: Ya Anda bisa tapi tolong jangan :)

Rinzwind
sumber