मैं एन्क्रिप्टेड निर्देशिकाओं के लिए Ubuntu की 143-बाइट फ़ाइल नाम की सीमा कैसे बढ़ा सकता हूं?


13

एन्क्रिप्टेड निर्देशिकाओं में, उबंटू (कम से कम 15.10) की फ़ाइल नाम बाइट की सीमा 143 बी है - यह एक्स 4 फ़ाइल सिस्टम की 255 बी की सीमा से बहुत छोटा है। यह विशेष सीमा कहां है, यह पहले स्थान पर क्यों सेट किया गया है , और क्या इसे बढ़ाने का कोई तरीका है?


मेरे पास फ़ाइल नाम हो सकते हैं जो 145 बाइट्स हैं।
टिम

नमस्ते! क्या आप अपने सिस्टम पर फ़ाइल सिस्टम एन्क्रिप्शन का उपयोग करते हैं?
आर्मंड बोजसिक 20

फ़ाइल नाम सीमा का परीक्षण करने के लिए stackoverflow.com/questions/6571435/… - मेरी उबंटू ext4 में अपेक्षित सीमा 255 है। इसके अलावा संबंधित: askubuntu.com/questions/166764/how-long-can-file-names-be
Takkat

@ArmandBozsik जो कारण प्रतीत होता है। क्या एन्क्रिप्टेड डायरेक्टरी में फ़ाइल नाम की सीमा बढ़ाने का कोई तरीका है?
बिपेडलशार्क

1
आप eCryptfs का उपयोग कर रहे हैं? EncFS की एक अलग सीमा हो सकती है, या एक निश्चित आकार का LUKS कंटेनर नियमित ext का उपयोग कर सकता है ... या, फ़ाइल नाम एन्क्रिप्शन का उपयोग नहीं करने से सीमा बदल सकती है
Xen2050

जवाबों:


10

उबुन्टू सीमा कहां है,

यह एक फाइलसिस्टम सीमा है। सभी "ext" में 255 वर्णों की सीमा होती है। यहाँ बहुत सारे फाइल सिस्टम की सूची दी गई है । ReiserFS 4032 बाइट्स दिखाता है (लेकिन यह लिनक्स VFS के कारण 255 वर्णों तक सीमित है )।

अतिक्रमित फ़ाइल के लिए 144 char की सीमा गलत है। यह 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

आप इस मान को बदल सकते हैं, लेकिन इसके प्रयोग योग्य होने के लिए आपको कम से कम फ़ोपेन () फ़ंक्शन को फिर से जोड़ना होगा। और किसी भी अन्य ऑपरेटिंग सिस्टम के साथ कोई संगतता नहीं होगी।

इसलिए मैं अपना उत्तर बदलता हूं: हां आप कर सकते हैं लेकिन कृपया मत करें :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.