'সুডো পাইপ' চালানোর ঝুঁকি কী কী?


99

মাঝেমধ্যে আমি মন্তব্য বা প্রতিক্রিয়াগুলিতে দৌড়ে যাই যে দৃ state়ভাবে বলা হয় যে "ভুল" বা "খারাপ" এর pipঅধীনে চলছে sudoতবে এমন ঘটনাও রয়েছে (আমার কাছে অনেকগুলি সরঞ্জাম সেট আপ করার পদ্ধতি সহ) যেখানে এটি হয় আরও সরল, এমনকি প্রয়োজনীয়ও ওভাবে চালাও

pipঅধীনে চলার সাথে কী কী ঝুঁকি যুক্ত sudo?


লক্ষ্য করুন এই হিসেবে একই প্রশ্ন এই এক , যা, শিরোনাম সত্ত্বেও, ঝুঁকি সম্পর্কে কোন তথ্য প্রদান করে। এটি কীভাবে ব্যবহার এড়াতে sudoহবে তা নয়, তবে কেন বিশেষভাবে কেন কেউ তা চাইবে তা নয়।

উত্তর:


106

আপনি চালাতে যখন pipসঙ্গে sudo, আপনি চালাতে setup.pyসঙ্গে sudo। অন্য কথায়, আপনি রুট হিসাবে ইন্টারনেট থেকে নির্বিচারে পাইথন কোড চালান। যদি কেউ পিআইপিআইতে কোনও দূষিত প্রকল্প স্থাপন করে এবং আপনি এটি ইনস্টল করেন, আপনি আপনার মেশিনে আক্রমণকারীকে মূল অ্যাক্সেস দিন। pipপিআইপিআই- তে সাম্প্রতিক কিছু সংশোধন করার আগে, আপনি যখন বিশ্বাসযোগ্য প্রকল্পটি ডাউনলোড করেন তখন কোনও আক্রমণকারী মাঝারি আক্রমণে কোনও ব্যক্তিকে তাদের কোড ইনজেকশনের জন্য চালাতে পারে।


4
হুমকি কেবল pipকি ইনস্টল হয়েছে তার পরবর্তী কোনও রান চলাকালীন বা এর জন্য প্রয়োগ হয় ?
ওরোম

4
তবে তা সত্য হবে আমি sudoবা না থাকাকালীন pip, ঠিক? এটি ইনস্টল হয়ে গেলে, আমরা সকলেই ঝুঁকিতে পড়ি, এটি সেখানে কীভাবে পেল না?
ওরোম

4
@ ইরাকাকোরিকোফাল্লাপিটরিয়াস এই অঞ্চলটিতে প্রবেশ করায় আমি উত্তর দিতে অস্বস্তি বোধ করি না, কারণ আমার কোনও ধারণা নেই (আমার একটা কুঁচি আছে এবং এর কারণও বলতে পারি) তবে কারণ এ জাতীয় আপাতদৃষ্টিতে ছোট ছোট পরিবর্তনগুলি কীভাবে সামগ্রিকভাবে প্রভাবিত করে তা পূর্বাভাস দেওয়া খুব কুখ্যাত সুরক্ষা। sudoতদতিরিক্ত, প্যাকেজ অন্য কোথাও ইনস্টল করে (যেমন ভার্চুয়ালেনভে) ইনস্টল করার মাধ্যমে কেবল এই অনুমতি সংক্রান্ত সমস্যাগুলি এড়ানো সাধারণত সাধারণত অত্যন্ত সহজ । সুরক্ষা সংক্রান্ত সমস্ত উদ্বেগ উপেক্ষা করার পরেও এটি করা আরও ভাল এবং আরও নির্ভরযোগ্য হতে পারে।

4
@raxacoricofallapatorius নির্ভুল লেখার অনুমতি এবং ডিরেক্টরি বিন্যাসের উপর নির্ভর করে, আমি আশঙ্কা করি যে আরও পরিশীলিত ম্যালওয়্যার অন্যান্য, আরও বিশ্বস্ত কোড, যেমন সিস্টেম ইউটিলিটিগুলির দ্বারা ব্যবহৃত কোড যেমন নিয়মিত রুট হিসাবে চালিত হয় সেগুলি ওভাররাইট করে।

4
এই উত্তর উদ্ভট। অবশ্যই, আপনি যখন কোনও কিছু চালাচ্ছেন তখন sudoএটিকে মূল সুযোগ দেয়; এটি পুরো বিষয়টি sudo, এবং অবশ্যই নির্দিষ্ট নয় pip

19

স্পষ্ট সুরক্ষা ঝুঁকিগুলি ছাড়াও (আপনি যখন জানেন যে সফ্টওয়্যারটি ইনস্টল করেন তখন বাস্তবে এটি কম থাকে) এর অন্য একটি কারণও রয়েছে। পাইথনটি সিস্টেমের সাথে আসে এটি এই সিস্টেমের অংশ এবং আপনি যখন সিস্টেম পরিচালনা করতে চান তখন আপনি সফ্টওয়্যার ইনস্টল / আপগ্রেড / আনইনস্টল করার ক্ষেত্রে প্যাকেজ ম্যানেজারের মতো সিস্টেম রক্ষণাবেক্ষণের জন্য মনোনীত সরঞ্জামগুলি ব্যবহার করেন। আপনি যখন তৃতীয় পক্ষের সরঞ্জামগুলির সাথে সিস্টেমের সফ্টওয়্যারটি পরিবর্তন করতে শুরু করেন (এই উদাহরণে পিপ) তখন আপনার সিস্টেমের অবস্থা সম্পর্কে আপনার কোনও গ্যারান্টি নেই। তবুও আরেকটি কারণ হ'ল সুডো আপনাকে এমন সমস্যা এনে দিতে পারে যে আপনার অন্য কোনও সুযোগ নেই বা খুব ছোট্ট সুযোগও আপনার নেই। উদাহরণস্বরূপ পাইথনে sys.executable এবং sys.version এর মধ্যে মিল নেই

