আরএইচইএল-তে ডিরেক্টরিগুলি মাউন্ট করার সময় নক্সেক্স পতাকাটি কী বোঝায়?


11

মাউন্ট করার সময় আমি নক্সেক্স পতাকাটি বোঝার চেষ্টা করছি।

এলসি মেশিনে আমি / টিএমপি ডিরেক্টরিতে একটি এক্সিকিউশন ইস্যুটি করছি যা আমি এটিএম অ্যাক্সেস করতে পারছি না যেখানে / tmp ডিরেক্টরিটি '/' এর চেয়ে আলাদা ড্রাইভের উপরে মাউন্ট করা আছে এবং NOEXEC উপস্থিত রয়েছে। আমি আমার মেশিনে এই দৃশ্যটি চেষ্টা করতে এবং পুনরায় তৈরি করতে চেয়েছিলাম, তবে আমার কাছে দ্বিতীয় হার্ড ড্রাইভ নেই। আমি নিম্নলিখিত আদেশটি করার চেষ্টা করেছি:

mount --bind /test1 /test2

আমি তখন bindপতাকাটি সরিয়ে NOEXEC/ / etc / fstab এ যুক্ত করেছি। তারপরে, আমি টেস্ট.শ নামে একটি ফাইল তৈরি করেছি যেখানে এটি 'হ্যালো ওয়ার্ল্ড' প্রতিধ্বনি করে। আমি চেষ্টা করে এটি চালাব এবং এটি বলেছিল 'অনুমতি অস্বীকৃত'। আমি তখন দৌড়ে এসেছি chmod 777 test.shএবং ফাইলটি ঠিকঠাকভাবে চালাতে সক্ষম হয়েছি। আমি ভেবেছিলাম যে নক্সেক্স পতাকাটি আমাকে কিছু চালানোর অনুমতি দেবে না?

mount --bind /test1 /test2সম্পূর্ণ ভিন্ন শারীরিক ড্রাইভ থেকে মাউন্ট হিসাবে একই নয় কি ? / টেস্ট 1 এবং / টেস্ট 2-তে যেমন বিভিন্ন ড্রাইভ রয়েছে?


আমি সন্দেহ করি আপনি বাইন্ড মাউন্টের কিছু অদ্ভুততার শিকার হতে পারেন। এই উত্তর দেখুন ।
কামিল ম্যাকিয়েরোভস্কি

উত্তর:


7

mountকমান্ডের বিকল্প 'NOEXEC' পতাকাটি মাউন্ট করা ফাইল সিস্টেম 1-তে এক্সিকিউটেবল বাইনারিগুলি কার্যকর করার অনুমতি দেয় না । যাইহোক, যখন কোনও স্ক্রিপ্ট (একটি টেক্সট ফাইল যা সে-ব্যাং লাইন দিয়ে শুরু হয়; অর্থাত্ একটি লাইন যা দিয়ে শুরু হয় #!) কিছু শেল (বাশ) দেওয়া হয়, এটি সেই লাইনের (যেমন, /usr/bin/perl) নামযুক্ত এক্সিকিউটেবল চালাবে এবং পাস করবে প্রথম আর্গুমেন্ট হিসাবে শেল স্ক্রিপ্টের পাথ। প্রকৃত দোভাষীটি সেই মাউন্টপয়েন্টে থাকতে পারে না।
__________
1mount কমান্ড সাধারণত মাউন্ট ফাইল সিস্টেম । (তর্কযুক্তভাবে, লুপ-ব্যাক বা bindমাউন্টগুলি এই সাধারণতার ব্যতিক্রম হিসাবে বিবেচিত হতে পারে)) কিছু ক্ষেত্রে (যেমন, /tmp) এই ফাইল সিস্টেমে কেবল একটি ডিরেক্টরি থাকবে।


সুতরাং, যদিও sh ফাইলটি / টেস্ট 2-তে থাকে তবে এটি / বিন / শ-এ চালানো হচ্ছে, / পরীক্ষা 2 নয়? অন্য মেশিনে, একটি জাভা প্রক্রিয়া রয়েছে যা / টিএমপি ডিরেক্টরিতে শেল স্ক্রিপ্ট লিখছে এবং সেগুলি সম্পাদন করে। আমি মনে করি এটির শেল স্ক্রিপ্টগুলি মনে আছে এটির #!/bin/shশীর্ষে রয়েছে has আমি জানি না শেল স্ক্রিপ্টটি জাভা এবং রেফারেন্সগুলি / বিন / শের মধ্যে দিয়ে যাওয়া ছাড়া অন্য কীভাবে কার্যকর করা হচ্ছে। যদি এটি / বিন / শ রেফারেন্স হয় এবং বিন ডিরেক্টরিটি বিশেষাধিকার কার্যকর করে থাকে তবে কেন শেল স্ক্রিপ্টগুলি আমার পরীক্ষায় যেমন সম্পাদন করবে?
user972276

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

এটি ভাবতে আসুন, আপনি যখন শেলটি ব্যবহার করেন তখন সিস্টেমটি # টি লক্ষ্য করে! লাইন, এবং অ্যাপ্লিকেশনড ইন্টারপিটারিটারকে কল করে (/ বিন / ব্যাশ / টেম্প / ফাইল / শ্যাশ), তবে জাভা বিট যদি কেবল (/tmp/file.sh) কল করে, এটি কার্যকর হবে না।
কেজে

জাভা দৃষ্টান্তটি / tmp ডিরেক্টরিতে নেই এবং শেল স্ক্রিপ্টগুলি সঠিকভাবে সম্পাদন করতে কোনও দোভাষী ব্যবহার করতে হবে? যদি না জাভা এটির কার্যকারিতা অনুযায়ী তৈরি করে থাকে, যার অর্থ ফাঁসীটি এখনও / tmp ডিরেক্টরিতে ঘটে না।
user972276

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