ทั้งไฟล์/etc/shadow
และ/etc/passwd
ดูเหมือนจะเหมือนกันพวกเขาเพียงแค่รายงานข้อมูลบางอย่างเกี่ยวกับบัญชี ความแตกต่างระหว่างพวกเขาคืออะไร?
ทั้งไฟล์/etc/shadow
และ/etc/passwd
ดูเหมือนจะเหมือนกันพวกเขาเพียงแค่รายงานข้อมูลบางอย่างเกี่ยวกับบัญชี ความแตกต่างระหว่างพวกเขาคืออะไร?
คำตอบ:
คำตอบสั้น ๆ :
passwd
เก็บข้อมูลผู้ใช้ทั่วไปและจัดshadow
เก็บข้อมูลรหัสผ่านของผู้ใช้
ค่อนข้างตอบนาน :
passwd
เป็นไฟล์ที่ข้อมูลผู้ใช้ (เช่นชื่อผู้ใช้ ID ผู้ใช้ ID กลุ่มตำแหน่งของโฮมไดเร็กตอรี่เชลล์ล็อกอิน ... ) ถูกเก็บไว้เมื่อผู้ใช้ใหม่ถูกสร้างขึ้น
shadow
เป็นไฟล์ที่ข้อมูลสำคัญ (เช่นรูปแบบที่เข้ารหัสของรหัสผ่านของผู้ใช้วันที่รหัสผ่านหมดอายุไม่ว่าจะต้องเปลี่ยนรหัสผ่านหรือไม่รหัสผ่านขั้นต่ำและเวลาสูงสุดระหว่างการเปลี่ยนรหัสผ่าน ... ) จะถูกเก็บไว้เมื่อ ผู้ใช้ใหม่ถูกสร้างขึ้น
ไฟล์จะจัดเก็บรหัสผ่านจริงในรูปแบบที่เข้ารหัสสำหรับบัญชีของผู้ใช้ที่มีคุณสมบัติเพิ่มเติมที่เกี่ยวข้องกับรหัสผ่านของผู้ใช้เช่นจะเก็บข้อมูลบัญชีผู้ใช้ที่ปลอดภัย ฟิลด์ทั้งหมดจะคั่นด้วยเครื่องหมายโคลอน (:) เป็นสัญลักษณ์เพิ่มเติม
ไฟล์จะจัดเก็บข้อมูลที่จำเป็นซึ่งจำเป็นในระหว่างการเข้าสู่ระบบเช่นข้อมูลบัญชีผู้ใช้ / etc / passwd เป็นไฟล์ข้อความที่มีรายการของบัญชีของระบบที่ให้แต่ละบัญชีข้อมูลที่เป็นประโยชน์บางอย่างเช่น ID ผู้ใช้รหัสกลุ่มไดเรกทอรีบ้าน, เปลือกเป็นต้นสำหรับข้อมูลเพิ่มเติม
/etc/passwd
ระบบแผนปฏิบัติการยูนิกซ์ให้ข้อมูลบัญชีผู้ใช้รวมถึงรหัสผ่านทางเดียวเข้ารหัสในแฟ้มข้อความที่เรียกว่า เนื่องจากเครื่องมือนี้ถูกใช้โดยเครื่องมือมากมาย (เช่นls
) เพื่อแสดงความเป็นเจ้าของไฟล์ ฯลฯ โดยการจับคู่ id ผู้ใช้ # กับชื่อผู้ใช้ไฟล์จึงจำเป็นต้องอ่านได้ทั่วโลก ผลที่ตามมาอาจเป็นความเสี่ยงด้านความปลอดภัย
อีกวิธีหนึ่งในการจัดเก็บข้อมูลบัญชีซึ่งเป็นวิธีที่ฉันใช้อยู่เสมอคือด้วยรูปแบบรหัสผ่านเงา เช่นเดียวกับวิธีการดั้งเดิมวิธีนี้จัดเก็บข้อมูลบัญชีในไฟล์ / etc / passwd ในรูปแบบที่เข้ากันได้ อย่างไรก็ตามรหัสผ่านจะถูกจัดเก็บเป็นอักขระ "x" ตัวเดียว (เช่น. ไม่ได้เก็บไว้ในไฟล์นี้) ไฟล์ที่สองที่เรียกว่า/etc/shadow
มีรหัสผ่านที่เข้ารหัสรวมถึงข้อมูลอื่น ๆ เช่นค่าการหมดอายุของบัญชีหรือรหัสผ่าน ฯลฯ ไฟล์ / etc / shadow สามารถอ่านได้โดยบัญชีรูทเท่านั้นและมีความเสี่ยงด้านความปลอดภัยน้อยกว่า