अंतर्निहित होम डायरेक्टरी एन्क्रिप्शन का उपयोग कैसे रोकें?


106

मेरे पास एन्क्रिप्टेड होम डायरेक्टरी के साथ एक नया उबंटू 10.04 इंस्टॉलेशन है (उबंटू इंस्टॉलर द्वारा पेश किए गए अंतर्निहित एन्क्रिप्शन का उपयोग करके)।

एन्क्रिप्शन का उपयोग बंद करने का सबसे आसान तरीका क्या है? (यानी, मेरी होम डायरेक्टरी को स्थायी रूप से डिक्रिप्ट करना।)

(यह मुझे कर्नेल अपडेट के साथ समस्याएं दे रहा है, और मैं इस स्थापना के साथ होने वाली सभी परेशानियों में कटौती करना चाहूंगा।)

जवाबों:


76

चारों ओर घूमते हुए, मुझे यह पोस्ट मिली :

एक पुराने धागे को लाने के लिए नहीं, लेकिन अगर किसी के पास इन निर्देशों का पालन करने की कोशिश में त्रुटियां हैं, तो यहां मैंने वही किया है।

  1. जब आप लॉग इन हों तो होम डायरेक्टरी का बैकअप लें sudo cp -rp /home/user /home/user.backup

    1.1। जांचें कि आपके होम बैकअप में सब कुछ है !!!

  2. ग्रब के माध्यम से रूट में रिबूट करें
  3. अपनी होम डायरेक्टरी को डिलीट करें rm -rf /home/user
  4. पैकेज निकालें apt-get remove ecryptfs-utils libecryptfs0
  5. अपने घर निर्देशिका को पुनर्स्थापित करें mv /home/user.backup /home/user
  6. रिबूट
  7. उन .Private .ecryptfsफ़ोल्डरों में से कोई भी निकालेंrm -rf ~/.Private rm -rf ~/.ecryptfs
  8. वाह!
इसने मेरे लिए काम किया। होम फ़ोल्डर फ़ाइल अनुमतियां बरकरार रहती हैं और ड्रॉपबॉक्स या गिट रिपॉज को छोटा नहीं करता है। किसी कारण से उबंटू 9.10 पर मेरा नया इंस्टालेशन पहली कमांड नहीं करेगा। बस यह सुनिश्चित करें कि आप का उपयोग करते समय प्रक्रिया के बारे में सोचते हैं rm -rf। बस इसे न केवल मेरे रिकॉर्ड के लिए पोस्ट करना चाहता था, बल्कि समस्याओं का सामना करने वाले किसी और को भी।

कुछ नोट

  • ग्रब के माध्यम से रूट में रिबूट मेरे लिए थोड़ा अस्पष्ट था; मैंने रिबूट नहीं किया, बस रूट का उपयोग करने के लिए स्विच किया गया ( sudoविशेषाधिकारों के साथ एक अन्य उपयोगकर्ता खाता समान रूप से अच्छी तरह से काम करेगा)।
  • पैकेजों को हटाने ecryptfs-utilsऔर libecryptfs0काम करने से पहले, मुझे हटाने की जरूरत थी /home/.ecryptfs/<myusername>। (यह शिकायत थी कि ecryptfs-utilsउपयोग में थी।)

इसके अलावा, यह मेरे लिए काम करता है। यह हालांकि सरल से बहुत दूर है, इसलिए बेहतर समाधान पोस्ट करने के लिए स्वतंत्र महसूस करें!


मैं इसे स्वीकार करूंगा क्योंकि यह मेरे लिए काम करता है, लेकिन जैसा मैंने कहा, कुछ सरल या बेहतर पोस्ट करने के लिए स्वतंत्र महसूस करें!
जोनीक

3
इसने मेरे लिए 12.10 पर काम किया। मुझे भी /home/.ecryptfs/<myusername>पहले हटाने की जरूरत थी । /हालांकि, मुझे रूट कंसोल में रिमाउंट करना था , लेकिन मुझे लगता है कि यह एक और कहानी है। धन्यवाद!
कांस्टेंटिनियस

