गैर-होम निर्देशिका के साथ ईकोक्रिप्ट का उपयोग कैसे करें


14

मैं एक यादृच्छिक निर्देशिका (यानी, मेरे घर की निर्देशिका या उसके उपनिर्देशिका नहीं, मुख्य रूप से मेरे घर विभाजन पर डिस्क स्थान की सीमाओं के कारण) को एन्क्रिप्ट करने के लिए, और जब मैं अपने खाते में लॉग करता हूं तो उस निर्देशिका को माउंट करने के लिए ई -क्रिप्ट का उपयोग करना चाहूंगा। मैं यह नहीं देख सकता कि यह कैसे करना है या भले ही यह मौजूदा सॉफ़्टवेयर के साथ संभव हो। मैंने ऐसे पोस्ट देखे हैं जो अस्पष्ट सुझाव प्रदान करते हैं (जैसे, mount.ecryptfs_privateALIAS विकल्प के साथ उपयोग करने के लिए ), लेकिन मुझे अभी तक यह कैसे करना है, इस बारे में सरल, चरण-दर-चरण निर्देश प्राप्त करना है। क्या कोई व्यक्ति इन निर्देशों को प्रदान करने में सक्षम होगा या मुझे निर्देश देगा कि मैं उन्हें कहां खोजूं?


2
यह सबसे आसान तरीका है जो आपको मिलेगा: wiki.archlinux.org/index.php/…
Rinzwind

1
इस समाधान के साथ मेरी समस्या यह है कि मेरे पास पहले से ही एक एन्क्रिप्टेड होम डायरेक्टरी है। के लिए कोड को देखते हुए ecryptsfs-setup-private, मुझे यकीन नहीं है कि क्या होगा यदि आपके पास पहले से ही एक एन्क्रिप्टेड घर है और वास्तव में इसके बुरे काम करने के डर से कोशिश नहीं करना चाहते हैं।
user3004015

1
क्या आप समझते हैं कि एक डबल इतना कठिन क्यों लगता है? यह मुझे प्रतीत होता है कि तार्किक बात एन्क्रिप्टेड स्टोरेज और फ़ोल्डर्स बनाने और उन्हें स्वचालित करने के लिए एक सामान्य प्रणाली का निर्माण करना होगा, और फिर उस पर घर निर्देशिका को करने के लिए एक प्रणाली का निर्माण करना होगा, लेकिन यह सॉफ्टवेयर बहुत कुछ के साथ लिखा गया लगता है चीजों की कठोरता। भंडारण होना चाहिए। निजी, निर्देशिका निजी होना चाहिए, आदि
user3004015

2
पासवर्ड से सुरक्षित ज़िप फ़ाइल का उपयोग करना क्रिप्टोग्राफिक रूप से सुरक्षित नहीं है। एक समान दृष्टिकोण का उपयोग करना है gpg। कहते हैं कि आप फ़ोल्डर को सुरक्षित रूप से संग्रहीत करना चाहते हैं mydataतो आप tar -c mydata | gpg --symmetric > mydata.tar.gpg && rm -rf mydataअपने डेटा को संग्रहीत gpg --decrypt mydata.tar.gpg | tar -xकरने और अपने डेटा को पुनर्स्थापित करने के लिए उपयोग कर सकते हैं । आप अपने डेटा को सुरक्षित रखने के लिए अपनी निजी / सार्वजनिक कुंजी का उपयोग आसानी से कर सकते हैं जो उचित लगता है। इस पद्धति से केवल थोड़ी मात्रा में डेटा संग्रहीत किया जाना चाहिए। @ रिनविंड
अर्ने एल।

1
यदि आप डेटा एन्क्रिप्ट करने के उद्देश्य को हरा देते हैं rm -fR mydata। उस डेटा को डिस्क से तब तक पुनर्प्राप्त किया जा सकता है जब आप इसे "हटा" देते हैं। मुझे यकीन नहीं है कि यह कितना सुरक्षित है, लेकिन मैं इसके बजाय एक "पुनरावर्ती" की ओर झुकूंगा find mydata -type f -exec shred -uz -- {} \;। ध्यान दें, श्रेडिंग गैर-जर्नल फ़ाइल सिस्टम और कुछ डिवाइस प्रकारों पर ही प्रभावी है .. जहाँ यह मायने रखता है कि सबसे अच्छे तरीके से शोध करना चाहिए। मुझे नहीं लगता कि यह एक सुरक्षित अभ्यास है: इस तरह से संग्रह को एन्क्रिप्ट और डिक्रिप्ट करना। बाधाओं यह अप्रभावी हो जाएगा।
बम्बाम्स

जवाबों:


8

