Script htdigest -c / path / ke / file / $ user $ user $ kata sandi di Bash
8
Saya ingin dapat skrip dengan kata sandi dalam variabel $ kata sandi.
htdigest -c /etc/apache2/pw/$user $user $password
Saat ini ia meminta saya untuk memasukkan kata sandi secara manual; ini tidak akan mungkin karena ini akan menjadi pengaturan otomatis oleh skrip PHP. Bisakah seseorang tolong tunjukkan saya cara membuat skrip ini? Atau fungsi skrip yang setara?
Saya telah menggunakan md5sumGNU coreutils dan awkbukan hanya md5karena itu yang telah saya instal pada sistem saya dan saya tidak dapat menemukan paket mana yang berisi /usr/bin/md5- Anda juga dapat menggunakan sha512sumatau program hashing lainnya.
mis. jika pengguna = foo , realm = bar , dan kata sandi = baz maka perintah di atas akan menghasilkan:
foo:bar:5bf2a4095f681d1c674655a55af66c5a
htdigest tidak melakukan sesuatu yang ajaib atau bahkan tidak biasa - itu hanya menampilkan pengguna, ranah, dan kata sandi dalam format yang tepat ... seperti yang dilakukan perintah di atas.
Menghapus intisari untuk pengguna yang diberikan: ranah alih-alih hanya menambahkan satu, dapat dengan mudah dilakukan dengan sed.
sed -i -e "/^$user:$realm:/d" "/etc/apache2/pw/$user"
Dan memperbarui / mengubah intisari untuk pengguna: ranah juga dapat dilakukan dengan kombinasi dengan metode di atas untuk menghasilkan garis intisari. misalnya
Periksa fungsi 'proc_open' di PHP http://fr.php.net/manual/en/function.proc-open.php
Anda dapat menjalankan htdigest dengan opsi Anda, lalu mengirimkan kata sandi baru ke pipa.
Anda mungkin dapat menemukan / membuat fungsi PHP yang melakukan pekerjaan paling tinggi. Seharusnya lebih mudah daripada menggunakan proc_open ...
sumber