ডিস্ট্রোজরা এই সমস্যাটি সম্পর্কে সচেতন এবং এটিকে প্রশমিত করার চেষ্টা করুন। উদাহরণস্বরূপ ফেডোরা - সাইট-প্যাকেজগুলির পরিবর্তে সুডো পিপ নিরাপদ এবং ডেবিয়ান - ডি-প্যাকেজ তৈরি করা হচ্ছে


6

পাইপটি সেভাবে ব্যবহার করার অর্থ আপনি আপনার সিস্টেমে যে কোনও কিছু করার অনুমতি দিচ্ছেন এমন স্তরে এটির উপর নির্ভর করুন। কেবল পাইপই নয়, এমন কোনও কোডও এটি এমন উত্স থেকে ডাউনলোড এবং কার্যকর করবে যা আপনি বিশ্বাস করতে পারেন না এবং এটি দূষিত হতে পারে।

এবং পাইপের জন্য সমস্ত বিশেষাধিকারের প্রয়োজন হয় না, নির্দিষ্ট ফাইল এবং ডিরেক্টরিগুলিতে কেবল লেখার অ্যাক্সেস। যদি আপনি আপনার সিস্টেমের প্যাকেজ ম্যানেজারটি ব্যবহার করতে না পারেন এবং ভার্চুয়াল পরিবেশের পথে যেতে না চান তবে আপনি একটি নির্দিষ্ট ব্যবহারকারী তৈরি করতে পারেন যা পাইথন ইনস্টলেশন ডিরেক্টরিতে বিশেষাধিকার লেখেন এবং এটি পিপের জন্য ব্যবহার করতে পারেন। এইভাবে আপনি পিপ কী করতে পারে এবং কী করবে না তা আপনি নিয়ন্ত্রণ করুন। এবং আপনি sudo -uযে জন্য ব্যবহার করতে পারেন !


সুতরাং আমার যা করা দরকার তা হল, উদাহরণস্বরূপ, আমাকে নিজের কাছে অনুমতি লেখার অনুমতি দেওয়া উচিত site-packages?
ওরোম

4
@raxacoricofallapatorius ঠিক আছে না, কিছু প্যাকেজ এছাড়াও সাহায্যকারী স্ক্রিপ্ট ইনস্টল হিসাবে (মত pipনিজে IPython, জ্যাঙ্গো, pygments, ...) তোমরাও তেমনি যেটা ডিরেক্টরির তারা নিজেদের ইনস্টল এক্সেস করতে হবে।
MattDMo

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

@ ম্যাটডিএমো: হ্যাঁ, এটি বোঝা যায়; তবে উপযুক্ত মামলাগুলি যথাযথ অনুমতি ব্যতিরেকে ব্যর্থ হওয়ায় সহজেই আবিষ্কার করা যায়। যদিও যদি এটি করা হয়, তবে এটি নিরাপদতম উপায় নয় তবে আমার সিস্টেমে সামগ্রিকভাবে সবচেয়ে খারাপ যেটি ঘটতে পারে তা হ'ল আমি যেভাবে যে কোনও কিছু চালানোর পরে কি ঘটতে পারে, তাই না? পার্থক্যটি হ'ল আমি আমার পাইথন ইনস্টলেশনটি আমার হিসাবে সম্ভাব্যরূপে নষ্ট করতে পারি (এটি করার চেয়ে সুচ হওয়ার চেয়ে) ঠিক আছে?
ওরোম

আমি কীভাবে এই জাতীয় ব্যবহারকারীর ব্যবহার করব, pip(নতুন হোম ডিরেক্টরি ইত্যাদির মতো সিস্টেমে কোনও পরিবর্তন আনার প্রয়োজন নেই) ব্যবহারের একমাত্র উদ্দেশ্যে ? এর পরে আমি ধরে নিলাম আমি কেবল site-packagesসেই ব্যবহারকারীর মালিককে পরিবর্তন করেছি , তাই না?
ওরোম

1

"ভুল" এর সাথে একমাত্র জিনিসটি sudoহ'ল এটি হ'ল সুপার ইউজার আলা মূল হিসাবে বোঝায় আপনি সম্ভবত ভুল কমান্ড দিয়ে কোনও ইনস্টলেশন নষ্ট করতে পারেন। পিআইপি হ'ল একটি নির্দিষ্ট প্রোগ্রামের প্যাকেজ রক্ষণাবেক্ষণ হিসাবে আপনার পরিবর্তনগুলি করার জন্য যে কোনও উপায়ে এই জাতীয় অ্যাক্সেসের প্রয়োজন হবে ...

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