লিনাক্সে সুডো কমান্ডের সাহায্যে শেল স্ক্রিপ্টগুলি কীভাবে চালানো যায়


সুরডো একটি শক্তিশালী কমান্ড লাইন সরঞ্জাম যা সুরক্ষার নীতি দ্বারা নির্ধারিত হিসাবে একটি "অনুমোদিত ব্যবহারকারী" কে অন্য ব্যবহারকারী (ডিফল্টরূপে সুপারিউসার) হিসাবে কমান্ড চালাতে সক্ষম করে। সমস্ত লিনাক্স সিস্টেম না হলেও বেশিরভাগ ক্ষেত্রে, সুরক্ষা নীতি/etc/sudoers ফাইল দ্বারা চালিত হয়।

সুতরাং, শেল স্ক্রিপ্ট বা প্রোগ্রামটিকে রুট হিসাবে চালনা করতে আপনার sudo কমান্ড ব্যবহার করতে হবে। তবে, সুডো কেবলমাত্র কমান্ডগুলিকে স্বীকৃতি দেয় এবং চালায় যেগুলি/etc/sudoers এর নিরাপদ_পথের মধ্যে নির্দিষ্ট ডিরেক্টরিগুলিতে উপস্থিত রয়েছে, যদি না কোনও কমান্ড নিরাপদ_পথে উপস্থিত না থাকে, আপনি নীচের মত একটি ত্রুটি প্রতিহত করবেন।

স্ক্রিপ্টটি PATH এনভায়রনমেন্টাল ভেরিয়েবলের কোনও ডিরেক্টরিতে উপস্থিত থাকলেও এটি ঘটবে, কারণ যখন কোনও ব্যবহারকারী sudo ডাকে, PATH নিরাপদ_পথ দ্বারা প্রতিস্থাপন করা হয়।

$ echo  $PATH
$ ls  -l
$ sudo proconport.sh 80

উপরের দৃশ্যে, ডিরেক্টরি/হোম/অ্যারোনকিলিক/বিনটি প্যাথ পরিবেশ পরিবর্তনশীলে রয়েছে এবং আমরা /home/aaronkilik/bin/proconport.sh স্ক্রিপ্টটি চালানোর চেষ্টা করছি (কোনও বন্দরে শোনার প্রক্রিয়াটি খুঁজে পেয়েছি) রুট সুবিধাগুলি সহ।

তারপরে আমরা "sudo: proconport.sh: কমান্ড খুঁজে পাইনি" ত্রুটির মুখোমুখি হয়েছি, যেহেতু/home/aaronkilik/bin পরের স্ক্রিনশটে দেখানো হয়েছে sudo নিরাপদ_পথে নেই।

এটি ঠিক করার জন্য, আমাদের নিম্নোক্তভাবে/etc/sudoers ফাইল সম্পাদনা করে ভিজুডো কমান্ড ব্যবহার করে sudo Safe_path এ আমাদের স্ক্রিপ্টগুলি যুক্ত ডিরেক্টরি যুক্ত করতে হবে।

$ sudo visudo

মনোযোগ দিন: বিশেষত ইন্টারনেটে চলমান সার্ভারগুলিতে এই পদ্ধতির গুরুতর সুরক্ষা জড়িত। এইভাবে, আমরা আমাদের সিস্টেমে বিভিন্ন আক্রমণে আক্রান্ত হওয়ার ঝুঁকি নিয়ে থাকি কারণ যে আক্রমণকারী যিনি নিরাপদ_প্যাথে যুক্ত করা হয়েছে এমন কোনও অনিরাপদ (সুপারিউজার সুবিধা ছাড়াই) ডিরেক্টরিটিতে অ্যাক্সেস অর্জন করতে সক্ষম হন, তিনি sudo কমান্ড সহ একটি দূষিত স্ক্রিপ্ট/প্রোগ্রাম চালাতে পারেন।

সুরক্ষার কারণে, sudo ওয়েবসাইট থেকে নিম্নলিখিত নিবন্ধটি দেখুন: নিরাপদ_পথ সম্পর্কিত একটি দুর্বলতার বর্ণনা দিয়েছে: https://www.sudo.ws/sudo/alerts/secure_path.html

অগ্রাধিকার হিসাবে, আমরা কোনও স্ক্রিপ্টটিকে sudo দিয়ে চালানোর সময় পরম পথটি সরবরাহ করতে পারি:

$ sudo ./proconport.sh 80

এটাই! আপনি sudo কমান্ড সম্পর্কে নিবন্ধগুলির তালিকা অনুসরণ করতে পারেন:

  1. লিনাক্সে কোনও পাসওয়ার্ড প্রবেশ না করে কীভাবে ‘sudo’ কমান্ড চালানো যায়
  2. লিনাক্সে কীভাবে ‘সুডো’ পাসওয়ার্ড টাইমআউট সেশন দীর্ঘ রাখতে হবে
  3. কীভাবে ঠিক করবেন "ব্যবহারকারীর নাম sudoers ফাইলের মধ্যে নেই। উবুন্টু
  4. এ এই ঘটনার খবর দেওয়া হবে
  5. আপনি ভুল পাসওয়ার্ড লিখলে সুডো আপনাকে অপমান করতে দিন

এই নিবন্ধটি সম্পর্কে আপনার যদি কোনও প্রশ্ন বা চিন্তা থাকে তবে নীচের মন্তব্য ফর্মের মাধ্যমে আমাদের সাথে ভাগ করুন।