অনুমতিগুলি সঠিক হলেও সত্ত্বেও একটি ডিরেক্টরিতে সিডিতে অনুমতি অস্বীকার


13

এটি এত জঘন্য। একটি ls -lahশো করে একটি ব্যবহারকারী 'জি' হিসাবে একটি লিনাক্স (আরএইচইএল) বাক্সে লগ ইন করেছেন

drwxrwxrwx 6 g    g    4.0K Jun 23 13:27 .
drwxrw-r-x 6 root root 4.0K Jun 23 13:15 ..
-rwxrw---- 1 g    g     678 Jun 23 13:26 .bash_history
-rwxrw---- 1 g    g      33 Jun 23 13:15 .bash_logout
-rwxrw---- 1 g    g     176 Jun 23 13:15 .bash_profile
-rwxrw---- 1 g    g     124 Jun 23 13:15 .bashrc
drw-r----- 2 g    g    4.0K Jun 23 13:25 .ssh

দলের ব্যবহারকারী 'ছ' সুতরাং 'ছ' / / পড়া এবং .ssh নির্দেশিকাতে লেখার করতে সক্ষম হওয়া উচিত কিন্তু যদি আমি কি ls -lah .ssh/আমি পেতে ls: .ssh/: Permission denied। আমি যদি চেষ্টা করি এবং catডিরেক্টরিতে কোনও ফাইল রাখি তবে অনুমতিও বঞ্চিত হব

যদি আমি রুট হিসাবে গিয়ে অনুমতি পরিবর্তন 700, 744, 766যতদিন কিছু 'ব্যবহারকারী' অনুমতি যেমন 7 এটি কাজ করে এবং আমি যা করতে পারেন সিডি এবং নির্মিত LS ডিরেক্টরি ও ফাইল মধ্যে।

id g আয়

uid=504(g) gid=506(g) groups=506(g)

সম্পাদনা:

আমি এই অনুমতিগুলি অন্য একটি অভিন্ন বক্সে ঠিক অনুলিপি করেছি এবং কোনও সমস্যা নেই। cdঅনুমতি ছাড়াই আমি একটি ডিরেক্টরিতে প্রবেশ করতে পারি ।

উত্তর:


29

ডিরেক্টরি হবে আপনি এটা প্রবেশ করার জন্য, যাতে চালানো বিট সেট প্রয়োজন। আপনি কী পরীক্ষা করেছেন তা আমি জানি না, তবে আপনি এক্সিকিউট বিট ব্যতীত কোনও ডিরেক্টরিতে প্রবেশ করতে পারবেন না বা এতে ফাইলগুলি পড়তে পারবেন না:

$ mkdir foo
$ echo "baz" > foo/bar
$ chmod 660 foo
$ cd foo
bash: cd: foo: Permission denied
$ cat foo/bar
cat: foo/bar: Permission denied

এটি হ'ল যদি না আপনার প্রক্রিয়ায় CAP_DAC_OVERRIDE পসিক্স সক্ষমতার সেট থাকে (যেমন রুটটি থাকে), যা আপনাকে এক্সিকিউটেবল বিট সেট ছাড়াই ডিরেক্টরিতে প্রবেশ করতে দেয়, iirc।

মূলত, আপনার নিরাপদে থাকার জন্য আপনাকে .sh ডিরেক্টরিটি 700 এ এবং এর সবকিছুতে 600 এ রাখার চেষ্টা করা উচিত। Ssh ম্যান পৃষ্ঠা ownership / .ssh এ ফাইলগুলির জন্য প্রয়োজনীয় মালিকানা এবং অনুমতি মোডের প্রতি ফাইল নির্দেশাবলী দেয়।


17

একটি ডিরেক্টরিতে এটি চালানোর জন্য অনুমতি কার্যকর করতে cdহবে। এটি এমন আচরণ যা প্রত্যাশিত।


তবে আমি catএকই অনুমতি সহ ডিরেক্টরিতে কোনও ফাইলও রাখতে পারি না , তাদের পড়ার জন্য
সম্পাদনের অনুমতিের

4
কোনও ডিরেক্টরিতে কোনও অ্যাক্সেস পাওয়ার জন্য আপনাকে ডিরেক্টরিতে অনুমতিগুলি প্রয়োগ করতে হবে ute এই উত্তরটি সঠিক।
এইটবিটটনি

