Launched sudo` চালু করা ব্যবহারকারীর নাম কীভাবে পাবেন `


12

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

import pwd

pwd.getpwnam(username)

সুতরাং: প্রোগ্রামটি চালু করা ব্যবহারকারীর নাম আমি কীভাবে পেতে পারি?


1
সর্বাধিক কনফিগারেশনগুলি ইন্ডার sudoদেয়, HOMEপরিবেশের পরিবর্তনশীল অক্ষত থাকে (এটি সংকলন - বা রান-টাইমে ওভাররাইড করা যেতে পারে)। তবে আপনি যদি ব্যবহারকারী হয়ে উঠতে চান তার উপর নির্ভর করে আপনি পরিবেশের পরিবর্তনশীলটি ব্যবহার করতে সক্ষম হতে পারেন না HOME(যদি বব চালায় তবে কী হবে HOME=/home/joe sudo your_script?)। কোনও ফাইল সিস্টেম অ্যাক্সেস করার আগে সম্ভবত আপনার ইউইডটি কলিং ব্যবহারকারীর কাছে সেট করা উচিত (দ্বারা প্রদত্ত SUDO_UID) যা আসলে আপনার স্ক্রিপ্টে মূল অনুমতি প্রয়োজন তার বাইরে)।
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'

পরামর্শের জন্য আপনাকে ধন্যবাদ। ঠিক আছে, আমি আমার সেট হবে euidথেকে SUDO_UID
রুবিক

উত্তর:


22

যখন আপনি বেশ sudoকয়েকটি পরিবেশের ভেরিয়েবল সেট দিয়ে কিছু ছড়িয়ে দেন , বিশেষত আমার মনে হয় আপনি অনুসন্ধান করছেন SUDO_UID। এগুলি পরিবেশের ভেরিয়েবলগুলি অ্যাক্সেসের সাধারণ চ্যানেলগুলির মাধ্যমে চলমান যে কোনও প্রোগ্রামের অ্যাক্সেসযোগ্য হওয়া উচিত।

আপনি শেল থেকে এই জাতীয় প্রতারণা করে সেট করা অন্যান্য জিনিসগুলি দেখতে পাবেন: sudo env | grep SUDO


1
+1 বাহ! আপনাকে অনেক ধন্যবাদ! আমি ঠিক তাই খুঁজছিলাম। আমি মনে করি আমি ব্যবহার করব SUDO_UIDএবং SUDO_USER। আবার আপনাকে ধন্যবাদ.
রুবিক

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