টিএল; ডিআর: আপনার যখন করতে হবে তখনই রুট হিসাবে জিনিসগুলি করুন। sudo
এটি বেশ সহজ করে তোলে। আপনি যদি রুট লগইন সক্ষম করেন তবে আপনি এখনও এই নিয়মটি অনুসরণ করতে পারেন, আপনাকে কেবল এটি করতে সতর্ক থাকতে হবে। যদিও সঠিকভাবে সম্পন্ন করা হলে রুট লগইনগুলি সক্ষম করা আসলে সুরক্ষিত নয়, আপনাকে রুট লগইন সক্ষম করার প্রয়োজন নেই sudo
।
এখানে সত্যিই দুটি সম্পর্কিত প্রশ্ন আছে।
- প্রতিদিনের কম্পিউটার ব্যবহারের (ওয়েব ব্রাউজিং, ইমেল, ওয়ার্ড প্রসেসিং, গেমিং ইত্যাদি) রুট হিসাবে লগ ইন করা খারাপ কেন?
- কেন উবুন্টু রুট লগইন পুরাপুরি নিষ্ক্রিয় এবং ব্যবহার করার ডিফল্ট নেই
sudo
এবং polkit রুট হিসাবে নির্দিষ্ট কমান্ড চালানোর জন্য অ্যাডমিনিস্ট্রেটররা সচল করতে হয়?
সব সময় রুট হিসাবে চালাবেন না কেন?
অন্যান্য উত্তরগুলির বেশিরভাগই এটি কভার করে। এটি নেমে আসে:
- আপনি যদি এমন কাজের জন্য রুট পাওয়ারগুলি ব্যবহার করেন যাগুলির প্রয়োজন হয় না এবং আপনি যা করতে চান না এমন কিছু করে শেষ করেন, আপনি চান না এমন পদ্ধতিতে আপনি আপনার সিস্টেমকে পরিবর্তন বা ক্ষতি করতে পারেন।
- আপনার যখন প্রয়োজন হয়নি তখন আপনি যদি কোনও প্রোগ্রামটি রুট হিসাবে চালান এবং এটি এমন কিছু করা শেষ করে যা এর জন্য করা উচিত নয় - উদাহরণস্বরূপ, সুরক্ষা দুর্বলতা বা অন্য বাগের কারণে - এটি পরিবর্তন বা ক্ষতি হতে পারে আপনার সিস্টেমটি এমনভাবে নয় যা আপনি চান না।
এটি সত্য যে এমনকি জিনিসকে মূল হিসাবে না করেও আপনি ক্ষতির কারণ হতে পারেন। উদাহরণস্বরূপ, আপনি নিজের হোম ডিরেক্টরিতে থাকা সমস্ত ফাইল মুছতে পারেন, যা সাধারণত আপনার সমস্ত নথি অন্তর্ভুক্ত করে, রুট হিসাবে চালানো ছাড়াই! (আশা করি আপনার ব্যাকআপ রয়েছে))
অবশ্যই, মূল হিসাবে, দুর্ঘটনাক্রমে সেই একই ডেটা ধ্বংস করার অতিরিক্ত উপায় রয়েছে। উদাহরণস্বরূপ, আপনি of=
একটি dd
কমান্ডের ভুল যুক্তিটি নির্দিষ্ট করতে এবং আপনার ফাইলগুলিতে কাঁচা ডেটা লিখতে পারেন (যা তাদের উপায় হয়ে যায়, যদি আপনি কেবল মুছে ফেলেন তবে তার চেয়ে পুনরুদ্ধার করা আরও কঠিন)।
আপনি যদি কেবলমাত্র আপনার কম্পিউটারটি ব্যবহার করেন তবে আপনি কেবলমাত্র রুট হিসাবে যে ক্ষতি করতে পারেন তা আপনার নিয়মিত ব্যবহারকারীর সুবিধাগুলি নিয়ে যে ক্ষতি হতে পারে তার চেয়ে বেশি নাও হতে পারে। তবে এটি এখনও আপনার উবুন্টু সিস্টেমকে বিশৃঙ্খলা করার অতিরিক্ত উপায়গুলি অন্তর্ভুক্ত করার জন্য আপনার ঝুঁকি বাড়ানোর কোনও কারণ নয় ।
যদি কোনও অ-রুট ব্যবহারকারী অ্যাকাউন্টের সাথে চালানো আপনাকে নিজের কম্পিউটারের উপর নিয়ন্ত্রণ অনুশীলন থেকে বিরত রাখে তবে অবশ্যই এটি একটি খারাপ ট্রেড অফ be কিন্তু এটা doesn't-- যে কোন সময় আপনি আসলে চান রুট হিসাবে একটি কর্ম সম্পাদন করতে আপনার সাথে তা করতে পারেন sudo
এবং অন্যান্য পদ্ধতি ।
রুট হিসাবে লগ ইন করা কেন এটি সম্ভব করে না?
মূল হিসাবে লগ ইন করার ক্ষমতা অন্তর্নিহিত সুরক্ষিত একটি ধারণা একটি ধারণা। কিছু সিস্টেমে ডিফল্টরূপে সক্ষম রুট অ্যাকাউন্ট থাকে; অন্যান্য সিস্টেমগুলি sudo
ডিফল্টরূপে ব্যবহার করে এবং কিছুগুলি উভয় দ্বারা কনফিগার করা হয়।
- উদাহরণস্বরূপ, ওপেনবিএসডি , যা ব্যাপকভাবে এবং যুক্তিসঙ্গতভাবে বিশ্বের সর্বাধিক সুরক্ষিত সাধারণ-উদ্দেশ্য ওএস হিসাবে বিবেচিত হয়, স্থানীয়, পাসওয়ার্ড-ভিত্তিক লগইনের জন্য সক্ষম রুট অ্যাকাউন্ট সহ জাহাজগুলি।
- অন্যান্য সম্মানিত ওএসগুলি যা এটি করে তাদের মধ্যে আরএইচইএল , সেন্টোস এবং ফেডোরা অন্তর্ভুক্ত রয়েছে ।
- ডেবিয়ান (যা থেকে উবুন্টু প্রাপ্ত হয় ) সিস্টেম ইনস্টল করার সময় ব্যবহারকারীরা কোন পদ্ধতিটি কনফিগার করা হবে তা নির্ধারণ করে।
শর্তাদির অ্যাকাউন্টটি সক্ষম হয়ে থাকে এমন কোনও ব্যবস্থা রাখা উদ্দেশ্যমূলকভাবে ভুল নয় provided
- আপনি এখনও কেবল এটি ব্যবহার করেন যখন আপনার সত্যিকারের প্রয়োজন হয় এবং
- আপনি এটিতে অ্যাক্সেস যথাযথভাবে সীমাবদ্ধ করেন।
প্রায়শই novices জিজ্ঞাসা করে যে কিভাবে উবুন্টুতে রুট অ্যাকাউন্ট সক্ষম করতে হয়। আমরা তাদের থেকে এই তথ্য গোপন করা উচিত নয়, কিন্তু সাধারণত যখন মানুষ জিজ্ঞেস এটা কারণ তারা ভুল ছাপ যে তারা অধীনে আছে প্রয়োজন root অ্যাকাউন্ট সক্রিয়। প্রকৃতপক্ষে, এটি প্রায় প্রয়োজন হয় না, সুতরাং এই জাতীয় প্রশ্নের উত্তর দেওয়ার সময় এটি গুরুত্বপূর্ণ important রুট অ্যাকাউন্ট সক্ষম করার ফলে আত্মতৃপ্ত হওয়া এবং রুট হিসাবে এমন ক্রিয়া সম্পাদন করা সহজ হয় যা রুট সুবিধাগুলির প্রয়োজন হয় না। তবে এর অর্থ এই নয় যে মূল অ্যাকাউন্টটি সক্ষম করা নিজেই নিরাপত্তাহীন।
sudo
ব্যবহারকারীদের কেবল যখন প্রয়োজন হয় তখন কমান্ডগুলি রুট হিসাবে চালাতে উত্সাহ দেয় এবং সহায়তা করে । রুট হিসাবে একটি কমান্ড চালাতে, টাইপ করুন sudo
, একটি স্পেস এবং তারপরে কমান্ডটি লিখুন। এটি খুব সুবিধাজনক এবং সমস্ত দক্ষতার স্তরের অনেক ব্যবহারকারী এই পদ্ধতির পছন্দ করেন।
সংক্ষেপে, আপনার কাছে রুট লগইন সক্ষম করার দরকার নেই sudo
। তবে যতক্ষণ আপনি এটি কেবল প্রশাসনিক কাজের জন্য এটির প্রয়োজন হিসাবে ব্যবহার করেন ততক্ষণ এটি রুট হিসাবে সক্ষম এবং লগইন করা প্রায় সমানভাবে সুরক্ষিত, যতক্ষণ না এটি কেবল এই উপায়ে থাকে :
তবে, আপনি যদি এইভাবে মূল হিসাবে লগ ইন করেন তবে যথেষ্ট পরিমাণে সুরক্ষিত ঝুঁকি দেখা দেয়:
গ্রাফিক্যালি। আপনি যখন গ্রাফিকালি লগ ইন করবেন তখন গ্রাফিকাল ইন্টারফেস সরবরাহ করতে পুরো প্রচুর স্টাফ চলে এবং আপনি যে ইন্টারফেসটি কোনও কিছুর জন্য ব্যবহার করতে রুট হিসাবে আরও বেশি অ্যাপ্লিকেশন চালাবেন। এটি কেবলমাত্র রুট হিসাবে প্রোগ্রাম পরিচালনা করার নীতির বিপরীতে যায় যা সত্যিকার অর্থে মূল অধিকারগুলির প্রয়োজন। এই প্রোগ্রামগুলির মধ্যে কয়েকটিতে সুরক্ষা বাগ সহ বাগগুলি থাকতে পারে।
তদ্ব্যতীত, এটি এড়াতে একটি সুরক্ষার কারণ রয়েছে। রুট হিসাবে গ্রাফিকভাবে লগ ইন করা ভাল সমর্থন করে না - যেমন লোভবার্গ উল্লেখ করেছেন , ডেস্কটপ এনভায়রনমেন্ট এবং গ্রাফিকাল অ্যাপ্লিকেশনগুলির বিকাশকারীরা প্রায়শই এগুলি রুট হিসাবে পরীক্ষা করে না। এমনকি যদি তা হয়, গ্রাফিকাল ডেস্কটপ পরিবেশে মূল হিসাবে লগ ইন করা ব্যবহারকারীদের দ্বারা বাস্তব ওয়ার্ল্ড আলফা এবং বিটা পরীক্ষা পায় না, কারণ প্রায় কেউই এটি চেষ্টা করে না (উপরে বর্ণিত সুরক্ষার কারণে)।
রুট হিসাবে নির্দিষ্ট গ্রাফিকাল অ্যাপ্লিকেশন চালানোর দরকার হলে আপনি ব্যবহার করতে পারেনgksudo
বা sudo -H
। আপনি যদি রুট অ্যাকাউন্টের সাথে গ্রাফিকভাবে লগইন করে থাকেন তবে এর তুলনায় এটি রুট হিসাবে অনেক কম প্রোগ্রাম চালায়।
দূরবর্তী। root
অ্যাকাউন্ট কার্যকর কিছু করতে পারেন, এবং এটি কার্যত যে ইউনিক্স-সদৃশ সিস্টেমে একই নাম আছে। এর মাধ্যমে ssh
বা অন্যান্য দূরবর্তী যান্ত্রিক পদ্ধতির মাধ্যমে রুট হিসাবে লগইন করে, বা এমনকি এটির জন্য দূরবর্তী পরিষেবাদিগুলি কনফিগার করে আপনি বটনেটগুলিতে চালিত স্বয়ংক্রিয় স্ক্রিপ্টগুলি এবং ম্যালওয়্যার সহ ব্রুট ফোর্স, অভিধান আক্রমণগুলির মাধ্যমে অ্যাক্সেস অর্জন করতে (এবং সম্ভবত) কিছু সুরক্ষা বাগ)।
আপনি যদি কেবল কী-ভিত্তিক , এবং পাসওয়ার্ড-ভিত্তিক রুট লগইন না করে তবে ঝুঁকিটি তত বেশি নয় ।
উবুন্টুতে ডিফল্টরূপে, SSH- র মাধ্যমে কোনও গ্রাফিকাল রুট লগইন বা রিমোট লগইন সক্ষম করা যায় না, আপনি লগইনকে রুট হিসাবে সক্ষম করলেও । এটি হ'ল, আপনি রুট লগইন সক্ষম করলেও, এটি এখনও কেবলমাত্র এমনভাবে কার্যকর করা হয়েছে যা যুক্তিসঙ্গতভাবে সুরক্ষিত।
- আপনি যদি উবুন্টুতে একটি ssh সার্ভার চালান এবং পরিবর্তন না
/etc/sshd/ssh_config
করে থাকেন তবে এতে লাইন থাকবে PermitRootLogin without-password
। এটি পাসওয়ার্ড-ভিত্তিক মূল লগইন অক্ষম করে, তবে কী-ভিত্তিক লগইনকে অনুমতি দেয়। যাইহোক, কোনও কী ডিফল্টরূপে কনফিগার করা হয় না, সুতরাং আপনি যদি একটি সেট না করেন তবে এটিও কার্যকর হবে না। তদ্ব্যতীত, মূল-ভিত্তিক রিমোট রুট লগইন পাসওয়ার্ড-ভিত্তিক রিমোট রুট লগইনের চেয়ে অনেক কম খারাপ, কিছুটা কারণ এটি ব্রুট ফোর্স এবং অভিধান আক্রমণগুলির ঝুঁকি তৈরি করে না।
- যদিও ডিফল্টগুলি আপনাকে রক্ষা করা উচিত , আমি মনে করি আপনার এসএসএস কনফিগারেশনটি পরীক্ষা করা এখনও ভাল ধারণা, যদি আপনি মূল অ্যাকাউন্টটি সক্ষম করতে চলেছেন। এবং যদি আপনি অন্যান্য পরিষেবাগুলি চালাচ্ছেন যা ftp এর মতো দূরবর্তী লগইন সরবরাহ করে, আপনারও এটি পরীক্ষা করা উচিত।
উপসংহারে:
- আপনার যখন প্রয়োজন তখন রুট হিসাবে স্টাফ করুন;
sudo
আপনাকে এটি করতে সহায়তা করে, তবুও আপনি যে কোনও সময় চাইলে আপনাকে মূলের সম্পূর্ণ শক্তি সরবরাহ করে।
- রুট কীভাবে কাজ করে এবং এর অতিরিক্ত ব্যবহারের ঝুঁকিগুলি যদি আপনি বুঝতে পারেন তবে সুরক্ষা দৃষ্টিকোণ থেকে মূল অ্যাকাউন্টটি সক্ষম করা আসলেই সমস্যাযুক্ত নয়।
- তবে আপনি যদি এটি বুঝতে পারেন তবে আপনি এটিও জানেন যে আপনার অবশ্যই প্রায় অবশ্যই রুট অ্যাকাউন্ট সক্ষম করার দরকার নেই ।
রুট সম্পর্কে আরও তথ্যের জন্য এবং আমি এখানে আওতাভুক্ত করি নি এমন sudo
কিছু অতিরিক্ত বেনিফিট সহ sudo
আমি উবুন্টু সহায়তা উইকিতে রুটসুডোকে অত্যন্ত সুপারিশ করি ।