সুডো রিমান্ড কমান্ড হিসাবে চলমান কমান্ডটি কেন পাওয়া গেল না?


12

নমুনা আদেশ:

drush cc all

কাজ করে তবে এটি:

sudo drush cc all

আমাকে দেয়:

sudo: drush: command not found

কেন? কিভাবে এটি ঠিক করবেন?


আমার মাঝে মাঝে এই সমস্যাটিও ছিল, যেমন প্রাথমিক কমান্ডগুলির সাথে cddzdo cd"কমান্ড পাওয়া যায়নি" ব্যবহার করে । অবশ্যই আমি পরে বুঝতে পারেন যে cd, একটি ডিরেক্টরির মধ্যে ing আমি, সাহায্য করবে না অনুমতি খুব বেশি তথ্য নেই যাতে আমি হয় একটি রুট শেল বা করার প্রয়োজনীয়তা প্রয়োজন dzdo ls, dzdo mvইত্যাদি বাইরে থেকে বিষয়বস্তু যে Dir।
ওয়াইল্ডকার্ড

2
সঙ্গে সমস্যা sudo cdঅর্থাৎ cdএকটি বিল্ট-ইন কমান্ড একটি প্রোগ্রাম নয়। আপনি যদি কোনও ডিরেক্টরিতে যেতে চান যাতে আপনার কোনও অ্যাক্সেস নেই এবং (উদাহরণস্বরূপ) সেখানে কোনও ফাইলের নাম পরিবর্তন করা যায় তবে আপনি (উদাহরণস্বরূপ) sudo mv dir/oldfile dir/newfile বা করতে পারেন sudo sh -c "cd dir; mv oldfile newfile"
জি-ম্যান বলছেন 'পুনরায় ইনস্টল করুন মনিকা'

উত্তর:


13

আপনি যখন sudo, একটি প্রাক কনফিগার্ড পাবেন $PATH, যা রুট ব্যবহারকারীর ডিফল্ট পাথের মতো কিছু (মনে করা হয়) । আপনার প্রোগ্রাম দ্বারা চিহ্নিত ডিরেক্টরিগুলির তালিকায় নেই $PATH

উদাহরণস্বরূপ দেখুন

বাহ্যিক আদেশগুলি কার্যকর করার সময় sudo নিরাপদে থাকার চেষ্টা করে।

পরিবেশের ভেরিয়েবলগুলি মোকাবেলার জন্য দুটি স্বতন্ত্র উপায় রয়েছে। ডিফল্ট হিসাবে, env_reset sudoers বিকল্প সক্ষম করা হয়। এই কারণগুলো কমান্ড সম্বলিত একটি সংক্ষিপ্ত পরিবেশের সঙ্গে নিষ্পন্ন করা হবে TERM, PATH, HOME, SHELL, LOGNAME, USERএবং USERNAMEআবাহন প্রক্রিয়া থেকে ভেরিয়েবল ছাড়াও দ্বারা অনুমোদিত env_checkএবং env_keep sudoers অপশন। পরিবেশের ভেরিয়েবলের কার্যকরভাবে একটি শ্বেত তালিকা রয়েছে।

আপনি যদি এটি sudoসংরক্ষণের জন্য কনফিগার করতে না পারেন $PATHতবে সাধারণ কর্মসূচীটি হ'ল প্রোগ্রামটির পুরো পথ নাম নির্দিষ্ট করে specify এটি স্ক্রিপ্টগুলির সাথে ভাল কাজ করতে পারে না যা (অ্যাক্সেস করা হয়নি) ডিরেক্টরিতে অন্য এক্সিকিউটেবলকে ডাকে।


0

আপনার পুরো পথ নির্দিষ্ট করা উচিত। এটি আরও সুরক্ষিত; এটি আপনি পাথটি নির্দিষ্ট করেন না, এটি অনুমেয় যে কোনও আক্রমণকারী অন্য একটি প্রোগ্রাম তৈরি করতে পারে যা রুট অনুমতি নিয়ে চালানো হবে।

এছাড়াও, /etc/sudoersএটির অনুমতি দেওয়ার জন্য আপনার একটি লাইন লাগানো দরকার । man sudoersসিনট্যাক্সের জন্য, এটি এখানে রাখার উপায় অনেক বেশি।

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