লিনাক্স অপারেটিং সিস্টেমের ফাইলসিস্টেম হায়ারার্কি স্ট্যান্ডার্ড অনুযায়ী, সকল ফাইল ও ডিরেক্টরি রুট ডিরেক্টরি “/” এর অধীনে থাকে কিন্তু সিকিউরিটির কারণটি জন্য এক্সেস প্রায়শই সীমাবদ্ধ থাকে। ডেবিয়ানের মতো লিনাক্স ডিস্ট্রিবিউশনে, আপনি SSH থেকে “sudo” কমান্ড ব্যবহার করে ফুল অ্যাক্সেস পেতে পারেন। এই টিউটোরিয়াল ব্যাখ্যা করে কিভাবে একজন ইউজারকে Sudoers-এ যোগ করবেন যাতে সে sudo কমান্ড চালাতে পারে।
সুপারইউজার বা রুট ইউজার হিসেবে লগইন করলে আপনি সিস্টেম-ওয়াইড মডিফিকেশন করতে পারবেন। “sudo” দিয়ে অন্য ইউজার হিসেবে লগইন করাও যায় — যা সিস্টেম অ্যাডমিনিস্ট্রেটর এবং টেকনিকিশ্যানদের জন্য প্রয়োজনীয় হয়।
যে ইউজাররা (এবং ইউজার গ্রুপ) বিভিন্ন কমান্ড এক্সিকিউট করার অনুমতিপ্রাপ্ত, তাদের তালিকা “/etc/sudoers” ফাইলে থাকে, তাই সিস্টেম অ্যাডমিনদের জানতে হয় কিভাবে নতুন ইউজারকে রুট লগইন প্রিভিলেজ দিতে হয় তাদের নাম এই ফাইলে যোগ করে। এটি করার দুটি উপায় আছে। একটি হল ম্যানুয়ালি ফাইলটি এডিট করা। এতে আপনি কাস্টম প্রিভিলেজও অ্যাসাইন করতে পারবেন যেগুলো তারা রুট লগইন দিয়ে এক্সিকিউট করতে পারবে। আর একটি দ্রুত উপায় হল কমান্ড লাইন থেকে “sudo” ইউজার-গ্রুপে যোগ করা।
sudo গ্রুপে ইউজার যোগ করা
স্বাভাবিকভাবেই, অন্য কারো sudo গ্রুপে যোগ করার আগে আপনাকে সুপারইউজার হিসেবে লগইন থাকতে হবে। ডেবিয়ান সার্ভারে রুট ইউজার হিসেবে লগইন করতে —
ssh admin@wsxdn.com
যদি যোগ করার ইউজারটি ইতিমধ্যে সিস্টেমে থাকে, তবে নিচের কমান্ড চালান;
usermod -aG sudo username
সফলভাবে যোগ হয়েছে কিনা ডাবল চেক করতে নিচের কমান্ড টাইপ করুন এবং ইউজারের পাসওয়ার্ড দিন;
sudo whoami
যদি সত্যিকারের sudo অ্যাক্সেস থাকে, আউটপুট প্রিন্ট করবে “root”। যদি না থাকে, বা ডিটেইলস ভুল দেন, তবে এরর মেসেজ আসবে যে “user is not in the sudoers file“।
একদম নতুন ইউজার তৈরি করতে লিনাক্স “adduser” কমান্ড ব্যবহার করুন;
adduser newusername
তब আপনাকে তাদের সম্পর্কে কিছু অতিরিক্ত ডিটেইল দিতে বলা হবে, পাসওয়ার্ড অ্যাসাইন করা সহ। শেষ হলে, নতুন ইউজারের ইনফরমেশন sudoers ফাইলে লেখা হবে।
আপনি যদি কমান্ড লাইন থেকে নতুন ইউজারকে sudo ইউজার-গ্রুপে অ্যাসাইন করতে চান, তবে “usermod” বা “gpasswd” ব্যবহার করুন। উদাহরণ —
usermod -aG sudo newusername
sudoers ফাইল ম্যানুয়ালি এডিট করা
যখন আপনি নতুন সুপারইউজারের জন্য কাস্টম সিকিউরিটি পলিসি সেট আপ করতে চান, তবে এটি ভালো অপশন। আপনি είডা sudoers ফাইল সরাসরি এডিট করতে পারেন, অথবা /etc/sudoers.d ডিরেক্টরিতে একটি নতুন কনফিগারেশন ফাইল তৈরি করতে পারেন। সেই ডিরেক্টরিতে থাকা যেকোনো ফাইল রানটাইমে sudoers ফাইলের সাথে ইফেক্টিভলি কনক্যাটেনেট হয়।
visudo ব্যবহার করে:
sudoers ফাইল এডিট করার জন্য সবসময় “visudo” কমান্ড ব্যবহার করুন। visudo এর মাধ্যমে এডিটর আহ্বান করলে visudo সেভ করার আগে ফাইল সিনট্যাক্স যত্নসহ চেক করে। যদি আপনি visudo ছাড়া ফাইল এডিট করেন, তবে সেটি চেক করবে না — এবং এটি একটি ক্রিটিক্যাল সিস্টেম ফাইল! আপনি visudo ব্যবহার করে /etc/sudoers.d-এ সেভ করা ফাইলও এডিট করতে পারেন, তবে ফাইল লোকেশন স্পেসিফাই করার জন্য –f অপশন আহ্বান করতে হতে পারে।
visudo যা এডিটর ব্যবহার করে সেটি EDITOR এনভায়রনমেন্ট ভেরিয়েবল দ্বারা স্পেসিফাইড। ডিফল্টভাবে সেটি vim-এ সেট করা থাকে। আপনি যদি ডিফল্ট এডিটর অন্য কিছুতে চান, যেমন nano, তবে নিচের মত করে রিপ্লেস করুন —
EDITOR=nano visudo
প্রিভিলেজ অ্যাসাইন করা:
sudoers ফাইলে কোথাও এতে একটি লাইন দেখতে পাবেন —
root ALL=(ALL) ALL
এটি দেখায় ইউজারের প্রিভিলেজ অ্যাসাইন করার সিনট্যাক্স। এই কেসে, অর্থ হল রুট ইউজার ALL (যেকোনো) টার্মিনাল থেকে, ALL (যেকোনো) ইউজার হিসেবে এক্টিং করে, ALL (যেকোনো) কমান্ড চালাতে পারবে।
sudoers ফাইলে নামগুলোতে গ্রুপ প্রিভিলেজ সহজে অ্যাপ্লাই করার জন্য আ্যালিয়াস ডিফাইন করা হয়। আপনি ইউজার গ্রুপ, টার্মিনাল রেঞ্জ, বা কমান্ড গ্রুপের এক্সেসের জন্য আ্যালিয়াস তৈরি করতে পারেন। উদাহরণস্বরূপ, sudoers ফাইলের শীর্ষে আপনি নিচের মতো কিছু টাইপ করতে পারেন;
User_Alias OPERATORS = amy, ben, chris Runas_Alias OP = root, operator Host_Alias NETWORK = 192.168.0.0/255.255.255.0 Cmnd_Alias PRINTING_CMDS = /usr/sbin/lpc, /usr/sbin/lprm
তারপর ইউজারকে এক্সেস রাইট দিতে এই শর্টকাটগুলো আহ্বান করুন। উদাহরণস্বরূপ;
ben ALL = PRINTING_CMDS
এটি ben-কে ডিফাইন করা IP অড্রেস রেঞ্জের যেকোনো টার্মিনাল ব্যবহার করতে এবং প্রিন্টার ইনস্ট্রাকশন lpc ও lprm এক্সিকিউট করতে দেবে (যা /usr/sbin/-এ আছে)।
ডেবিয়ানে রুট প্রিভিলেজ খুব শক্তিশালী। এর মানে আছে আপনার এক্সেস কন্ট্রোল ভ্রষ্ট করা, সার্ভার ক্ষতিগ্রস্ত করা, বা ডেটা ধ্বংস করার অনেক সুযোগ। তাই প্রতিটি ইউজারকে ফুল রুট অ্যাক্সেস দেয়া এড়িয়ে চলুন এবং когда দরকার নেই তখন সুপারইউজার হিসেবে লগইন করার অভ্যাস এড়িয়ে চলুন।