/ বিন / শ: `কিছু-ফাংশন 'এর জন্য ফাংশন সংজ্ঞা আমদানি করার সময় ত্রুটি


14

CVE-2014-6271 সুরক্ষা সমস্যার জন্য ব্যাশ আপডেট করার সময় আমি এই ত্রুটির মুখোমুখি হয়েছি:

# yum update bash
Running transaction (shutdown inhibited)
Updating   : bash-4.2.47-4.fc20.x86_64
/bin/sh: error importing function definition for `some-function'

উত্তর:


17

[প্রথম মন্তব্যটির পরে সম্পাদিত: @ চেপনার - ধন্যবাদ!]

/ বিন / বাশ ফাংশন নামের হাইফেনকে অনুমতি দেয়, / বিন / শ (বোর্ন শেল) দেয় না। এখানে, আক্রমণাত্মক "কিছু-ফাংশন" বাশ দ্বারা রফতানি করা হয়েছিল, এবং ব্যাশকে ইয়াম নামে ডাকা হয়েছে যার নাম / বিন / এস বলা হয়েছে যা উপরের ত্রুটিটি জানিয়েছিল।

ফিক্স: হাইফেন না থাকার জন্য শেল ফাংশনগুলির নাম পরিবর্তন করুন

ম্যান বাশ বলেছেন যে ব্যাশ শনাক্তকারীদের সমন্বয়ে এটি থাকতে পারে: "কেবলমাত্র বর্ণানুক্রমিক অক্ষর এবং আন্ডারস্কোরগুলির মধ্যে"

/ বিন / শ ত্রুটিটি আরও স্পষ্ট:

some-function () { :; }

sh: 'কিছু-ফাংশন': কোনও বৈধ শনাক্তকারী নয়


মনে রাখবেন যে bashকোনও প্যারামিটারের নাম নয়, একটি ফাংশন নামে হাইফেন অনুমোদিত allowed
চিপনার

@ চেপনার একটি আন্ডারস্কোর সম্পর্কে কী? একটি ফাংশন নাম এবং পরামিতি নাম একটি আন্ডারস্কোর অনুমোদিত?
BH2017

আমার সিস্টেমে বাশ 4 ফাংশনটির নামগুলিকে হাইফেন রাখার অনুমতি দেয় তবে ব্যাশ 3 দেয় না - আমি ধরে নিই ওপির সিস্টেমে / বিন / শ বশ 3, এবং / বিন / বাশ 4
মার্ক ফক্স

2

পরিবর্তন করুন / থেকে ফাংশনের নাম ত্রুটিমুক্ত "foo-bar"করার"foo_bar"

এটি নামকরণ কনভেনশন যা বাশ ঠিক আছে, যেখানে নেই।

"_" (আন্ডারস্কোর) দিয়ে "-" (হাইফেন / ড্যাশ / বিয়োগ) প্রতিস্থাপন করুন এবং ত্রুটিটি স্থির হয়ে যায় এবং কোড বাশ এবং উভয় ক্ষেত্রে কাজ করে

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