लॉगआउट के बाद भी एन्क्रिप्टेड होम फोल्डर पहुंच योग्य है


13

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

हालाँकि, मैंने पाया कि जब एक एन्क्रिप्टेड होम फोल्डर वाला उपयोगकर्ता लॉग इन करता है और फिर लॉग आउट होता है, तब भी उनके होम फोल्डर में सादा पाठ डेटा अन्य उपयोगकर्ताओं के लिए सुलभ होता है। पर्याप्त पहुँच विशेषाधिकार आवश्यक हैं, निश्चित रूप से।

wउपयोगकर्ता को सूचीबद्ध नहीं करता है और आउटपुट sudo pgrep -u <username>खाली है, यह दर्शाता है कि उपयोगकर्ता के पास कोई भी चलने वाली प्रक्रिया नहीं है।

इस व्यवहार का कारण क्या है? लॉग आउट करने के बाद केवल उपयोगकर्ता के होम फ़ोल्डर को लॉक क्यों नहीं किया जाता है?


क्या आप कृपया grep -Fe ecryptfs /var/log/auth.logउस समय के आउटपुट को शामिल कर सकते हैं , जब उपयोगकर्ता लॉग आउट हुआ था?
डेविड फ़ॉस्टरस्टर

कमांड इस आउटपुट की पैदावार करता है: pastebin.com/jZXdahbJ Emacs के अनुसार, एकमात्र लाइनें जिसमें स्ट्रिंग "ecryptfs" होती हैं, वे लाइनें होती हैं जो कि उस कमांड को चलाने पर निर्मित होती हैं।
UTF-8

परिणाम के रूप में उम्मीद है कि बस लाइनों जो Emacs मुझे पहले से ही दिखाया: pastebin.com/VtV7iCDg
UTF-8

ठीक। यह देखने लायक था।
डेविड फ़ॉस्टरस्टर

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

जवाबों:


6

ज्ञात बग

अगर मैं सही तरीके से समझूं, तो यह एक ज्ञात बग है।

इस लिंक को देखें: wiki.archlinux.org/index.php/ECryptfs

गुलाबी पैराग्राफ के लिए नीचे स्क्रॉल करें

चेतावनी: दुर्भाग्य से ऑटोमैटिक अनमाउंटिंग सिस्टमड के साथ टूटने के लिए अतिसंवेदनशील है और इसके खिलाफ बग दर्ज किए गए हैं ...

काम के आसपास

जैसा कि अभी है, निशान हटाने के लिए आपने बेहतर बंद या रिबूट किया था (यह लॉग आउट करने के लिए पर्याप्त नहीं है)।


आपका क्या मतलब है "लॉगआउट उपयोगकर्ताओं के बीच जानकारी लीक करेगा"? क्या आपका मतलब है कि कुछ भी होता है, इसके अलावा पर्याप्त विशेषाधिकार वाले एक अलग उपयोगकर्ता पहले उपयोगकर्ता के घर निर्देशिका में सादे पाठ डेटा तक पहुंच सकता है? (यह लॉगआउट से पहले ही संभव है, निश्चित रूप से।)
UTF-8

