- রুট সম্পূর্ণ নিয়ন্ত্রণ প্রদান করে, কিন্তু ঝুঁকি কমাতে উবুন্টু এবং অন্যান্য ডিস্ট্রিবিউশনগুলো এটিকে ডিফল্টরূপে নিষ্ক্রিয় রাখে।
- Sudo আপনাকে ক্ষেত্রবিশেষে বিশেষাধিকার বৃদ্ধি করার সুযোগ দেয় এবং কে প্রতিটি কমান্ড কার্যকর করছে তার রেকর্ড রাখে।
- গ্রাফিক্যাল অ্যাপ্লিকেশনের জন্য kdesu, gksu, gksudo, বা pkexec-এর মতো সহায়ক প্রোগ্রাম রয়েছে, যেগুলো .desktop লঞ্চারে ব্যবহার করা যায়।
- নিরাপত্তা নির্ভর করে সর্বনিম্ন বিশেষাধিকার ব্যবহার, অবিশ্বস্ত স্ক্রিপ্ট পরিহার এবং উচ্চতর অ্যাক্সেস নিরীক্ষার উপর।

উইন্ডোজে, অনেকেই স্টার্ট মেনু থেকে বিশেষাধিকারসহ কোনো প্রোগ্রাম খোলার জন্য Shift+Enter বা Shift+left-click চাপতে অভ্যস্ত। লিনাক্সে, এই কাজটি সবসময় সহজ নয়, কারণ এর নিরাপত্তা root, sudo এবং গ্রাফিক্যাল হেল্পারের উপর নির্ভর করে , এবং প্রতিটি ডেস্কটপ এনভায়রনমেন্টের নিজস্ব টুলস থাকে। তা সত্ত্বেও, একটি লঞ্চার, শর্টকাট বা অ্যাপ্লিকেশন মেনু থেকে root হিসেবে অ্যাপ্লিকেশন চালু করার বেশ কিছু সহজ উপায় আছে, যদিও এর জন্য কী কী করতে হবে তা বোঝা জরুরি।
মূল বিষয়টি হলো, রুট ব্যবহারকারীর সিস্টেমের উপর নিরঙ্কুশ নিয়ন্ত্রণ থাকে , এবং আধুনিক ডিস্ট্রিবিউশনগুলো, বিশেষ করে উবুন্টু ও এর থেকে উদ্ভূত সংস্করণগুলো, সাধারণত সরাসরি লগইন নিষ্ক্রিয় করে রাখে। তাই, রুট হিসেবে লগইন করাটা সচরাচর দেখা যায় না, বরং মাঝে মাঝে `sudo` অথবা পাসওয়ার্ড চায় এমন কোনো গ্রাফিক্যাল প্রোগ্রাম ব্যবহার করে বিশেষাধিকার বাড়ানো হয়। যদি আমরা কোনো লঞ্চার আইকন দিয়ে সেই বিশেষাধিকারসহ কোনো অ্যাপ চালু করতে চাই, তাহলে সেটির দ্বারা সম্পাদিত কমান্ডটি পরিবর্তন করতে হবে অথবা একটি নির্দিষ্ট লঞ্চার তৈরি করতে হবে।
রুট হিসেবে কিছু চালানোর আসল অর্থ কী?

