Panduan Pasukan Lucee MY

Reset kata laluan admin Lucee dan pulihkan admin terkunci

Terlupa kata laluan admin Lucee atau admin terkunci? Panduan reset melalui fail konfigurasi, CommandBox dan Docker, beserta langkah berjaga-jaga yang selamat.

Reset kata laluan admin Lucee dan pulihkan admin terkunci
0
Kandungan

Reset kata laluan admin Lucee dan pulihkan admin terkunci

Terlupa kata laluan admin Lucee bukan penamat dunia. Kata laluan itu tersimpan sebagai hash dalam satu fail konfigurasi pada pelayan anda, dan anda boleh menetapkan semula dengan memadam hash itu, kemudian memulakan semula enjin. Artikel ini menunjukkan caranya untuk Lucee 5, Lucee 6 dan Lucee 7, dengan arahan shell untuk Docker dan pemasangan biasa.

Sebelum menyunting apa-apa, semak versi Lucee anda dahulu. Fail konfigurasi tidak sama antara versi, dan menyunting fail yang salah membuang masa anda.

curl -s http://localhost:8888/lucee/admin/server.cfm | grep -i lucee

Jika anda memulakan pelayan dengan CommandBox:

box server info

Di mana Lucee menyimpan kata laluan admin

Admin Lucee, pada laluan /lucee/admin/index.cfm, dilindungi oleh satu kata laluan yang juga digunakan untuk sebarang kemas kini konfigurasi. Kata laluan itu tidak pernah disimpan sebagai teks biasa. Lucee menyimpannya sebagai hash dengan dua kunci: hspw (hash) dan salt (garam). Kunci lama pw masih disokong untuk keserasian ke belakang, tetapi Lucee sentiasa menulis dengan pasangan hspw dan salt.

Lokasi simpanan bergantung pada versi Lucee:

Versi LuceeFormat failFail konfigurasiElemen kata laluan
Lucee 5 dan lebih lamaXMLlucee-server.xml (server) dan lucee-web.xml.cfm (web)Atribut hspw dan salt pada tag cfLuceeConfiguration
Lucee 6 (mod single)JSON<pemasangan>/lucee-server/context/.CFConfig.jsonKunci hspw dan salt
Lucee 6 (mod multi)JSONTambah WEB-INF/lucee/.CFConfig.json per konteks webKunci hspw dan salt
Lucee 7JSON<pemasangan>/lucee-server/context/.CFConfig.jsonKunci hspw dan salt

Pada Lucee 5, fail lucee-server.xml memegang tetapan seluruh enjin dan kata laluan server admin, manakala lucee-web.xml.cfm memegang tetapan serta kata laluan bagi satu konteks web. Pada Lucee 6 dan 7, konfigurasi berpindah kepada fail JSON .CFConfig.json. Fungsi configTranslate() menukar XML lama kepada JSON baharu, dan Lucee menjalankannya secara automatik apabila anda menaik taraf dari Lucee 5 ke 6.

Perbezaan antara Lucee 6 dan Lucee 7

Kedua-dua Lucee 6 dan 7 menggunakan .CFConfig.json, tetapi mod konfigurasinya berbeza, dan ini mengubah tempat anda mencari kata laluan.

Lucee 6 menyokong mod single (satu konfigurasi untuk seluruh enjin, lalai bagi pemasangan baharu) dan mod multi (konfigurasi global tambah satu fail bagi setiap konteks web, lalai apabila menaik taraf dari Lucee 5). Dalam mod multi, kata laluan server dan web boleh berbeza.

Lucee 7 hanya menyokong mod single. Tiada lagi konfigurasi web berasingan, jadi hanya ada satu kata laluan untuk seluruh enjin. Inilah sebabnya anda mesti semak versi dahulu sebelum mencari fail.

Langkah berjaga-jaga sebelum reset

Tiga langkah ini mengelak masalah baharu:

  1. Sandarkan fail konfigurasi dahulu. Salin kepada fail berakhiran .sandaran.
  2. Hentikan enjin. Lucee boleh menulis semula fail itu semasa ia ditutup dan memadam perubahan anda.
  3. Tukar semula selepas. Tetapkan kata laluan baharu yang kuat selepas reset, jangan biarkan admin tanpa kata laluan.

Reset melalui fail konfigurasi (Lucee 5 dan lebih lama)

Pada Lucee 5, kata laluan ialah atribut pada tag akar cfLuceeConfiguration:

<cfLuceeConfiguration hspw="08ff0174...b0ee9619b7" salt="505516A5-3EF1-4F43-8F0B7E0C2336CC91" version="4.5">

Padam atribut hspw, salt dan default-hspw supaya menjadi:

<cfLuceeConfiguration version="4.5">