1
बेहतर समझाने की कोशिश: 'यह लॉग आउट करने के लिए पर्याप्त नहीं है'। (लॉगआउट फ़ाइलों के स्पष्ट-पाठ उदाहरणों को नहीं हटाता है, जो उपयोगकर्ता द्वारा एन्क्रिप्ट किए गए घर के साथ उपयोग किया गया है। इसलिए इस उपयोगकर्ता से किसी अन्य उपयोगकर्ता को जानकारी लीक हो सकती है, जो लॉग इन करता है, कम से कम यदि इस अन्य उपयोगकर्ता के पास sudo विशेषाधिकार है। लेकिन अगर आप बंद कर देते हैं या रिबूट करते हैं, तो फ़ाइलों के स्पष्ट-पाठ के उदाहरण गायब हो जाते हैं।
सुडोकू

3

मैं इसका परीक्षण या पुष्टि नहीं कर सकता, लेकिन यह मानते हुए कि आप उपयोग कर रहे हैं ecryptfs(जो कि स्थापित, IIRC के दौरान उबंटू प्रदान करता है), एन्क्रिप्टेड डेटा को एक छिपे हुए फ़ोल्डर में संग्रहीत किया जाता है /home/.encryptfs/$USERऔर ecryptfsजब आप लॉग इन करते हैं तो ड्राइवर का उपयोग करके आपके वास्तविक होम फ़ोल्डर के स्थान पर चढ़ जाता है। में।

सबसे अधिक संभावना है, फिर, क्या हो रहा है कि जब आप लॉग आउट करते हैं, तो यह स्वचालित रूप से उस निर्देशिका को अनमाउंट करने में विफल रहता है, इसलिए फाइलें अभी भी सुलभ हैं। इसके कारण हो सकता है ...

  • एक खराब कॉन्फ़िगरेशन (शायद इसे लॉगआउट पर अनमाउंट करने के लिए कॉन्फ़िगर किया जाना चाहिए था लेकिन नहीं)
  • अप्रत्याशित लॉगआउट प्रकार (कभी-कभी ये समाधान डीएम लॉगिन / आउट के लिए काम करते हैं लेकिन अन्यथा अच्छी तरह से काम नहीं करते हैं)
  • यदि अनमाउंटिंग को एक लॉगआउट स्क्रिप्ट (जरूरी नहीं कि मामला) द्वारा नियंत्रित किया जाता है, तो अनमाउंट कमांड से पहले कुछ विफल हो सकता है और स्क्रिप्ट को जल्दी बाहर निकलने का कारण बन सकता है।

एक चीज जो आपको यह जांचने में मदद कर सकती है sudo mount | grep homeकि लॉगिन से पहले, लॉगिन के बाद, और लॉगआउट करने के बाद देखना होगा कि क्या कुछ भी शामिल किया homeजा रहा है। आप /etc/fstabप्रासंगिक प्रविष्टियों के लिए भी देख सकते हैं । अंत में, /home/.ecryptfs/$USER/.ecryptfs/स्वचालित / अनमाउंट करने के लिए उचित सेटिंग्स के साथ कुछ कॉन्फिग है ।

के बारे में उपयोगी जानकारी इस उत्तर में और कभी-सहायक आर्चविकecryptfs में पाई जा सकती है ।


मैंने कोशिश की कि आपने मुझे क्या बताया: pastebin.com/DrmEXQPV मैं किसी भी अजीब तरीके से नहीं, लेकिन मानक GUID तरीके से लॉग आउट करता हूं। एफएस अभी भी घुड़सवार है, जैसा कि आप देख सकते हैं। आपके द्वारा उल्लिखित विन्यास फाइल खाली है। मेरी /etc/fstabप्रविष्टि 1 को छोड़कर मेरे कुछ भी नहीं है कि मेरा एकमात्र डेटा विभाजन माउंट किया जाना चाहिए /और 1 प्रविष्टि जो विश्वविद्यालय से संबंधित नेटवर्क संसाधन के बारे में है। क्या मुझे किसी भी तरह से लॉग आउट करने की कोशिश करनी चाहिए? यदि हां, तो कैसे?
UTF-8

एक अलग तरीके की टिप्पणी में लॉगिंग करना एक अनुमान था - डेस्कटॉप प्रबंधक लॉगिंग के शीर्ष पर बहुत कुछ जोड़ते हैं और लॉग आउट करते हैं जो धारणा को जटिल करता है और यह बताना मुश्किल बनाता है कि कौन सी घटनाओं को ट्रिगर किया गया है। मुझे आश्चर्य हो रहा था क्योंकि हो सकता है कि कोई स्क्रिप्ट या घटना हो जो चल नहीं रही थी। अन्य उत्तरों के आधार पर, यह उस तरह की समस्या नहीं है, बल्कि ecryptfsखुद के साथ कुछ करना है। उस नोट पर, हालांकि, आप sshपाठ टर्मिनलों का उपयोग या लॉग इन करते हैं? एक स्क्रिप्ट लिखना संभव हो सकता है जो लॉगआउट पर अनमाउंटिंग का ध्यान रखेगा यदि हम पाते हैं कि इसे कहां रखा जाए।
११:२१ बजे krs013

3

संपादित करें /etc/systemd/logind.confऔर सेट करेंKillUserProcesses=yes

नोट इस टूटता पृष्ठभूमि कार्यक्रम, कि screen, tmux, और इसी तरह ...

यहाँ यह प्रश्न और अधिक विस्तार से जाना जाता है। मैं एक नई प्रणाली सेवा को अनावश्यक (या अधिक सटीक, वांछित व्यवहार को परिभाषित नहीं करता, क्योंकि यह शटडाउन हुक के रूप में निर्दिष्ट है, न कि जब उपयोगकर्ता सत्र समाप्त होता है)।

/unix/251902/ecryptfs-auto-umount-does-not-work


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

क्षमा करें, लेकिन मैं इस विधि को दूसरे उपयोगकर्ता के साथ लगातार लाइव सिस्टम में काम नहीं कर सका , जिसमें घर एन्क्रिप्टेड है। (मैंने आपके समाधान को एक स्थापित प्रणाली में परीक्षण नहीं किया है, मैं उस @ यूटीएफ -8 को छोड़ दूंगा जिसने मूल प्रश्न पूछा था।)
सुडोकुस

मुझे अपने कंप्यूटर पर इसे ठीक करने में कोई दिलचस्पी नहीं है। मैं केवल वह हूं जो इसे वैसे भी उपयोग करता है, लेकिन एन्क्रिप्टेड होम फ़ोल्डर्स के साथ 2 खातों का उपयोग करना चाहता हूं और किसी को भी किसी भी खाते का पासवर्ड नहीं पता है। मुझे इसमें दिलचस्पी है कि यह डिफ़ॉल्ट रूप से एन्क्रिप्ट किए गए संस्करणों को स्वचालित रूप से अनमाउंट क्यों नहीं करता है । क्या यह केवल उपयोगकर्ता के संदर्भ में चल रही सक्रिय पृष्ठभूमि प्रक्रियाओं की जांच नहीं कर सकता है और यदि कोई नहीं है तो इसे अनमाउंट करें?
UTF-8

@ UTF-8, मैं आपसे सहमत हूं, कि यह काम करना चाहिए जैसे आप इसे काम करना चाहते हैं। अगर मैं सही तरीके से समझूं, तो यह एक ज्ञात बग है। इस लिंक को देखें, wiki.archlinux.org/index.php/ECryptfs । गुलाबी पैराग्राफ के लिए नीचे स्क्रॉल करें 'चेतावनी: दुर्भाग्य से स्वचालित अनमाउंटिंग सिस्टमड के साथ तोड़ने के लिए अतिसंवेदनशील है और कीड़े दायर किए गए हैं'। - जैसा कि यह अब है, आप निशान हटाने के लिए बेहतर बंद या रिबूट थे (लॉगआउट उपयोगकर्ताओं के बीच सूचना को लीक कर देगा।)
सुडोकू

@ UTF-8 कम से कम मट्ठे के बाद से सिस्टमड / सेशन इंटरेक्शन में एक बग है (मैं पूरी तरह से बस इसे सिस्टमड पर लटका रहा हूं) - 16.04 पर मेरे लिए /etc/systemd/logind.conf परिवर्तन काम करता है (तीन अलग-अलग उपयोगकर्ताओं द्वारा परीक्षण किया गया) , अलग-अलग सत्रों, आदि ...)
क्वाड्रूप्लेबकी

