فشل Python في تنفيذ Firefox WebBrowser من البرنامج النصي المنفذ للجذر مع قطرة الامتيازات

StackOverflow https://stackoverflow.com/questions/1139835

  •  16-09-2019
  •  | 
  •  

سؤال

لا أستطيع تشغيل Firefox من برنامج نصي الثعبان Sudoed الذي يسقط الامتيازات للمستخدم العادي. إذا كتبت

$ sudo python >>> استيراد نظام التشغيل >>> استيراد PWD، GRP >>> UID = pwd.getpwnam ('norby') [2] >>> gid = grp.getgrnam ('norby') [2] >>>> OS.SETETGID (GID) >>> OS.SETEUID (UID) >>> استيراد WebBrowser >>> WebBrowser.get ('Firefox'). افتح ('www.google.it') صحيح >>> # تعرض # صحيح ولكن لا يعمل >>> من PubProcess Popen Popen، الأنابيب >>> P = Popen ('Firefox www.google.it'، shell = true، stdout = pipe، stderr = pipe) >>> لا ينفذ # الأمر >>> لا يجب عليك تشغيل Iceweasel من خلال Sudo بدون خيار -H. استمرار كما لو كنت قد استخدمت خيار h. لا يوجد خطأ في البروتوكول: لا يمكن فتح العرض: 0

أعتقد أن هذه ليست مشكلة بيثون، ولكن مشكلة تكوين Firefox / Iceweasel / Debian. ربما قرأ Firefox فقط UID وليس EUID، ولا تنفذ العملية لأن UID متساوية 0. ما رأيك؟

هل كانت مفيدة؟

المحلول

هذا يمكن أن يكون بيئتك. ستظل تغيير الأذونات لا تزال تترك متغيرات بيئة مثل الصفحة الرئيسية التي تشير إلى الصفحة الرئيسية في دليل مستخدم الجذر، والتي ستكون غير قابلة للوصول إليها. قد يستحق محاولة تغيير هذه المتغيرات عن طريق تغيير os.environ قبل إطلاق المتصفح. قد يكون هناك أيضا متغيرات أخرى تستحق التدقيق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top