1
12.04 को भी काम किया। केवल एक चीज है यदि आप रूट ( sudo su) को "रिबूट करने के बजाय रूट के माध्यम से ग्रब" पर स्विच करते हैं, तो यह काम करता है लेकिन आपको /home/user( cd /homeउदाहरण के लिए) से बाहर निकलने की आवश्यकता है और umount /home/userउपयोग करने से पहले होम डायर को अनमाउंट करने के लिए जारी करना होगा rm -rfrm -rf /home/user.backup/.ecryptfs2 पैकेज निकालने से पहले आपको यह भी करना होगा ।
लॉरेंट

3
+1 यह किसी भी बढ़ते से बचने के लिए या उससे निपटने की कोशिश करने के लिए SSH, कोई GRUB से अधिक करना आसान है। बस सावधान रहना / हटाना / स्थानांतरण। जाहिर तौर पर इसमें / होम / यूज़रनेम की ओर इशारा करते हुए एक सिम्लिंक है। मैंने अपना सारा डेटा खो दिया है।
२३

2
चरण 1 के लिए, यदि आपको कोई त्रुटि मिलती है: /home/<username>/.gvfs: Cannot stat: Permission deniedआप हमेशा rsync का उपयोग कर सकते हैं:rsync -avz --exclude '*.gvfs' /home/<username> /home/<username>.backup
tir38

40

यहाँ आप हैं, आशा है कि यह मदद करता है (देखें ecryptfs-setup-private(1)):

$ ecryptfs-setup-private --undo

आउटपुट का दावा है:

इस घटना में कि आप अपने eCryptfs निजी निर्देशिका सेटअप को हटाना चाहते हैं, आपको मैन्युअल रूप से निम्न क्रियाओं को सावधानीपूर्वक करने की आवश्यकता होगी:

  1. अपनी निजी निर्देशिका माउंटपॉइंट प्राप्त करें

    $ PRIVATE=`cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private`
    
  2. सुनिश्चित करें कि आपने अपनी $PRIVATEनिर्देशिका से सभी प्रासंगिक डेटा को स्थानांतरित कर दिया है

  3. अपनी एन्क्रिप्टेड निजी निर्देशिका को अनमाउंट करें

    $ ecryptfs-umount-private
    
  4. अपनी निजी निर्देशिका को फिर से योग्य बनाएं

    $ chmod 700 $PRIVATE
    
  5. निकालें $PRIVATE, ~/.Private,~/.ecryptfs

    नोट: यह बहुत स्थायी है, बहुत ही उपयोगी है

    $ rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. उपयोगिताओं की स्थापना रद्द करें (यह आपके लिनक्स वितरण के लिए विशिष्ट है)

    $ sudo apt-get remove ecryptfs-utils libecryptfs0
    

धन्यवाद। मैं पहले ही इसे हल कर चुका हूं, लेकिन मुझे लगता है कि यह दूसरों के लिए उपयोगी है।
जोनिक

@ जोंक क्या आप .ecryptfs/jonik/.Privateकर्नेल अपडेट के बाद ठीक से लॉग इन करने में सक्षम थे , या आपने बैकअप और पूर्ववत् एन्क्रिप्शन को वापस कर दिया था?
isomorphismes

3
यह केवल एक एन्क्रिप्टेड निर्देशिका "~ / निजी" पर लागू होता है और एक एन्क्रिप्टेड होम निर्देशिका के लिए नहीं जैसा कि ओपी ने कहा है। अंतरों के लिए help.ubuntu.com/community/EncryptedHome देखें ।
lmeurs

15

पहली बात करने के लिए: अपना घर वापस लें मैं इसे जोर से नहीं कह सकता ... मूल रूप से एन्क्रिप्शन को पूर्ववत करना rm -rfआपके घर को रीसेट करने ( ) के बराबर है , जो वास्तव में माउंट द्वारा छिपा हुआ है।

दूसरा चरण: किसी भी डेस्कटॉप प्रबंधक से लॉग आउट करें और वर्चुअल कंसोल पर जाएं ( CTRL-ALT-F1)

अंत में: विवरण के लिए:

ecryptfs-setup-private --undo