3

मैं काफी समय से इस मुद्दे पर शोध कर रहा हूं, अर्थात, उपयोगकर्ता लॉगआउट के बाद अनियंत्रित फ़ाइल सिस्टम माउंट रहता है।

मैंने माउंट बनाने के लिए "ecryptfs-migrate-home -u उपयोगकर्ता" का उपयोग किया। लॉगआउट के बाद ऑटो-अनमाउंट को छोड़कर सभी निर्देशों और सभी कार्यों का पालन किया गया।

मैंने /etc/pam.d/ में कॉन्फ़िगर फ़ाइलों की तुलना pam_ecryptfs प्रलेखन से की और कुछ अंतर पाए। ecryptfs pam.d कॉन्फिग फाइलों में से 4 में था, जबकि pam_ecryptfs डॉक्स सिर्फ 2 फाइलों की जरूरत का संकेत देता है / चाहिए, / ecryptfs को सपोर्ट करना चाहिए, जैसे,

   /etc/pam.d/common-auth:
              auth    required        pam_ecryptfs.so unwrap
   /etc/pam.d/common-session:
              session optional        pam_ecryptfs.so unwrap

इसलिए, मैंने अन्य 2 उदाहरणों पर टिप्पणी की, रिबूट किया, और यह सब काम किया, लॉगिन पर ऑटो-माउंट्स और ग्राफिकल और कंसोल लॉगइन के लिए लॉगआउट पर ऑटो-अनमाउंट्स। (मैंने रूट खाते से सत्यापित करने के लिए वैकल्पिक ट्टी का उपयोग किया है)

