আমি কীভাবে আপস্টার্টে অননুমোদিত ব্যবহারকারী হিসাবে কাজ শুরু করব?


14

আমি উবুন্টু 10.4 এলটিএসের জন্য সর্বশেষ আপস্টার্ট সংস্করণটি ব্যবহার করছি। upstart --debug কার্নেল পতাকা সহ চালু করা হয়েছে।

আমি এনজেবিট ডেমনটির জন্য একটি কাস্টম জব কনফিগারেশন তৈরি করছি। মূলত, এই কাজের একটি প্রি-স্টার্ট স্ক্রিপ্ট রয়েছে যা একটি ফাইল সিস্টেমকে মাউন্ট করে, একটি পোস্ট-স্টার্ট স্ক্রিপ্ট যা ফাইল সিস্টেম এবং একটি exec nzbget -Dলাইন আনমেট করে ।

সমস্যাটি হ'ল এনজেটবেট ডেমনটি একটি অপরিবর্তিত ব্যবহারকারী হিসাবে চালানো দরকার। এই বৈশিষ্ট্যটি ইতিমধ্যে nzbget এ অন্তর্ভুক্ত রয়েছে। প্রকৃতপক্ষে, যখন আমি কনসোল থেকে চালিত করি তখন sudo nzbget -Dপ্রক্রিয়াটি কোনও অ-সুবিধাযুক্ত ব্যবহারকারী হিসাবে চলে runs তবে আমি যখন exec nzbget -Dলাইনটি দিয়ে আপস্টার্ট কাজ শুরু করি তখন প্রক্রিয়াটি এনজেবিজেট-ডি মূল হিসাবে চলে runs আপস্টার্ট কুকবুকে যেমন বলা হয়েছে, আমি সু-সি "এনজেট-ডি" ব্যবহারকারীর পরামর্শ এবং প্রত্যাশিত স্তবকে ছাড়াই স্টার্ট-স্টপ-ডেমোন উভয়ই ব্যবহার করার চেষ্টা করেছি। তবে উভয় কমান্ডের জন্য, যেমন আপস্টার্টটি ভুল পিআইডি অনুমান করে, এটি মূল প্রক্রিয়াটি প্রারম্ভিক প্রক্রিয়ার শেষে নিহত (আপস্টার্ট লগগুলির কারণে) হিসাবে দেখায় এবং এইভাবে, এটি প্রসেস-পরবর্তী স্ক্রিপ্টটি আরম্ভ করে যা আমি চাই না।

=> আমি কীভাবে এটি সঠিকভাবে করতে পারি? এটি কীভাবে আপস্টার্ট কমান্ড exec nzbget -Dপ্রক্রিয়াটিকে রুট হিসাবে চালিত করে যখন sudo nzbget -Dকমান্ড এটি প্রিভিলেজযুক্ত ব্যবহারকারী হিসাবে চালিত করে?

উত্তর:


12

সংস্করণ 1.4 প্রকাশের সাথে কিছুটা অগ্রগতি হয়েছিল:

প্রদত্ত নাম / গোষ্ঠীর সাথে সম্পর্কিত নির্দিষ্ট ইউআইডি / জিডের আওতায় সিস্টেম চাকরি পরিচালনার জন্য নতুন "সেটুইড" এবং "সেটজিড" স্তবগুলি।

আপনি তাদের লঞ্চপ্যাড পৃষ্ঠা থেকে এটি দখল করতে পারেন তবে (আশ্চর্যরূপে) আমি পিপিএ দেখতে পাচ্ছি না যাতে আপনার নিজের এটি সংকলন করতে হতে পারে।

অন্যথায়, suবা sudoআপনার নির্বাহী কমান্ডে এর মতো ব্যবহার করুন :

su -c "<commands>" <username>
sudo -u <username> <commands>

তারা দু'জনেই একই কাজটি করে তাই আপনি যেটি সবচেয়ে খুশী তা বেছে নিন। সুতরাং আপনার উদাহরণ কমান্ড ব্যবহার করে:

exec sudo -u me "nzbget -D"

ডোমেন নাম upstart.at undead
অধ্যাপক

এর জন্য ধন্যবাদ! আমার যদি সেশন
ইনশান

4

আমি নিম্নলিখিত সিনট্যাক্স সহ sudo ব্যবহার করার পরামর্শ দিচ্ছি:

sudo -u foouser foocommand

এটি ইউজার ফোউসার হিসাবে কমান্ড ফোকোমন্ড চালায়।

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