স্ক্রিপ্টগুলির জন্য আমার পাসওয়ার্ড প্রম্পট ছাড়াই সুডো দরকার। আমি ভুল হয়ে যেতে পারে যেখানে?


9

আমি সুডো গ্রুপে আছি ঠিক আছে:

$ id
uid=1002(molot) gid=1002(molot) groups=1002(molot),27(sudo),33(www-data)

আমার সুডোরগুলিতে আমার যথাযথ সেটিংস রয়েছে বলে মনে হচ্ছে:

sudo    ALL=(ALL:ALL) NOPASSWD: ALL

এবং এটি সেখানে শেষ uncommented লাইন।

তবে যখন আমি চেষ্টা করি git pull, তখন আমি আমার পাসওয়ার্ডটি আবার টাইপ করতে পারি:

$ sudo -u www-data git --git-dir /var/www/.git --work-tree /var/www pull "origin" master
[sudo] password for molot:

আমি কনসোলে লগ ইন করার পরে এটি কোনও সমস্যা নয় তবে এটি স্ক্রিপ্টগুলিতে অগ্রহণযোগ্য। সুতরাং আমি কীভাবে sudo গ্রুপের কাউকে পাসওয়ার্ডটি টাইপ না করে www-ডেটা হিসাবে গিট করার অনুমতি দিতে পারি?

যখন আমি সরাসরি আমার নাম রাখি:

molot ALL=(ALL) NOPASSWD: ALL

এটা আমার জন্য কাজ করে. তবে, স্পষ্টতই, মারডিয়ান বা সুডো গ্রুপের অন্যান্য ব্যবহারকারীর জন্য নয়। যতদূর আমি ম্যানুয়াল বুঝতে পেরেছি , উভয় ব্যবহারকারীর নাম এবং গোষ্ঠীর নাম প্রথম ফাইলটিতে কাজ করা উচিত।


আপনি কি পারবেন না sudo -u www-data ./your_script.sh? লিপির উদ্দেশ্য কী?
jimbobmcgee

@ জিম্বোবমিগজি এটি গিট হুক, তাই না, আমি এটিতে কোনও কিছু আগেই আটকে রাখতে পারি না। এটি ব্যবহারকারী বলেছেন যে গিট পরিবর্তনগুলি ঠেকিয়েছিল এবং আমি এর আশেপাশে কোনও সত্যিকারের উপায় খুঁজে পাইনি।
মোতট

প্রথম ক্ষেত্রটি (যদি sudoersফাইলের ফর্ম্যাটটির আমার দ্রুত বোঝাটি সঠিক হয়) হ'ল প্রার্থনাকারীর ব্যবহারকারীর নাম। আপনি কি এটি ওয়াইল্ডকার্ডের সাথে প্রতিস্থাপনের চেষ্টা করেছেন *, বা গিট হুক যে কোনও ব্যবহারকারীর মতো চলছে?
একটি সিভিএন

@ মাইকেলKjörling এখানে বর্ণিত হিসাবে এটি প্রথম ক্ষেত্রে ব্যবহারকারী এবং গোষ্ঠী উভয়ই লেখা সম্ভব হওয়া উচিত। *কাজ করে না. আমার নাম রাখা আমার জন্য সরাসরি কাজ করে ... তবে সুডো গ্রুপের অন্য ব্যবহারকারীদের পক্ষে নয়।
মোওত

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

উত্তর:


19

দেখে মনে হচ্ছে আপনি নিজের sudoers একটি অক্ষর অনুপস্থিত প্রাসঙ্গিক রেখা পেয়েছেন:

sudo ALL = (সমস্ত: সমস্ত) নোপাএসডাব্লুডি: সমস্ত

'sudo' নামের একটি ব্যবহারকারীর সাথে মেলে। 'সুডো গ্রুপের সমস্ত ব্যবহারকারীর' জন্য এটি হওয়া উচিত:

% সুডো সমস্ত = (সমস্ত: সমস্ত) নোপাএসডাব্লুডি: সমস্ত L

(শুরুতে% চিহ্নটি নোট করুন)।


1
আহ কী যাতে %মধ্যে %wheelবোঝানো।
নিখিল

1

sudo visudo

তারপরে, ধরে molotনেওয়া আপনার ব্যবহারকারী নাম, ফাইলের শেষে যান এবং:

molot ALL=(ALL) NOPASSWD: ALL

এটি কাজ করা উচিত, তবে এটি যদি না হয় তবে আমাদের পোস্ট করুন।


এইটা কাজ করে. আমার জন্য. তবে, স্পষ্টতই, মারডিয়ান বা সুডো গ্রুপের অন্য কোনও ব্যবহারকারীর জন্য নয়।
মোওত

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