কেন আমি পড়ার অনুমতি নিয়ে একটি ডিরেক্টরি তালিকা করতে পারি না?


14

আমি এর ভিতরে একটি ডিরেক্টরি dএবং একটি ফাইল তৈরি fকরেছি। আমি তখন নিজেকে কেবল সেই ডিরেক্টরিতে পড়ার অনুমতি দিয়েছিলাম। আমি বুঝতে পেরেছি এর অর্থ এই হওয়া উচিত যে আমি ফাইলগুলি তালিকাবদ্ধ করতে পারি (যেমন এখানে ), তবে আমি পারি না can't

will@wrmpb /p/t/permissions> ls -al
total 0
drwxr-xr-x   3 will  wheel  102  4 Oct 08:30 .
drwxrwxrwt  16 root  wheel  544  4 Oct 08:30 ..
dr--------   3 will  wheel  102  4 Oct 08:42 d
will@wrmpb /p/t/permissions> ls d
will@wrmpb /p/t/permissions>

যদি আমি লিখতে এবং সম্পাদন করার অনুমতিগুলি পরিবর্তন করি তবে আমি ফাইলটি দেখতে পাচ্ছি।

will@wrmpb /p/t/permissions> chmod 500 d
will@wrmpb /p/t/permissions> ls d
f
will@wrmpb /p/t/permissions> 

কেন? আমি ম্যাকস ব্যবহার করছি।

সম্পাদনা করুন: @ সিকর্নের উত্তরের প্রসঙ্গে, এটি প্রাসঙ্গিক যে আমি মাছ ব্যবহার করছি এবং type lsনিম্নলিখিতটি দিচ্ছি :

will@wrmpb /p/t/permissions> type ls
ls is a function with definition
function ls --description 'List contents of directory'
    command ls -G $argv
end

সদৃশ প্রশ্নের উত্তর দেয় না। এর থেকে বোঝা যায় যে আমি যে জিনিসটি প্রদর্শন করতে পারি তা আপনি করতে পারেন না। @ স্কারনের উত্তর নিখুঁত।
wrgrs

বাহ, ফিশ জিনিসটি (প্রাথমিকভাবে) হারিয়ে যাওয়া তথ্যের একটি গুরুত্বপূর্ণ অংশ।
স্টিফেন কিট

হ্যাঁ আপনি ঠিক বলেছেন, আমার এটি যুক্ত করা উচিত ছিল, তবে মনে হচ্ছে একই জিনিসটি যদি বাশের মধ্যে ঘটে তবে alias ls='ls -G'আমার মনে হয় যে অনেক লোক তা করে।
wrgrs 16

আমার জন্য না। আপনি ম্যাকোজে আছেন? এখানে আরও একটি প্রশ্ন আছে। সম্পাদনা: হ্যাঁ, আমি লিনাক্সে ভিন্ন আচরণ পাই।
wrgrs 16

উত্তর:


8

কিছু প্রস্তুতি, কেবল এটি নিশ্চিত করার lsচেয়ে বেশি কিছু চেষ্টা না করে তা নিশ্চিত করার জন্য :

$ unalias ls 2>/dev/null
$ unset -f ls
$ unset CLICOLOR

এর বিক্ষোভের rডিরেক্টরির অনুমতি:

$ ls -ld d
dr--------  3 ccorn  ccorn  102  4 Okt 14:35 d
$ ls d
f
$ ls -l d
ls: f: Permission denied
$ ls -F d
ls: f: Permission denied

Traditionalতিহ্যবাহী ইউনিক্স ফাইল সিস্টেমগুলিতে একটি ডিরেক্টরি কেবল (নাম, ইনোড নম্বর) জোড়গুলির তালিকা ছিল। একটি ইনোড নম্বর হ'ল একটি পূর্ণসংখ্যা যা ফাইল সিস্টেমের ইনোড টেবিলের সূচক হিসাবে ব্যবহৃত হয় যেখানে বাকী ফাইল মেটাডেটা সংরক্ষণ করা হয়।

