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.

Kandungan
- Reset kata laluan admin Lucee dan pulihkan admin terkunci
- Di mana Lucee menyimpan kata laluan admin
- Perbezaan antara Lucee 6 dan Lucee 7
- Langkah berjaga-jaga sebelum reset
- Reset melalui fail konfigurasi (Lucee 5 dan lebih lama)
- Reset melalui fail konfigurasi (Lucee 6 dan 7)
- Reset melalui CommandBox dan CFConfig
- Reset untuk Docker
- Pulihkan admin yang terkunci
- Cegah masalah berulang
- Soalan Lazim (FAQ)
- Sumber
- Senarai semak
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 Lucee | Format fail | Fail konfigurasi | Elemen kata laluan |
|---|---|---|---|
| Lucee 5 dan lebih lama | XML | lucee-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.json | Kunci hspw dan salt |
| Lucee 6 (mod multi) | JSON | Tambah WEB-INF/lucee/.CFConfig.json per konteks web | Kunci hspw dan salt |
| Lucee 7 | JSON | <pemasangan>/lucee-server/context/.CFConfig.json | Kunci 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:
- Sandarkan fail konfigurasi dahulu. Salin kepada fail berakhiran
.sandaran. - Hentikan enjin. Lucee boleh menulis semula fail itu semasa ia ditutup dan memadam perubahan anda.
- 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
- Setting the Lucee Admin Password, Lucee Documentation
- Configuration - CFConfig.json, Lucee Documentation
- Resetting Admin Password, Lucee GitBook
- commandbox-cfconfig, Ortus Solutions
- Setting Lucee Admin Password with CommandBox, Pete Freitag
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
hspwdansalt(dandefault-hspwuntuk 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.