উত্তর:
আমি এটি কতটা খারাপ ধারণা তাতে প্রবেশ করব না; সহজ কথায় বলতে sudo
গেলে ক্রন্টব এ চালানোর জন্য আপনার পাসওয়ার্ডটি সরলরেখার কোথাও সংরক্ষণ করা দরকার।
এটি একটি খারাপ ধারণা।
ক্রোনের মাধ্যমে প্রশাসনিক কাজগুলি চালনার পছন্দের পদ্ধতিটি নীচে রয়েছে। যেহেতু আপনাকে sudo
রুটটির ক্রোনট্যাব সংশোধন করা হচ্ছে, তাই ক্রোনট্যাবটিতে আপনাকে সত্যিই লেখার দরকার নেই ।
নিম্নলিখিত কমান্ড চালান:
sudo crontab -e
এটি root
এর ক্রন্টব খুলেছে । sudo
এই প্রসঙ্গে আপনার কমান্ডটি চালানোর প্রয়োজন নেই, যেহেতু এটি root
যেভাবেই আহ্বান জানানো হবে ।
অতএব, আপনি কেবল রুটের ক্রন্টব এ নিম্নলিখিতগুলি যুক্ত করতে পারবেন।
@hourly rm somefile
এখন, আপনি যদি পুরোপুরি অনিরাপদ হতে চান এবং আপনার পাসওয়ার্ড নিয়ে ঝুঁকি নিতে চান তবে নীচেরগুলি আপনার নিজস্ব ক্রোনটাব থেকে আপনার আদেশটি পরিচালিত করবে এবং যখন অনুরোধ করবে তখন স্বয়ংক্রিয়ভাবে আপনার পাসওয়ার্ড প্রবেশ করবে sudo
।
আবার, এটি সুপারিশ করা হয় না ।
আপনার নিজস্ব ক্রোন্টাবটিতে, আপনার আদেশটি এভাবে লিখুন:
@hourly echo "password" | sudo -S rm somefile
এখানে স্পষ্ট অসুবিধাটি হ'ল, যে কেউ যদি কখনও আপনার ক্রোনটব অ্যাক্সেস করে তবে আপনার পাসওয়ার্ড সরলরেখায় পাঠযোগ্য হবে।
আপনার এটি করা উচিত নয়।
root
এর পরিবর্তে কেন ব্যবহারকারীর ক্রন্টব ব্যবহার করবেন /etc/crontab
?
sudoers
ফাইলে উপলভ্য সূক্ষ্মতাগুলি যেমন পাসওয়ার্ডের প্রয়োজনীয়তা ছাড়াই সুডো গোষ্ঠীগুলির উপর দৃষ্টিপাত করে।
আপনি যদি ক্রোন ডিরেক্টরিগুলির একটি ( /etc/cron.*
) থেকে স্ক্রিপ্টটি রেখে দিচ্ছেন তবে রুট হিসাবে চলমান অবস্থায় আপনাকে sudo ব্যবহার করার দরকার নেই।
যদি আপনি ক্রন্টব ব্যবহার করেন তবে আপনি রুটের ক্রন্টাব ব্যবহার করতে চাইবেন। এটি এটি রুট হিসাবে চালাবে এবং সুডোরও দরকার নেই।
sudo crontab -e
টার্মিনালে নিম্নলিখিত কমান্ড চালান
sudo visudo
ফাইলের শেষে নিম্নলিখিত লাইনটি যুক্ত করা হয়েছে:
vidyadhar ALL= NOPASSWD: /bin/rm
উপরের উদাহরণে বিদ্য্যাধর নামটি ব্যবহারকারীর নাম এবং যদি আপনি বিদ্যার মাধ্যমে আরএম কমান্ড চালাচ্ছেন তবে এটি পাসওয়ার্ড চাইবে না।
sudo rm -rf 'slash'
( সেই আদেশটি চালায় না ) যেমন ব্যবহারকারীর কাছ থেকে চালিত হয়, তার জন্য কোনও পাসওয়ার্ডের প্রয়োজন হবে না .. আমি জানি না, এটি নিরাপদ বোধ করে না, না?
vidyadhar ALL= NOPASSWD: /bin/rm somefile
আরও সুরক্ষিত হবে।
<username> ALL=(ALL) NOPASSWD: /home/<username>/bin/<script>
, যা অনেক বেশি নিরাপদ হবে।