Làm cách nào tôi có thể tăng giới hạn tên tệp 143 byte của Ubuntu cho các thư mục được mã hóa?


13

Trong các thư mục được mã hóa, Ubuntu (ít nhất là 15.10) dường như có giới hạn byte tên tệp là 143 B - nhỏ hơn nhiều so với giới hạn của hệ thống tệp ext4 là 255 B. Giới hạn đặc biệt này được đặt ở đâu, tại sao nó lại được đặt ở vị trí đầu tiên , và có cách nào để tăng nó không?


Tôi có thể có tên tệp là 145 byte.
Tim

Chào! Bạn có sử dụng mã hóa hệ thống tập tin trên hệ thống của bạn?
Armand Bozsik

Để kiểm tra giới hạn tên tệp, hãy xem stackoverflow.com/questions/6571435/ từ - Ubuntu ext4 của tôi có giới hạn 255 như mong đợi. Cũng liên quan: Askubfox.com/questions/166764/how-long-can-file-names-be
Takkat

@ArmandBozsik dường như là nguyên nhân. Có cách nào để tăng giới hạn tên tệp trong một thư mục được mã hóa không?
BipedalShark

1
Bạn đang sử dụng eCryptfs? EncFS có thể có giới hạn khác hoặc thùng chứa LUKS có kích thước cố định có thể sử dụng ext thông thường ... Hoặc, không sử dụng mã hóa tên tệp có thể thay đổi giới hạn
Xen2050

Câu trả lời:


10

Giới hạn Ubuntu được đặt ở đâu,

Đây là một giới hạn hệ thống tập tin. Tất cả "máy lẻ" có giới hạn 255 ký tự. Dưới đây là danh sách rất nhiều hệ thống tập tin . ReiserFS hiển thị 4032 byte (nhưng nó bị giới hạn ở 255 ký tự vì Linux VFS ).

Giới hạn 144 char cho tệp encypted là không chính xác. Đó là 143 ( từ người tạo ra các tiện ích ecryptfs ). Các ký tự còn lại là cần thiết cho mã hóa để bạn không thể vượt qua nó (mã hóa không hoạt động trên các tệp có hơn 143 ký tự).

và có cách nào để tăng nó không?

Không


Một số thông tin thêm. Chúng sẽ hiển thị giới hạn kích thước tệp và thư mục trong ký tự:

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

Xem /usr/include/linux/limits.hphần khai báo của 2 biến này:

#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

Bạn có thể thay đổi giá trị này nhưng bạn sẽ cần biên dịch lại ít nhất hàm fopen () để nó có thể sử dụng được. Và sẽ không có khả năng tương thích với bất kỳ hệ điều hành khác.

Vì vậy, tôi thay đổi câu trả lời của mình thành: Có bạn có thể nhưng xin đừng :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.