ความแตกต่างระหว่าง ! vs !! vs * in / etc / shadow


38

ฟิลด์ที่สองใน/etc/shadowไฟล์Linux แสดงรหัสผ่าน อย่างไรก็ตามสิ่งที่เราได้เห็นคือ:

  1. ฟิลด์รหัสผ่านบางส่วนอาจมีเครื่องหมายอัศเจรีย์

    <account>:!:.....
    
  2. เขตข้อมูลรหัสผ่านบางส่วนอาจมีเครื่องหมายอัศเจรีย์สองครั้ง

    <account>:!!:.....
    
  3. ฟิลด์รหัสผ่านบางส่วนอาจมีเครื่องหมายดอกจัน

    <account>:*:.....
    

จากการค้นคว้าทางอินเทอร์เน็ตและผ่านทางกระทู้นี้ฉันสามารถเข้าใจได้ว่า*หมายถึงรหัสผ่านที่ไม่เคยถูกสร้างขึ้น!หมายความว่าถูกล็อค

บางคนสามารถอธิบายว่าอัศเจรีย์ ( !!) หมายถึงอะไร และมันแตกต่างจาก ( !) อย่างไร?


คุณใช้การกระจายแบบใด
muru

สวัสดี Muru เป็นมือใหม่สำหรับ Unix และพยายามสร้างสคริปต์ซึ่งจะทำงานบน RHEL 6.6 และ HP-UX B.11.23
JavaTec

3
"ตามแบบแผนบัญชีที่ไม่ได้ตั้งใจจะเข้าสู่ระบบ (เช่น bin, daemon, sshd) จะมีเพียงเครื่องหมายดอกจันเดียวในช่องรหัสผ่านโปรดทราบว่าไม่มีอะไรพิเศษเกี่ยวกับ '*' มันเป็นเพียงหนึ่งในอักขระจำนวนมาก ที่ไม่สามารถเกิดขึ้นได้ในรหัสผ่านที่เข้ารหัส (ดู crypt (3)) " - หน้าคน OpenBSD สำหรับ passwd (5) ฉันคาดหวัง! หรือ !! จะไม่แตกต่างกันทางเทคนิคเกี่ยวกับว่ามันเป็นไฟล์ passwd ที่ถูกต้องหรือเกี่ยวกับการเข้าสู่ระบบ อย่างไรก็ตามเครื่องมือบางอย่างอาจมีการสนับสนุนพิเศษ
TOOGAM

1
อย่าใช้เอกสารของ BSD เป็นข้อมูลอ้างอิงสำหรับสิ่งนี้ ฐานข้อมูลบัญชีของพวกเขาจัดการกับสิ่งต่าง ๆ และไม่มีแม้แต่/etc/shadowไฟล์ อย่าใส่คำตอบลงในการแสดงความคิดเห็นอย่างใดอย่างหนึ่ง ☺
JdeBP

คำตอบ:


31

ทั้งสอง "!" และ "!!" มีอยู่ในช่องรหัสผ่านหมายความว่าบัญชีถูกล็อค

เนื่องจากสามารถอ่านได้ในเอกสารต่อไปนี้ "!!" ในรายการบัญชีในเงามืดหมายความว่าบัญชีของผู้ใช้ถูกสร้างขึ้น แต่ยังไม่ได้รับรหัสผ่าน จนกว่าจะได้รับรหัสผ่านเริ่มต้นโดยดูแลระบบมันจะถูกล็อคโดยค่าเริ่มต้น

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/4/html/System_Administration_Guide/s2-redhat-config-users-process.html


4
นี้อาจจะเป็นความจริงในระบบ Red Hat, แต่ไม่จำเป็นต้องที่อื่น - บน Ubuntu หรือ Arch Linux, บัญชีที่สร้างขึ้นใหม่ด้วยรหัสผ่านใด ๆ ยังคงมีเพียงไม่! !!
muru

2
จริงแน่นอนว่าฉันไม่เคยเห็น "!!" ในระบบ Debian ฉันเดาว่า OP กำลังใช้ระบบ RH บางระบบหรือ SuSE
Rui F Ribeiro

ขอบคุณสำหรับคำตอบอย่างรวดเร็วคำอธิบายข้างต้นจะให้โดย Rui - ถือดีสำหรับ hp-ux เช่นกัน?
JavaTec

4
@JavaTec ไม่จำเป็นต้อง: ฉันคิดว่า unices ทั้งหมดที่มี/etc/shadowเขตข้อมูลเดียวกัน แต่วิธีที่เขตข้อมูลรหัสผ่านจัดเก็บข้อมูลที่ไม่ใช่รหัสผ่านแตกต่างกันไป ตรวจสอบเอกสาร HP-UX เริ่มต้นด้วยshadowหน้าคน
Gilles 'หยุดความชั่วร้าย' ใน

1
HP-UX ไม่ได้มี/etc/shadowจนค่อนข้างเร็ว ๆ นี้ก่อน HP-UX 11.11 ตัวเลือกที่มีทั้งเงาคลาสสิก/etc/passwdหรือ "Trusted Computing ฐาน" ที่เก็บไว้ hashes รหัสผ่านของผู้ใช้แต่ละคนและข้อมูลบัญชีอื่น ๆ ในแต่ละไฟล์ชื่อ/tcb/files/auth/<initial>/<username>อ่านโดยเฉพาะราก ใน HP-UX 11.11 /etc/shadowได้รับการแนะนำให้ใช้เป็นตัวเลือกเพิ่มเติมใน 11.23 เป็นตัวเลือกในระบบปฏิบัติการพื้นฐานและใน 11.31 TCB ก็เลิกใช้ในที่สุด
telcoM

10

นอกจากนี้ยังอาจเป็นที่น่าสังเกต<account>::.....ว่าไม่จำเป็นต้องใช้รหัสผ่าน (รหัสผ่านว่างเปล่า)

หากคุณกำลังสร้างผู้ใช้ ssh เท่านั้นคุณสามารถใช้<account>::0:0:99999:7:::เพื่อกำหนดให้ผู้ใช้ตั้งรหัสผ่าน (เช่นพวกเขาใช้สำหรับ sudo) ในการเข้าสู่ระบบครั้งแรก


8
ระวังสิ่งนี้ ฟิลด์ว่างหมายถึงไม่มีรหัสผ่านและคุณเพียงแค่กด ENTER เพื่อเข้าสู่ระบบอย่างน้อยในคอนโซล
Rui F Ribeiro

จากman shadowเกี่ยวกับฟิลด์รหัสผ่านที่เข้ารหัส: "ฟิลด์นี้อาจว่างเปล่าซึ่งในกรณีนี้ไม่จำเป็นต้องใช้รหัสผ่านเพื่อพิสูจน์ตัวตนเป็นชื่อล็อกอินที่ระบุ" <- การปล่อยให้ฟิลด์นี้ emtpy ส่งผลให้เปิดบัญชีและควรหลีกเลี่ยงสิ่งนี้อย่างแน่นอน!
Laas

โปรดทราบว่าการใช้งาน SSH จำนวนมากบล็อกการเข้าสู่ระบบในบัญชีที่ไม่มีรหัสผ่านเป็นค่าเริ่มต้น: sudo /usr/sbin/sshd -T| grep emptyจะคืนค่า: "ไม่ได้รับอนุญาตรหัสผ่าน"
Brian Huntley
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.