
4.5 (21-09-2010)
Hak Cipta © 2000 Geert Jansen
KDE su adalah sebuah front end grafik untuk perintah su UNIX®.
Daftar Isi

Selamat datang di KDE su! KDE su adalah front end grafis untuk perintah su UNIX® untuk K Desktop Environment. Ini memungkinkan kamu untuk menjalankan programkan sebagai pengguna yang berbeda dengan menyuplai kata sandi untuk pengguna tersebut. KDE su adalah program yang tidak diprivasi; ia menggunakan su sistem.
KDE su memiliki salahsatu fitur tambahan: ia bisa mengingat kata sandi untukmu. Jika kamu menggunakan fitur ini, kamu hanya perlu memasukkan kata sandi sekali untuk setiap perintah. Lihatlah bagian bernama “Penjagaan Kata Sandi” untuk informasi selebihnya atas hal ini dan analisis keamanan.
Program ini adalah bermaksud untuk dijalankan dari baris perintah atau dari file-file .desktop
. Dengan demikian ia menanyakan kata sandi root
menggunakan sebuah dialog GUI, aku menganggapnya lebih sebagai baris perintah <-> lem GUI bukan program GUI murni.
Sejak kdesu tidak lagi diinstal dalam $(kde4-config --prefix)
/bin tetapi dalam kde4-config --path libexec
dan oleh karenanya tidak di Path
-mu, kamu harus menggunakan $(kde4-config --path libexec)kdesu
untuk meluncurkan kdesu.

Penggunaan KDE su cukup mudah. Sintaksnya seperti ini:
kdesu [-c
perintah
] [-d
] [-f
file
] [-i
nama ikon
] [-n
] [-p
prioritas
] [-r
] [-s
] [-t
] [-u
pengguna
] [--noignorebutton
] [--attach
winid
]
kdesu [Opsi-opsi Generik KDE] [Opsi-opsi Generik Qt™]
Opsi-opsi baris perintah dijelaskan di bawah.
-c
perintah
Penentuan perintah ini untuk berjalan sebagai root. Itu harus dilalui dalam satu argumen. Jadi jika, misalnya, kamu ingin menjalankan sebuah pengelola file baru kamu harus memasukkan prompt:
$(kde4-config --path libexec)kdesu
-c
Dolphin
-d
Tampilkan informasi debug.
-f
file
Opsi ini memungkinkan KDE su penggunaan yang efisien dalam file
.desktop
. Yang memberi tahu KDE su untuk memeriksa file yang ditentukan olehfile
. Jika file ini dapat ditulis oleh pengguna saat ini, KDE su akan mengeksekusi perintah sebagai pengguna saat ini. Jika ia tidak dapat ditulis, perintah dieksekusi sebagaipengguna
(bakunya kepada root).file
telah dievaluasikan seperti ini: jikafile
memulai dengan sebuah/
, ia telah diambil sebagai sebuah nama file yang mutlak. Meskipun demikian, ia telah diambil sebagai nama dari sebuah file konfigurasi KDE global.-i
nama ikon
Ikon ditentukan untuk penggunaan di dalam dialog kata sandi. Mungkin kamu hanya menentukan nama, tanpa ekstensi apa pun.
Misalnya menjalankan Konqueror dalam mode filemanager dan menampilkan ikon Konqueror di dalam dialog kata sandi:
$(kde4-config --path libexec)kdesu
-i konqueror
-c "konqueror --profile filemanagement"
-n
Jangan menjaga kata sandi. Ini menonfungsikan kotak-centang jaga kata sandi di dalam dialog kata sandi.
-p
prioritas
Set nilai prioritas. Prioritas adalah sebuah nomor bebas antara 0 dan 100, yang mana 100 maksudnya berprioritas lebih tinggi, dan 0 maksudnya berprioritas lebih rendah. Bakunya adalah 50.
-r
Gunakan penjadwalan waktu nyata.
-s
Hentikan daemon kdesu. Lihatlah bagian bernama “Penjagaan Kata Sandi”.
-t
Fungsikan output terminal. Ini menonfungsikan penjagaan kata sandi. Ini adalah sebagian besar untuk tujuan pendebugan; jika kamu ingin menjalankan aplikasi mode console, gunakan su standar sebagai gantinya.
-u
pengguna
Penggunaan yang paling umum KDE su adalah menjalankan perintah sebagai superuser, kamu bisa menyuplai nama pengguna dan kata sandi apa pun yang sesuai.

Program yang kamu eksekusi akan berjalan di bawah id pengguna root dan akan biasanya tidak memiliki otoritas untuk mengakses displai X kamu. KDE su dapat melakukan ini dengan menambahkan sebuah cookie autentikasi untuk displaimu ke sebuah file .Xauthority
temporer. Sesudah perintahnya keluar, file ini dihapus.
Jika kamu tidak menggunakan cookie X, kamu berada pada milikmu. KDE su akan mendeteksi ini dan tidak akan menambahkan cookie tetapi kamu nanti harus memastikan bahwa root diperbolehkan untuk mengakses ke displaimu.

