"Chmod 1777" এবং "chmod 3777" উভয় কেন স্টিকি বিট সেট করে?


15

কোনও ডিরেক্টরিতে স্টিকি বিট সেট করতে, আদেশগুলি chmod 1777এবং chmod 3777উভয়ই কেন কাজ করে?


2
আপনি একটি সম্ভাব্য ঝুঁকিপূর্ণ অপারেশনের প্রস্তাব করছেন all সকলের জন্য স্টিকি বিট এবং rwx অনুমতিগুলির সংমিশ্রণটি খারাপ অভ্যাস। যে কেউ ফাইলটি পরিবর্তন ও সম্পাদন করতে পারে এবং এস-বিটটি পাসওয়ার্ড ছাড়াই রুট ব্যবহারকারীকে স্যুইচ করতে দেয়।
জিপ্পি

1
@ জিপি সেটুড এবং সেটগিড বিটগুলি ফাইলটি সংশোধন করা হলে চলে যায়, সুতরাং আপনি সেভাবে রুট অ্যাক্সেস পেতে পারবেন না।
কাইল জোন্স

@ কাইলজোনস, এটি এখনও বিপজ্জনক। তাহলে passwdবাইনারি বিশ্ব লিখনযোগ্য ছিল তবে আপনি আপনার বলে, এটা পরিবর্তন করে রুট অ্যাক্সেস পেতে পারব না, কিন্তু আপনি পারে অন্য কিছু বাইনারি সঙ্গে এটি প্রতিস্থাপন সবাই তারপরে চালানোর হবে, চিন্তা এটি ছিল passwd
ওয়াইল্ডকার্ড

@ উইল্ডকার্ড একমত
কাইল জোন্স

উত্তর:


29

এই গোষ্ঠীভঙ্গিতে প্রতিটি সংখ্যা (অষ্টাল হিসাবেও পরিচিত কারণ এটি বেস 8) 3 টি বিট উপস্থাপন করে। আপনি যদি এটি বাইনারি রূপান্তর করেন তবে এটি অনেক সহজ করে তোলে।

1 = 0 0 1
3 = 0 1 1
5 = 1 0 1
7 = 1 1 1

সুতরাং আপনি যদি 1777, 3777, 5777, বা 7777 করেন তবে আপনি স্টিকি বিট সেট করবেন কারণ তৃতীয় কলামটি 1 হবে However তবে, 3777, 5777 এবং 7777 এর সাথে আপনি অতিরিক্ত বিট সেট করছেন (প্রথম কলামের জন্য এসআইডি এবং দ্বিতীয় কলামের জন্য এসজিআইডি)।

বিপরীতভাবে, spot স্পটের অন্য কোনও সংখ্যা (সর্বাধিক 7 অবধি) স্টিকি বিট সেট করবে না কারণ শেষ কলামটি 1 বা "চালু" হবে না।

2 = 0 1 0
4 = 1 0 0
6 = 1 1 0


3
অষ্টাল সংখ্যাগুলি কীভাবে কাজ করে এবং ফাইল অনুমতি বিটের ক্ষেত্রে এটি কীভাবে প্রয়োগ হয় তার একটি দুর্দান্ত বিবরণের জন্য +1।
একটি সিভিএন

1
এটি "বিটমাস্ক" নামে পরিচিত এবং এটি কীভাবে সেট করতে পারে তা ব্যাখ্যা করার জন্য এবং clearমালিক গ্রুপ এবং অন্যান্য কলামগুলি +1 করে ।
ক্রিস কে

16

Chmod এ আর্গুমেন্ট হিসাবে পাস করা অনুমতিগুলি অষ্টাল মান হিসাবে নির্দিষ্ট করা হয়। মানটির প্রতিটি সংখ্যা তিনটি বিট উপস্থাপন করে। যদি তিনটি সংখ্যা দেওয়া হয়, আপনি ফাইলের মালিক, গোষ্ঠী এবং অন্যদের জন্য (বাকি সবাই) বিট পড়ুন, লিখুন এবং সম্পাদন করুন setting যদি চারটি সংখ্যা দেওয়া হয়, তবে বামতম সংখ্যাটি সেটুইড, সেটজিড এবং স্টিকি বিট সেট করে। অক্টোটাল 1 স্টিকি বিট সেট করে। অক্টাল 2 সেটগ্রিড বিট সেট করে। অক্টাল 2 + ​​অষ্টাল 1টি অক্টাল 3 যা সেটগ্রিড বিট এবং স্টিকি বিট উভয়ই সেট করে।


1
এটি কি অষ্টাল 2 | অষ্টাল 1 এর চেয়ে অষ্টাল 2 + ​​অষ্টাল 1? এই ক্ষেত্রে অপারেশনগুলির একই ফলাফল হতে পারে, তবে সাধারণভাবে এটি কিছুটা দিক বা এটি গুরুত্বপূর্ণ, তাই না?
অঙ্কুরিত

1
@gerrit হ্যাঁ, সাধারণ ক্ষেত্রে আপনাকে binary orঅপারেটরের দিকে তাকাতে হবে । তবে, আপনি যেমন উল্লেখ করেছেন, এক্ষেত্রে এটি একই ফলাফলের জন্য কাজ করে এবং আরও অনেক লোক সংযোজন সম্পর্কে পরিচিত with
একটি সিভিএন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.