इस घटना में कि आप अपने eCryptfs निजी निर्देशिका सेटअप को हटाना चाहते हैं, आपको मैन्युअल रूप से निम्न क्रियाओं को सावधानीपूर्वक करने की आवश्यकता होगी:

  1. अपनी निजी निर्देशिका माउंटपॉइंट प्राप्त करें PRIVATE= cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private

  2. सुनिश्चित करें कि आपने अपनी $PRIVATEनिर्देशिका से सभी प्रासंगिक डेटा को स्थानांतरित कर दिया है

  3. अपनी एन्क्रिप्टेड निजी निर्देशिका को अनमाउंट करें

    ecryptfs-umount-private
    
  4. अपनी निजी निर्देशिका को फिर से योग्य बनाएं

    chmod 700 $PRIVATE
    
  5. निकालें $PRIVATE, ~/.Private, ~/.ecryptfs नोट: इससे बहुत स्थायी है, बहुत सावधान रहना होगा

      rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. उपयोगिताओं की स्थापना रद्द करें

     sudo apt-get remove ecryptfs-utils libecryptfs0
    

मैं कहूंगा कि चरण 5 थोड़ा गलत है: हटाने की कोई आवश्यकता नहीं है $PRIVATE, जो मेरे लिए मेरा घर था ...।

हटाने .Privateऔर .ecryptfsहटाने के बाद , बस अपने घर को पुनर्स्थापित करें:]


5
यदि आपने अपनी हार्ड डिस्क के आधे से अधिक हिस्से को एन्क्रिप्ट किया है तो क्या होगा? क्या कोई रास्ता नहीं है, एक और ड्राइव खरीदने के बिना?
isomorphismes

@hhlp दिलचस्प है कि आपको अपने $ PRIVATE को हटाने की आवश्यकता नहीं है। क्या आपका उपयोगकर्ता घर निर्देशिका नहीं है? क्या इसका मतलब यह है कि किसी को अपनी निर्देशिका को हटाने की आवश्यकता नहीं है, बचाने के लिए कि बैक-अप हमेशा महत्वपूर्ण है?
XavierStuvw

8

यह चरण सर्वर वातावरण में काम करेगा

चरण 1: अपने घर निर्देशिका का बैकअप लें

sudo cp -rp / home / $ USER /home/$USER.backup

चरण 2: पुष्टि करें कि क्या सब कुछ बैकअप है

सुडो ls -al /home/$USER.backup

चरण 3: घर के फ़ोल्डर को छोड़ दें, क्योंकि एन्क्रिप्शन प्रोग्राम आमतौर पर इसे माउंट पॉइंट जैसे माउंट करता है /home/$USER, जिसे भी जाना जाता है $HOME। आप रन करके अपने आरोह बिंदु की पुष्टि कर सकते हैं df -h $HOME। आपको cd /tmp(या कुछ अन्य गैर- $HOMEनिर्देशिका) अनमाउंट करने में सक्षम होना पड़ेगा$HOME

सीडी / टीएमपी
सूद umount / घर / $ USER

स्टेप 4: पुराने होम फोल्डर को डिलीट करें

sudo rm -rf / home / $ USER

चरण 5: एन्क्रिमेशन प्रोग्राम फ़ाइल निकालें

sudo rm -rf /home/$USER.backup/.ecryptfs

चरण 6: सिस्टम से एन्क्रिप्शन यूटिलिटीज निकालें

sudo apt-get remove ecryptfs-utils libecryptfs0

चरण 7: मूल पथ पर वापस अनएन्क्रिप्टेड होम फ़ोल्डर को पुनर्स्थापित करें

sudo mv /home/$USER.backup / home / $ USER

चरण 8: अपने उपयोगकर्ता के लिए बहाल फ़ोल्डर का स्वामित्व बदलें

sudo chown -R $ (id -u): $ (id -g) / होम / $ USER

चरण 9: लॉगआउट / लॉगिन, यह सुनिश्चित करने के लिए कि सभी उपयोगकर्ता सामान सही तरीके से पुनः आरंभ हो जाते हैं (या जब आपको याद है कि आपके द्वारा किया गया काम याद रहेगा)


प्रतिभाशाली। इस स्पष्ट और स्पष्ट गाइड के लिए धन्यवाद। मेरी मदद की!
जेम्स लालोर

मैंने sudo rm -rf /home/.ecryptfs/$USER
JimB

5

लंबी सूची में एक और मार्गदर्शक जोड़ने के बाद मुझे महसूस हुआ कि अन्य जगहों पर वर्णित सबसे घुसपैठ कदम आवश्यक नहीं हैं।

मेरे गाइड को कोई रिबूट की आवश्यकता नहीं है और मैंने इसे एसएसएच पर सफलतापूर्वक समाप्त कर दिया है । यह भी काम करना चाहिए अगर मशीन पर अन्य eCryptfs माउंट हैं

