আমার কাছে একটি অ-সুযোগ সুবিধাযুক্ত ব্যবহারকারীদের ক্রন্টব থেকে চালিত স্ক্রিপ্ট রয়েছে যা কিছু কমান্ড ব্যবহার করে অনুরোধ করে sudo
। এটি না করে বাদে। স্ক্রিপ্টটি ঠিকঠাক চলতে থাকে তবে sudo'ed কমান্ড নিঃশব্দে ব্যর্থ হয়।
স্ক্রিপ্টটি সন্দেহভাজন ব্যবহারকারী হিসাবে শেল থেকে পুরোপুরি চলে।
সুডোর কোনও পাসওয়ার্ডের দরকার নেই। প্রশ্নে থাকা ব্যবহারকারীকে
(root) NOPASSWD: ALL
প্রবেশাধিকার দেওয়া হয়েছে/etc/sudoers
।ক্রোন স্ক্রিপ্টটি চালাচ্ছে এবং সম্পাদন করছে। একটি সাধারণ যোগ করা
date > /tmp/log
সঠিক সময়ে আউটপুট উত্পাদন করে।এটি কোনও অনুমতি সংক্রান্ত সমস্যা নয়। আবার স্ক্রিপ্টটি কার্যকর করা হয়, কেবলমাত্র sudo'ed কমান্ড নয়।
এটি কোনও পথের সমস্যা নয়। চলমান
env
স্ক্রিপ্ট ভিতর থেকে শো সঠিক চালানো হচ্ছে$PATH
পরিবর্তনশীল যে উবুন্টু পাথ অন্তর্ভুক্ত করা হয়েছে। পুরো পথ ব্যবহার করে এটি চালানো কোনও উপকারে আসে না। কার্যকর করা কমান্ডটির পুরো পথের নাম দেওয়া হচ্ছে।এসটিডিআরআর সহ সুডো কমান্ডের আউটপুট ক্যাপচার করার চেষ্টা করা কোনও কার্যকর দেখায় না।
sudo echo test 2>&1 > /tmp/log
স্ক্রিপ্টে যুক্ত করা একটি ফাঁকা লগ তৈরি করে।সুডো বাইনারি নিজেই জরিমানা সম্পাদন করে এবং স্বীকৃতি দেয় যে স্ক্রিপ্টের ভিতরে ক্রোন থেকে চালিত হওয়ার পরেও এটির অনুমতি রয়েছে।
sudo -l > /tmp/log
স্ক্রিপ্টে যুক্ত করা আউটপুট উত্পাদন করে:ব্যবহারকারী ec2- ব্যবহারকারী এই হোস্টটিতে নিম্নলিখিত কমান্ডগুলি চালাতে পারে:
(রুট) NOPASSWD: সমস্ত
কমান্ডের প্রস্থান কোডটি পরীক্ষা করে পরীক্ষা করে $?
দেখা যায় যে এটি একটি ত্রুটি (প্রস্থান কোড 1
:) ফিরিয়ে দিচ্ছে, তবে কোনও ত্রুটি উত্পন্ন হয়নি বলে মনে হচ্ছে। একটি সাধারণ কমান্ড /usr/bin/sudo /bin/echo test
একই ত্রুটি কোড প্রদান করে।
আর কি হতে পারে?
এটি সম্প্রতি তৈরি একটি ভার্চুয়াল মেশিন যা সর্বশেষতম অ্যামাজন লিনাক্স এএমআই চালায় running ক্রোনটব ব্যবহারকারীর অন্তর্ভুক্ত ec2-user
এবং sudoers ফাইলটি ডিস্ট্রিবিউশন ডিফল্ট।
sudo
স্ক্রিপ্টে আপনার প্রয়োজনীয় কমান্ডগুলির জন্য সীমাবদ্ধ অধিকার / কেবল / একটি পৃথক ব্যবহারকারী সেট আপ করা এবং তাদের লগইন ক্ষমতা সম্পূর্ণরূপে অক্ষম করা।
The user in question has (root) NOPASSWD: ALL access granted in /etc/sudoers
এবং আমার মস্তিষ্ক পড়া চালিয়ে যাওয়ার জন্য খুব জোরে চিৎকার শুরু করে।