Sudo কমান্ডের জন্য কীভাবে পথ নির্ধারণ করবেন


37

যদি আমি ইস্যু করি

sudo my-command

লিনাক্স এটি কীভাবে দেখায় my-command?

my-commandআমার পথ রয়েছে। আমি কোন সমস্যা ছাড়াই এটি প্রার্থনা করতে পারেন। যাইহোক, আমি যখন এটির সাথে ডাকি sudo, আমি পেয়ে যাব command not found। আকর্ষণীয়, এর আগে কখনও অভিজ্ঞতা করবেন না। কীভাবে কাটিয়ে উঠব?

সম্পাদনা: এই "সম্ভাব্য সদৃশ" এর নির্বাচিত উত্তরটি ভুল, ভাল, কমপক্ষে বিন্দুতে নয়। টেরডন থেকে এই উত্তরটি সঠিক।

উত্তর:


48

এটি সাধারণত secure_pathবিকল্পটি দ্বারা সেট করা হয় /etc/sudoers। থেকে man sudoers:

 secure_path   Path used for every command run from sudo.  If you don't
               trust the people running sudo to have a sane PATH environ‐
               ment variable you may want to use this.  Another use is if
               you want to have the “root path” be separate from the “user
               path”.  Users in the group specified by the exempt_group
               option are not affected by secure_path.  This option is not
               set by default.

ডিফল্ট না থাকা কমান্ডগুলি চালাতে $PATH, আপনি হয় তা করতে পারেন

  1. সম্পূর্ণ পাথ ব্যবহার করুন: sudo ~/bin/my-command; অথবা

  2. কমান্ড সম্বলিত ডিরেক্টরি যুক্ত করুন secure_pathsudo visudoসুরক্ষিত পাথ লাইনটি চালান এবং সম্পাদনা করুন:

    Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/youruser/bin/"
    

    ফাইলটি সংরক্ষণ করুন এবং পরের বার আপনি চালাবেন sudo, ডিরেক্টরিটি এতে ~/binথাকবে $PATH


2
অথবা কেবলমাত্র সম্পূর্ণ লাইনটি মন্তব্য করুন যদি এটি কোনও প্রোডাকশন মেশিন না হয় এবং আমাদের যত্ন নেই। তারপরে এটি ব্যবহারকারীর PATH ব্যবহার করবে। এটি বলে যে এটি ডিফল্টরূপে সেট করা নেই তবে এটি সর্বদা সত্য হতে পারে না ...
নাগেভ

2

এটি আমি কাজের জন্য ব্যবহার করেছি:

sudo cp $(which my-command) /usr/bin
...

whichকমান্ড একটি subshell root- ব্যতীত যে, তাই এটি খুঁজে পেতে সক্ষম হয় মৃত্যুদন্ড কার্যকর করা হয় my-command, তারপর, কপি এক্সিকিউটেবল একটি পাথ যে sudo rootব্যবহারকারী অ্যাক্সেস করতে পারবেন। সুরক্ষার জন্য দুর্দান্ত নয়, তবে কমান্ডটি চালানোর পরে ড্যাকার চিত্রটি নষ্ট হয়ে যাচ্ছিল আমার পক্ষে এটি ঠিক ছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.