VPN বোতামের sudo দরকার: নিয়মের পরিসর ঠিক করুন, নীতি যাচাই করুন
ডেস্কটপের একটি বোতাম পাসওয়ার্ডবিহীন root-এর কারণ নয়। দেখুন নেটওয়ার্ক ম্যানেজার নিজেই এটি করতে পারে কি না, একটি কমান্ডের পরিসর ঠিক করুন, তারপর পুরো sudo নীতি যাচাই করুন।
VPN বোতামটি প্রশাসকের জন্য কাজ করে আর বাকি সবার জন্য ব্যর্থ হয়, তাই কেউ sudoers-এ একটি লাইন যোগ করে। সেই লাইন সাধারণত যে সমস্যার সমাধান করার কথা ছিল তার চেয়ে বেশি দিন টিকে থাকে, এবং প্রায়ই বোতামের প্রয়োজনের চেয়ে বেশি অধিকার দেয়। নীতি সম্পাদনা করার আগে দেখুন সমর্থিত সংযোগের মালিক ইতিমধ্যেই কাজটি করতে পারে কি না। নিচের তিনটি শর্ত ঠিক করে sudo আদৌ জড়িত কি না।
শর্ত 1: সমর্থিত মালিক sudo ছাড়াই এটি করতে পারে
বেশিরভাগ Linux ডেস্কটপে নেটওয়ার্ক ম্যানেজার ইতিমধ্যেই VPN সংযোগের মালিক, এবং তার অনুমোদন sudo-র বদলে polkit দিয়ে যায়। যে ব্যবহারকারীকে সংযোগ চালু করার অনুমতি দেওয়া হয়েছে, সে কোনো root নিয়ম ছাড়াই কমান্ড লাইন থেকে এটি করতে পারে। বোতামের বিশেষাধিকার দরকার বলে ধরে নেওয়ার আগে দেখুন ম্যানেজার কী অনুমতি দেয়। উত্তর যদি হ্যাঁ হয়, তবে sudoers পরিবর্তন এমন এক সমস্যার সমাধান করছে যা নেই।
nmcli connection show
nmcli connection up "Work VPN"
ম্যানেজার যদি অস্বীকার করে, তবে কারণ পড়ুন: অনুপস্থিত polkit নিয়ম, অন্য ব্যবহারকারীর মালিকানাধীন সংযোগ, বা এমন জায়গায় সংরক্ষিত প্রোফাইল যা ব্যবহারকারী পড়তে পারে না। এগুলোর প্রত্যেকটির জন্য sudo নিয়মের চেয়ে সংকীর্ণ সমর্থিত সমাধান আছে। বিশেষাধিকার বৃদ্ধি শেষ উপায়, প্রথম নয়।
শর্ত 2: নিয়মটি একটি নির্বাহযোগ্য ফাইল ও তার আর্গুমেন্টের নাম বলে
সত্যিই sudo দরকার হলে, নিয়মে সঠিক কমান্ড এবং যেখানে সম্ভব, যে আর্গুমেন্ট ব্যবহার করা যাবে তার নাম থাকা উচিত। যে নিয়ম ব্যবহারকারীকে একটি মোড়ক স্ক্রিপ্ট চালাতে দেয়, তা ওই স্ক্রিপ্টের অনুমতির মতোই নিরাপদ, কারণ ব্যবহারকারী root কী চালাবে তা সম্পাদনা করতে পারে। কমান্ডের পরে ওয়াইল্ডকার্ড থাকা নিয়ম একই সমস্যার ছোট রূপ।
sudo -l -U alice
ls -l /usr/local/sbin/vpn-up
কমান্ড শৃঙ্খলের প্রতিটি পথ যাচাই করুন: বাইনারি, যে স্ক্রিপ্টটি এটি ডাকে, যে কনফিগারেশন ফাইলটি এটি পড়ে এবং মাঝের যেকোনো ডিরেক্টরি। এগুলোর কোনোটি ব্যবহারকারীর লেখার যোগ্য হলে, সীমিত নিয়মটি কার্যত অসীম root। আর্গুমেন্টও গুরুত্বপূর্ণ, কারণ কনফিগ পথ গ্রহণ করা কমান্ড ব্যবহারকারীর নিয়ন্ত্রিত ফাইলের দিকে ঘুরিয়ে দেওয়া যায়। বোতামের জন্য নয়, কাজটির জন্য নিয়ম লিখুন।
কমান্ডটির কাজ করার জন্য ব্যবহারকারীর নিয়ন্ত্রিত ফাইল দরকার হলে থামুন। তখন নকশাটি ভুল, এবং কোনো sudoers সিনট্যাক্সই এটিকে নিরাপদ করবে না।
শর্ত 3: পুরো নীতিটি পার্স হয়, শুধু আপনার লাইন নয়
যে সম্পাদক ফাইলটি লক করে ও সিনট্যাক্স যাচাই করে, তা দিয়ে যাচাই করুন, এবং টুকরো নয়, একত্রিত নীতি যাচাই করুন। যে ফাইল নিজে নিজে পার্স হয়, সেটি তবুও অন্তর্ভুক্তির ক্রম ভাঙতে পারে বা এমনভাবে নিয়ম নকল করতে পারে যা আচরণ বদলে দেয়।visudo ম্যানুয়াল এখানে ব্যবহৃত লকিং সম্পাদক এবং শুধু-যাচাই মোড—দুটিই নথিভুক্ত করে।
sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher
যাচাই ব্যর্থ হলে তা ফাইল ও লাইন জানায়, এবং সেই প্রতিবেদনই উপকারী অংশ। জানা ত্রুটি জোর করে সংরক্ষণ না করে সম্পাদকের মাধ্যমে অভীষ্ট পরিবর্তনটি ঠিক করুন, কারণ ভাঙা নীতি একসাথে সব প্রশাসককে বাইরে আটকে দিতে পারে। অন্তর্ভুক্তি ডিরেক্টরির ফাইলগুলোরও ম্যানুয়ালে উল্লিখিত মালিকানা ও মোড দরকার, নইলে সেগুলো উপেক্ষিত বা প্রত্যাখ্যাত হবে। সিনট্যাক্স কেবল প্রথম দরজা: তা পেরোনোর পর নিয়মটি আবার পড়ুন এবং জিজ্ঞাসা করুন এটি আসলে কী অনুমতি দেয়।
পরিবর্তনটি কাজ করানোর একমাত্র উপায় সিনট্যাক্স যাচাই বন্ধ করা হলে থামুন। ওটা নীতি নয়, রিবুটের অপেক্ষায় থাকা একটি বিভ্রাট।
পুনরুদ্ধার: কাজ করা একটি সেশন ধরে রাখুন
সংরক্ষণের আগে নিশ্চিত করুন একটি অনুমোদিত প্রশাসনিক সেশন ইতিমধ্যেই খোলা আছে এবং মেশিনে ঢোকার দ্বিতীয় পথ বিদ্যমান। sudoers-এর একটি ভুল আপনার তা ঠিক করার সামর্থ্য কেড়ে নিতে পারে, আর ডেস্কটপের একটি বোতাম সেই ঝুঁকির যোগ্য নয়। sudo ইতিমধ্যেই ভাঙা থাকলে নিজে একটি পথ বানানোর বদলে সিস্টেমের নথিভুক্ত পুনরুদ্ধার পথ ব্যবহার করুন।
sudo -n true
id
pkexec-এর মতো বিকল্পগুলো নিজেদের ইনস্টলেশন ও নীতির উপর নির্ভর করে, তাই সেগুলো নিশ্চিত দ্বিতীয় root প্রম্পট নয়। স্থানীয় অনুমোদনকে VPN গোপন তথ্য সরবরাহ থেকেও আলাদা রাখুন: sudo নিয়ম অনুপস্থিত সিক্রেট এজেন্ট খুলতে পারে না এবং গেটওয়ের MFA পূরণ করে না। সংশোধনের পর স্বাভাবিক অ্যাকাউন্ট দিয়ে কেবল অভীষ্ট কাজটি করে পরীক্ষা করুন, তারপর ম্যানেজারের সাধারণ নিয়ন্ত্রণ ব্যবহার করুন।
সিদ্ধান্ত শেষ হয় যখন আপনি বলতে পারেন কোন শর্ত sudo-কে ন্যায্যতা দিয়েছে, নিয়মটি কী নাম বলে, পুরো নীতিটি পার্স হয়, এবং না হলে আপনি কীভাবে পুনরুদ্ধার করতেন। বিশেষাধিকারপ্রাপ্ত লঞ্চার যা আপনার প্রশাসনিক প্রবেশাধিকার কেড়ে নেয়, তা খারাপ বিনিময়, আর সাধারণত এটি এড়ানো যায়।