rএকটি ডিরেক্টরি অনুমতি করার অনুমতি দেয় তালিকা ফাইল টাইপ, ফাইল দৈর্ঘ্য, ফাইল অনুমতি ইত্যাদি পেয়ে, বা ফাইলটি খোলার, এটা নাম, কিন্তু অ্যাক্সেস করতে inode টেবিল যে সঞ্চিত তথ্য। তার জন্য xআপনার ডিরেক্টরিতে অনুমতি দরকার ।

এই জন্যই ls -l, ls -F, lsসঙ্গে রঙ-কোডেড আউটপুট ইত্যাদি ছাড়া ব্যর্থ xঅনুমতি একটি নিছক যেহেতু lsসফল।

xঅনুমতি একা, inode অ্যাক্সেস, যে, যে ডিরেক্টরির মধ্যে একটি সুনির্দিষ্ট নাম দেওয়া পারবেন xতার inode এবং যে ডিরেক্টরি এন্ট্রি মেটাডাটা এক্সেস সন্ধান করার অনুমতি দেয়:

$ chmod 100 d
$ ls -l d/f
-rw-r--r--  1 ccorn  ccorn  0  4 Okt 14:35 d/f
$ ls d
ls: d: Permission denied

অতএব, একটি ফাইল খোলার /a/b/c/fবা তার মেটাডাটা, ডিরেক্টরি তালিকা /, /a, /a/b, এবং /a/b/cপ্রদান করা আবশ্যক xঅনুমতি নেই।

আশ্চর্যজনকভাবে, ডিরেক্টরি এন্ট্রি তৈরি করতে উভয়ই অনুমতি wএবং xঅনুমতি প্রয়োজন:

$ chmod 100 d
$ touch d/g
touch: d/g: Permission denied
$ chmod 200 d
$ touch d/g
touch: d/g: Permission denied
$ chmod 300 d
$ touch d/g
$

উইকিপিডিয়ায় কোনো নিবন্ধ একটি সংক্ষিপ্ত হয়েছে ফাইল সিস্টেম অনুমতি


অ্যামেজিং। /bin/ls dআমার জন্য বিষয়বস্তু দেখায়। ধন্যবাদ!
wrgrs

ঠিক আছে, সুতরাং এটি একটি পুনরায় সংজ্ঞা সমস্যা ছিল ( -Gবর্ণযুক্ত আউটপুট সহ, যার জন্য মেটাডেটা প্রয়োজন, সুতরাং xপারমস)। সুতরাং unalias lsএবং সাথে আমার প্রস্তুতি unset CLICOLOR। এই unset -f lsজাতীয় কোনও ফাংশন সংজ্ঞাও মুছে ফেলার জন্য আমার যুক্ত করা উচিত ছিল। সম্পাদনা করা হয়েছে।
ccorn


4

ডিরেক্টরি পড়তে আপনাকে এটিকে (এক্স বিট) প্রবেশ করতেও সক্ষম হতে হবে। সুতরাং, কোনও ডিরেক্টরি যে কোনও উপায়ে অ্যাক্সেস করতে সক্ষম হতে আপনাকে সর্বনিম্ন কমপক্ষে আপনার আরএক্স প্রয়োজন।


2
না, আপনি না; lsএখনো করতে সক্ষম হওয়া উচিত তালিকা , ডিরেক্টরির মধ্যে ফাইল এমনকি যদি ডিরেক্টরির এক্সিকিউটেবল নয়।
স্টিফেন কিট

আপনি পঠন অনুমতি বন্ধ করতে পারেন। এরপরে আপনি ফাইলগুলি অ্যাক্সেস করতে সক্ষম হবেন তবে ডিরেক্টরিটির বিষয়বস্তু তালিকাবদ্ধ করতে পারবেন না।
কুসালানন্দ

@ কুসালানন্দ - ভাল কথা, আমি সময় সময় এটি ব্যবহার করি।
Soruk

@ স্টেফেন কিট - সম্ভবত এটি হওয়া উচিত, তবে বাস্তবায়ন হ'ল এটি হয় না।
Soruk

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