1
@samarudge xআপনাকে সেই ডিরেক্টরিতে "থাকতে" অনুমতি দেওয়ার জন্য একটি ডিরেক্টরি বিবেচনা করুন। এটি ছাড়া আপনি ডিরেক্টরিতে সিডি করতে পারবেন না, আপনি ডিরেক্টরিতে কী দেখতে পাচ্ছেন না, আপনি ডিরেক্টরিতে কী খুলতে পারবেন না। লাইব্রেরিতে থাকার অনুমতি না থাকলে আপনি সেখানে বই পড়তে পারবেন না।
ডায়ালফেকে

আমি যদি ডিরেক্টরিটিতে (এক্সিকিউটিভের 744 ডিরেক্টরিতে, ভিতরে থাকা ফাইলগুলিতে 644) এক্সিকিউট করার অনুমতি যুক্ত করি তবে আমি এসএসএইচডি থেকে একটি ত্রুটি পেয়েছি যাতে .ssh ডিরেক্টরিটির অনুমতিগুলি অবশ্যই 644 বা তার চেয়ে কম হওয়া উচিত। তবে 64৪৪ হিসাবে অনুমতি নিয়ে এটি বলে যে এটি .ssh / अधिकृत_কিগুলি অ্যাক্সেস করতে পারে না
স্মুড

* এটি বিশেষত '.ssh / ডিরেক্টরি' বলে না ফাইলগুলি
স্মুড

2

কোনও ডিরেক্টরিতে এলএস বা সিডি করার জন্য, আপনাকে অনুমতিগুলি কার্যকর করতে হবে। আপনার কাছে না থাকলেও আপনি প্রকৃতপক্ষে সামগ্রীটি পরীক্ষা করতে পারবেন না এবং ভিতরে থাকা ফাইলগুলির অনুমতিগুলি দেখতে পারবেন না, তাই সম্ভবত ফাইলের অনুমতিগুলি নিজেরাই ভুল, যদি আপনি সেগুলি নাও রাখতে পারেন।

700 এর ডিরেক্টরি অনুমতি এবং ফাইল অনুমতি 644 আমার জন্য পুরোপুরি ঠিক আছে সেটআপ।


ফাইলগুলির অনুমতিগুলি 644হ'ল, ফাইলগুলির মালিক g: g তাই ফাইলগুলির অনুমতিগুলি সঠিক। আমি যদি ডিরেক্টরিটিতে এসএসএইচডি এক্সিকিউটিভ অনুমতিগুলি যুক্ত করি তবে আমাকে অনুমতিগুলি 64৪৪ বা
তারও

সানির মন্তব্য সঠিক - নিচে কিছুটা কঠোর ভোট দিন
অ্যান্ডি

0

আমি এটি এখন এটি একটি ssh ফাইল সমস্যা? একটি সাধারণ chmod সমস্যা না?

যদি তাই চেষ্টা করুন

$chmod go-w ~/
$chmod 700 ~/.ssh
$chmod 600 ~/.ssh/*
$chmod 600 ~/.ssh/.*

আরেকটি সমস্যা, মাউন্ট পয়েন্ট হতে পারে, এটি অন্য কোথাও, সিআইএফএস, এনএফএস থেকে মাউন্ট করা যেতে পারে?
অ্যান্ডি

0

ডিরেক্টরিগুলির জন্য খোলার জন্য এক্স বিট সেট (ডিরেক্টরিটির জন্য বিটটি সন্ধান বিট হিসাবে দেখা যায়) প্রয়োজন। তাই আমি গাছ ব্যবহার করি যাতে আমি কেবল ফোল্ডার সেট পেতে পারি এবং সমস্ত ফাইলকে এক্সিকিউটেবল হিসাবে সেট করার দুঃস্বপ্ন এড়াতে পারি (গাছের বিকল্পটি হ'ল -d List directories only.):

sudo tree -faid here_goes_your_directory xargs -L1 -I{} sudo chmod 755  "{}"

সতর্কতা !!! আপনার এই বিবেচনার মধ্যে থাকা উচিত:

  • রুট /ডিরেক্টরি বা সিস্টেম ডিরেক্টরিতে chmod বা chown recursive ব্যবহার করা আপনার ওএসকে ধ্বংস করে দেবে ( /ডিরেক্টরি বা সিস্টেম ডিরেক্টরিতে আসলে পুনরাবৃত্তি হওয়া বিপদজনক)

  • এটির মতো অনুমতির পরিমাণ নির্ধারণের জন্য এটি কোনও সুরক্ষা অনুশীলন নয়

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