Ini adalah perintah pkexec yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
pkexec - Jalankan perintah sebagai pengguna lain
RINGKASAN
pkexec [--Versi: kapan] [--nonaktifkan-internal-agent] [--membantu]
pkexec [--pengguna nama pengguna] PROGRAM [ARGUMEN...]
DESKRIPSI
pkexec memungkinkan pengguna yang berwenang untuk mengeksekusi PROGRAM sebagai pengguna lain. Jika nama pengguna tidak
ditentukan, maka program akan dijalankan sebagai super user administratif, akar.
KEMBALI NILAI
Setelah berhasil diselesaikan, nilai pengembalian adalah nilai pengembalian dari PROGRAM. Jika
proses panggilan tidak diotorisasi atau otorisasi tidak dapat diperoleh melalui
otentikasi atau terjadi kesalahan, pkexec keluar dengan nilai kembalian 127. Jika
otorisasi tidak dapat diperoleh karena pengguna menutup dialog autentikasi,
pkexec keluar dengan nilai kembalian 126.
AUTENTIKASI AGEN
pkexec, seperti aplikasi PolicyKit lainnya, akan menggunakan agen otentikasi yang terdaftar
untuk proses pemanggilan. Namun, jika tidak ada agen otentikasi yang tersedia, maka pkexec
akan mendaftarkan agen otentikasi tekstualnya sendiri. Perilaku ini dapat dimatikan dengan
melewati --nonaktifkan-internal-agent .
KEAMANAN CATATAN
Mengeksekusi program sebagai pengguna lain adalah operasi istimewa. Secara default diperlukan
otorisasi (Lihat bagian yang disebut “OTORITAS YANG DIPERLUKAN”) membutuhkan administrator
autentikasi. Selain itu, dialog otentikasi yang disajikan kepada pengguna akan ditampilkan
path lengkap ke program yang akan dieksekusi sehingga pengguna mengetahui apa yang akan terjadi:
[GAMBAR][1]
+-------------------------------------------------- ---------+
| Otentikasi [X] |
+-------------------------------------------------- ---------+
| |
| [Icon] Otentikasi diperlukan untuk menjalankan `/ bin / bash' |
| sebagai pengguna super |
| |
| Sebuah aplikasi sedang mencoba untuk melakukan |
| tindakan yang membutuhkan hak istimewa. Otentikasi |
| sebagai pengguna super diperlukan untuk melakukan ini |
| tindakan. |
| |
| Kata sandi untuk root: [____________] |
| |
| [V] Detail: |
| Memerintah: / bin / bash |
| Jalankan Sebagai: Pengguna Super (root) |
| Tindakan: org.freedesktop.policykit.exec |
| Vendor: Proyek PolicyKit |
| |
| [Batal] [Otentikasi] |
+-------------------------------------------------- ---------+
Lingkungan yang PROGRAM akan menjalankannya, akan disetel ke minimal yang diketahui dan aman
lingkungan untuk menghindari penyuntikan kode melalui LD_LIBRARY_PATH atau serupa
mekanisme. Selain itu, variabel lingkungan PKEXEC_UID diatur ke id pengguna dari
pemanggilan proses pkexec. Sebagai hasilnya, pkexec tidak akan mengizinkan Anda menjalankan aplikasi X11 sebagai
pengguna lain karena variabel lingkungan $DISPLAY dan $XAUTHORITY tidak disetel. Ini
dua variabel akan dipertahankan jika org.freedesktop.policykit.exec.allow_gui anotasi
pada suatu tindakan diatur ke nilai yang tidak kosong; ini tidak disarankan, dan seharusnya hanya
digunakan untuk program lama.
DIBUTUHKAN OTORISASI
Secara default, org.freedesktop.policykit.exec otorisasi diperlukan kecuali suatu tindakan
file definisi hadir untuk program yang bersangkutan. Untuk meminta otorisasi lain,
itu dapat ditentukan menggunakan org.freedesktop.policykit.exec.path anotasi pada suatu tindakan
(Lihat bagian yang disebut “CONTOH” untuk detailnya).
CONTOH
Untuk menentukan jenis otorisasi apa yang diperlukan untuk menjalankan program
/usr/bin/pk-example-frobnicate sebagai pengguna lain, cukup tulis file definisi tindakan
begini
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//Konfigurasi Kebijakan DTD PolicyKit 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
Contoh untuk Proyek PolicyKit
http://hal.freedesktop.org/docs/PolicyKit/
Jalankan program contoh PolicyKit Frobnicate
Contoh Kør PolicyKit Frobnicate
Otentikasi diperlukan untuk menjalankan program contoh PolicyKit Frobnicate (user=$(user), program=$(program), command_line=$(command_line))
Autorisering er påkrævet for at afvikle PolicyKit contoh Frobnicate (user=$(user), program=$(program), command_line=$(command_line))
audio-x-generik
tidak
tidak
auth_self_keep
/usr/bin/pk-contoh-frobnicate
dan taruh di / usr / share / polkit-1 / actions direktori dengan nama yang sesuai (mis
cocok dengan namespace tindakan). Perhatikan bahwa selain menentukan program,
pesan otentikasi, deskripsi, ikon dan default dapat ditentukan. Perhatikan bahwa
kemunculan string $(user), $(program) dan $(command_line) dalam pesan akan menjadi
diganti dengan masing-masing pengguna (dari bentuk "Nama Asli (nama pengguna)" atau hanya "nama pengguna"
jika tidak ada nama asli untuk nama pengguna), biner yang akan dieksekusi (jalur yang sepenuhnya memenuhi syarat,
misalnya "/usr/bin/pk-example-frobnicate") dan baris perintah, misalnya "pk-example-frobnicate
foo bar". Misalnya, untuk tindakan yang ditentukan di atas, dialog otentikasi berikut:
akan ditampilkan:
[GAMBAR][2]
+-------------------------------------------------- ---------+
| Otentikasi [X] |
+-------------------------------------------------- ---------+
| |
| [Ikon] Otentikasi diperlukan untuk menjalankan PolicyKit |
| contoh program Frobnicate |
| |
| Sebuah aplikasi sedang mencoba untuk melakukan |
| tindakan yang membutuhkan hak istimewa. Otentikasi |
| diperlukan untuk melakukan tindakan ini. |
| |
| Sandi: [______________________] |
| |
| [V] Detail: |
| Perintah: /usr/bin/pk-example-frobnicate |
| Jalankan Sebagai: Pengguna Super (root) |
| Tindakan: org.fd.pk.example.pkexec.run-frobnicate |
| Vendor: Contoh Proyek PolicyKit |
| |
| [Batal] [Otentikasi] |
+-------------------------------------------------- ---------+
Jika pengguna menggunakan lokal da_DK, dialognya akan terlihat seperti ini:
[GAMBAR][3]
+-------------------------------------------------- ---------+
| Autorising [X] |
+-------------------------------------------------- ---------+
| |
| [Ikon] Autorising er påkrævet for at afvikle |
| Contoh PolicyKit Frobnicate |
| |
| Et program forsøger di udføre en handling der |
| hak istimewa kræver. Autorisering er påkrævet. |
| |
| Kodeord: [______________________] |
| |
| [V] Detektor: |
| Bruger: Pengguna Super (root) |
| Program: /usr/bin/pk-contoh-frobnicate |
| Penanganan: org.fd.pk.example.pkexec.run-frobnicate |
| Vendor: Contoh Proyek PolicyKit |
| |
| [Pembatalan] [Peningkatan Otomatis] |
+-------------------------------------------------- ---------+
Perhatikan bahwa pkexec tidak ada validasi dari ARGUMEN diteruskan ke PROGRAM. Dalam kasus biasa
(di mana otentikasi administrator diperlukan setiap saat pkexec digunakan), ini bukan
masalah karena jika pengguna adalah administrator, dia mungkin juga menjalankan pkexec menampar untuk mendapatkan
root.
Namun, jika suatu tindakan digunakan di mana pengguna dapat mempertahankan otorisasi (atau jika pengguna
diotorisasi secara implisit), seperti dengan pk-example-frobnicate di atas, ini bisa menjadi
lubang keamanan. Oleh karena itu, sebagai aturan praktis, program yang memerlukan default
otorisasi diubah, tidak boleh secara implisit mempercayai input pengguna (mis
ditulis dengan baik SUID program).
Gunakan pkexec online menggunakan layanan onworks.net