লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেমে ls / usr / বিনের জন্য অনুমতি অস্বীকার করা হয়েছে


1

ls /usr/bin

ত্রুটি বার্তা দেয়:

ls: reading directory '/usr/bin': Permission denied

উপর wbash.exe। যে কারণে বাশ-সমাপ্তি এবং এসেল-সমাপ্তি ব্যর্থ হয় বা অসম্পূর্ণ ফলাফল দেয়। আমি এটি কাজ করতে চাই।

যে কাজগুলি কাজ করে:

/usr/bin $ ls -l emacs
lrwxrwxrwx   1 root           root           23 2017-07-31 17:16 emacs -> /etc/alternatives/emacs
/usr/bin $ ls -l gcc-5
-rwxr-xr-x   1 root           root       915736 2017-09-14 06:01 gcc-5
/usr/bin $ ls -ld /usr/bin
drwxr-xr-x   0 root           root          512 2017-12-19 09:45 /usr/bin
/usr/bin $ ls -ld /usr/sbin
drwxr-xr-x   0 root           root          512 2017-12-19 09:45 /usr/sbin
/usr/bin $ ls -ld /
drwxr-xr-x   0 root           root          512 2017-11-17 10:23 /
/usr/bin $ ls -ld /usr
drwxr-xr-x   0 root           root          512 2017-03-30 11:55 /usr

উইন্ডোজ সংস্করণটি হ'ল: উইন্ডোজ 10 (64 বিট), সংস্করণ 1703 (বিল্ড 15063.786)

sbinডিরেক্টরি সমস্যা ও সকল উইন্ডো সেটিংস ছাড়া তালিকাভুক্ত করা যাবে binমধ্যে %USERPROFILE%\AppData\Local\lxss\rootfs\usrযে বেশী হিসাবে একই WindowsExplorer মাধ্যমে উপলব্ধ sbin

কমান্ডগুলি icacls.exe binএবং এর icacls.exe sbinমধ্যে %USERPROFILE%\AppData\Local\lxss\rootfs\usrহুবহু একই উত্তর দেওয়া হয় (প্রথম শব্দটি যা এর binজন্য binএবং তার sbinজন্য sbin)। সুতরাং এটি অতিরিক্ত গুণাবলী সম্পর্কিত বলে মনে হয় না। কমান্ডগুলিও icacls.exe bin /verifyএবং icacls.exe sbin /verifyকোনও ত্রুটি নির্দেশ করে না।

উবুন্টু (আমি জানি না) এর কোনও সুরক্ষা-সম্পর্কিত বৈশিষ্ট্য রয়েছে যা আমাকে এর ডিরেক্টরি সামগ্রীর তালিকাতে বাধা দেয় /usr/bin? (সেক্ষেত্রে এটি তালিকাবদ্ধকরণ নিষিদ্ধ না করলে এটি আশ্চর্যজনক হবে /usr/sbin))


এটা কি আউটপুট ls -ld /এবং ls -ld /usr?
গিয়াকোমো ক্যাটেনাজি

@ জিয়াকোমো কেটেনাজি আমি এই দুজনকে তালিকায় যুক্ত করেছি। সেখানে অবাক হওয়ার মতো কিছু নেই।
টোবিয়াস

সুতরাং এটি অতিরিক্ত গুণাবলীর কারণে বলে মনে হচ্ছে, উদাহরণস্বরূপ দেখুন টেকনেট.মাইক্রোসফট.ইন
গিয়াকোমো ক্যাটেনাজি

@ গিয়াকোমো কেটেনাজি কমান্ডগুলি icacls.exe binএবং icacls.exe sbinঠিক একই উত্তর দেয় (প্রথম শব্দটি যা এর binজন্য binএবং তার sbinজন্য sbin)। সুতরাং এটি অতিরিক্ত গুণাবলী সম্পর্কিত বলে মনে হয় না। এটা কি সঠিক? বা আরও তথ্যের জন্য কিছু নিফটি কৌশল আছে? icacls.exe bin /verifyএবং icacls.exe sbin /verifyকোনও ত্রুটি আউটপুট দেয় না।
টোবিয়াস

@ জিয়াকোমো কেটেনাজি আমি উইন্ডোজের (যেমন, উইন্ডোজএক্সপ্লোরার বা পাওয়ারশেল বা ) সমস্যা ছাড়াই bin(এবং sbin) এর বিষয়বস্তু তালিকাভুক্ত করতে পারিdir binls bin
টোবিয়াস

উত্তর:


0

এটি দেখতে অনেকটা অনুমতি সমস্যার মতো দেখাচ্ছে like

যেহেতু আপনি যাচাই করেছেন যে সমস্যাটি উইন্ডোজের নয়, তবে এই সমস্যাটি ডাব্লুএসএল অভ্যন্তরীণ সেটিংসের সাথে রয়েছে, যেখানে এটি লিনাক্সের অনুমতিগুলি যা এমনিতে উইন্ডোজে অস্তিত্ব নেই তা অনুকরণ করে।

