যেমন আপনি আপনার প্রশ্নে বলেছেন, মূল পার্থক্য হ'ল পরিবেশ।
sudo su - বনাম sudo -i
sudo su -এটির ক্ষেত্রে লগইন শেল, সুতরাং /etc/profile, .profileএবং .bashrcকার্যকর করা হয় এবং আপনি রুটের পরিবেশের সাথে মূলের হোম ডিরেক্টরিতে নিজেকে খুঁজে পাবেন।
sudo -iপ্রায় একই (প্রাথমিক লগইন সিমুলেট) বিকল্প শেল লগ-ইন শেল হিসাবে লক্ষ্য ব্যবহারকারীর পাসওয়ার্ড ডাটাবেসের এন্ট্রি দ্বারা নির্দিষ্ট রান। এর অর্থ হ'ল লগইন-নির্দিষ্ট সংস্থানীয় ফাইলগুলি , বা শেল দ্বারা পড়া এবং সম্পাদন করা হবে।sudo su --i.profile.bashrc.login
sudo su বনাম sudo -s
sudo susudoকমান্ড সহ কল su। বাশকে ইন্টারেক্টিভ নন-লগইন শেল হিসাবে ডাকা হয়। সুতরাং bashশুধুমাত্র কার্যকর .bashrc। আপনি দেখতে পাচ্ছেন যে রুটে স্যুইচ করার পরে আপনি এখনও একই ডিরেক্টরিতে রয়েছেন:
user@host:~$ sudo su
root@host:/home/user#
sudo -s$SHELLভেরিয়েবলটি পড়ে এবং সামগ্রীটি কার্যকর করে। যদি এটি $SHELLথাকে তবে /bin/bashএটির sudo /bin/bashঅর্থ /bin/bashহ'ল লগ-ইন শেল হিসাবে শুরু হয়েছে, সুতরাং সমস্ত ডট-ফাইলগুলি কার্যকর করা হয় না, তবে bashনিজেই পড়ে। bashrcকলিং ব্যবহারকারীর। আপনার পরিবেশ একই থাকে। আপনার বাড়িটি মূলের বাড়ি হবে না। সুতরাং আপনি মূল, কিন্তু কলিং ব্যবহারকারীর পরিবেশে।
উপসংহার
-iপতাকা যোগ করা হয়েছিল sudoমধ্যে 2004 , একটি অনুরূপ ফাংশন প্রদান sudo su -, তাই sudo su -জন্য টেম্পলেট ছিল sudo -iও এর মত কাজ করতে বোঝানো। আমি মনে করি আপনি যেটি ব্যবহার করবেন তা বাস্তবে গুরুত্বপূর্ণ নয়, যদি না পরিবেশটি গুরুত্বপূর্ণ না হয়।
সংযোজন
একটি মূল বিষয় যা এখানে উল্লেখ করতে হবে তা হ'ল উচ্চতর সুবিধাসহ একটি মাত্র কমান্ডsudo চালানোর জন্য এবং পরে সেই সুযোগগুলি মূল বিষয়গুলিতে ফেলে দেওয়ার জন্য তৈরি করা হয়েছিল। এটি ব্যবহারকারীকে সত্যই পরিবর্তন করতে এবং কোনও রুট শেল খোলা রেখে বোঝানো হয়নি । সময়ের সাথে সাথে, এই জাতীয় প্রক্রিয়াগুলির সাথে প্রসারিত হয়েছিল, কারণ লোকেরা কেন প্রতিটি আদেশের সামনে ব্যবহার করতে হবে তা নিয়ে বিরক্ত হয়েছিল ।sudosudo
তাই মানে গালি দেওয়া sudoহয়েছিল। sudoরুট সুবিধাগুলি ব্যবহারকে হ্রাস করতে ব্যবহারকারীকে উত্সাহিত করার উদ্দেশ্য ছিল।
আমাদের এখন যা আছে, তা sudoআরও বেশি জনপ্রিয় হয়ে ওঠে। এটি প্রায় প্রতিটি সুপরিচিত লিনাক্স বিতরণে একীভূত হয়। অন্য ব্যবহারকারীর অ্যাকাউন্টে স্যুইচ করার মূল সরঞ্জামটি হ'ল su। একটি পুরানো স্কুল * নিক্স অভিজ্ঞ জন্য যেমন জিনিস sudoঅযথা মনে হতে পারে। এটি জটিলতা যুক্ত করে এবং মাইক্রোসফ্টস ওস-পরিবার থেকে আমরা যে প্রক্রিয়াগুলি জানি তার সাথে আরও বেশি আচরণ করে এবং এইভাবে * নিক্স সিস্টেমগুলির সরলতার দর্শনের বিপরীতে।
আমি সত্যিই একজন অভিজ্ঞ নই, তবে আমার মতে sudoসর্বদা আমার পক্ষে একটি কাঁটা ছিল, যেহেতু সময় শুরু হয়েছিল এবং আমি sudoযদি সম্ভব হত তবে আমি সর্বদা এর ব্যবহারকে ঘিরে কাজ করতাম worked আমি ব্যবহার করতে সবচেয়ে অনিচ্ছুক sudo। আমার সমস্ত সিস্টেমে, রুট অ্যাকাউন্ট সক্ষম করা আছে। তবে বিষয়গুলি পরিবর্তিত হয়, সম্ভবত এমন সময় আসবে যখন suঅবনতি হবে এবং পুরোপুরি sudoপ্রতিস্থাপন করা suহবে।
অতএব আমি মনে করি, কোনও পুরানো সরঞ্জামের উপর নির্ভর না করে sudoঅভ্যন্তরীণ প্রক্রিয়া ( -s, -i) ব্যবহার করা সবচেয়ে ভাল su।
ubuntuযা ব্যবহারকারীদের মান থেকে বাধা দেয়su -। তারা সমস্যা তৈরি করেছে এবং এখন এটি কীভাবে সমাধান করা যায় তা নিয়ে অফুরন্ত আলোচনা হয়।