KDE su menggunakan su sistem untuk mendapatkan hak istimewa. Di bagian ini, aku berencana memerincikan bagaimana KDE su melakukan ini.
Karena beberapa penerapan su (yaitu seseorang dari Red Hat®) tidak menginginkan pembacaan kata sandi dari stdin
, KDE su menciptakan sebuah pair pty/tty dan mengeksekusi su dengan filedescriptors standarnya yang terkoneksi ke tty.
Untuk menjalankan perintah yang dipilih pengguna, bukan shell interaktif, KDE su menggunakan argumen -c
dengan su. Argumen ini dipahami oleh setiap shell yang saya tahu sehingga harus bekerja secara portable. su meneruskan argumen -c
ini ke shell pengguna target, dan shell mengeksekusi program. Contoh perintah: su root -c
.the_program
Alih-alih mengeksekusi perintah pengguna secara langsung dengan su, KDE su menjalankan program stub kecil yang disebut kdesu_stub. Stub ini (berjalan sebagai pengguna target), meminta beberapa informasi dari KDE su melalui pair pty/tty (stdin stub dan stdout) dan kemudian menjalankan program pengguna. Informasi yang diteruskan adalah: tampilan X, cookie otentikasi X (jika tersedia), PATH
dan perintah untuk dijalankan. Alasan mengapa program stub ini digunakan adalah bahwa cookie X adalah informasi pribadi dan oleh karena itu tidak dapat diteruskan di baris perintah.

Untuk kesenanganmu, KDE su mengimplementasikan fitur “jaga kata sandi”. Jika kamu mementingkan keamanan, kamu seharusnya membaca paragraf ini.
KDE su memungkinkan mengingat kata sandi membukakan sebuah lubang keamanan (kecil) di sistem kamu. Jelas, KDE su tidak mengizinkan siapa pun selain id pengguna kamu untuk menggunakan kata sandi, tetapi, jika dilakukan tanpa hati-hati, ini akan menurunkan tingkat keamanan root
ke pengguna normal (kamu). Seorang peretas yang membobol akunmu, akan mendapatkan akses root
. KDE su mencoba untuk mencegah ini. Skema keamanan yang digunakannya, setidaknya menurut saya, cukup aman dan sudah dijelaskan di sini.
KDE su menggunakan daemon, yang disebut kdesud. Daemon mendaftar ke sebuah soket UNIX® di /tmp
untuk perintah. Mode soketnya adalah 0600 jadi hanya id pengguna kamu yang dapat terkoneksi kepadanya. Jika penjagaan kata sandi difungsikan, KDE su mengeksekusi perintah melalui daemon ini. Ia menulis perintah dan kata sandi root
ke soket dan daemon mengeksekusi perintah menggunakan su, seperti yang dijelaskan sebelumnya. Setelah ini, perintah dan kata sandi tidak dibuang. Sebaliknya, mereka disimpan untuk waktu yang ditentukan. Ini adalah nilai batas waktu dari dalam modul kendali. Jika ada permintaan lain untuk perintah yang sama akan datang dalam periode waktu ini, klien tidak harus memberikan kata sandi. Untuk menjaga dari peretas yang membobol akun kamu yang mencuri kata sandi dari daemon (misalnya, dengan melampirkan debugger), daemon yang terinstal set-group-id nogroup. Ini seharusnya mencegah semua pengguna normal (termasuk kamu) dari pendapatan kata sandi dari proses kdesud. Juga, daemon menetapkan variabel lingkungan DISPLAY
ke nilai yang dimilikinya ketika dimulai. Satu-satunya hal seorang peretas yang bisa lakukan adalah menjalankan aplikasi di displaimu.
Satu titik lemah dalam skema ini adalah bahwa program yang kamu jalankan mungkin tidak ditulis dengan keamanan yang dimaksud (seperti program root
setuid). Ini berarti mereka mungkin ada serangan atau masalah lain dan seorang peretas dapat mengeksploitasinya.
Penggunaan fitur penjagaan kata sandi merupakan pertukaran antara keamanan dan kenyamanan. Aku mendorongmu untuk memikirkannya dan memutuskan sendiri apakah kamu mau menggunakannya atau tidak.

KDE su
Hakcipta 2000 Geert Jansen
KDE su ditulis oleh Geert Jansen. Agak didasarkan pada KDE su Pietro Iglio's, versi 0.3. Pietro dan saya setuju bahwa saya akan memelihara program ini di masa depan.
Penulis bisa dihubungi melalui email di (g.t.jansen AT stud.tue.nl)
. Silakan laporkan bug apa pun yang kamu temukan kepadaku sehingga aku bisa memperbaikinya. Jika kamu punya saran, jangan ragu untuk menghubungi saya.
Wantoyo(wantoyek AT gmail.com)
Dokumentasi ini dilisensikan di bawah ketentuan lisensi GNU Free Documentation License.
Program ini dilisensikan di bawah ketentuan lisensi Artistic License.