Ini adalah perintah ksu 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
ksu - Pengguna super Kerberized
RINGKASAN
ksu [ target_pengguna ] [ -n target_nama_kepala sekolah ] [ -c nama_cache_sumber ] [ -k ] [ -D ] [
-r waktu ] [ -hal ] [ -l seumur hidup ] [ -z | Z ] [ -q ] [ -e Command [ argumen ... ] ] [ -a [
argumen... ] ]
PERSYARATAN
Harus menginstal Kerberos versi 5 untuk mengkompilasi ksu. Harus memiliki Kerberos versi 5
server berjalan untuk menggunakan ksu.
DESKRIPSI
ksu adalah versi Kerberized dari program su yang memiliki dua misi: satu adalah untuk mengamankan
ubah ID pengguna yang nyata dan efektif menjadi pengguna target, dan yang lainnya adalah
membuat konteks keamanan baru.
CATATAN:
Demi kejelasan, semua referensi dan atribut pengguna yang menggunakan
program akan dimulai dengan "sumber" (misalnya, "pengguna sumber", "cache sumber", dll.).
Demikian juga, semua referensi dan atribut akun target akan dimulai dengan
"target".
AUTENTIKASI
Untuk memenuhi misi pertama, ksu beroperasi dalam dua fase: otentikasi dan
otorisasi. Menyelesaikan nama utama target adalah langkah pertama dalam otentikasi.
Pengguna dapat menentukan nama utamanya dengan -n pilihan (misalnya, -n
jqpublic@USC.EDU) atau nama utama default akan ditetapkan menggunakan heuristik yang dijelaskan
di bagian OPSI (lihat -n pilihan). Nama pengguna target harus menjadi argumen pertama
ke ksu; jika tidak ditentukan root adalah default. Jika . ditentukan maka pengguna target akan
menjadi pengguna sumber (misalnya, ksu .). Jika pengguna sumber adalah root atau pengguna target adalah
pengguna sumber, tidak ada otentikasi atau otorisasi yang terjadi. Jika tidak, ksu mencari
tiket Kerberos yang sesuai di cache sumber.
Tiket dapat berupa untuk server akhir atau tiket pemberian tiket (TGT) untuk
wilayah kepala sekolah sasaran. Jika tiket untuk server akhir sudah ada di cache, itu
didekripsi dan diverifikasi. Jika tidak ada di cache tetapi TGT ada, TGT digunakan untuk
mendapatkan tiket untuk server akhir. Tiket server akhir kemudian diverifikasi. Jika tidak
tiket ada di cache, tetapi ksu dikompilasi dengan GET_TGT_VIA_PASSWD tentukan, pengguna
akan diminta kata sandi Kerberos yang kemudian akan digunakan untuk mendapatkan TGT. jika
pengguna login dari jarak jauh dan tidak memiliki saluran yang aman, kata sandinya mungkin
terkena. Jika tidak ada tiket dalam cache dan GET_TGT_VIA_PASSWD tak terdefinisi,
otentikasi gagal.
OTORISASI
Bagian ini menjelaskan otorisasi pengguna sumber ketika ksu dipanggil tanpa -e
pilihan. Untuk deskripsi tentang -e pilihan, lihat bagian OPSI.
Setelah otentikasi berhasil, ksu memeriksa apakah prinsipal target berwenang untuk
mengakses akun target. Di direktori home pengguna target, ksu mencoba mengakses
dua file otorisasi: .k5login(5) dan .k5users. Dalam file .k5login setiap baris
berisi nama prinsipal yang berwenang untuk mengakses akun.
Sebagai contoh:
jqpublic@USC.EDU
jqpublik/aman@USC.EDU
jqpublik/admin@USC.EDU
Format .k5users sama, kecuali nama utama dapat diikuti dengan daftar
perintah bahwa kepala sekolah berwenang untuk mengeksekusi (lihat -e pilihan di OPSI
bagian untuk rincian).
Jadi jika nama prinsipal target ditemukan di file .k5login, pengguna sumbernya adalah
berwenang untuk mengakses akun target. Jika tidak, ksu mencari di file .k5users. Jika
nama utama target ditemukan tanpa perintah tambahan atau hanya diikuti oleh *
maka pengguna sumber diotorisasi. Jika ada pengguna .k5login atau .k5 tetapi tidak
entri yang sesuai untuk prinsipal target tidak ada maka akses ditolak. Jika
file tidak ada maka kepala sekolah akan diberikan akses ke akun sesuai dengan
aturan pemetaan aname->lname. Jika tidak, otorisasi gagal.
EKSEKUSI OF THE TARGET SHELL
Setelah otentikasi dan otorisasi berhasil, ksu melanjutkan dengan cara yang mirip dengan su.
Lingkungan tidak dimodifikasi dengan pengecualian variabel USER, HOME dan SHELL. Jika
pengguna target bukan root, USER disetel ke nama pengguna target. Jika tidak, PENGGUNA
tetap tidak berubah. Baik HOME dan SHELL disetel ke nilai default login target. Di dalam
Selain itu, variabel lingkungan KRB5CCNAME akan diatur ke nama cache target.
ID pengguna yang nyata dan efektif diubah menjadi pengguna target. Pengguna sasaran
shell kemudian dipanggil (nama shell ditentukan dalam file kata sandi). Pada
penghentian shell, ksu menghapus cache target (kecuali ksu dipanggil dengan -k
pilihan). Ini diimplementasikan dengan terlebih dahulu melakukan fork dan kemudian exec, bukan hanya
exec, seperti yang dilakukan oleh su.
MENCIPTAKAN A BARU KEAMANAN KONTEKS
ksu dapat digunakan untuk membuat konteks keamanan baru untuk program target (baik target
shell, atau perintah yang ditentukan melalui -e pilihan). Program target mewarisi satu set
kredensial dari pengguna sumber. Secara default, set ini mencakup semua kredensial di
cache sumber ditambah kredensial tambahan yang diperoleh selama otentikasi. NS
pengguna sumber dapat membatasi kredensial dalam set ini dengan menggunakan -z or -Z . -z
membatasi salinan tiket dari cache sumber ke cache target hanya untuk
tiket di mana klien == nama prinsipal target. NS -Z opsi menyediakan pengguna target
dengan cache target baru (tidak ada kredit dalam cache). Perhatikan bahwa untuk alasan keamanan, ketika
pengguna sumber adalah root dan pengguna target adalah non-root, -z opsi adalah mode default
operasi.
Meskipun tidak ada otentikasi yang terjadi jika pengguna sumber adalah root atau sama dengan
pengguna target, tiket tambahan masih dapat diperoleh untuk cache target. Jika -n is
ditentukan dan tidak ada kredensial yang dapat disalin ke cache target, pengguna sumber adalah
dimintai kata sandi Kerberos (kecuali -Z ditentukan atau GET_TGT_VIA_PASSWD tidak terdefinisi).
Jika berhasil, TGT diperoleh dari server Kerberos dan disimpan di cache target.
Jika tidak, jika kata sandi tidak diberikan (pengguna tekan kembali) ksu berlanjut dalam mode normal
operasi (cache target tidak akan berisi TGT yang diinginkan). Jika kata sandi salah
diketik, ksu gagal.
CATATAN:
Selama otentikasi, hanya tiket yang dapat diperoleh tanpa memberikan
kata sandi di-cache di dalam cache sumber.
PILIHAN
-n target_nama_kepala sekolah
Tentukan nama utama target Kerberos. Digunakan dalam otentikasi dan otorisasi
fase ksu.
Jika ksu dipanggil tanpa -n, nama utama default ditetapkan melalui
heuristik berikut:
· Kasus 1: pengguna sumber adalah non-root.
Jika pengguna target adalah pengguna sumber, nama utama default diatur ke
prinsip default dari cache sumber. Jika cache tidak ada maka
nama utama default diatur ke target_pengguna@local_realm. Jika sumber dan
pengguna target berbeda dan tidak juga ~target_pengguna/.k5pengguna maupun
~target_pengguna/.k5login ada maka nama utama default adalah
target_user_login_name@local_realm. Jika tidak, dimulai dengan kepala sekolah pertama
tercantum di bawah ini, ksu memeriksa apakah prinsipal berwenang untuk mengakses target
akun dan apakah ada tiket yang sah untuk prinsipal itu di sumbernya
cache. Jika kedua kondisi terpenuhi, prinsipal menjadi target default
kepala sekolah, jika tidak pergi ke kepala sekolah berikutnya.
A. prinsip default dari cache sumber
B. target_user@local_realm
C. source_user@local_realm
Jika ac gagal coba prinsip apa pun yang ada tiketnya di cache sumber
dan yang berwenang untuk mengakses akun target. Jika gagal pilih
prinsipal pertama yang berwenang untuk mengakses akun target dari atas
Daftar. Jika tidak ada yang diotorisasi dan ksu dikonfigurasi dengan PRINC_LOOK_AHEAD berbalik
aktif, pilih prinsipal default sebagai berikut:
Untuk setiap kandidat dalam daftar di atas, pilih kepala sekolah yang berwenang yang memiliki:
nama ranah yang sama dan bagian pertama dari nama utama sama dengan awalan
calon. Misalnya jika kandidat a) adalah jqpublic@ISI.EDU dan
jqpublik/aman@ISI.EDU berwenang untuk mengakses akun target maka
pokok default diatur ke jqpublik/aman@ISI.EDU.
· Kasus 2: pengguna sumber adalah root.
Jika pengguna target adalah non-root maka nama utama defaultnya adalah
target_pengguna@local_realm. Lain, jika cache sumber ada prinsip default
name disetel ke prinsip default cache sumber. Jika cache sumber
tidak ada, nama utama default diatur ke root\@local_realm.
-c nama_cache_sumber
Tentukan nama cache sumber (mis., -c FILE:/tmp/my_cache). Jika -c opsi tidak digunakan maka
nama diperoleh dari KRB5CCNAME variabel lingkungan. Jika KRB5CCNAME tidak
didefinisikan nama cache sumber diatur ke krb5cc_ uid>. Nama cache target adalah
secara otomatis disetel ke krb5cc_ uid>.(gen_sym()), di mana gen_sym menghasilkan yang baru
nomor sedemikian rupa sehingga cache yang dihasilkan belum ada. Sebagai contoh:
krb5cc_1984.2
-k Jangan hapus cache target setelah penghentian shell target atau perintah
(-e memerintah). Tanpa -k, ksu menghapus cache target.
-D Aktifkan mode debug.
-z Batasi salinan tiket dari cache sumber ke cache target hanya untuk
tiket di mana klien == nama prinsipal target. Menggunakan -n pilihan jika Anda mau
tiket untuk yang lain maka prinsipal default. Perhatikan bahwa -z pilihannya adalah
saling eksklusif dengan -Z .
-Z Jangan menyalin tiket apa pun dari cache sumber ke cache target. Buat saja
cache target baru, di mana nama utama default cache diinisialisasi ke
nama utama sasaran. Perhatikan bahwa -Z opsi saling eksklusif dengan
-z .
-q Menekan pencetakan pesan status.
Opsi tiket pemberian tiket:
-l seumur hidup -r waktu -hal
Opsi tiket pemberian tiket hanya berlaku untuk kasus di mana tidak ada
tiket yang sesuai dalam cache untuk mengotentikasi pengguna sumber. Dalam hal ini jika
ksu dikonfigurasi untuk meminta kata sandi Kerberos kepada pengguna (GET_TGT_VIA_PASSWD is
ditentukan), opsi tiket pemberian tiket yang ditentukan akan digunakan ketika
mendapatkan tiket pemberian tiket dari server Kerberos.
-l seumur hidup
(lamanya string.) Menentukan masa pakai yang akan diminta untuk tiket; jika ini
opsi tidak ditentukan, masa pakai tiket default (12 jam) digunakan sebagai gantinya.
-r waktu
(lamanya string.) Menentukan bahwa terbarukan opsi harus diminta untuk
tiket, dan menentukan total masa pakai tiket yang diinginkan.
-p menentukan bahwa dapat didekati opsi harus diminta untuk tiket.
-f opsi menentukan bahwa dapat diteruskan opsi harus diminta untuk tiket.
-e Command [args ...]
ksu berjalan persis sama seperti jika dipanggil tanpa -e pilihan, kecuali
alih-alih mengeksekusi shell target, ksu mengeksekusi perintah yang ditentukan. Contoh
penggunaan:
ksu bob -e ls -lag
Algoritma otorisasi untuk -e adalah sebagai berikut:
Jika pengguna sumber adalah pengguna root atau pengguna sumber == pengguna target, tidak ada otorisasi yang diperlukan
tempat dan perintah dijalankan. Jika id pengguna sumber != 0, dan
~target_pengguna/.k5pengguna file tidak ada, otorisasi gagal. Sebaliknya,
~target_pengguna/.k5pengguna file harus memiliki entri yang sesuai untuk prinsipal target untuk
mendapatkan otorisasi.
Format file .k5users:
Entri utama tunggal pada setiap baris yang dapat diikuti oleh daftar perintah
bahwa prinsipal berwenang untuk mengeksekusi. Nama utama diikuti oleh a *
berarti bahwa pengguna berwenang untuk menjalankan perintah apa pun. Jadi, berikut ini
contoh:
jqpublic@USC.EDU ls mail /local/kerberos/klist
jqpublik/aman@USC.EDU *
jqpublik/admin@USC.EDU
jqpublic@USC.EDU hanya berwenang untuk mengeksekusi ls, surat dan daftar perintah.
jqpublik/aman@USC.EDU berwenang untuk menjalankan perintah apa pun.
jqpublik/admin@USC.EDU tidak berwenang untuk menjalankan perintah apa pun. Perhatikan, itu
jqpublik/admin@USC.EDU berwenang untuk mengeksekusi shell target (ksu biasa,
tanpa -e pilihan) tapi jqpublic@USC.EDU tidak.
Perintah yang tercantum setelah nama utama harus berupa nama path lengkap atau
nama programnya saja. Dalam kasus kedua, CMD_PATH menentukan lokasi
program resmi harus ditentukan pada waktu kompilasi ksu. Perintah yang mana
akan dieksekusi?
Jika pengguna sumber adalah root atau pengguna target adalah pengguna sumber atau pengguna
berwenang untuk menjalankan perintah apa pun (* entri) maka perintah dapat berupa penuh atau a
jalur relatif yang mengarah ke program target. Jika tidak, pengguna harus menentukan
baik path lengkap atau hanya nama program.
-a args
Tentukan argumen yang akan diteruskan ke shell target. Perhatikan bahwa semua bendera dan
parameter berikut -a akan diteruskan ke shell, sehingga semua opsi ditujukan untuk
ksu harus mendahului -a.
The -a opsi dapat digunakan untuk mensimulasikan -e pilihan jika digunakan sebagai berikut:
-a -c [perintah [argumen]].
-c ditafsirkan oleh c-shell untuk menjalankan perintah.
INSTALASI INSTRUKSI
ksu dapat dikompilasi dengan empat flag berikut:
GET_TGT_VIA_PASSWD
Jika tidak ada tiket yang sesuai ditemukan di cache sumber, pengguna akan
dimintai kata sandi Kerberos. Kata sandi tersebut kemudian digunakan untuk mendapatkan tiket
pemberian tiket dari server Kerberos. Bahaya mengonfigurasi ksu dengan ini
makro adalah jika pengguna sumber masuk dari jarak jauh dan tidak memiliki keamanan
saluran, kata sandi mungkin terekspos.
PRINC_LOOK_AHEAD
Selama resolusi nama utama default, PRINC_LOOK_AHEAD memungkinkan ksu
untuk menemukan nama utama dalam file .k5users seperti yang dijelaskan di bagian OPSI
(Lihat -n pilihan).
CMD_PATH
Menentukan daftar direktori yang berisi program yang diizinkan oleh pengguna
jalankan (melalui file .k5users).
PUNYA_GETUSERSHELL
Jika pengguna sumber adalah non-root, ksu bersikeras bahwa shell pengguna target adalah
dipanggil adalah "cangkang hukum". dapatkan kulit pengguna(3) dipanggil untuk mendapatkan nama-nama
"kulit hukum". Perhatikan bahwa shell pengguna target diperoleh dari passwd
file.
Konfigurasi sampel:
KSU_OPTS = -DGET_TGT_VIA_PASSWD -DPRINC_LOOK_AHEAD -DCMD_PATH='"/tempat sampah /usr/ucb /local/bin"
ksu harus dimiliki oleh root dan mengaktifkan bit id pengguna yang ditetapkan.
ksu mencoba mendapatkan tiket untuk server akhir seperti halnya telnet dan rlogin Kerberized.
Jadi, harus ada entri untuk server di database Kerberos (mis.
tuan rumah/nii.isi.edu@ISI.EDU). File keytab harus berada di lokasi yang sesuai.
SISI EFEK
ksu menghapus semua tiket kedaluwarsa dari cache sumber.
PENULIS OF KSU
GENNADY (ARI) MEDVINSKY
Gunakan ksu online menggunakan layanan onworks.net