如何增加Ubuntu对加密目录的143字节文件名限制?


13

在加密目录中,Ubuntu(至少15.10)似乎具有143 B的文件名字节限制-比ext4文件系统的255 B限制小得多。此特殊限制在哪里设置,为什么要首先设置呢? ,并且有增加它的方法吗?


我可以拥有145个字节的文件名。
蒂姆(Tim)

嗨!您是否在系统上使用文件系统加密?
Armand Bozsik '16

要测试文件名限制,请参见stackoverflow.com/questions/6571435/…-我的Ubuntu ext4的限制为255。也相关:askubuntu.com/questions/166764/how-long-can-file-names-be
Takkat '02

原因似乎是@ArmandBozsik。有没有办法增加加密目录中的文件名限制?
BipedalShark '16

1
您正在使用eCryptfs吗?EncFS 可能有不同的限制,或者固定大小的LUKS容器可以使用常规扩展名...或者,不使用文件名加密可能会更改限制
Xen2050 2016年

Answers:


10

Ubuntu限制设置在哪里,

这是文件系统限制。所有“ ext”的上限均为255个字符。这是很多文件系统的列表。ReiserFS显示4032字节(但是由于Linux VFS,它限制为255个字符)。

加密文件的144个字符限制不正确。它是143(来自ecryptfs实用程序的创建者)。其余的字符是加密所必需的,因此您无法进行遍历(加密对超过143个字符的文件不起作用)。

有办法增加吗?

没有


一些更多的信息。这些将以字符形式显示文件和目录的大小限制:

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

请参阅/usr/include/linux/limits.h以下两个变量的声明:

#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()函数才能使用。并且将不与任何其他操作系统兼容。

因此,我将答案更改为:是的,但是请不要:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.