आप केवल सुपर-आसान स्क्रिप्ट की तरह देख रहे हैं ecryptsfs-setup-privateऔर ecryptsfs-mount-private, वे अधिक "जेनेरिक" टूल का उपयोग करते हैं जो आप खोज रहे हैं: mount.ecryptfsऔर ecryptfs-add-passphrasemanअधिक जानकारी के लिए उनके पृष्ठ देखें ।

और जिस लिंक को रिंजविंड ने पोस्ट किया है उसमें आपकी जरूरत की सभी जानकारी है, जो मैनुअल सेटअप के तहत पेज के नीचे है । वे काफी लंबे हैं, लेकिन बहुत छोटा संस्करण होगा:


"मैनुअल सेटअप" तरीका (आर्च्लिनक्स विकी)

सबसे पहले आप जैसे चाहें एक ALIAS चुनें। इस खंड के माध्यम से, ALIAS गुप्त होगा। आवश्यक निर्देशिकाएँ / फ़ाइलें बनाएँ:

$ mkdir ~/.secret ~/secret ~/.ecryptfs
$ touch ~/.ecryptfs/secret.conf ~/.ecryptfs/secret.sig

~/.secretनिर्देशिका एन्क्रिप्टेड डाटा का आयोजन करेगा। ~/secretनिर्देशिका बिंदु माउंट जहां है ~/.secretएक ecryptfs फाइल सिस्टम के रूप में माउंट कर दिया जाएगा।

[अब वास्तविक माउंट पासफ़्रेज़ बनाएं (आसान स्क्रिप्ट एक छद्म-यादृच्छिक 32 वर्णों को उठाएगी /dev/urandom), इसे एक अच्छा बनाएँ ]

$ echo "$HOME/.secret $HOME/secret ecryptfs" > ~/.ecryptfs/secret.conf
$ ecryptfs-add-passphrase
Passphrase: 
Inserted auth tok with sig [78c6f0645fe62da0] into the user session keyring

आउटपुट कमांड (ecryptfs_sig) को पिछले कमांड से ~ / .ecryptfs / secret.sig पर लिखें:

$ echo 78c6f0645fe62da0 > ~/.ecryptfs/secret.sig
  • फ़ाइल नाम एन्क्रिप्शन के लिए दूसरा पासफ़्रेज़ का उपयोग किया जा सकता है। यदि आप ऐसा चुनते हैं, तो इसे कीरिंग में जोड़ें:

    $ ecryptfs-add-passphrase
    Passphrase: 
    Inserted auth tok with sig [326a6d3e2a5d444a] into the user session keyring
    

    यदि आप ऊपर कमांड चलाते हैं, तो इसके आउटपुट सिग्नेचर (ecryptfs_fnek_sig) को ~ / .ecryptfs / secret.sig में जोड़ें।

    $ echo 326a6d3e2a5d444a >> ~/.ecryptfs/secret.sig
    

अंत में, ~ / गुप्त पर ~ / गुप्त माउंट करने के लिए:

$ mount.ecryptfs_private secret

अनमाउंट करने के लिए ~ /। सुरक्षित:

$ umount.ecryptfs_private secret

  • या आप वास्तव में अपने हाथों को खुद गंदा कर सकते हैं और बिना ईकोक्रिप्ट्स-यूटील दिशाओं का पालन कर सकते हैं।

  • या यदि आप पहले से ही आसान लिपियों ecryptsfs-setup-privateको देखते थे ecryptsfs-mount-private, तो आप उन्हें कॉपी कर सकते हैं और उन्हें अपने पसंदीदा निर्देशिकाओं में इंगित कर सकते हैं, थोड़ा सा कौशल और धैर्य के साथ।

  • या बस पासफ़्रेज़ (अपने आप को) किसी भी तरह (सुरक्षित रूप से अधिमानतः) स्टोर करें और man ecryptfsपेज का उदाहरण पसंद करें (मैन पेज जरूर पढ़ें):

    The following command will layover mount eCryptfs on /secret with a passphrase
    contained in a file stored on secure media mounted at /mnt/usb/.
    
    mount  -t  ecryptfs -o key=passphrase:passphrase_passwd_file=/mnt/usb/file.txt /secret /secret
    
    Where file.txt contains the contents "passphrase_passwd=[passphrase]".
    

एन्क्रिप्टेड होम फोल्डर और घर के अंदर एक एनक्रिप्टेड फोल्डर के बारे में - नेस्टेड क्रिप्टो फोल्डर