লিনাক্সে, রুট হলো UID 0 এবং সীমাহীন সুবিধাসম্পন্ন অ্যাকাউন্ট । এটি যেকোনো ফাইল পড়তে, পরিবর্তন করতে বা মুছে ফেলতে, সফটওয়্যার ইনস্টল করতে, কার্নেল কনফিগারেশন পরিবর্তন করতে এবং যেকোনো ব্যবহারকারীর প্রসেস নিয়ন্ত্রণ করতে পারে। এটি এটিকে একটি অবিশ্বাস্যভাবে শক্তিশালী টুলে পরিণত করে, কিন্তু অসাবধানতার সাথে ব্যবহার করলে এটি একটি বিশাল ঝুঁকিও তৈরি করে। `rm` বা `mv` কমান্ড চালানোর সময় একটি সাধারণ টাইপিংয়ের ভুল সিস্টেমটিকে অকেজো করে দিতে পারে, এবং রুট হিসেবে চালানো একটি ক্ষতিকারক স্ক্রিপ্ট ব্যাকডোর ইনস্টল করতে, নিরাপত্তা ব্যবস্থা পরিবর্তন করতে বা কার্যত কোনো চিহ্ন না রেখেই ডেটা চুরি করতে পারে।
উবুন্টুতে রুট অ্যাকাউন্টের কোনো ডিফল্ট পাসওয়ার্ড নেই এবং সরাসরি লগইন করার অনুমতি নেই। এর মূলনীতি হলো, আপনি আপনার সাধারণ ইউজার অ্যাকাউন্ট দিয়ে কাজ করবেন এবং নির্দিষ্ট কিছু কাজের জন্য `sudo` ব্যবহার করবেন । `sudo` বলতে মূলত বোঝায়, আপনি যদি `sudo` গ্রুপের সদস্য হন, তবে নিজের পাসওয়ার্ড দিয়ে প্রমাণীকরণের পর অন্য কোনো ইউজার, সাধারণত রুট, হিসেবে কোনো কমান্ড চালানো। এটি আপনার পরিচয় প্রকাশের সময়কে সীমিত করে এবং কে কী করেছে তার রেকর্ড রাখে।
তবে, খুব নির্দিষ্ট কিছু পরিস্থিতিতে, যেমন একটি ক্ষতিগ্রস্ত সিস্টেম পুনরুদ্ধার করার সময়, সীমাবদ্ধ পরিবেশে কাজ করার সময়, বা এমন পরিষেবা কনফিগার করার সময় যার জন্য স্থায়ী অ্যাক্সেস প্রয়োজন, আপনি সাময়িকভাবে রুট সক্রিয় করার কথা বিবেচনা করতে পারেন। সাধারণ পরামর্শ হলো, প্রয়োজন দেখা দেওয়ার সাথে সাথেই এটিকে আবার নিষ্ক্রিয় করে দেওয়া। আপনি রুট হিসেবে যত কম সময় কাটাবেন, মেশিনের স্থিতিশীলতা এবং নিরাপত্তার জন্য ততই ভালো ।
সাবধানতা ছাড়া শিকড় ব্যবহারের ঝুঁকি
সবচেয়ে সুস্পষ্ট বিপদগুলোর মধ্যে একটি হলো গুরুত্বপূর্ণ ফাইল ভুলবশত মুছে যাওয়া । রুট হিসেবে, অনুমতির কোনো সীমাবদ্ধতা থাকে না; `sudo rm -rf /`-এর মতো একটি কমান্ড কোনো সতর্কতা ছাড়াই সিস্টেমকে নিশ্চিহ্ন করে দিতে পারে। এই মুছে যাওয়া ফাইলগুলোর জন্য সাধারণত কোনো রিসাইকেল বিনও থাকে না, তাই এগুলো পুনরুদ্ধারের জন্য জটিল ফরেনসিক টুল অথবা এমনকি সম্পূর্ণ সিস্টেম পুনরায় ইনস্টল করার প্রয়োজন হতে পারে।
আরেকটি ঝুঁকি হলো অবিশ্বস্ত স্ক্রিপ্ট চালানো। আপনি যদি উন্নত প্রিভিলেজসহ কোনো সাইট থেকে ডাউনলোড করা কোড চালান, তাহলে আপনি কার্যত সেটিকে আপনার বাড়ির চাবি দিয়ে দিচ্ছেন । স্ক্রিপ্টটি নিরীহ মনে হলেও, এতে ক্ষতিকর নির্দেশাবলী থাকতে পারে অথবা এটি রুট প্রিভিলেজসহ ম্যালওয়্যার ইনস্টল করতে পারে। তাই, প্রোডাকশনে চালানোর আগে কোডটি পর্যালোচনা করা, অফিসিয়াল উৎস ব্যবহার করা, চেকসাম পরীক্ষা করা এবং একটি ভার্চুয়াল মেশিন বা কন্টেইনারে এটি পরীক্ষা করে নেওয়া বাঞ্ছনীয়।
এখানে একটি ট্রেসেবিলিটি বা শনাক্তকরণযোগ্যতার সমস্যাও রয়েছে। আপনি যখন `sudo` ব্যবহার করেন, তখন সিস্টেমটি কমান্ড, কমান্ড প্রদানকারী ব্যবহারকারী এবং সময় `/var/log/auth.log`, `/var/log/secure` বা `journalctl`-এ লগ করে রাখে। আপনি যদি সরাসরি রুট হিসেবে লগ ইন করেন, তবে সবকিছু রুট হিসেবেই প্রদর্শিত হয় এবং কোন ব্যক্তি প্রতিটি পরিবর্তন করেছে তা জানার ক্ষমতা আপনি হারিয়ে ফেলেন। একাধিক প্রশাসক অথবা ISO 27001, PCI DSS বা অন্যান্য অডিটিং স্ট্যান্ডার্ডযুক্ত পরিবেশে, এই শনাক্তকরণযোগ্যতার অভাব একটি উল্লেখযোগ্য দুর্বলতা।
টার্মিনাল থেকে বিশেষাধিকার পাওয়ার উপায়

