คำถามติดแท็ก pkexec

3
gksu: Gtk-WARNING **: ไม่สามารถเปิดจอแสดงผล:: 0
gksu ในทันใดทั้งหมดหยุดทำงานให้ฉัน: ~$ gksu gparted (gpartedbin:24252): Gtk-WARNING **: cannot open display: :0 เช่นเดียวกันกับgparted-pkexec: ~$ gparted-pkexec No protocol specified (gpartedbin:25454): Gtk-WARNING **: cannot open display: :0 สิ่งที่อาจทำให้เกิดสิ่งนี้? ฉันไม่ได้ใช้งานผ่าน SSH หรือ VNC นี่คือ localhost ในหน้าต่างเทอร์มินัลปกติ
40 xorg  sudo  gtk  gksu  pkexec 

2
วิธีกำหนดค่า pkexec
อ่านคำถามและคำตอบเหล่านี้: เมื่อใดที่ควรใช้ pkexec vs. gksu / gksudo ทำไม gksu ถึงไม่ติดตั้งโดยปริยายอีกต่อไป? นำมาให้ฉันอีกอันที่จะสร้างปัญหาให้กับผู้ใช้ใหม่ของคำสั่งนั้น: วิธีการกำหนดค่าpkexecสำหรับการใช้งานง่าย? ตัวอย่างเช่นเมื่อทำสิ่งต่อไปนี้: (การเปิดไฟล์ในเทอร์มินัล) pkexec nano /etc/mysql/my.cnf (การเปิดไฟล์ใน GUI) pkexec gedit /etc/mysql/my.cnf คนสุดท้ายได้รับข้อผิดพลาดต่อไปนี้: pkexec must be setuid root ตอนนี้สิ่งนี้ทำให้ฉันคำถามต่อไปนี้: วิธีกำหนดค่าpkexecให้หลีกเลี่ยงการทำเช่นนี้? คล้ายกับวิธีsudo/ gksuพฤติกรรมเมื่อทำสิ่งเดียวกัน (พวกเขาจะขอรหัสผ่านเท่านั้น) ถ้าเป็นไปได้จะบอกได้อย่างไรว่าจะไม่ขอรหัสผ่านหลังจากใช้ครั้งแรกกับคำสั่ง (หรือรวมถึงคำสั่งแรกถ้าสามารถกำหนดค่าได้)? จะบันทึกไฟล์กำหนดค่าไว้ที่ไหนถ้ายังไม่มี? มีแอพ GUI สำหรับกำหนดค่าpkexecการใช้งาน (ชุดนโยบาย) หรือไม่

1
เมื่อใดที่ฉันควรใช้ pkexec และเมื่อ sudo -i
sudo -i nautilusผมเขียนคำตอบของการให้คำปรึกษาการใช้งานด้วย ฉันรู้ว่าgksuเลิกใช้แล้วและฉันรู้สึกว่าsudo -iนี่คือวิธีที่เราควรรันแอปพลิเคชั่นกราฟิกในฐานะที่เป็น root โดยไม่ฆ่าลูกแมวแต่มีคนแสดงความคิดเห็นว่า ' pkexecเป็นของใหม่gksu' ความเข้าใจของฉันpkexecไม่เหมือนกับการใช้รูปแบบใด ๆ ของsudo: เมื่อใดที่จะใช้ pkexec vs gksu / gksudo และต้องการการตั้งค่าโดยเฉพาะอย่างยิ่งเมื่อต้องการใช้กับแอปพลิเคชันกราฟิก: วิธีกำหนดค่า pkexec เมื่อฉันทำsudo -iทุกอย่างทำงานได้เสมอดังนั้นทำไมฉันควรจะไปที่ปัญหาของการกำหนดค่าpkexec? ฉันสามารถเห็นว่าสำหรับการเขียนสคริปต์ที่เปิดตัวสิ่งที่เป็นรากฉันจะต้องทำ: ฉันสามารถใช้ pkexec ในไฟล์ Python Script หรือ .desktop ได้หรือไม่? แต่อย่างอื่นฉันจะได้pkexecอะไรจากการใช้ ฉันควรใช้คำสั่งเหล่านี้เมื่อใด แนวปฏิบัติที่ดีที่สุดในการเปิดแอปพลิเคชันกราฟิกในฐานะรูทคืออะไร (ฉันได้อ่านmanหน้า... แล้ว แต่ฉันรู้สึกไม่ฉลาด)

