Kapan saya harus menggunakan pkexec dan kapan sudo -i?

21

Saya menulis jawaban yang menyarankan penggunaan sudo -i nautilus. Saya tahu itu gksusudah usang , dan saya mendapat kesan bahwa sudo -ikita harus menjalankan aplikasi grafis sebagai root tanpa membunuh anak kucing , tetapi seseorang berkomentar ' pkexecadalah yang baru gksu'. Pemahaman saya adalah bahwa pkexectidak sama dengan menggunakan segala bentuk sudo:

Kapan menggunakan pkexec vs gksu / gksudo?

dan membutuhkan pengaturan, terutama untuk digunakan dengan aplikasi grafis:

Bagaimana cara mengkonfigurasi pkexec?

Ketika saya melakukan sudo -isemuanya selalu bekerja, jadi mengapa saya harus pergi ke masalah konfigurasi pkexec? Saya dapat melihat bahwa untuk menulis skrip yang meluncurkan sesuatu sebagai root, saya perlu melakukannya:

Bisakah saya menggunakan pkexec dalam file Python Script atau .desktop?

Tetapi sebaliknya, apa yang saya dapat dari menggunakan pkexec? Kapan saya harus menggunakan perintah ini? Apa yang saat ini praktik terbaik untuk membuka aplikasi grafis sebagai root?

(Saya sudah membaca ... manhalaman, tapi saya merasa tidak bijaksana.)

Zanna
sumber
5
Saya pribadi mengabaikan penghentian dan selalu menginstal gksupada setiap sistem untuk menjalankan aplikasi GUI dengan gksudojika diperlukan. Tidak ada lagi.
Byte Commander
1
Terkait: Posting lama tentang meta ini memiliki diskusi yang relevan dan jawaban yang paling banyak diajukan menyarankan sudo -isolusi yang aman; Tapi tidak banyak penjelasan pkexec.
clearkimura
1
Dalam hal menggunakan editor teks GUI untuk mengedit file sebagai root, bagaimana dengan menggunakan sudoedit(AKA sudo -e)?
edwinksl
1
@edwinksl maksud Anda Anda dapat mengatur editor grafis sebagai default sudoedit? Ide menarik
Zanna
1
@Zanna Ya, lihat unix.stackexchange.com/a/356443/6949 misalnya.
edwinksl

Jawaban:

2

Penggunaan dasarnya sama - program yang dipermasalahkan memungkinkan Anda menjalankan program lain sebagai pengguna lain, biasanya root. Perbedaannya, bagaimanapun, antara sudovarian dan pkexecyang sudomemberikan kontrol total program atas semuanya, sementara dengan pkexecAnda memiliki kontrol berbutir jauh lebih baik dengan menetapkan kebijakan untuk setiap program.

Jika Anda mempercayai program yang Anda jalankan, sudo baik-baik saja. Jika Anda ingin benar-benar mengunci segala sesuatu dan mengizinkan program hanya melakukan apa yang Anda izinkan, maka gunakan pkexecyang disertakan bersama polkit .

Walaupun ide di balik pkexecini bagus, saya tidak akan menyebutnya sebagai yang berikutnya gksu, karena kompleks yang diperlukan.

Referensi: perbedaan antara sudo dan pkexec pada Quora .

Brane
sumber