নন-অ্যাডমিন ব্যবহারকারীদের অ্যাপটি বা আরপিএম এর মাধ্যমে প্যাকেজ ইনস্টল করার অনুমতি দেবেন?


13

অ্যাপট বা আরপিএম ব্যবহার করে নন-রুট ব্যবহারকারীদের সিস্টেম-ব্যাপী প্যাকেজ ইনস্টল করার অনুমতি দেওয়া সম্ভব?

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


4
আপনি যদি প্যাকেজ ইনস্টল করার সুযোগসুবিধা দেন তবে আপনাকে প্রয়োজনীয়ভাবে পুরো অ্যাডমিনের অধিকার প্রদান করা হয়েছে, যেহেতু কোনও ব্যবহারকারী কেবল সেটুইড-রুট শেল দিয়ে একটি প্যাকেজ ইনস্টল করতে পারে।
ক্যামহ

@ ক্যামএইচআরএম .. আপনার একটি পরীক্ষিত সংগ্রহস্থল থাকতে পারে, এবং ব্যবহারকারীদেরকে নতুন সংগ্রহস্থল যুক্ত করতে দেওয়া হবে না, না? অথবা অ্যাপটি আপনাকে .deb ফাইল থেকে প্যাকেজ ইনস্টল করার অনুমতি দেয়? আমি বুঝতে পেরেছি যে কোনও পরীক্ষিত রেপো সম্ভবত দীর্ঘমেয়াদে আরও বেশি কাজ করবে, এটি একটি ধারণামূলক প্রশ্ন বেশি :)
নট 101

1
apt-secure(8)বলেছেন: "আপ্ট-গেটটি বর্তমানে কেবল স্বাক্ষরযুক্ত সংরক্ষণাগারগুলির জন্য সতর্ক করবে, ভবিষ্যতের প্রকাশগুলি সমস্ত উত্সগুলি সেগুলি থেকে প্যাকেজগুলি ডাউনলোড করার আগে যাচাই করতে বাধ্য করবে"। আক্রমণটি কত পরিশীলিত তার উপর নির্ভর করে, সংগ্রহস্থল উত্সের সাথে সংযোগ হাইজ্যাক করা এবং একটি অবিশ্বস্ত প্যাকেজ ইনজেকশন করা সম্ভব। তবে আরও তথ্যের জন্য সেই ম্যান পৃষ্ঠাটি পড়ুন। আপনার থ্রেড মডেলের জন্য আপনার কাছে নিরাপদ পর্যাপ্ত সমাধান থাকতে পারে।
ক্যামহ


উত্তর:


23

আপনি sudo সহ অনুমোদিত কমান্ডগুলি নির্দিষ্ট করতে পারেন, আপনাকে সীমাহীন অ্যাক্সেসের অনুমতি দিতে হবে না, যেমন

username ALL = NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude

এটি ব্যবহারকারীর নাম চালাতে sudo apt-getএবং sudo aptitudeকোনও পাসওয়ার্ড ছাড়াই অনুমতি দেয় তবে অন্য কোনও আদেশের অনুমতি দেয় না।

এছাড়াও আপনি ব্যবহার করতে পারেন PackageKit সঙ্গে মিলিত PolicyKit- র উবুন্টু চেয়ে নিয়ন্ত্রণের আরো কিছু তীক্ষ্ণ স্বরূপ স্তরের জন্য।

ব্যবহারকারীদের প্যাকেজ ইনস্টল / অপসারণের অনুমতি দেওয়া ঝুঁকিপূর্ণ হতে পারে। তারা libc6, dpkg, rpm ইত্যাদির মতো প্রয়োজনীয় সফ্টওয়্যার আনইনস্টল করে খুব সহজেই একটি সিস্টেমকে অযৌক্তিকরূপে রেন্ডার করতে পারে the সংজ্ঞায়িত সংরক্ষণাগারগুলি থেকে নির্বিচারে সফ্টওয়্যার ইনস্টল করা আক্রমণকারীদের পুরানো বা শোষক সফ্টওয়্যার ইনস্টল করতে এবং রুট অ্যাক্সেস অর্জন করতে পারে। আমার মতে মূল প্রশ্নটি আপনি আপনার কর্মীদের উপর কতটা বিশ্বাস রাখেন?

অবশ্যই আপনার অ্যাডমিন টিম আপনার সিস্টেমটি পরিচালনা করতে পুতুল, শেফ বা স্পেসওয়াকের মতো কোনও কনফিগারেশন ম্যানেজমেন্ট সিস্টেম ব্যবহার করতে শুরু করতে পারে। এটি তাদের কেন্দ্রীয় সিস্টেম থেকে সিস্টেমটি কনফিগার এবং পরিচালনা করতে দেয়।


