ฉันจะเพิ่มขีด จำกัด ชื่อไฟล์ 143 ไบต์ของ Ubuntu สำหรับไดเรกทอรีที่เข้ารหัสได้อย่างไร


13

ในไดเรกทอรีที่เข้ารหัสลับอูบุนตู (อย่างน้อย 15.10) ดูเหมือนว่าจะมีขีด จำกัด ชื่อไฟล์ที่ 143 B - เล็กกว่าขีด จำกัด ของระบบไฟล์ ext4 ที่ 255 B ซึ่งเป็นขีด จำกัด พิเศษที่ตั้งไว้นี้ทำไมตั้งค่าไว้ตั้งแต่แรก และมีวิธีเพิ่มหรือไม่


ฉันสามารถมีชื่อไฟล์ได้ 145 ไบต์
ทิม

Hi! คุณใช้การเข้ารหัสระบบไฟล์ในระบบของคุณหรือไม่?
อาร์มันด์ Bozsik

หากต้องการทดสอบขีด จำกัด ชื่อไฟล์ดูstackoverflow.com/questions/6571435/… - Ubuntu ext4 ของฉันมีขีด จำกัด 255 เท่าตามที่คาดไว้ ที่เกี่ยวข้องเพิ่มเติม: askubuntu.com/questions/166764/how-long-can-file-names-be
Takkat

@ArmandBozsik ที่ดูเหมือนจะเป็นสาเหตุ มีวิธีเพิ่มขีด จำกัด ชื่อไฟล์ในไดเรกทอรีที่เข้ารหัสหรือไม่
BipedalShark

1
คุณใช้ eCryptfs อยู่หรือ EncFS อาจมีข้อ จำกัด ที่แตกต่างกันหรือขนาด LUKS container สามารถใช้ ext ปกติ ... หรือการไม่ใช้การเข้ารหัสชื่อไฟล์อาจเปลี่ยนขีด จำกัด
Xen2050

คำตอบ:


10

ชุดขีด จำกัด ของ Ubuntu อยู่ที่ไหน

เป็นขีด จำกัด ของระบบไฟล์ "ext" ทั้งหมดมีขีด จำกัด 255 ตัวอักษร นี่คือรายการจำนวนมากเป็นระบบไฟล์ ReiserFS แสดง 4032 ไบต์ (แต่ จำกัด ไว้ที่ 255 chars เนื่องจากLinux VFS )

ขีด จำกัด ถ่าน 144 สำหรับการเข้ารหัสไฟล์ไม่ถูกต้อง มันคือ 143 ( จากผู้สร้างอรรถประโยชน์ ecryptfs ) ตัวอักษรที่เหลืออยู่มีความจำเป็นสำหรับการเข้ารหัสดังนั้นคุณจึงไม่สามารถข้ามมันได้ (การเข้ารหัสใช้ไม่ได้กับไฟล์ที่มีมากกว่า 143 ตัวอักษร)

และมีวิธีเพิ่มหรือไม่

ไม่


ข้อมูลเพิ่มเติมบางส่วน สิ่งเหล่านี้จะแสดงข้อ จำกัด ขนาดไฟล์และไดเรกทอรีเป็นตัวอักษร:

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

ดู /usr/include/linux/limits.hการประกาศตัวแปร 2 ตัวนี้:

#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

คุณสามารถเปลี่ยนค่านี้ได้ แต่คุณจะต้องคอมไพล์ใหม่อย่างน้อยฟังก์ชั่น fopen () เพื่อให้สามารถใช้งานได้ และจะไม่มีความเข้ากันได้กับระบบปฏิบัติการอื่น ๆ

ดังนั้นฉันจึงเปลี่ยนคำตอบเป็นใช่คุณทำได้ แต่โปรดอย่า :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.