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