আমি আমার প্রশ্নটি এড়িয়ে গেছি, তবে এটির অনুমতি দিয়ে সুরক্ষা হ্রাস সম্পর্কে আপনার কোনও মন্তব্য আছে কি? আমার অর্থ, আপনি প্যাকেজ সংগ্রহস্থলগুলি পরিবর্তন করতে পারবেন না, সুতরাং আপনি সম্ভবত পুরো সুডো অ্যাক্সেস পেতে যাচ্ছেন না, তবে আপনি প্রবণতা (বিকল্পগুলি> পছন্দসমূহ "" অ্যাকশনগুলিতে লগ ইন করতে ফাইল ") ব্যবহার করে যে কোনও ফাইলকে লিখতে পারেন, যা কিছু গুরুতর ক্ষতি হতে। আমি
পলিসিকিট

1
@ naught101 ঠিক আছে আমি সুরক্ষা সম্পর্কে কিছু মন্তব্য যুক্ত করেছি। পলিসিকিট হিসাবে জেএফটিআর রুট অ্যাক্সেস সরবরাহ করবে না এটি সুডো ব্যবহারের চেয়ে কম সমস্যাযুক্ত হবে
উলরিচ ড্যানজেল

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

@ naught101 আমি এই আরপিএমের মাধ্যমে একটি এসআইডি শেল রয়েছে এমন একটি আরপিএমের মাধ্যমে সুবিধাবদ্ধকরণের জন্য পরীক্ষা করব: nusedookie.blogspot.com/2011/07/… শেল ইনজেকশনের দৃশ্যে, যেখানে sudoer অ্যাকাউন্ট আপোস করা হয়েছে, সেখানে কেউ প্রশমিত করতে পারে NOPASSWD এর বিপরীতে, একটি পাসওয়ার্ড প্রবেশ করানোর মাধ্যমে sudo মাধ্যমে সুবিধাগুলি বৃদ্ধি ala
ম্যাট

7

aptdcon

ম্যান পেজগুলি থেকে:

aptdcon: প্যাকেজ পরিচালনার কাজ সম্পাদন করতে অনুমতি দেয়, যেমন অ্যাপ্টেমোন ব্যবহার করে সফ্টওয়্যার ইনস্টল করা বা অপসারণ করা। এই প্রোগ্রামটি চালানোর জন্য কোনও রুট হওয়ার দরকার নেই।


1
যদিও আপনাকে অ্যাপডকন চালানোর জন্য রুট / সুডো সুবিধাগুলির প্রয়োজন নেই, এটি অবিলম্বে অবাঞ্ছিত ব্যবহারকারীদের জন্য একটি প্রমাণীকরণ ডায়ালগ শুরু করে - আমি কেবল উবুন্টুতে পরীক্ষা করেছি। আপনি যদি কোনও সুবিধাযুক্ত / অনুমোদিত ব্যবহারকারী না হন তবে এটি প্যাকেজগুলি যুক্ত / সরিয়ে দেয় না।
ঋষি

1
অপারেশনগুলিতে কাজ করে নাERROR: You are not allowed to perform this action. ('system-bus-name', {'name': ':1.716'}): org.debian.apt.install-or-remove-packages
জ্যাকপকেঁ


1

আমিও এরকম কিছু খুঁজছিলাম, কিন্তু কিছুই প্রদর্শিত হয়নি, তাই আমি এই সহজ সমাধানটিকে "সফ্টওয়্যার চ্যানেল" কোড করেছিলাম:

https://github.com/alfem/softwarechannels

সাধারণ (কোনও প্রশাসক নেই) ব্যবহারকারীদের সীমাবদ্ধ ক্যাটালগগুলি থেকে প্যাকেজ ইনস্টল করার অনুমতি দেওয়ার জন্য এটি একটি খুব সহজ সিস্টেম।

একটি সাধারণ পাঠ্য ফাইলে কেবল 'চ্যানেল' (প্যাকেজগুলির গোষ্ঠীগুলি) সংজ্ঞায়িত করুন এবং আপনার ব্যবহারকারীদের সফ্টওয়্যার চ্যানেলগুলি চালু করার অনুমতি দিন।

তারা কেবল চ্যানেলগুলিতে প্যাকেজগুলি তাদের ইউনিক্স গ্রুপের সাথে মেলে দেখবে।

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