और, एक एन्क्रिप्टेड होम फोल्डर सामान्य रूप से फाइलों को स्टोर करता है /home/.ecryptfs/user/, जबकि एक एनक्रिप्टेड प्राइवेट फोल्डर में आपके अपने होम फोल्डर के अंदर फाइलें होती हैं। आप एक ही समय में दोनों का उपयोग नहीं कर सकते , eCryptfs एनक्रिप्टेड फ़ोल्डरों को नेस्टेड नहीं करेंगे। लेकिन एक एन्क्रिप्टेड घर, और आपके घर के बाहर एन्क्रिप्टेड फ़ोल्डर ठीक है।

  • मैंने अभी एक एन्क्रिप्टेड होम के साथ एक नया उपयोगकर्ता बनाने की कोशिश की sudo adduser --encrypt-home jack

    इसने एक /home/.ecryptfs/फोल्डर बनाया , जिसमें:

    • /home/.ecryptfs/jack/.ecryptfs/ - लॉग ऑन पर जैक के घर को स्वचालित करने के लिए पासफ़्रेज़ और कॉन्फ़िगर फ़ाइलों को लपेटा गया
    • /home/.ecryptfs/jack/.Private/- वास्तविक एन्क्रिप्टेड घर फ़ाइलों, /home/jack/जब लॉग इन करने के लिए मुहिम शुरू की।

      और /home/jack/फ़ोल्डर भी , लेकिन इसमें एक लिंक शामिल था जो वहां रहता है कि लॉग इन है या नहीं:

      /home/jack/.ecryptfs/ -> /home/.ecryptfs/jack/.ecryptfs

    • आगे मैंने जैक के रूप में लॉग इन किया, लेकिन लिंक अभी भी था, इसलिए ecryptfs-setup-privateइसे चलाने की कोशिश कर रहा था, लेकिन इसे /home/jack/.ecryptfs/देखने के लिए वास्तव में मौजूदा फ़ाइलों को देखें /home/.ecryptfs/jack/.ecryptfsताकि यह एक और पासवर्ड फ़ाइल बनाने में विफल रहे और इसके साथ विफल होERROR: wrapped-passphrase file already exists, use --force to overwrite.

      इन त्रुटियों के साथ, एन्क्रिप्ट किए गए घर के अंदर .secret फ़ोल्डर का उपयोग करके, "ALIAS" चरणों की कोशिश करना :
      Mount on filesystem of type eCryptfs explicitly disallowed due to known incompatibilities
      Reading sb failed; rc = [-22]

      "एन्क्रिप्टेड निर्देशिकाओं के अंदर एन्क्रिप्टेड निर्देशिकाओं को घोंसला बनाना eCryptfs के साथ समर्थित नहीं है। क्षमा करें।" - eCryptfs लेखक और अनुचर

    • जैक के घर के बाहर ALIAS फ़ोल्डर को बदलना, कोशिश करना /tmp/.secret/और /tmp/secret/ काम करना । लेकिन अगर जैक लॉग इन किया हुआ नया एन्क्रिप्टेड फ़ोल्डर माउंट रहेगा , तो आपको इसे अनमाउंट करना होगा ( umount.ecryptfs_private secret)।


1
सरलीकृत प्रतिक्रिया के लिए धन्यवाद। हालांकि एक सवाल: क्या यह ऑटो-माउंट समस्या का ख्याल रखता है? इस बारे में सघन होने के लिए क्षमा करें, लेकिन आपके द्वारा इंगित वेबपेज और मैन पेज वास्तव में गैर-मानक स्थिति के लिए ऑटो-माउंट स्थापित करने के बारे में समझने में विशेष रूप से आसान नहीं हैं। जैसा कि मेरे पास पहले से ही एक एन्क्रिप्टेड होम डायरेक्टरी है, मेरे पास पहले से ही $ HOME / .ecryptfs / ऑटो-माउंट और लिपटे-पासफ़्रेज़ हैं, लेकिन पहला खाली है और दूसरे में पहले से ही कुछ है। यह मेरे लिए पूरी तरह से स्पष्ट नहीं है कि नए पासफ़्रेज़ को कैसे जोड़ा जाए और निर्देशिका को ऑटो-माउंट करने का निर्देश दिया जाए।
user3004015

थोड़ा परीक्षण के साथ अद्यतन किया गया है, और यह आदमी ragingpenguin.com/2012/12/… पर जाहिर है कि PAM के साथ ऑटो-माउंटिंग पर आर्क विकी गाइड के बाद कुछ किस्मत थी, लेकिन वह इसके बारे में बहुत तंग है
Xen2050

आपके प्रयासों के लिए धन्यवाद। मुझे Ecryptfs निर्देशिकाओं के नामकरण में कोई दिलचस्पी नहीं है, लेकिन एक दूसरे स्थान पर एक दूसरी निर्देशिका को ऑटो-माउंट कर रहा है। मैं कोशिश करूंगा कि जब मेरे पास थोड़ा समय हो तो मैं काम कर
सकूं