সবচেয়ে প্রচলিত এবং প্রস্তাবিত উপায় হলো কোনো নির্দিষ্ট কমান্ডের আগে `sudo` ব্যবহার করা। উদাহরণস্বরূপ, প্যাকেজ আপডেট করতে, কোনো সার্ভিস রিস্টার্ট করতে, বা কোনো সুরক্ষিত ফাইল এডিট করতে, `sudo` আপনার ইউজার পাসওয়ার্ড চাইবে, রুট পাসওয়ার্ড নয়, এবং আপনাকে অথেন্টিকেট করার পর, এটি উন্নত প্রিভিলেজ সহ কমান্ডটি এক্সিকিউট করবে। যদি আপনাকে এটি অন্য কোনো ইউজার হিসেবে চালাতে হয়, তাহলে আপনি `sudo -u username command` ব্যবহার করতে পারেন। আর যদি আপনার মনে পড়ে যে আপনি `sudo` ব্যবহার করতে ভুলে গেছেন, তাহলে আপনি `sudo !! ` দিয়ে শেষ কমান্ডটি আবার চালাতে পারেন ।
যখন আপনি পরপর বেশ কয়েকটি প্রশাসনিক কাজ করতে যাবেন, তখন একটি অস্থায়ী রুট শেল খোলা সুবিধাজনক হতে পারে। `sudo -i` একটি সম্পূর্ণ রুট লগইনের অনুকরণ করে, রুট এনভায়রনমেন্ট লোড করে এবং আপনাকে হোম ডিরেক্টরিতে নিয়ে যায়। `sudo su` বা `sudo su -`- ও কাজ করে, যদিও `sudo -i` সাধারণত বেশি নির্ভরযোগ্য। এই সেশন থেকে বের হতে, কেবল `exit` টাইপ করুন। একটি রুট শেল খোলা রেখে অযত্নে ফেলে রাখা উচিত নয়।
অন্যদিকে, `su` কমান্ড ব্যবহারকারী পরিবর্তন করে। `su - root` বা শুধু `su -` টার্গেট ব্যবহারকারীর এনভায়রনমেন্ট ভেরিয়েবলগুলোও গ্রহণ করে, যেখানে `su root` বা হাইফেন ছাড়া `su` পূর্ববর্তী এনভায়রনমেন্টের কিছু অংশ ধরে রাখে। এই পার্থক্যটিই `command not found`-এর মতো ত্রুটির কারণ ব্যাখ্যা করে: অ্যাডমিনিস্ট্রেটিভ কমান্ডগুলো সাধারণত `/usr/local/sbin`, `/usr/sbin`, এবং `/sbin`-এ থাকে, যে পাথগুলো একজন সাধারণ ব্যবহারকারীর PATH-এ সবসময় থাকে না। আপনি যদি হাইফেন ছাড়া `su` ব্যবহার করেন, তাহলে আপনাকে সম্পূর্ণ পাথটি টাইপ করতে হবে অথবা রুট PATH পেতে `su -` ব্যবহার করতে হবে।
আপনি যদি রুটের জন্য একটি পাসওয়ার্ড চালু করতে চান, তাহলে `sudo passwd root` কমান্ড দিয়ে তা করতে পারেন । উবুন্টু এটি নিরুৎসাহিত করে, কিন্তু প্রযুক্তিগতভাবে রুটকে পাসওয়ার্ড ব্যবহারের অনুমতি দেয়। অ্যাকাউন্টটি লক করতে `sudo passwd -l root` ব্যবহার করুন , এবং আনলক করতে `sudo passwd -u root` ব্যবহার করুন। SSH-এ, সরাসরি রুট অ্যাক্সেস `/etc/ssh/sshd_config`-এর `PermitRootLogin` দ্বারা নিয়ন্ত্রিত হয় । এটিকে `no` বা, সর্বোচ্চ, `prohibit-password`-এ সেট করে রাখাই সবচেয়ে নিরাপদ, যাতে শুধুমাত্র SSH পাসওয়ার্ডের অনুমতি থাকে। এরপর, আপনাকে SSH সার্ভিসটি রিস্টার্ট করতে হবে।
সোয়েটারগুলো সঠিকভাবে কনফিগার করুন
`/etc/sudoers` ফাইলটি নির্ধারণ করে দেয় যে কারা এবং কী উদ্দেশ্যে `sudo` ব্যবহার করতে পারবে। এটি নিজে থেকে সম্পাদনা না করাই শ্রেয়; সঠিক পদ্ধতি হলো `sudo visudo` ব্যবহার করা , যা ফাইলটিকে লক করে এবং সংরক্ষণ করার আগে এর সিনট্যাক্স পরীক্ষা করে। এর মূল নিয়মটি `host user=(target_user)` এই আকারে থাকে। উদাহরণস্বরূপ, `bob ALL=(ALL) ALL` নিয়মটি `bob`-কে যেকোনো মেশিনে রুট হিসেবে যেকোনো কমান্ড চালানোর অনুমতি দেয়। গ্রুপও ব্যবহার করা যেতে পারে, যেমন `%admin ALL=(ALL) ALL`।
আরও সূক্ষ্ম অনুমতি দেওয়ার জন্য অ্যালিয়াস ব্যবহার করা হয়। `User_Alias ADMINS = alice, bob` ব্যবহারকারীদের গ্রুপ করে, এবং `Cmnd_Alias LOCATE = /usr/sbin/updatedb` কমান্ডগুলোকে গ্রুপ করে। এরপর, `ADMINS ALL = LOCATE` ব্যবহার করা হয়, যাতে শুধুমাত্র ওই ব্যবহারকারীরাই সেই কমান্ডগুলো চালাতে পারে। `route`, `ifconfig`, `ping`, `iptables` ইত্যাদির মতো কমান্ডের জন্য `NETWORKING`-এর মতো অ্যালিয়াস তৈরি করা যেতে পারে। এর মাধ্যমে কাউকে সম্পূর্ণ রুট অ্যাক্সেস না দিয়েই ন্যূনতম বিশেষাধিকারের নীতি প্রয়োগ করা হয়।
NOPASSWD অপশনটি আপনাকে পাসওয়ার্ড ছাড়াই নির্দিষ্ট কিছু কমান্ড চালানোর সুযোগ দেয়, যেমন, `pi ALL=(ALL)`। NOPASSWD: ALL। এটি সুবিধাজনক, কিন্তু এর অপব্যবহার হলে বিপজ্জনক। এছাড়াও, `sudo`-এর প্রতিটি ব্যবহার লগ করা হয়, যা অ্যাক্সেস নিরীক্ষা করতে এবং সমস্যা সমাধানে সাহায্য করে। যদি কিছু ভেঙে যায়, তবে এই লগগুলো পর্যালোচনা করে বোঝা যায় কোন সাম্প্রতিক পরিবর্তনটি এই ব্যর্থতার কারণ।
লঞ্চার থেকে রুট হিসেবে গ্রাফিক্যাল অ্যাপ্লিকেশন চালু করা

