রবিবার, ১৭ এপ্রিল, ২০১১

টার্মিনালঃ কী, কেন ও কিভাবে-৩য় পর্ব-SUDO

আগের পর্বঃ
টার্মিনাল সম্পর্কে ৫ পর্বের লেখার এই পর্বে আপনাদের বলব টার্মিনালের বিখ্যাত sudo কমান্ড সম্পর্কে।

sudo কমান্ড ও এর ব্যবহার
Super User Do এর শব্দ সংক্ষেপ হচ্ছে sudo। এই সুডোর মাধ্যমে সিস্টেম অ্যাডমিন কোন নির্দিষ্ট ইউজারকে (অথবা ইউজার গ্রুপকে) root ইউজার হিসেবে সিস্টেম পরিচালনা করার ক্ষমতা প্রদান করে। কোন সফটওয়্যার ইন্সটল বা সিস্টেম মডিফিকেশনের মত গুরুত্বপূর্ণ কাজগুলো একমাত্র রুট ইউজারই করতে পারে। সাধারণ ইউজারদের সিকিউরিটির কারণে এ ধরণের অ্যাডমিনিস্ট্রেটিভ কাজ করার অনুমতি দেয়া হয় না। যদিও উবুন্টু ইন্সটলের সময় কোন root ইউজার থাকে না, এর পরিবর্তে ভিন্ন ভিন্ন ইউজারকে sudo কমান্ড ব্যবহারের মাধ্যমে অ্যাডমিনিস্ট্রেটিভ কাজ করার ক্ষমতা দেয়া হয়। উবুন্টু ইন্সটলের সময় প্রথম যে ইউজার অ্যাকাউন্ট তৈরী হয়, ডিফল্ট ভাবে সেই ইউজারকে sudo ব্যবহারের অনুমতি দেয়া হয়। বিভিন্ন ইউজার অ্যাকাউন্টের জন্য কে কে সুডো ব্যবহার করতে পারবে সেটি আপনি Administration মেনুর Users and Groups থেকে নির্ধারণ করে দিতে পারেন।

সুডো ব্যবহার করে কোন কমান্ড দেয়ার পর সুডো আপনাকে আপনার সাধারণ ইউজার পাসওয়ার্ড দিতে বলবে। পাসওয়ার্ড দেয়ার পর সুডো পরীক্ষা করে দেখবে আপনার রুট প্রিভিলেজ আছে কিনা, থাকলে সেই কমান্ড কাজ করবে, না হলে করবে না। যেমন ধরুন আপনি উবুন্টুর রেপোজিটরী আপডেট করতে চাচ্ছেন, এজন্যে কমান্ড দিতে হবেঃ
sudo apt-get update
এই অবস্থায় আপনাকে আপনার ইউজার পাসওয়ার্ড দিতে বলবে। এখানে টার্মিনালে আপনি পাসওয়ার্ড টাইপ করার সময় সিকিরিউটির কারণে দেখাবে না, কিন্তু ঠিকই টাইপ হতে থাকবে।
এখন যদি আপনার রুট প্রিভিলেজ থাকে তবে রেপো আপডেট হওয়া শুরু হবে, আর না থাকলে এরর দিবে। সুডো, আপনার পিসিতে কেউ অ্যাডমিনিস্ট্রেটিভ কাজ করে থাকলে, তা কোন ইউজার কখন, কি করেছে তার লগ সেভ করে রাখে। যেমন, নিচের উদাহরণে দেখুন ইউজারের রুট প্রিভিলেজ না থাকার কারণে সুডো কমান্ড ব্যবহারের ফলঃ
sample_user@lucid-lynx:~$ sudo gedit /etc/resolv.conf
[sudo] password for sample_user:
sample_user is not in the sudoers file. This incident will be reported.
sample_user@lucid-lynx:~$
এখন আপনার যে অ্যাকাউন্টের রুট প্রিভিলেজ আছে সেটা দিয়ে আপনি এই রিপোর্টটি দেখতে পাবেন। এ জন্যে টার্মিনালে লিখুনঃ
gedit /var/log/auth.log
তাহলে এই লগ ফাইলের নিচের দিকে দেখা যাবেঃ
Apr 15 21:22:57 lucid-lynx sudo: sample_user : user NOT in sudoers ; TTY=pts/0 ; PWD=/home/sample_user ; USER=root ; COMMAND=/usr/bin/gedit /etc/resolv.conf
এরকম সুডো দিয়ে যত কাজ করা হবে, সবগুলো লগ আপনি এই auth.log-এ দেখতে পাবেন। উবুন্টুতে সুডো কমান্ড ব্যবহার করলে ১৫ মিনিটের জন্য সুডো সেই ইউজার পাসওয়ার্ড মেমরীতে রাখে। ১৫ মিনিট পর এই পাসওয়ার্ড আপনা আপনি ডিলিট হয়ে যায়। যে কারণে, পাসওয়ার্ড দিয়ে সুডোর মাধ্যমে কোন কমান্ড দেয়ার ১৫ মিনিটের মধ্যে পুনরায় পাসওয়ার্ড দেয়ার প্রয়োজন পড়ে না।

আশা করি এতক্ষণে sudo সম্পর্কে মোটামুটি ধারণা পেয়েছেন। তবে মনে রাখবেন, যেখানে-সেখানে, যখন-তখন এই সুডো কমান্ড ব্যবহার করবেন না। এতে করে হয়ত ভুল করে আপনি সিস্টেমের কোন কনফিগারেশন পরিবর্তন করে ফেলতে পারেন। যদি সিস্টেমের কোন কনফিগারেশন ফাইল কোন টেক্সট এডিটর দিয়ে ওপেন করতে চান, তাহলে প্রথমে sudo ছাড়া সেটি ওপেন করুন। যেমন, আপনি যদি উবুন্টুর সফটওয়্যার ডাউনলোডের মিরর লিস্ট দেখতে চান তাহলে sudo ছাড়া নিচের কমান্ডটি লিখুন,
gedit /usr/share/python-apt/templates/Ubuntu.mirrors
এতে আপনি মিরর লিস্টটি দেখতে পাবেন, কিন্তু এর কোন লাইন পরিবর্তন করতে পারবেন না। এরকম কোন কনফিগ ফাইল শুধুমাত্র দেখার জন্য sudo কমান্ড এড়িয়ে চলুন।

সূত্রঃ About.com, Wikipedia

পরের পর্বঃ

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | coupon codes