Arahan untuk pemasangan Tomcat pada Linux:

sudo systemctl stop tomcat
sudo cp /opt/lucee/lib/lucee-server/context/lucee-server.xml \
       /opt/lucee/lib/lucee-server/context/lucee-server.xml.sandaran
sudo python3 - <<'EOF'
import re
p = '/opt/lucee/lib/lucee-server/context/lucee-server.xml'
s = open(p).read()
s = re.sub(r'\s+(hspw|salt|default-hspw)="[^"]*"', '', s)
open(p, 'w').write(s)
EOF
sudo systemctl start tomcat

Selepas mula semula, buka /lucee/admin/server.cfm dan Lucee akan meminta kata laluan baharu. Laluan fail boleh berbeza mengikut cara pemasangan. Jika tidak wujud, cari dengan:

sudo find / -name "lucee-server.xml" 2>/dev/null

Reset melalui fail konfigurasi (Lucee 6 dan 7)

Pada Lucee 6 dan 7, kata laluan ialah kunci JSON dalam .CFConfig.json:

{
  "hspw": "hashed-password-here",
  "salt": "salt-value-here",
  "mode": "single"
}

Padam kedua-dua kunci hspw dan salt. Guna jq supaya JSON tidak rosak:

sudo systemctl stop tomcat
sudo cp /opt/lucee/server/lucee-server/context/.CFConfig.json \
       /opt/lucee/server/lucee-server/context/.CFConfig.json.sandaran
sudo sh -c "jq 'del(.hspw, .salt)' /opt/lucee/server/lucee-server/context/.CFConfig.json > /tmp/cf.baru && mv /tmp/cf.baru /opt/lucee/server/lucee-server/context/.CFConfig.json"
sudo systemctl start tomcat

Selepas itu, tetapkan kata laluan baharu melalui pemboleh ubah persekitaran atau fail password.txt:

# Pilihan 1: pemboleh ubah persekitaran (teks biasa)
LUCEE_ADMIN_PASSWORD=KataLaluanBaru123!

# Pilihan 2: fail password.txt dalam direktori context
# Lucee menghash nilai ini dan memadam fail password.txt
echo "KataLaluanBaru123!" > /opt/lucee/server/lucee-server/context/password.txt

Dua perkara penting: password.txt hanya berfungsi apabila tiada kata laluan sudah ditetapkan, iaitu selepas anda memadam hspw dan salt. Pemboleh ubah persekitaran pula hanya menjadi sandaran apabila tiada kata laluan dalam .CFConfig.json, jadi ia tidak menimpa kata laluan sedia ada.

Reset melalui CommandBox dan CFConfig

Jika anda memulakan Lucee dengan CommandBox, modul CFConfig ialah jalan paling mudah kerana ia menulis terus ke fail konfigurasi:

box install commandbox-cfconfig
cfconfig set adminPassword=KataLaluanBaru123!

Atau sasarkan pelayan tertentu:

cfconfig set adminPassword=KataLaluanBaru123! to=namaPelayan

Reset untuk Docker

Imej rasmi lucee/lucee menyimpan konteks server pada /opt/lucee/server/lucee-server/context. Untuk bekas baharu, tetapkan kata laluan sejak awal:

docker run -d --name lucee \
  -e LUCEE_ADMIN_PASSWORD=KataLaluanKuat123! \
  -p 8888:8888 \
  lucee/lucee:7

Untuk bekas sedia ada yang kata laluannya terlupa, padam kunci hash dan mula semula:

docker cp bekas_lucee:/opt/lucee/server/lucee-server/context/.CFConfig.json ./CFConfig.sandaran.json
jq 'del(.hspw, .salt)' CFConfig.sandaran.json > .CFConfig.json
docker cp .CFConfig.json bekas_lucee:/opt/lucee/server/lucee-server/context/.CFConfig.json
docker restart bekas_lucee

Selepas mula semula, Lucee meminta kata laluan baharu di halaman admin. Untuk tetapan automatik, letakkan password.txt dalam bekas sebelum mula semula:

docker exec bekas_lucee sh -c 'echo "KataLaluanBaru123!" > /opt/lucee/server/lucee-server/context/password.txt'
docker restart bekas_lucee

Untuk perincian lanjut, baca panduan deploy Lucee dengan Docker.

Pulihkan admin yang terkunci

Ada dua situasi yang membuatkan anda rasa admin terkunci, dan penyelesaiannya berbeza.

Situasi pertama ialah terlupa kata laluan, kes paling biasa. Penyelesaiannya ialah mana-mana kaedah reset di atas.

