দোভাষী বাইনারি সেটক্যাপ না করে স্ক্রিপ্টগুলিতে কী দক্ষতা ব্যবহার করা যেতে পারে?


14

এই মুহুর্তে আমি cap_net_bind_service MY_USERNAME/etc/security/capability.conf এ ব্যবহার করছি ।
এখন আমি শুধু সেট করতে হবে cap_net_bind_service+iআমার প্রিয় স্ক্রিপ্টিং ভাষার অনুবাদক যোগ পাবে CAP_NET_BIND_SERVICEথেকে কার্যকর libcap [-ng] এর মাধ্যমে সেট।

এটি দুর্দান্ত কাজ করে তবে আমি অবাক হই যে দোভাষী বাইনারিতে কোনও ক্যাপ সেট না করে একই জিনিস অর্জনের উপায় আছে কিনা? যদিও এটি কোনও বড় সমস্যা নয় (অন্যান্য ব্যবহারকারীর অ্যাকাউন্টগুলিতে ক্যাপ থাকে না যাতে তারা দোভাষীর বাইনারিতে সেট করা বিট দিয়েও এটি ব্যবহার করতে পারে না) এটি কিছুটা বিরক্তিকর কারণ প্রতিবার অনুবাদক হ'ল আমাকে পতাকাটি পুনরায় সেট করতে হবে since আপডেট করা হয়েছে।

উত্তর:


4

সাধারণত, ক্ষমতা শিশুদের উত্তরাধিকার সূত্রে হয়। ম্যানপেজে যেমন বলা হয়েছে :

কাঁটাচামচ (2) এর মাধ্যমে তৈরি একটি শিশু তার পিতামাতার সক্ষমতার সেটগুলির অনুলিপি অর্জন করে।

স্ক্রিপ্টগুলির সাথে সমস্যাটি হ'ল তারা সরাসরি সম্পাদনযোগ্য নয়। কার্নেলটি চেকগুলির একটি তালিকা দিয়ে যায় (কার্নেল কোডটি fs / binfmt _ *। C তে অবস্থিত)। এর মধ্যে একটি হ'ল "বিনফ্মিট_সক্রিপট.সি", যা কোনও শেবাংয়ের জন্য প্রথম লাইনটি পরীক্ষা করে, তারপরে আপনার স্ক্রিপ্টের সাথে প্রকৃত দোভাষীকে (শেবাংয়ের একটি) আর্গুমেন্ট হিসাবে কল করে। এই হিসাবে, স্ট্যান্ডার্ড / সাধারণ দোভাষী বলা হয়, এবং কেবল আপনার স্ক্রিপ্টটি আর্গুমেন্ট হিসাবে পড়ে।

এর অর্থ আপনাকে স্ক্রিপ্টে নয়, দোভাষীর উপর দক্ষতা সেট করতে হবে। একই জিনিসটি suidবিট এবং অন্যান্য বিশেষ পতাকাগুলির ক্ষেত্রে প্রযোজ্য ।

সুতরাং হয় আপনি আপনার দোভাষীর একটি অনুলিপি তৈরি করেন, এতে আপনার প্রয়োজনীয় ক্ষমতাগুলি সেট করুন (এটিও পরীক্ষা করুন যে chmod / chown এর মাধ্যমে কেউ এটিকে অ্যাক্সেস করতে পারে না) এবং আপনার শেবাংয়ে এই অনুলিপি করা দোভাষীকে কল করুন। আপনি আপনার স্ক্রিপ্টে সেটক্যাপ যুক্তিও করতে পারেন।


ঠিক আছে, 2 বছর আগে প্রশ্ন জিজ্ঞাসা করা হয়নি তবে কখনও বন্ধ হয়নি ... এছাড়াও, ইউনিক্স.স্ট্যাকেক্সেঞ্জার
অ্যাড্রিয়েন এম

তবে কেবল i(উত্তরাধিকারী), অতীত নির্বাহী হয়। এবং iনিজে থেকে কিছুই করে না, কেবলমাত্র যদি ফাইলটির কোনও মিল থাকে তবে এটি কাজ করে iএবং আমি e(কার্যকর) বিটটি (স্ক্রিপ্ট / এক্সিকিউটেবল সেট না করে) thing এটি আরও জটিল যে নির্ধারিত, এটি কোনও স্ক্রিপ্ট প্রভাব নয়।
ctrl-alt-delor

1
আমি ভাবলাম শ্যাবাং কর্নেল পড়ে শেল নয়? ( Stackoverflow.com/questions/3009192/how-does-the-shebang-work/... )
ফিলিপ Couling

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