केवल गैर-स्पष्ट आवश्यकता sudoपहुँच के साथ किसी अन्य उपयोगकर्ता के रूप में लॉगिन करने में सक्षम है ।

  1. एन्क्रिप्टेड होम डायरेक्टरी वाले उपयोगकर्ता के रूप में लॉगिन करें ( userइस गाइड में कहा जाता है)।

  2. बस निम्नलिखित चरणों में पथ को सरल और सममित रखने के लिए:

    cd /home
    
  3. डिक्रिप्टेड होम फ़ोल्डर सामग्री को किसी अन्य निर्देशिका में डुप्लिकेट करें।

    sudo cp -rp user user.new
    
  4. लॉगआउट ( exitया logout)। एक अन्य sudoer के रूप में लॉगिन करें।

  5. जांचें कि eCryptfs माउंट अनमाउंट है। इसे मैन्युअल रूप से न करें umount, इससे डेटा हानि हो सकती है! (खुद को अनुभवी। मैं userलॉग इन के साथ एक और एसएसएच सत्र कर रहा था ।)

    mount | grep ecryptfs
    

    आउटपुट खाली होना चाहिए। या, यदि कोई अन्य eCryptfs माउंट हैं, तो इसमें शामिल नहीं होना चाहिए /home/user

  6. जैसे चरण २।

    cd /home
    
  7. डुप्लिकेट को चिह्नित करें जिसे eCryptfs के साथ प्रबंधित नहीं किया जा रहा है। (विशेष रूप से अन्य eCryptfs आरोह होने पर eCryptfs संकुल को अनइंस्टॉल करने की आवश्यकता नहीं है।)

    sudo rm user.new/.ecryptfs user.new/.Private
    
  8. जगह में एन्क्रिप्टेड होम निर्देशिका को स्थानांतरित न करें।

    sudo mv user user.old && sudo mv user.new user
    
  9. के रूप में लॉगिन userकरें और जांचें कि सब कुछ काम करता है और eCryptfs किक नहीं करते हैं।

    mount | grep ecryptfs
    
  10. userहोम फ़ोल्डर और एन्क्रिप्टेड डेटा की मूल सामग्री को हटा दें ।

    rm -r /home/user.old
    sudo rm -r /home/.ecryptfs/user
    

