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