বাশ সুডোর কমান্ড পাওয়া যায় নি


33

আমি টার্নকি লিনাক্স রেডমাইন ব্যবহার করে একটি ভিএম সেট আপ করেছি এবং আমি আরও কিছু আইটেম ইনস্টল করার জন্য সার্ভারে এসএসএইচ চেষ্টা করছি।

এটি sudo কমান্ডটি স্বীকৃত বলে মনে হচ্ছে না। যতবারই আমি কোনও কিছু sudo করার চেষ্টা করি ততক্ষণে ত্রুটি পেয়েছি:

 -bash: sudo: command not found

আমি 'কোথাও সুডো' টাইপ করতে অন্য কোথাও পড়েছি এবং আউটপুটটি ছিল:

 sudo:

উত্তর:


20

এটি http://www.turnkeylinux.org/redines থেকে দেখে যে উবুন্টুর বিপরীতে রেডমিনের মতো, ডিফল্টরূপে sudo ব্যবহার করে না। আপনি এসএসএইচ-তে কোন ব্যবহারকারীর নাম ব্যবহার করছেন? যদি এটি হয় rootতবে আপনার ব্যবহার করার দরকার নেই sudo, যেমনটি যখন আপনি পুনর্নির্মাণ সিস্টেমে এসএসএইচড করেন তখন আপনি যা করেন তাই করেন root। যদি এটি অন্যরকম কিছু হয় adminতবে আপনি suকমান্ডটি rootচালানোর জন্য শেল পেতে শর্তটি পেতে চেষ্টা করতে পারেন root


স্ক্রিপ্টে কমান্ড সুডো থাকলে কী করবেন। আমার সাথে এমকিউএসবি হয়। ভবিষ্যতের সুবিধার্থে sudo ইনস্টল করা আরও ভাল।
গ্রোভার

40

সম্ভবত এটি ইনস্টল করা হয়নি? আপনার প্যাকেজ ম্যানেজার খুলুন এবং sudo প্যাকেজ ইনস্টল করুন ।


2
এটি ইনস্টল করা হয়নি! ধন্যবাদ। আমি লিনাক্সে বেশ নতুন এবং কেবলমাত্র অনুমান করেছি এটি সমস্ত ইনস্টলেশনতে রয়েছে। আমার কি কেবল সুডো প্যাকেজ বা সুডো-এলডিপ দরকার?

2
আপনার sudo-ldap প্যাকেজ লাগবে না। সুডো আমার কম্পিউটারে ভাল কাজ করে এবং আমার কাছে সুডো-এলডিপ ইনস্টল নেই।
আজেন্ডালে

6

প্রথমে আপনার মূল অ্যাকাউন্টে লগইন করুন। তারপর

$ apt-get install sudo

আপনার বিদ্যমান ব্যবহারকারীকে দলে যুক্ত করুন sudo

$ sudo adduser <user> sudo

তারপরে আপনার লগইন করা উচিত <user>এবং sudoকমান্ডটি সেখানে থাকা উচিত।


5

পুরো পথ ব্যবহার করার চেষ্টা করুন

/usr/bin/sudo

যদি সেই কমান্ডটি কাজ করে তবে / usr / bin / আপনার env পরিবর্তনশীল PATH- এ। / .bashrc এ অন্তর্ভুক্ত করুন

echo "export PATH="$PATH:/usr/bin"" >> ~/.bashrc

আশা করি কাজ করে ..


4
সমস্যা হওয়ার খুব সম্ভাবনা নেই; /usr/binপ্রায় অবশ্যই আপনার ডিফল্ট পথে হতে চলেছে। অন্যান্য উত্তর এবং মন্তব্য দ্বারা নির্দেশিত সমস্যাটি হ'ল sudoকমান্ডটি মোটেই ইনস্টল করা হয়নি।
কিথ থম্পসন

2

ত্রুটিটি ঘটেছিল কারণ আপনি যে বাইনারিটি কমান্ড লাইন থেকে কল করার চেষ্টা করছেন তা কেবলমাত্র বর্তমান ব্যবহারকারীর PATH ভেরিয়েবলেরই একটি অংশ, তবে রুট ব্যবহারকারীর পাঠের অংশ নয়।

আপনি যে বাইনারিটি অ্যাক্সেস করার চেষ্টা করছেন তার পথ চিহ্নিত করে আপনি এটি যাচাই করতে পারেন। আমার ক্ষেত্রে আমি "বেটারক্যাপ-এনজি" কল করার চেষ্টা করছিলাম। তাই আমি দৌড়েছি,

$ which bettercap-ng

output: /home/user/work/bin/bettercap

এই অবস্থানটি আমার মূল ব্যবহারকারীর PATH এর অংশ কিনা তা আমি পরীক্ষা করে দেখেছি।

$ sudo env | grep ^PATH

আউটপুট: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

সুতরাং সুডো বাইনারিটি খুঁজে পাচ্ছে না যা আমি কমান্ডলাইন থেকে কল করার চেষ্টা করছি। অতএব ত্রুটি কমান্ড পাওয়া যায়নি ফিরে।

নীচের মত বাইনারি কল করার সময় আপনি বর্তমান ব্যবহারকারীর PATH ব্যবহার করতে sudo নির্দেশনা করতে পারেন।

$ sudo -E env "PATH=$PATH" [command] [arguments]

প্রকৃতপক্ষে, এটির বাইরে একটির নামকরণ করা যেতে পারে:

$ alias mysudo='sudo -E env "PATH=$PATH"'

আসল সুডোর পরিবর্তে নিজের নামটির নাম সুডো করাও সম্ভব।

ধাপে ধাপে সমাধানের জন্য দয়া করে এই ভিডিওটি দেখুন

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