आप इसे एक mountपंक्ति में ट्रिम कर सकते हैं , .confफ़ाइल या कुंजियाँ जोड़ने की आवश्यकता नहीं है , बस man ecryptfsउपलब्ध विकल्पों के लिए पृष्ठ पढ़ें । फिर "लॉगिन पर रन" फ़ाइल को अंदर फेंकें /home/user/.config/autostart/। लेकिन अनुचित तरीके से संग्रहीत किए जाने पर पासफ़्रेज़ की सुरक्षा खतरे में पड़ सकती है
Xen2050

बात यह है कि एक एन्क्रिप्ट के अंदर एन्क्रिप्शन पासवर्ड लपेटने की एक अच्छी प्रणाली है जो लॉगिन पासवर्ड के साथ खोला जाता है। यह ecryptfs पासवर्ड के लिए अतिरिक्त सुरक्षा प्रदान करता है, जो अच्छा होगा। मुझे नहीं लगता कि कुछ .config / autostart में डालने से यह अनुमति देगा जब तक कि मुझे गलतफहमी न हो कि मुझे स्क्रिप्ट में क्या डाला जाना चाहिए।
user3004015

0

यदि आप इसका उपयोग एन्कोफ्स की तरह करना चाहते हैं तो आप इसे निम्न प्रविष्टि के साथ कर सकते हैं /etc/fstab

/tmp/.geheim /tmp/geheim ecryptfs rw,no_sig_cache,ecryptfs_fnek_sig=1f7aefb9e239099f,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n,passphrase_passwd=geheimpw,user,noauto 0 0

geheim रहस्य के लिए जर्मन-शब्द है, लेकिन यह सुनिश्चित करता है कि यह एक कीवर्ड नहीं है। आपको पहले निर्देशिकाएँ बनानी होंगी। पहली बार जब आपको ecryptfs_fnek_sig=1f7aefb9e239099fदूर जाना चाहिए । फिर mount /tmp/geheimआपको सही मूल्य दिखाएगा।

आप दूसरी जगह पर पासवर्ड स्टोर कर सकते हैं और अधिक परिष्कृत विकल्प सेट कर सकते हैं। आपको सभी विकल्प मिलेंगे man ecryptfs


-1
ecryptfs /destination/to/encrypted/storage /destination/to/seeing/unencrypted/data

उदाहरण के लिए:

ecryptfs /home/$USER/EFILES /home/$USER/Downloads/RANDOMDIRECTORY

एन्क्रिप्टेड सिस्टम बनाने और माउंट करने के लिए ऊपर दिए गए कमंड का उपयोग करें, जहां रैंडमडायरेक्टरी में सहेजी गई फ़ाइलें एन्क्रिप्ट की गई हैं और EFILES में सहेजी गई हैं।

अतिरिक्त नोट्स। सुनिश्चित करें कि जब आप शुरू करते हैं तो RANDOMDIRECTORY खाली है। एक बार जब आप ऊपर कमांड चलाते हैं, और सिस्टम माउंट हो जाता है और जाने के लिए तैयार हो जाता है, तो आपके द्वारा RANDOMDIRECTORY में सेव की गई कोई भी फाइल सिस्टम के आरोहित होने पर EFILES में एन्क्रिप्ट हो जाएगी। एक त्वरित मौन / अनमाउंट के लिए आप या तो एक बैश स्क्रिप्ट बना सकते हैं, और इसे ऐप शॉर्टकट के माध्यम से चला सकते हैं, या त्वरित माउंटिंग के लिए एक उपनाम आदेश बना सकते हैं।

मैं एक साल से अधिक समय से इसका उपयोग कर रहा हूं।

संपादित करें: पुष्टि करने के लिए घर गया, आपका आदेश ecryptfs नहीं है। इसका अतिक्रमण अर्थात

encfs /destination/encrypted /destination/unencrypted

उसके लिए माफ़ करना। इसके साथ आपको एक नया प्रोग्राम स्थापित करना होगा (शायद)


1
मैंने कमांड में टाइप किया ecryptfsऔर यह जवाब दिया कि कमांड नहीं मिला। man ecryptfsके लिए मैन पेज लाता है mount -t ecryptfs, लेकिन वास्तव में यह नहीं समझाता है कि इस तरह के एन्क्रिप्टेड फाइलसिस्टम कैसे बनाएं।
user3004015

ध्यान दें कि मैं Ubuntu 14.04 LTS का उपयोग कर रहा हूं, इसलिए मेरी स्थापना अपेक्षाकृत हाल ही में हुई है। क्या ecryptfsकमांड हालिया जोड़ है?
user3004015

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