1
  • यदि आप किसी बाह्य संग्रहण में बैकअप कर सकते हैं, तो करें। (सीधे जरूरत नहीं है, लेकिन फ़ाइल हेरफेर से पहले हमेशा अच्छा है।)

  • ttyकम से कम थोड़ा परिचित हों । (प्रेस Ctrl Alt F7, Ctrl Alt F1आदि) आपको दो tty-s के साथ काम करने की आवश्यकता होगी । एक रूट और आपका एक मुख्य उपयोगकर्ता।

  • rootएक अलग tty पर लॉग इन करें , एक नई होम डायरेक्टरी बनाएं

    mkdir /home/user.newdir
    chown user:user /home/user.newdir
    
  • आलेखीय सत्र से बाहर निकलें। आप यह सुनिश्चित करने के लिए रीबूट कर सकते हैं कि आपके सामान्य उपयोगकर्ता के तहत कोई प्रोग्राम काम नहीं कर रहा है।

  • अलग-अलग tty पर अपने सामान्य उपयोगकर्ता के रूप में लॉग इन करें, अपनी सभी फ़ाइलों को नए गंतव्य पर ले जाएँ:

    mv ~/* /home/user.newdir/
    
  • roottty का उपयोग करते हुए , निर्देशिकाओं का नाम बदलें:

    mv /home/user /home/user.encfs
    mv /home/user.newdir /home/user
    
  • सब कुछ अब तक काम करना चाहिए। :) एक बार जब आप तैयार हैं, पुराने फ़ाइलों को हटा दें /home/.encryptfs, /home/user.encfs, /home/user/.Private, /home/user/.encryptfs। यदि आप चाहें, तो आप पहले उनका नाम बदल सकते हैं और बाद में उन्हें हटा सकते हैं।


1

मैंने यहाँ किसी भी उत्तर का उपयोग नहीं किया। इसके बजाय (उबंटू स्टूडियो 14.04 में):

  1. मैंने उन सभी फाइलों को कॉपी किया, जिन्हें मैं रखना चाहता था, विशेष रूप से सभी *। फाइलें, $ HOME के ​​बाहर एक निर्देशिका में।
  2. मैंने एक नया उपयोगकर्ता (सिस्टम> उपयोगकर्ता और समूह) बनाया और उस उपयोगकर्ता को sudo समूह में जोड़ा। मैंने बॉक्स को "संवेदनशील डेटा की सुरक्षा के लिए होम फ़ोल्डर एन्क्रिप्ट करें" छोड़ दिया।
  3. मैंने लॉग आउट किया और नए उपयोगकर्ता के रूप में वापस लॉग इन किया, फिर अपने मूल खाते को हटा दिया, यह देखने के लिए कि संख्यात्मक UID पहले (उन्नत विकल्प) क्या था, मेरे मूल $ HOME में फ़ाइलों को हटाने के विकल्प का चयन करें। यह पूरा हुआ लेकिन एक "अज्ञात त्रुटि" के साथ। चेक इन / होम मैं देख सकता था कि मेरा पुराना घर चला गया था
  4. मैंने अपने मूल उपयोगकर्ता खाते को फिर से बनाया है यह देखने के लिए कि यह मूल संख्यात्मक यूआईडी के साथ बनाया गया था, जो कि यह था, और संवेदनशील डेटा की सुरक्षा के लिए "एन्क्रिप्ट होम फ़ोल्डर को छोड़ना" सुनिश्चित नहीं किया गया था।
  5. मैंने अपनी मूल $ HOME निर्देशिका के नए, व्यावहारिक रूप से खाली, संस्करण को नष्ट कर दिया और अपने मूल घर का बैक-अप का नाम बदलकर अपने मूल $ HOME में बदल दिया और लॉग आउट कर दिया।
  6. मैंने अपने नए मूल खाते में प्रवेश किया और यह ऐसा था जैसे कुछ भी नहीं हुआ हो।
  7. मैंने एक निर्देशिका .ecryptfs खोजने के लिए / घर की जाँच की जिसे मैंने बिना किसी प्रभाव के हटाया।

मुझे कोई कारण नहीं है कि एन्क्रिप्टेड होम निर्देशिकाओं के लिए प्रदान करने वाले पैकेज को हटाने का विकल्प वैकल्पिक नहीं होना चाहिए, और मैंने इस उद्देश्य के लिए बनाए गए नए उपयोगकर्ता खाते को हटा दिया है क्योंकि मुझे लगता है कि यह भविष्य में काम आ सकता है।

मेरे ऐसा करने का कारण? पुराना कंप्यूटर ऐसा लगता है कि यह विफल हो रहा है। जब यह विफल होता है, तो मैं बिना किसी परेशानी के किसी अन्य कंप्यूटर पर एचडी तक पहुंचने में सक्षम होना चाहता हूं।


1

जोनिक की व्याख्या अच्छी तरह से काम करती है। लेकिन चरण 2 के बजाय, मैंने किया:

  1. लॉग आउट
  2. Ctrl+ दबाएं F4। एक कमांड लाइन इंटरफ़ेस खोलना चाहिए।
  3. रूट के रूप में लॉगिन करें
  4. rm -rf .ecryptfs

फिर, चरण 6 के बजाय: Ctrl+ दबाएं F7। यदि आपकी GUI लॉगिन स्क्रीन दिखाई नहीं देती है, तो Ctrl+ दबाएँ F8


-3

सरल समाधान जो मेरे लिए काम करता है:

आपके पास sudo एक्सेस के साथ एक और उपयोगकर्ता होना चाहिए

  1. रीबूट
  2. लॉगिन स्क्रीन प्रेस पर CTRL+ ALT+F1
  3. अन्य उपयोगकर्ता के रूप में लॉगिन करें (sudo एक्सेस के साथ)
  4. sudo rm -rf /home/youruser/.ecryptfs
  5. sudo rm /home/youruser/.Private
  6. sudo apt-get remove --purge ecryptfs-utils libecryptfs1
  7. sudo reboot
  8. अपने उपयोगकर्ता के रूप में लॉगिन करें और एन्क्रिप्शन के बिना अपने घर का आनंद लें;)

3
यह एन्क्रिप्शन को चालू करने के बाद किए गए सभी संशोधनों को मिटा देगा। यह शायद अभी स्थापित सिस्टम के लिए ठीक है लेकिन आपको स्पष्ट रूप से इसका उल्लेख करना होगा।
मेलेबियस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.