Şifrelenmiş dizinler için Ubuntu'nun 143 baytlık dosya adı sınırını nasıl artırabilirim?


13

Şifrelenmiş dizinlerde, Ubuntu'nun (en az 15.10) dosya adı bayt limiti 143 B - ext4 dosya sistemi 255 B limitinden çok daha küçük gibi görünüyor. ve artırmanın bir yolu var mı?


145 baytlık dosya isimlerim olabilir.
Tim

Selam! Sisteminizde dosya sistemi şifrelemesi kullanıyor musunuz?
Armand Bozsik

Dosya adı sınırını test etmek için bkz. Stackoverflow.com/questions/6571435/… - Ubuntu ext4'ümün beklendiği gibi 255 sınırı var. Ayrıca ilgili: askubuntu.com/questions/166764/how-long-can-file-names-be
Takkat

@ArmandBozsik gibi görünüyor nedeni. Şifrelenmiş bir dizinde dosya adı sınırını artırmanın bir yolu var mı?
BipedalShark

1
ECryptfs mi kullanıyorsunuz? EncFS olabilir dosya şifreleme kullanmayan, başka bir sınırı varsa veya sabit bir boyut LUKS konteyner düzenli ext kullanabilirsiniz ... Ya edebilir sınırını değiştirmek
Xen2050

Yanıtlar:


10

Ubuntu sınırı nerede belirlenir,

Bir dosya sistemi sınırıdır. Tüm "ext" 255 karakterlik bir limite sahiptir. İşte birçok dosya sisteminin bir listesi . ReiserFS 4032 bayt gösterir (ancak Linux VFS nedeniyle 255 karakterle sınırlıdır ).

Şifrelenmiş dosya için 144 karakter sınırı yanlış. Bu 143 (olup eCryptfs araçlardan yaratıcısı ). Şifreleme için kalan karakterlere ihtiyaç vardır, bu nedenle üstesinden gelemezsiniz (şifreleme 143 karakterden fazla dosyalarda çalışmaz).

ve arttırmanın bir yolu var mı?

Hayır


Biraz daha bilgi. Bunlar karakterlerde dosya ve dizin boyutu sınırını gösterecektir:

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

/usr/include/linux/limits.hBu 2 değişkenin bildirimi için bakınız :

#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

Bu değeri değiştirebilirsiniz, ancak kullanılabilir olması için en azından fopen () işlevini yeniden derlemeniz gerekir. Ve diğer işletim sistemleriyle hiçbir uyumluluk olmayacaktır.

Cevabımı şöyle değiştiriyorum: Evet yapabilirsin ama lütfen yapma :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.