এটা দৃঢ়ভাবে কিভাবে আপনার সাথে আপনার প্রোগ্রাম কল উপর নির্ভর করে sudoবা su।
যেমন এই সিস্টেমে আমি এই মুহুর্তে রয়েছি:
.bashrc
COMMAND $HOME $USER Env. $PATH
1. sudo -i (root) root root [1]
2. sudo -s (USER) root USER /home/${USER}/bin:[1]
3. sudo /bin/bash (USER) root USER /home/${USER}/bin:[1]
4. sudo su (root) root USER [1]:/usr/games:/usr/local/games
5. sudo su - (root) root root [1]
যেখানে [1] = / usr / স্থানীয় / এসবিন: / usr / স্থানীয় / বিন: / usr / sbin: / usr / bin: / sbin: / বিন
এনভ = পরিবেশের ভেরিয়েবলগুলি 1 এবং 5 -র জন্য পুনরায় সেট করা হয়, এতে $ USER থেকে নেওয়া হয় 2,3,4।
একটি স্ক্রিপ্ট, বা যে একটি ভিন্ন বিকল্প বিভিন্ন দেখতে পারেন সঙ্গে চালু একটি প্রোগ্রাম তাই $PATH, $HOMEতার শেল বিভিন্ন পড়তে পারেন .bashrc, .profileএনভায়রনমেন্ট ভেরিয়েবল এবং। এটি এর সাথে সম্পর্কিত ফাইলটি পড়ে $HOME। প্রতিটি ব্যবহারকারী তার পরিবেশকে বিভিন্ন উপায়ে পরিবর্তন করতে পারে (ভেরিয়েবল $PATH,, .Bashrc,। প্রোফাইল, .ব্যাশ_প্রোফাইল, ওরফে ...)। বিশেষত ব্যবহারকারীর নিজস্ব ডিরেক্টরিতে আলাদা আলাদা ক্রম থাকতে পারে $PATHএবং ফলস্বরূপ, একটি স্ক্রিপ্ট একটি কমান্ড কার্যকর করতে পারে যেমন /home/$USER/binপরিবর্তে তারপরে মূল থেকে প্রত্যাশিত পথে।
আপনি sudo -iযেমনটি রুট হিসাবে লগইন করেছেন তে আপনি প্রোগ্রামটি চালিয়ে su -যেতে পারেন তবে আপনি যদি এটির সাথে sudo MyCommandবা এর সাথে চালনা করেন তবে আপনার আলাদা আচরণ থাকতে পারে su -c MyCommand।
থেকে man su:
বর্ণনার অংশে:
বর্তমান পরিবেশটি নতুন শেলের কাছে চলে গেছে । Users PATH এর মান / ব্যবহারকারীদের জন্য / বিন: / usr / বিন, বা / sbin: / বিন: / usr / sbin: / usr / বিনকে সুপারসারের জন্য পুনরায় সেট করা হয়
...
বিকল্প অংশে:
- , -l , --login ব্যবহারকারীর প্রত্যাশার মতো
একটি পরিবেশ সরবরাহ করুন যা ব্যবহারকারী সরাসরি লগ ইন করে ।
মানুষ থেকে sudo
-i , --login
লগইন শেল হিসাবে লক্ষ্য ব্যবহারকারীর পাসওয়ার্ড ডাটাবেস এন্ট্রি দ্বারা নির্দিষ্ট শেলটি চালান। এর অর্থ হ'ল। প্রোফাইল, বা লগিনের মতো লগইন-নির্দিষ্ট সংস্থান ফাইলগুলি শেল দ্বারা পঠিত হবে। যদি একটি কমান্ড নির্দিষ্ট করা থাকে, এটি শেলের -c বিকল্পের মাধ্যমে কার্যকর করার জন্য শেলের কাছে প্রেরণ করা হয়। যদি কোনও কমান্ড নির্দিষ্ট না করা থাকে তবে একটি ইন্টারেক্টিভ শেল কার্যকর করা হয়। sudoশেল চালানোর আগে ব্যবহারকারীর হোম ডিরেক্টরিতে পরিবর্তন করার চেষ্টা করে। কমান্ডটি এমন পরিবেশের সাথে চালিত হয় যা ব্যবহারকারীর লগ ইন করার সময় তার মতো হয় । Sudoers এর কমান্ড এনভায়রনমেন্ট বিভাগ (5) ম্যানুয়াল নথিতে নথিটি নথির ব্যবহারের সময় কমান্ড চালিত পরিবেশে কীভাবে -i বিকল্পটি প্রভাবিত করে তা নথিভুক্ত করে।