การเพิ่มผู้ใช้ใน. htpasswd


92

ฉันใช้.htpasswdรหัสผ่านเพื่อป้องกันไดเรกทอรีบางรายการบนเซิร์ฟเวอร์ของฉัน อย่างไรก็ตามฉันสังเกตว่าทุกครั้งที่ทำสิ่งนี้sudo htpasswd -c /etc/apache2/.htpasswd newuserเนื้อหาปัจจุบันของฉัน.htpasswdจะถูกเขียนทับ ทุกไดเรกทอรีของไซต์ของฉันมีผู้ใช้ของตนเองใน. htpasswd

ฉันจะไม่เขียนทับแทนเพิ่มผู้ใช้ใหม่ในของฉันได้.htpasswdอย่างไร

คำตอบ:


149

สิ่งเดียวกัน-cทุกประการเพียงแค่ละเว้นตัวเลือก เอกสารของ Apache มันนี่

htpasswd /etc/apache2/.htpasswd newuser

นอกจากนี้htpasswdโดยทั่วไปจะไม่ทำงานในฐานะรูท โดยทั่วไปจะเป็นของเว็บเซิร์ฟเวอร์หรือเจ้าของไฟล์ที่ให้บริการ หากคุณกำลังใช้ root เพื่อแก้ไขแทนที่จะลงชื่อเข้าใช้เป็นหนึ่งในผู้ใช้เหล่านั้นนั่นเป็นสิ่งที่ยอมรับได้ (ฉันคิดว่า) แต่คุณจะต้องระมัดระวังเพื่อให้แน่ใจว่าคุณไม่ได้สร้างไฟล์โดยไม่ได้ตั้งใจเป็นรูท (และด้วยเหตุนี้ มีรูทเป็นของตัวเองและไม่มีใครสามารถแก้ไขได้)


มีน้ำใจ! ไม่เคยคิดว่าสวิตช์คือคำตอบให้อภัยความบริสุทธิ์ของฉัน
fishcracker

อย่างไรก็ตามจะไม่ให้ฉันแก้ไขสิ่งที่มีอยู่.htpasswdยืนยันการใช้-cสวิตช์
fishcracker

@fishcracker มีอะไรผิดพลาด? htpasswd /path/to/file usernameใช้ได้อย่างสมบูรณ์แบบ (ในเชิงไวยากรณ์ต่อไป) และแม้แต่ตัวอย่างแรกในเอกสาร Apache
Corbin

ความผิดฉันเอง. ฉันกำลังพยายามทำhtpasswd -c /etc/apache2/.htpasswd newuserในเซิร์ฟเวอร์ CentOS ของฉัน! ขออภัยไม่ได้สังเกตว่าฉันอยู่ผิดหน้าต่าง จะยอมรับคำตอบของคุณใน 5 นาที ขอบคุณ!
fishcracker

19

FWIW htpasswd -n usernameจะส่งผลลัพธ์ไปยัง stdout โดยตรงและหลีกเลี่ยงการสัมผัสไฟล์โดยสิ้นเชิง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.