গ্রাফিক্যাল ইন্টারফেসযুক্ত প্রোগ্রামগুলোর ক্ষেত্রে, শুধু `sudo` ব্যবহার করলে সাধারণত ঠিকমতো কাজ হয় না, কারণ পাসওয়ার্ড চাওয়ার জন্য কোনো টার্মিনাল থাকে না। এখানেই গ্রাফিক্যাল হেল্পারগুলোর প্রয়োজন হয়। KDE-তে `kdesu` আছে : যদি আপনি জানেন কোন কমান্ড দিয়ে অ্যাপ্লিকেশনটি চালু করতে হয়, তাহলে আপনি `kdesu that_command` কমান্ডটি চালাতে পারেন। KDE মেনুর `Run Command` অপশনটি আপনাকে অন্য ব্যবহারকারীর ক্রেডেনশিয়াল প্রবেশ করিয়ে অ্যাপ্লিকেশনটি চালু করার সুযোগও দেয়। GNOME এবং GTK পরিবেশে `gksu` এবং `gksudo` ব্যাপকভাবে ব্যবহৃত হতো ; এগুলো হলো `sudo` বা `su`-এর ফ্রন্টএন্ড। উদাহরণস্বরূপ, `gksu synaptic` বা `gksudo gparted` অ্যাপটি খোলে এবং পাসওয়ার্ড চায়।
আধুনিক সিস্টেমগুলিতে gksu-এর ব্যবহার নিরুৎসাহিত করা হয় অথবা এটি অপ্রচলিত। এর সাধারণ বিকল্প হলো PolicyKit-ভিত্তিক pkexec , যা নির্ধারিত পলিসি অনুযায়ী প্রোগ্রামগুলোকে বিশেষাধিকারসহ চালানোর অনুমতি দেয়। অনেক বর্তমান লঞ্চার প্রশাসনিক কাজের জন্য pkexec ব্যবহার করে। মূল ধারণাটি একই: ব্যবহারকারীকে টার্মিনাল খুলতে হয় না, বরং সিস্টেম একটি নিয়ন্ত্রিত পদ্ধতিতে অনুমোদন যাচাই করে নেয়।
লঞ্চারে একটি শর্টকাট তৈরি করতে, আপনাকে একটি .desktop ফাইল এডিট করতে হবে। `Exec` লাইনটিই হলো মূল চাবিকাঠি। যদি আপনি এটিকে রুট হিসেবে চালাতে চান, তাহলে আপনি `Exec=gksu /path/to/program`, `Exec=kdesu /path/to/program`, অথবা `Exec=pkexec /path/to/program`-এর মতো কিছু ব্যবহার করতে পারেন। যদি আপনি সরাসরি `sudo` ব্যবহার করেন, তাহলে লঞ্চারে `Terminal=true` থাকতে হবে অথবা একটি গ্রাফিক্যাল আস্কপাস কনফিগার করতে হবে। এছাড়াও আপনি Alt+F2 চেপে হেল্পার এবং প্রোগ্রামের নাম টাইপ করে দেখতে পারেন, যেমন, `gksu synaptic`। KDE-তে, `kdesu synaptic` অথবা অন্য ব্যবহারকারী হিসেবে চালানোর অপশনটি একই ধরনের কাজ করে।
কনসোলহেল্পার (consolehelper) নামে একটি ক্লাসিক বিকল্প আছে , যা GUI অ্যাপ্লিকেশনগুলির জন্য একটি র্যাপার। আপনি একটি সিম্বলিক লিঙ্ক তৈরি করবেন, যেমন, /usr/bin/xterm-root যা /usr/sbin/consolehelper-কে নির্দেশ করবে। তারপর, আপনি config-util থেকে auth, account, এবং session অন্তর্ভুক্ত করে /etc/pam.d/xterm-root তৈরি করে PAM কনফিগার করবেন। এরপর, আপনি USER=root এবং PROGRAM=/usr/bin/xterm দিয়ে /etc/security/console.apps/xterm-root ফাইলটি সংজ্ঞায়িত করবেন। যখন আপনি xterm-root চালাবেন, কনসোলহেল্পার PAM অথেনটিকেশনের জন্য অনুরোধ করবে এবং রুট হিসেবে xterm চালু করবে। যদি আপনি "Xlib connection to :0.0 refused by server" এরর পান, তাহলে xhost local:root চালালে সাহায্য হতে পারে।
যাইহোক, রুট হিসেবে গ্রাফিক্যাল অ্যাপ্লিকেশন খোলার কিছু অসুবিধা আছে: এটি এনভায়রনমেন্ট ভেরিয়েবল গুলিয়ে ফেলে, সেশন বাস নষ্ট করে দিতে পারে, Wayland বা X11-কে প্রভাবিত করতে পারে এবং আপনার হোম ডিরেক্টরিতে রুটের মালিকানাধীন ফাইল তৈরি করতে পারে। এটি শুধুমাত্র নির্দিষ্ট অ্যাডমিনিস্ট্রেটিভ টুলের জন্য ব্যবহার করা এবং কাজ শেষ হওয়ার সাথে সাথে সেগুলো বন্ধ করে দেওয়াই সবচেয়ে ভালো। রুট হিসেবে ইন্টারনেট ব্রাউজ করবেন না বা সন্দেহজনক ডকুমেন্ট খুলবেন না , কারণ যেকোনো এক্সপ্লয়েট সম্পূর্ণ প্রিভিলেজ পেয়ে যাবে।
যেসব কাজের জন্য রুট অ্যাক্সেস প্রয়োজন তার সাধারণ কিছু উদাহরণ
দৈনন্দিন অনেক কাজের জন্য উচ্চতর বিশেষাধিকারের প্রয়োজন হয়। apt, zypper, dnf, বা yum দিয়ে প্যাকেজ পরিচালনা করার জন্য প্রায়শই sudo-এর প্রয়োজন হয়। উদাহরণস্বরূপ, `sudo apt update` , `sudo apt install firefox`, বা `sudo zypper install docker-ce`। সিস্টেম পরিষেবাগুলির ক্ষেত্রেও একই নিয়ম প্রযোজ্য: `sudo systemctl restart apache2`, `sudo systemctl restart ssh`, বা `sudo systemctl restart nginx`। ব্যবহারকারী অ্যাকাউন্ট পরিবর্তন করতে `sudo usermod` ব্যবহার করুন, এবং ফাইলের মালিকানা পরিবর্তন করতে `sudo chown` ব্যবহার করুন। `/etc/ssh/sshd_config`-এর মতো গুরুত্বপূর্ণ কনফিগারেশন সম্পাদনা করার জন্যও nano, vim, বা gedit দিয়ে করলে রুট বিশেষাধিকারের প্রয়োজন হয়।
যেসব কমান্ড শুধু তথ্য পড়ে বা সিস্টেম পরিবর্তন করে না, যেমন ‘zypper repos’ বা ‘systemctl status NetworkManager’, সেগুলোর জন্য আপনার ‘sudo’-এর প্রয়োজন নেই। অভ্যাসবশত সবকিছুর জন্য ‘sudo’ ব্যবহার করা একটি খারাপ অভ্যাস। বিচক্ষণ কাজটি হলো, শুধুমাত্র যখন কোনো কাজের জন্য প্রয়োজন হয় তখনই বিশেষাধিকার বাড়ানো এবং তারপর যত তাড়াতাড়ি সম্ভব সাধারণ ব্যবহারকারীর কাছে ফিরে আসা।
উচ্চতর বিশেষাধিকার নিয়ে কাজ করার সময় সর্বোত্তম অনুশীলন