Situasi kedua ialah sekatan pada lapisan rangkaian. Lucee sendiri tidak menyimpan pembilang cubaan yang mengunci akaun secara kekal dalam teras admin. Sekatan biasanya datang daripada lapisan luar seperti fail2ban, WAF, atau sekatan IP pada pelayan web. Jika anda tersilap beberapa kali cubaan dan dinding itu menyekat anda, buka sekatan dahulu sebelum reset berguna:

sudo fail2ban-client status
sudo fail2ban-client set <penjara> unbanip <ip-anda>

Selepas IP anda dibuka, teruskan dengan reset kata laluan. Jika tidak pasti lapisan mana yang menyekat, semak log pelayan web dan konfigurasi pembalik proksi anda.

Cegah masalah berulang

Masalah kata laluan hilang hampir selalu berpunca daripada menyimpan rahsia di tempat yang salah.

Jangan simpan kata laluan dalam git. Sebaik sahaja ia masuk repositori, ia kekal dalam sejarah git walaupun anda memadamnya kemudian. Gunakan pemboleh ubah persekitaran dan fail yang diabaikan git.

Gunakan pengurus rahsia. Untuk pengeluaran, simpan dalam HashiCorp Vault, AWS Secrets Manager, atau pemboleh ubah persekitaran berasingan, dan suntik semasa mula. Artikel rahsia dan pemboleh ubah persekitaran dalam CFML menerangkan corak ini.

Gunakan kata laluan kuat dan unik. Admin Lucee memegang kawalan penuh ke atas pemasangan, jadi jangan guna kata laluan lalai atau yang dikongsi.

Sekat laluan /lucee/. Pastikan admin hanya boleh diakses dari rangkaian yang anda percayai, atau lumpuhkan sepenuhnya dalam pengeluaran dengan LUCEE_ADMIN_ENABLED=false atau "adminEnabled": false dalam .CFConfig.json.

Pertimbangkan pengesahan dua faktor. Admin Lucee tidak menyediakan 2FA terbina dalam, tetapi anda boleh menambah lapisan itu pada pembalik proksi atau aplikasi anda. Rujuk pengesahan pengguna 2FA dalam CFML.

Jika anda baru bermula, baca cara memasang Lucee dan panduan tetapan admin Lucee.

Soalan Lazim (FAQ)

Adakah kata laluan admin Lucee disimpan sebagai teks biasa?

Tidak. Lucee menyimpan hash bersama garam dalam hspw dan salt, sebagai atribut XML pada Lucee 5 atau kunci JSON pada Lucee 6 dan 7. Teks biasa hanya muncul apabila anda guna LUCEE_ADMIN_PASSWORD atau password.txt.

Bolehkah saya reset tanpa menghentikan enjin?

Tidak digalakkan. Lucee boleh menulis semula fail konfigurasi semasa ia berjalan atau ditutup, dan perubahan anda boleh hilang. Hentikan dahulu, sunting, kemudian mula semula.

Adakah fail konfigurasi sama untuk Lucee 6 dan 7?

Format fail sama, iaitu .CFConfig.json, tetapi mod konfigurasi berbeza. Lucee 6 boleh berjalan dalam mod multi dengan konfigurasi web berasingan, manakala Lucee 7 hanya mod single. Semak versi dan mod dahulu.

Apakah perbezaan antara hspw, pw dan default-hspw?

hspw dan salt ialah hash bergaram, bentuk paling selamat yang Lucee gunakan sekarang. pw ialah hash tanpa garam yang lama. default-hspw pada Lucee 5 ialah kata laluan lalai untuk konteks web baharu, berbeza daripada kata laluan server admin.

Adakah reset kata laluan memadam tetapan lain?

Tidak. Anda hanya memadam kunci atau atribut kata laluan. Data sumber, pemetaan dan tetapan lain kekal tidak disentuh selagi anda hanya membuang hspw dan salt.

Sumber

Senarai semak

  • [ ] Semak versi Lucee (5, 6, atau 7) sebelum menyunting.
  • [ ] Tentukan fail konfigurasi yang betul mengikut versi.
  • [ ] Sandarkan fail konfigurasi kepada fail .sandaran.
  • [ ] Hentikan enjin sebelum menyunting.
  • [ ] Padam hanya hspw dan salt (dan default-hspw untuk Lucee 5).
  • [ ] Mula semula enjin dan tetapkan kata laluan baharu yang kuat.
  • [ ] Sahkan anda boleh masuk ke admin dengan kata laluan baharu.
  • [ ] Alihkan kata laluan daripada git kepada pengurus rahsia atau pemboleh ubah persekitaran.
  • [ ] Sekat atau lumpuhkan laluan /lucee/ pada pelayan pengeluaran.
Bab 6 daripada 9

Pentadbiran Lucee 7.1

Log masuk untuk menyimpan kemajuan bacaan anda.

0 komen

0 komen

Log masuk untuk menjawab atau memberi komen.

Log masuk