यह लैपटॉप, डेस्कटॉप और वर्चुअलबॉक्स गेस्ट (विंडोज़ होस्ट) पर 18.04 लुबंटू पर है।

मुझे दूसरों के अनुभव में दिलचस्पी है।

edit_1: बेहतर शब्दांकन। edit_2: जोड़ा गया डेस्कटॉप और VB परीक्षा परिणाम।


क्या उन पंक्तियों को अक्षम / टिप्पणी करने से कोई समस्या हुई? क्या आपके पासवर्ड को बदलने के बाद भी eCryptfs कीफाइल को फिर से लपेटना है?
7:20 बजे Xen2050

यह मेरे लिए लिनक्स मिंट 19 पर काम करता है। दूसरों के लिए कुछ और विवरण जोड़ने के लिए: /etc/pam.d में चार कॉन्फिग फाइलें जो कि ई-क्रिप्टो को संदर्भित करती हैं, वे हैं: कॉमन-ऑर्टिकल, कॉमन-पासवर्ड, कॉमन-सेशन, कॉमन-सेशन- गैर-सहभागी। कॉमन-पासवर्ड और कॉमन-सेशन-नॉन-एक्टिव में लाइनों को कमेंट करने से लॉग आउट पर अनमाउंटिंग का वांछित व्यवहार हुआ। इसके अलावा, सामान्य-प्रवेश में प्रविष्टि "आवश्यक" के बजाय "वैकल्पिक" पर सेट की गई थी क्योंकि यह प्रलेखन के अनुसार होना चाहिए। हालाँकि, मैंने इसे छोड़ दिया है।
evencoil

@ Xen2050, देर से प्रतिक्रिया के लिए खेद है। मैंने लाइनों को बदलने के बाद किसी भी समस्या का पता नहीं लगाया और मैंने अभी तक पासवर्ड बदलने की कोशिश नहीं की है।
redrock

बदलते पासवर्ड का परीक्षण करना महत्वपूर्ण हो सकता है, इसे अपने नए पासवर्ड के साथ एन्क्रिप्शन कुंजी को स्वचालित रूप से फिर से लपेटना चाहिए, इसलिए अगली बार काम करना लॉग इन करना होगा। यदि यह काम नहीं करता है, तो बस पासवर्ड को पिछले एक में बदलकर काम करना चाहिए ... [हालांकि, बैकअप लेना हमेशा अच्छा होता है]
Xen2050

1
@ Xen2050, मैंने पासवर्ड बदलने का परीक्षण किया। इसने काम कर दिया।
redrock

2

मैं इसे स्क्रिप्ट में rclocal के साथ करता हूं

#!/bin/sh
#

while true; do
    if [ ! -d /run/user/1000 ]; then
        if [ -f /home/momo/.mounted ]; then
            umount /home/harry
        fi      
    fi

    if [ ! -d /run/user/1001 ]; then
        if [ -f /home/vm/.mounted ]; then
            umount /home/maud
        fi
    fi

    sleep 10
done
exit 0

आप उपयोगकर्ता को कैसे प्राप्त करते हैं?
अविनाश राज

0

यदि आपको किसी भी घरेलू निर्देशिका के लिए क्रोन या नौकरियों (गैर-संवादात्मक कार्यों) से पहुंच की आवश्यकता नहीं है, तो आपको बस लाइन पर टिप्पणी करने की आवश्यकता है

session  optional        pam_ecryptfs.so unwrap

में है /etc/pam.d/common-session-noninteractive

जब उपयोगकर्ता लॉग आउट करेगा तो यह सभी एन्क्रिप्टेड होम डाइरेक्टरी को अनमाउंट कर देगा।

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