আমি জানি না যে ডাব্লুএসএল তার লিনাক্সের অনুমতিগুলির অনুকরণটি কীভাবে করে। এটি যদি এসিএল এর উইন্ডোজ প্রক্রিয়া ব্যবহার করে তবে আপনি সেগুলি দ্বারা পুনরায় সেট করতে পারেন:

icacls %localappdata%\lxss /reset /T /C

যদি এটি সহায়তা না করে এবং এই অনুমতিগুলি কীভাবে প্রয়োগ করা হয় সে সম্পর্কে আরও ভাল জ্ঞান ছাড়াই, আমি WSL পুনরায় ইনস্টল করার পরামর্শ দেব:

  1. আপনার ডেটা ব্যাকআপ করুন

  2. উবুন্টু পরিবেশটি আনইনস্টল করুন তবে আপনার হোম ফোল্ডারটি রাখুন, তারপরে কমান্ডগুলি ব্যবহার করে ডাব্লুএসএল পুনরায় ইনস্টল করুন:

    lxrun /uninstall
    lxrun /install
    
  3. এটি যদি সহায়তা না করে তবে আপনার বাড়ির ফোল্ডারটি সরিয়ে সহ উবুন্টু পরিবেশটি পুরোপুরি পুনরায় ইনস্টল করুন:

    lxrun /uninstall /full
    lxrun /install
    

উপরের দুটি কমান্ডের মধ্যে, ফোল্ডারটি %localappdata%\lxssখালি আছে তা পরীক্ষা করুন । যদি তা না হয় তবে এর সামগ্রীগুলি অস্থায়ী সঞ্চয়স্থানে সরিয়ে দিন এবং আর প্রয়োজন নেই পরে মুছুন।


Lxrun এখন অবহেলিত।
বিশ্বপরিयो

@ বিসওয়া: এটি আসন্ন উইন্ডোজ 16215 বিল্ডের জন্য। Lxrun হ'ল বর্তমান পদ্ধতি এবং সম্ভবত বেশ কিছু সময়ের জন্য উপলভ্য থাকবে।
harrymc

0

সাইগউইনের অধীনে কোনও অনুমতি সমস্যা নেই $HOME/AppData/Local/lxss/rootfs/usr/binএবং আমি সাইগউইনের অধীনে ডাব্লুএসএল এর খেলার মাঠের ফোল্ডারগুলির সাথে কিছু পরীক্ষা করেছি। যা আমাকে নীচের সমাধানে নিয়ে যায়।

সাইগউইনের ব্যাশে আমি $HOME/AppData/Local/lxss/rootfs/usrনিম্নলিখিত কমান্ডটিতে গিয়ে চালিত হয়েছি :

find bin -mindepth 1 -maxdepth 1 -printf "cp -a %p fix/%p\n" > /temp/fix.sh

এটি /temp/fix.shএকটি ফোল্ডারে একটি স্ক্রিপ্ট তৈরি /tempকরেছে যা প্রতীকী লিঙ্কগুলির মাধ্যমে সাইগউইন এবং ডাব্লুএসএল এর মধ্যে ভাগ করা আছে।

ইন wbashআমি গিয়েছিলাম /usr/, ফোল্ডার তৈরি করা fixএবং fix/bin, স্ক্রিপ্ট চালানোর জন্য, এবং ডিরেক্টরির সরানো fix/binকরতে bin-fix

cd /usr
mkdir -p fix/bin
. /temp/fix.sh
mv fix/bin bin-fix

এর মাধ্যমে, wbashআমাকে বলেছিল যে এটির জন্য অনুমতি সমস্যা ছিল bin/head। ঠিক আছে, আমি এটি গ্রহণ করেছি এবং coreutilsএই পদ্ধতির শেষ ধাপ হিসাবে পুনরায় ইনস্টল করেছি (নীচে দেখুন)। এরপরে আমি সমস্ত wbashঅ্যাপ্লিকেশন এবং wbashনিজেই বন্ধ করে দিয়ে আবার সাইগউইনে চলে গেলাম যেখানে usrফোল্ডারটি এখনও খোলা ছিল।

সেখানে আমি সরানো binউপায় এবং পুনরায় নামে আউট bin-fixকরার bin

mv bin bin.old
mv bin-fix bin

আমি পুনরায় শুরু wbashএবং voilo সবকিছু ঠিকঠাক চলে এবং ls /usr/binকাজ করে।

আমি ইতিমধ্যে উপরে উল্লিখিত হিসাবে আমি coreutilsএকটি শেষ পদক্ষেপ হিসাবে আবার ইনস্টল :

sudo aptitude reinstall coreutils
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.