সর্বনিম্ন বিশেষাধিকারের নীতি সবকিছুকে পরিচালিত করবে। যখনই সম্ভব, স্বতন্ত্র কমান্ডের জন্য `sudo` ব্যবহার করুন, একান্ত প্রয়োজন না হলে স্থায়ী রুট শেল এড়িয়ে চলুন এবং কাজ শেষ হওয়ার সাথে সাথেই প্রস্থান করুন। অজানা উৎস থেকে রুট হিসেবে স্ক্রিপ্ট চালাবেন না; আগে থেকেই কোড পর্যালোচনা করুন, অফিসিয়াল রিপোজিটরি বা স্বনামধন্য প্রজেক্ট থেকে ডাউনলোড করুন, চেকসাম যাচাই করুন এবং কোনো সন্দেহ থাকলে একটি বিচ্ছিন্ন পরিবেশে পরীক্ষা করে দেখুন। পূর্ণ বিশেষাধিকার সম্পন্ন থার্ড-পার্টি কোড নিয়ে কাজ করার সময় কিছুটা সংশয়ী থাকা একটি গুণ ।
সবকিছুর জন্য শুধু sudo গ্রুপের উপর নির্ভর না করে, sudoers-কে সূক্ষ্মভাবে কনফিগার করা এবং লগ নিরীক্ষা করে রাখাও বাঞ্ছনীয়। আপনি যদি সার্ভার পরিচালনা করেন, তবে অপব্যবহার শনাক্ত করতে `/var/log/auth.log`, `/var/log/secure`, অথবা `journalctl -xe` পরীক্ষা করুন। একাধিক ব্যবহারকারীযুক্ত পরিবেশে, জবাবদিহিতা নিশ্চিত করতে এবং নিরাপত্তা বিধি মেনে চলার জন্য কে কোন কমান্ড চালিয়েছে তা জানা অত্যন্ত গুরুত্বপূর্ণ।
হেড ব্যবহার করে রুট সক্রিয় এবং নিষ্ক্রিয় করুন
আপনি যদি রুট অ্যাক্সেস চালু করার সিদ্ধান্ত নেন, তাহলে `sudo passwd root` কমান্ড দিয়ে একটি পাসওয়ার্ড সেট করুন, এটি শুধুমাত্র জরুরি কাজের জন্য ব্যবহার করুন এবং তারপর অ্যাকাউন্টটি পুনরায় লক করে দিন। সরাসরি SSH লগইন নিষ্ক্রিয় করতে, `sshd_config` ফাইলটি এডিট করে `PermitRootLogin no` অথবা `prohibit-password` সেট করুন, তারপর SSH রিস্টার্ট করুন। অ্যাকাউন্টটি স্থানীয়ভাবে লক করতে, `sudo passwd -l root` ব্যবহার করুন। এটি আনলক করতে, `sudo passwd -u root` ব্যবহার করুন। এই পদক্ষেপগুলো আক্রমণের ঝুঁকি কমায় এবং সবচেয়ে শক্তিশালী অ্যাকাউন্টের বিরুদ্ধে ব্রুট-ফোর্স আক্রমণ প্রতিরোধ করে।
বেশিরভাগ ক্ষেত্রে, প্রাথমিক প্রশ্নের বাস্তবসম্মত উত্তর হলো হ্যাঁ: আপনি kdesu, gksu, gksudo, বা pkexec-এর মতো গ্রাফিক্যাল হেল্পার ব্যবহার করে, অথবা উপযুক্ত কমান্ডসহ একটি .desktop ফাইল তৈরি করে লঞ্চার থেকে রুট প্রিভিলেজসহ একটি প্রোগ্রাম চালু করতে পারেন। তবে, যেকোনো অ্যাপ্লিকেশনের জন্য এই ব্যবস্থাটি চালু রাখা উচিত নয়। সুস্পষ্ট নামসহ নির্দিষ্ট অ্যাডমিনিস্ট্রেটিভ লঞ্চার থাকা এবং শুধুমাত্র প্রয়োজনের সময় সেগুলো ব্যবহার করাই শ্রেয়।
মূল কথা হলো, রুট কোনো খেলনা নয়, এবং সুডো-র অস্তিত্বই হলো আপনাকে ক্ষমতায়ন করার জন্য, যাতে আপনার প্রতিটি ক্লিক একটি স্থায়ী ঝুঁকিতে পরিণত না হয়। যদি আপনাকে সুপারইউজার হিসেবে কোনো গ্রাফিক্যাল অ্যাপ চালু করতে হয়, তবে পাসওয়ার্ড প্রয়োজন এমন হেল্পার অ্যাপগুলোকে অগ্রাধিকার দিন, অ্যাপ্লিকেশনটির সত্যিই এটির প্রয়োজন আছে কিনা তা যাচাই করুন, এবং এর ব্যবহার শুধু প্রশাসনিক কাজের মধ্যে সীমাবদ্ধ রাখুন। এইভাবে, আপনি লিনাক্সকে এত শক্তিশালী করে তোলা নিরাপত্তা বিসর্জন না দিয়েই লঞ্চারের সুবিধা উপভোগ করতে পারবেন।