1
ไฟล์ / etc / sudoers เสียหายและฉันไม่สามารถเรียกใช้ 'pkexec visudo' ผ่าน SSH ได้
ทำตามคำแนะนำที่นี่ฉันได้รับ: pkexec visudo ==== AUTHENTICATING FOR org.freedesktop.policykit.exec === Authentication is needed to run `/usr/sbin/visudo' as the super user Authenticating as: Thomas,,, (tuc) Password: polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie ==== AUTHENTICATION FAILED === Error executing command as another user: Not authorized This incident has been …
14 16.04  ssh  sudo  policykit  pkexec 

2
คำสั่ง pkexec ในไฟล์ .desktop
ฉันสร้างไฟล์ .desktop สำหรับ Flashtool ของ Androxyde (ยูทิลิตี้สำหรับอุปกรณ์ Sony Xperia ที่ฉันต้องเปิดด้วยไฟล์ปฏิบัติการในโฟลเดอร์) ที่ต้องใช้สิทธิ์รูทเพื่อใช้ยูทิลิตี้ fastboot ฉันเคยทำให้มันใช้งานได้gksuแต่ฉันบน Ubuntu 15.04 และ gksu นั้นเก่าแล้ว ฉันพยายามแก้ไขexecบรรทัดจากExec=gksu /home/natasha/FlashTool/FlashTool ถึง Exec=pkexec /home/natasha/FlashTool/FlashTool จากนั้นฉันอ่านเกี่ยวกับ pkexec ไม่อนุญาตให้เรียกใช้แอปพลิเคชัน X11 และดังนั้นฉันจึงแทนที่ด้วยวิธีนี้: เชื่อมโยงไปยังภาพเต็มใน Imgur.com ปัญหาตอนนี้คือมันถามรหัสผ่านให้ฉัน แต่ GUI ของ Flashtool ไม่เริ่มทำงาน แต่ถ้าฉันรันคำสั่งนั้นในเทอร์มินัลโปรแกรมจะเริ่มโดยไม่มีปัญหา ฉันควรทำอย่างไร เชื่อมโยงไปยังภาพเต็มใน Imgur.com

1
วิธีกำหนดค่า pkexec ให้ไม่ถามรหัสผ่าน?
ฉันมีแอปพลิเคชั่น GUI ที่จำเป็นต้องเรียก daemon (เขียนด้วยภาษา Python) ด้วยสิทธิ์ superuser ฉันต้องการทำสิ่งนี้โดยไม่แจ้งให้ผู้ใช้ใส่รหัสผ่าน เนื่องจาก daemon เป็นสคริปต์ฉันไม่สามารถตั้งค่าบิต SUID ได้โดยตรง ฉันสามารถเขียนตัวห่อหุ้ม C สำหรับสิ่งนี้ แต่ฉันไม่อยากประดิษฐ์พวงมาลัยใหม่โดยเฉพาะเมื่อความผิดพลาดในส่วนของฉันอาจนำไปสู่ความปลอดภัยของระบบที่ถูกบุกรุกอย่างรุนแรง สิ่งที่ฉันทำตามปกติในสถานการณ์นี้คือการเพิ่มบรรทัด/etc/sudoersที่อนุญาตให้ผู้ใช้เรียกใช้ daemon ในฐานะรูทโดยไม่มีรหัสผ่านโดยใช้คำสั่ง NOPASSWD ทำงานได้ดีจากบรรทัดคำสั่ง อย่างไรก็ตามเมื่อฉันทำสิ่งนี้จาก GUI pkexecกล่องโต้ตอบจะปรากฏขึ้นเพื่อขอรหัสผ่านของผู้ใช้ มันดูเหมือนว่าบน Ubuntu, โทรไปsudoจาก GUI pkexecที่มีอย่างใดถูกขัดขวางโดย มีวิธีที่สะอาดรอบนี้หรือไม่? ฉันค่อนข้างจะไม่ต้องจัดการกับความยุ่งยากของสคริปต์ setuid

2
ฉันสามารถใช้ pkexec ในสคริปต์ python หรือไฟล์ .desktop ได้หรือไม่
จากคำถามต่อไปนี้ ทำไม gksu ถึงไม่ติดตั้งโดยค่าเริ่มต้นอีกต่อไป? เมื่อใดที่จะใช้ pkexec vs. gksu / gksudo เราเห็นว่า gksu จะไม่ได้รับการสนับสนุนอีกต่อไปในระยะยาวและจะไม่ได้รับการติดตั้งเป็นค่าเริ่มต้นจาก> = 13.04 แต่เราควรใช้ pkexec ซึ่งทำงานได้ดีสำหรับแอปพลิเคชันที่ไม่ใช่แบบกราฟิก แต่ไม่ใช่สำหรับ apllications บน GUI: pkexec gedit เมื่อแทนที่ gksu ในไฟล์ .desktop EXEC=pkexec /usr/bin/gedit หรือเมื่อฉันเรียกใช้สคริปต์ python เพื่อเรียกใช้โปรแกรมกราฟิกที่มีสิทธิ์รูทฉันได้รับข้อผิดพลาดดังต่อไปนี้: >>>subprocess.Popen(['pkexec','gedit']) ** (gedit:3203): WARNING **: Could not open X display ฉันจะต้องเขียนสคริปต์หรือไฟล์ .desktop ของฉันอีกครั้งเพื่อรองรับกล่องโต้ตอบการรับรองความถูกต้องและเรียกใช้แอปพลิเคชันในฐานะรูทหากฉันไม่ควรขึ้นกับ gksu อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.