আপনি না পরীক্ষা করতে কেন চলমান দ্বারা (এটি আলাদা) sudo sudo -V।
উদাহরণস্বরূপ লিনাক্স রান:
$ sudo sudo -V | grep PATH
Value to override user's $PATH with: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
নোট: উপর MacOS / বাসদ, শুধু সঞ্চালন করুন: sudo sudo -V।
কিছু লিনাক্স বিতরণে ডিফল্ট সুরক্ষা নীতি প্লাগইনের কারণে উপরের তালিকাটি সীমাবদ্ধ।
এটি আরও ব্যাখ্যা করা হয়েছে man sudoers:
তাহলে secure_pathবিকল্প সেট করা থাকে, এর মান ব্যবহার করা হবে PATHএনভায়রনমেন্ট ভেরিয়েবল।
secure_path- প্রতিটি কমান্ডের জন্য ব্যবহৃত পাথ sudo থেকে চালিত হয়। যদি আপনি সুডো চলমান লোকদের বিশ্বাসযোগ্য PATHপরিবেশের পরিবর্তনশীল রাখতে বিশ্বাস না করেন তবে আপনি এটি ব্যবহার করতে চাইতে পারেন।
আরেকটি ব্যবহার হ'ল যদি আপনি "রুট পাথ" "ব্যবহারকারী পথ" থেকে পৃথক থাকতে চান। exempt_groupবিকল্প দ্বারা নির্দিষ্ট করা গ্রুপের ব্যবহারকারীরা দ্বারা প্রভাবিত হয় না secure_path। এই বিকল্পটি ডিফল্টরূপে সেট করা নেই।
যদি এটি হয় তবে আপনি sudo visudoকনফিগারেশন ফাইলটি চালনা এবং সম্পাদনা করে এবং আপনার secure_path(পৃথকভাবে অতিরিক্ত পাথ যোগ করার মাধ্যমে :) পরিবর্তন করতে বা আপনার ব্যবহারকারীকে এতে যুক্ত করতে exempt_groupপারেন (যাতে আপনি secure_pathবিকল্পগুলির দ্বারা প্রভাবিত হবেন না )।
বা ব্যবহারকারীর PATHঅস্থায়ী পাস করার জন্য , আপনি চালাতে পারেন:
sudo env PATH="$PATH" my_command
এবং আপনি এটি দ্বারা পরীক্ষা করতে পারেন:
sudo env PATH="$PATH" env | grep ^PATH
আরও দেখুন: সংরক্ষণ কীভাবে করবেন ?sudo$PATH
অন্যান্য কারণে পরিবেশটি আলাদা হতে পারে sudo, কারণ env_resetআপনার sudoersফাইলে আপনি বিকল্প সক্ষম করতে পারেন । এটি একটি নতুন, সর্বনিম্ন পরিবেশের সাথে আদেশগুলি সম্পাদন করে।
সুতরাং আপনি আপনার ব্যবহারকারীর পরিবেশ পরিবর্তনশীলগুলি সংরক্ষণ করতে env_keepবিকল্পটি ( সুরক্ষা কারণে প্রস্তাবিত নয় ) ব্যবহার করতে পারেন :
Defaults env_reset
Defaults env_keep += "PATH PYTHONPATH"