পাসওয়ার্ড জিজ্ঞাসা না করার জন্য কীভাবে পেকেক্সেক কনফিগার করবেন?


12

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

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

এই পরিস্থিতিতে আমি সাধারণত যা করব তা হ'ল একটি লাইন যুক্ত করা /etc/sudoersযাতে ব্যবহারকারীরা NOPASSWD নির্দেশিকা ব্যবহার করে কোনও পাসওয়ার্ড ছাড়াই ডিমনটিকে রুট হিসাবে চালাতে পারবেন। কমান্ড লাইন থেকে এটি সূক্ষ্ম কাজ করে। যাইহোক, আমি যখন জিইউআই থেকে এটি করি তখন একটি pkexecকথোপকথন ব্যবহারকারীর পাসওয়ার্ড জিজ্ঞাসা করে pop দেখে মনে হচ্ছে উবুন্টুতে sudoজিইউআই থেকে কলগুলি কোনওভাবে বাধা পেয়েছে pkexec

এই কাছাকাছি কোন পরিষ্কার উপায় আছে? আমি সত্যিই বরং একটি নির্লিপ্ত স্ক্রিপ্টের ঝামেলা মোকাবেলা করতে হবে না।


আপনি কোন আবেদন সম্পর্কে কথা বলতে চান?
রাদু রেডানু

যে কোনও জিইউআই অ্যাপ্লিকেশন। যখন কোনও জিইউআই অ্যাপ্লিকেশন চালানোর চেষ্টা করে sudo somecommand, তখন ডায়ালগ বাক্সটি যে পপ হয় তা হ'ল একটি pkexecপাসওয়ার্ড ডায়লগ হয় regard
চিন্ময় কাঞ্চি

উত্তর:


14

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

এখন, আপনি যদি কোনও পাসওয়ার্ড জিজ্ঞাসা না করে কোনও জিইউআই অ্যাপ্লিকেশন চালাতে চান তবে এটি করা pkexecকঠিন নয়। উদাহরণস্বরূপ জিপিআর্ট নেওয়া যাক । আপনি এটি খুললে, আপনি নীচের ডায়ালগ উইন্ডোটি আপনাকে একটি পাসওয়ার্ডের মাধ্যমে জিজ্ঞাসা করতে দেখবেন:

জিপিআরটি প্রমাণীকরণ

বিশদটি ক্লিক করুন এবং ডায়ালগ উইন্ডোটি এখন দেখতে পাবেন:

gp সূক্ষ্ম প্রমাণ - বিবরণ

এখান থেকে আপনাকে যা করতে হবে তা হল নিম্নলিখিত কমান্ডটি ব্যবহার করে ফাইলটি খুলতে হবে:/usr/share/polkit-1/actions/com.ubuntu.pkexec.gparted.policy

gksu gedit /usr/share/polkit-1/actions/com.ubuntu.pkexec.gparted.policy

এবং নিম্নলিখিত লাইনগুলি পরিবর্তন করুন:

      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin</allow_active>

নিম্নলিখিতগুলি সহ:

      <allow_any>yes</allow_any>
      <allow_inactive>yes</allow_inactive>
      <allow_active>yes</allow_active>

ফাইলটি সংরক্ষণ করুন এবং এটি বন্ধ করুন। এরপরে, আপনি জিপিআরটি খুললে আপনাকে আর পাসওয়ার্ড জিজ্ঞাসা করা হবে না।


হ্যাঁ, পেকেক্সেক প্রকৃতপক্ষে সুডোর কলগুলিতে বাধা দেয়। আমি এই আচরণের একটি সর্বনিম্ন উদাহরণ তৈরি করতে পারি কিনা তা আমাকে দেখতে দিন।
চিন্ময় কাঞ্চি

আমি এটি একটি সাধারণ অ্যাপ্লিকেশনটিতে প্রতিলিপি করতে পারি না, এটি কেবলমাত্র কিছু নির্দিষ্ট পরিস্থিতিতেই ঘটতে পারে এবং আমি বাগটি সনাক্ত করার সময় পাই না। আমি আপনার উত্তর গ্রহণ করতে যাচ্ছি। চিয়ার্স।
চিন্ময় কাঞ্চি

পুনঃটুইট করুন আমি আবার উদাহরণস্বরূপ নেব gparted। আপনি যখন টার্মিনাল থেকে চালাবেন sudo gparted, আপনি /usr/sbin/gpartedরুট সুবিধার্থে ফাইল চালাবেন । আপনি যখন gpartedজিইউআই থেকে শুরু করেন, আপনি বাস্তবে শুরু করুন gparted-pkexec(আপনি এই অভ্যন্তরীণ /usr/share/applications/gparted.desktopফাইলটি যাচাই করতে পারবেন ) /usr/bin/gparted-pkexecএটি হ'ল একটি শেল স্ক্রিপ্ট যার উদ্দেশ্য নিম্নলিখিত কমান্ডটি চালানো: pkexec "/usr/sbin/gparted"যা এর সাথে সমান pkexec gparted। সুতরাং, কিছুই করার নেই sudo। এবং এই কমান্ডটি আপনার টার্মিনাল ব্যবহার করা উচিত, না sudo gparted
রাদু রেডানু

1
@ চিন্ময়কিঞ্চি sudoকেবল জিইআইআই অ্যাপ্লিকেশন নয়, কেবল শেল অ্যাপের জন্য ব্যবহার করা উচিত। দেখুন man sudoএবং man pkexecএই অর্থে।
রাদু রেডানু

হ্যাঁ, আমি আপনার দুটি বিষয়ই অবগত। আমার পরিস্থিতিটি হ'ল আমার কাছে একটি জিইউআই অ্যাপ্লিকেশন রয়েছে (আমার দ্বারা লিখিত) যা সুডো ব্যবহার করে একটি শেল প্রোগ্রাম (একটি ডেমনও লিখেছেন) চালু করার চেষ্টা করে। কিছু কারণে, পেডেক্সেকটি সুডোর পরিবর্তে আহ্বান জানায়, যার অর্থ হ'ল ডেমনটির জন্য আমি যে কোনও সুডো নীতি তৈরি করেছি তা উপেক্ষা করা যায়।
চিন্ময় কাঞ্চি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.