যেমন আপনি আপনার প্রশ্নে বলেছেন, মূল পার্থক্য হ'ল পরিবেশ।
sudo su -
বনাম sudo -i
sudo su -
এটির ক্ষেত্রে লগইন শেল, সুতরাং /etc/profile
, .profile
এবং .bashrc
কার্যকর করা হয় এবং আপনি রুটের পরিবেশের সাথে মূলের হোম ডিরেক্টরিতে নিজেকে খুঁজে পাবেন।
sudo -i
প্রায় একই (প্রাথমিক লগইন সিমুলেট) বিকল্প শেল লগ-ইন শেল হিসাবে লক্ষ্য ব্যবহারকারীর পাসওয়ার্ড ডাটাবেসের এন্ট্রি দ্বারা নির্দিষ্ট রান। এর অর্থ হ'ল লগইন-নির্দিষ্ট সংস্থানীয় ফাইলগুলি , বা শেল দ্বারা পড়া এবং সম্পাদন করা হবে।sudo su -
-i
.profile
.bashrc
.login
sudo su
বনাম sudo -s
sudo su
sudo
কমান্ড সহ কল 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
চালানোর জন্য এবং পরে সেই সুযোগগুলি মূল বিষয়গুলিতে ফেলে দেওয়ার জন্য তৈরি করা হয়েছিল। এটি ব্যবহারকারীকে সত্যই পরিবর্তন করতে এবং কোনও রুট শেল খোলা রেখে বোঝানো হয়নি । সময়ের সাথে সাথে, এই জাতীয় প্রক্রিয়াগুলির সাথে প্রসারিত হয়েছিল, কারণ লোকেরা কেন প্রতিটি আদেশের সামনে ব্যবহার করতে হবে তা নিয়ে বিরক্ত হয়েছিল ।sudo
sudo
তাই মানে গালি দেওয়া sudo
হয়েছিল। sudo
রুট সুবিধাগুলি ব্যবহারকে হ্রাস করতে ব্যবহারকারীকে উত্সাহিত করার উদ্দেশ্য ছিল।
আমাদের এখন যা আছে, তা sudo
আরও বেশি জনপ্রিয় হয়ে ওঠে। এটি প্রায় প্রতিটি সুপরিচিত লিনাক্স বিতরণে একীভূত হয়। অন্য ব্যবহারকারীর অ্যাকাউন্টে স্যুইচ করার মূল সরঞ্জামটি হ'ল su
। একটি পুরানো স্কুল * নিক্স অভিজ্ঞ জন্য যেমন জিনিস sudo
অযথা মনে হতে পারে। এটি জটিলতা যুক্ত করে এবং মাইক্রোসফ্টস ওস-পরিবার থেকে আমরা যে প্রক্রিয়াগুলি জানি তার সাথে আরও বেশি আচরণ করে এবং এইভাবে * নিক্স সিস্টেমগুলির সরলতার দর্শনের বিপরীতে।
আমি সত্যিই একজন অভিজ্ঞ নই, তবে আমার মতে sudo
সর্বদা আমার পক্ষে একটি কাঁটা ছিল, যেহেতু সময় শুরু হয়েছিল এবং আমি sudo
যদি সম্ভব হত তবে আমি সর্বদা এর ব্যবহারকে ঘিরে কাজ করতাম worked আমি ব্যবহার করতে সবচেয়ে অনিচ্ছুক sudo
। আমার সমস্ত সিস্টেমে, রুট অ্যাকাউন্ট সক্ষম করা আছে। তবে বিষয়গুলি পরিবর্তিত হয়, সম্ভবত এমন সময় আসবে যখন su
অবনতি হবে এবং পুরোপুরি sudo
প্রতিস্থাপন করা su
হবে।
অতএব আমি মনে করি, কোনও পুরানো সরঞ্জামের উপর নির্ভর না করে sudo
অভ্যন্তরীণ প্রক্রিয়া ( -s
, -i
) ব্যবহার করা সবচেয়ে ভাল su
।
ubuntu
যা ব্যবহারকারীদের মান থেকে বাধা দেয়su -
। তারা সমস্যা তৈরি করেছে এবং এখন এটি কীভাবে সমাধান করা যায় তা নিয়ে অফুরন্ত আলোচনা হয়।