डब्लूएसएल माउंटेड फाइल परमिशन


2

WSL में git-for-windows bash और quasi-unix कार्य परिवेश के लिए संभावित प्रतिस्थापन के रूप में मेरे परीक्षण में, मैंने अपने लिए WSL के भीतर एक सिमलिंक स्थापित किया है /home/me/.ssh/ इसी के लिए निर्देशिका /mnt/c/users/me/.ssh/ निर्देशिका। बहुत आश्चर्य की बात नहीं (जब से ssh dir / file परमिशन पर सख्त है), यह काम नहीं करता है:

me@d2book:~$ ssh myth
Bad owner or permissions on /home/me/.ssh/config

me@d2book:~$ ll -d .ssh .ssh/config
lrwxrwxrwx 1 me   me     20 Oct 16 13:12 .ssh -> /mnt/c/Users/me/.ssh/
-rwxrwxrwx 1 root root 6335 Dec  5 07:47 .ssh/config*

मैं फ़ाइलों को लिनक्स में बना सकता हूं और फिर खिड़कियों से लिनक्स फाइल सिस्टम में लिंक करने का तरीका खोज सकता हूं ( %localappdata%/lxss/... ), लेकिन वे linux files (Ref: https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/ ), इसलिए जब भी मुझे कुछ करने की आवश्यकता होती है, तो मुझे डब्ल्यूएसएल में कूदना चाहिए। (यदि और कुछ नहीं, तो यह पसंदीदा समझौता हो सकता है, लेकिन ...)

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

पर वर्तमान अनुमतियाँ WIN/.../.ssh/config फाइलें हैं: सिस्टम, मुझे और प्रशासक सभी का पूर्ण नियंत्रण है। जब मैं सिस्टम बदलना चाहता हूं, तो यह मुझे इनहेरिट करने की अनुमति और इस तरह की चेतावनी देता है। मुझे पता है कि विंडोज़ डायर / फ़ाइल अनुमतियां कई मायनों में अलग हैं, लेकिन अंतिम ...

प्रश्न: विंडोज़ फ़ाइलों / डायरियों के लिए एक आसान सुरक्षा मुद्रा है कि डब्ल्यूएसएल उन्हें केवल उपयोगकर्ता (मालिक) की पहुंच के रूप में देखता है? (के एक umask के अनुरूप 0077 )। अधिक आनुवंशिक रूप से, वहाँ के बीच कम से कम कुछ समानता मैपिंग के लिए एक नुस्खा है ugo यूनिक्स-वाई असाइनमेंट और विंडोज फ़ाइल सुरक्षा?


chmod को मारना और attrib कमांड प्रॉम्प्ट में।
Biswapriyo

chmod -x somefile एक विंडोज़-ड्राइव फ़ाइल पर WSL के भीतर काम नहीं करता , और शिकायत भी करता है। क्या आप अपने कंप्यूटर, @ बिस्वा पर अलग-अलग परिणाम प्राप्त कर सकते हैं? भीतर आठों गुणों का कोई जोड़ नहीं है attrib इसके अलावा कुछ और उत्पादन rwxrwxrwx या r-xr-xr-x डब्लूएसएल फ़ाइल पर, या जीत-ड्राइव पर फ़ाइलों पर यूनिक्स जैसे परमिट को संशोधित करें।
r2evans

जवाबों:


6

डब्लूएसएल का यह हिस्सा नवीनतम इनसाइडर बिल्ड्स (यानी, अगले विंडोज 10 रिलीज) में काफी बेहतर है। जबसे 17063 का निर्माण करें डब्ल्यूएसएल लिनक्स मेटाडेटा को स्टोर करता है, इसलिए विंडोज पर एसीएल को बदले बिना साझा की गई फाइलों "बस काम करता है" पर चामोद आदि। अब मैं अपनी उपयोगकर्ता प्रोफ़ाइल से अपनी होम डाइरेक्टरी बढ़ा रहा हूं, जैसा कि आप सुझाव देते हैं कि आप चाहते हैं और एसएसएच ठीक काम करता है।

यहाँ मेरा सेटअप है:

$ cat /etc/wsl.conf
[automount]
enabled=true
options=metadata,uid=1000,gid=1000,umask=022
$ mount | grep /mnt
C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,umask=22,metadata)
$ echo $HOME
/mnt/c/Users/me
$ ls -ld /home
lrwxrwxrwx 1 root root 11 Jan 11 16:15 /home -> mnt/c/Users
$ ls -ld ~/.ssh
drwxr-xr-x 1 me me 4096 Feb 27 11:44 /mnt/c/Users/me/.ssh
$ ls -ld ~/.ssh/authorized_keys
-rw-r--r-- 1 me me 745 Feb 27 11:44 /mnt/c/Users/me/.ssh/authorized_keys
$ ls -ld ~/.ssh/config
lrwxrwxrwx 1 me me 29 Oct  6 14:14 /mnt/c/Users/me/.ssh/config -> ../share/dotfiles/.ssh/config
$ ls -l ~/share/dotfiles/.ssh/config
-rwxr-xr-x 1 me me 741 Feb 26 21:23 /mnt/c/Users/me/share/dotfiles/.ssh/config

यह कुछ हद तक आश्वस्त करने वाला है, भले ही मेरे पास अभी तक (इनसाइडर?) का निर्माण नहीं है। कुछ तो है आगे बढ़ने के लिए। धन्यवाद! (मैं इसे स्वीकार करने पर तब तक रोक दूंगा जब तक मैं इसके साथ व्यक्ति में नहीं खेलता (मार्च में, मुझे लगता है)।
r2evans

हां, आप इसे एक मौजूदा इनसाइडर बिल्ड में प्राप्त कर सकते हैं, या अगली रिलीज़ की प्रतीक्षा कर सकते हैं।
ab.

अरे @ साब। क्या आप स्पष्ट कर सकते हैं कि आपने क्या किया? मैं अंदरूनी सूत्रों पर हूं लेकिन मुझे काम करने के लिए एसएसएच की अनुमति नहीं मिल सकती है। मैं केवल फ़ाइलों को सम्‍मिलित करने का प्रयास कर रहा हूं, हालांकि पूरे होम निर्देशिका को माउंट नहीं कर रहा हूं। फिर भी, क्या आपने जो किया उस पर आप निर्देश दे सकते हैं?
Ricardo Amaral

@RicardoAmaral मुझे लगता है कि वे महत्वपूर्ण बिंदु हैं सुनिश्चित करें कि आपके पास drvfs माउंटपॉइंट पर सक्षम "मेटाडेटा" विकल्प है (/etc/wsl.conf इससे मदद मिल सकती है), या तो सिमलिंक / होम या चेंज पासवर्ड तो ~ पर है / mnt / c , और फिर सहानुभूति और अनुमति छड़ी के रूप में आप उम्मीद करेंगे।
ab.

खिचड़ी भाषा /etc/wsl.conf मेरे WSL पर पाएं।
Basil A
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.