ในเอกสารเรื่อง ระหัสผ่าน นั่นแหละ เขียนไปแล้ว มานึกๆดู ก็พบว่า ผิดพลาดคลาดเคลื่อนไป ชนิดที่ ไม่น่าให้อภัยกัน
ก็ข้อความตั้งแต่บรรทัด หรือ ใจความ
su -l war
passwd
นั่นแหละ มันเป็นไปไม่ได้ตั้งแต่บรรทัด
passwd
นั่นแล้ว เพราะอะไรรึ แม้ว่า เราจะ su เข้ามาเป็น war ได้ แต่ เราก็ไม่สามารถเปลี่ยนระหัสผ่านได้ ตราบเท่าที่เราไม่รู้ระหัสผ่านเดิม !!!
เราสามารถแก้ระหัสผ่านของ user ที่ใช้ชื่อว่า war ได้ ก็โดยวิธีเดียวกับของที่ root ทำ นั่นคือ ในขณะที่อยู่ใน single user mode ให้ใช้คำสั่ง
# passwd war
เพื่อกำหนดระหัสผ่านให้กับ user ที่ใช้ชื่อว่า war ใหม่ เท่านั้น
กราบขออภัยไว้ ณ ที่นี้ด้วย ข้าผู้น้อย สมควรได้รับโทษ
เอกสารเดิม จะทำลางๆไว้ ไม่ลบออกหรอกครับ ผิด ก็คือ ผิด ไม่อาย ที่จะยอมรับผิด
เอกสารใหม่ จะเขียนต่อจากเอกสารเดิม น่ะครับ
Showing posts with label passwd(5). Show all posts
Showing posts with label passwd(5). Show all posts
Sunday, October 23, 2011
bugs ในเอกสาร ระหัสผ่าน
คำสำคัญ:
bugs,
passwd(5),
single user mode
Saturday, October 22, 2011
FreeBSD: system administrators tasks
ขอต่อกันจากเรื่อง ระหัสผ่าน หรือ ระหัสลับ หรืออะไรก็แล้วแต่จะเรียก อันเป็นเรื่องสืบเนื่องจาก เรื่องที่แล้ว ที่น้องเธอถามถึงระหัสผ่านนั้น แล้วค้างอยู่ว่า ยังมีวิธีอื่นอีกอยู่ ช่วงรอน้ำนี้ ก็ขอต่อๆไปให้สุด เกรงว่า หากน้ำมาแล้ว จะไม่มีโอกาสต่อ
ในตอนนั้น ได้กล่าวไว้ว่า อีกวิธีที่ใช้เปลี่ยนระหัสผ่านคือคำสั่ง vipw(8) ซึ่งก็ไม่มีอะไรมากไปกว่า การเรียก vi(1) มาแล้วแก้ไขแฟ้ม /etc/passwd ซึ่งรายละเอียดของแฟ้มนี้ สามารถไปหาดูได้จาก passwd(5)
ในแฟ้ม /etc/passwd นี้มี field อยู่ 10 fields ซึ่งแยกกันด้วยโคลอน หรือ : โดยที่ field ที่ ๑ คือ login id และ field ที่ ๒ คือ ระหัสผ่าน และ field ที่ ๘-๑๐ คือ ชื่อจริงของ login id นั้นๆ, home directory ของเขา, และ shell ที่เขาใช้ ตามลำดับ
ความจริงแล้ว วิธีนี้ ไม่ได้เปลี่ยนระหัสผ่านให้ท่านได้ เพียงแต่ ลบระหัสผ่านเดิมออกไปเท่านั้น แต่ทั้งนี้ ท่านต้องเป็น root เท่านั้น จึงจะทำงานในลักษณะนี้ได้ และขอแนะนำเป็นอย่างยิ่งว่า ให้กระทำบน console เท่านั้น ไม่แนะให้กระทำใน graphics mode
ให้ท่านทำดังนี้
จากนี้ ท่านสมควรกำหนดระหัสผ่านเบื้องต้นให้กับ alice ใหม่อีกครั้ง ดังนี้
แล้วแจ้งให้ผู้ใช้ที่ใช้ login id ว่า alice ทราบอีกที ถึงระหัสผ่านใหม่ ที่ท่านกำหนดให้ และ ให้ alice เปลี่ยนระหัสผ่านเอาเองใหม่ ตามใจเขา ด้วยคำสั่ง passwd(1) ทาง mail ของระบบเท่านั้น
สรุปว่า ในการนี้ ท่านต้องทำคือ
มีข้อคิด จากข้อเขียนทั้งสองนี้ คือ หากเครื่องของท่านถูกขโมยไป เขาย่อมทราบระหัสผ่านของ root ได้ โดยวิธีแรก และสามารถกระทำการใดใดได้ ตามใจของเขา หรือ ตามอำเภอใจ ดังนั้น security จะไม่มีประโยชน์อะไรเลย หากเครื่องของท่าน ถูกขโมยไป
ชีวิต ก็คงไม่ถึงกับสิ้นหวังอะไรขนาดนั้นหรอก มันก็พอให้ขโมย หรือ โจร คนนั้นปวดหัว สิ้นเปลืองสมองเอาบ้าง ในการทราบระหัสผ่านของ root แม้จะมีเครื่องอยู่กับมือ แต่ นั่น ยังไม่ใช่เรื่องที่จะบอกกันตอนนี้
หวังว่าคงเกิดประโยชน์บ้าง
ในตอนนั้น ได้กล่าวไว้ว่า อีกวิธีที่ใช้เปลี่ยนระหัสผ่านคือคำสั่ง vipw(8) ซึ่งก็ไม่มีอะไรมากไปกว่า การเรียก vi(1) มาแล้วแก้ไขแฟ้ม /etc/passwd ซึ่งรายละเอียดของแฟ้มนี้ สามารถไปหาดูได้จาก passwd(5)
ในแฟ้ม /etc/passwd นี้มี field อยู่ 10 fields ซึ่งแยกกันด้วยโคลอน หรือ : โดยที่ field ที่ ๑ คือ login id และ field ที่ ๒ คือ ระหัสผ่าน และ field ที่ ๘-๑๐ คือ ชื่อจริงของ login id นั้นๆ, home directory ของเขา, และ shell ที่เขาใช้ ตามลำดับ
ความจริงแล้ว วิธีนี้ ไม่ได้เปลี่ยนระหัสผ่านให้ท่านได้ เพียงแต่ ลบระหัสผ่านเดิมออกไปเท่านั้น แต่ทั้งนี้ ท่านต้องเป็น root เท่านั้น จึงจะทำงานในลักษณะนี้ได้ และขอแนะนำเป็นอย่างยิ่งว่า ให้กระทำบน console เท่านั้น ไม่แนะให้กระทำใน graphics mode
ให้ท่านทำดังนี้
- ที่ root prompt ให้ท่านเรียก vipw
- ให้ท่านกดไปตามนี้ /login-id ตามด้วยปุ่ม Enter เมื่อ login-id คือ login id ที่ใช้สำหรับ login และมีความประสงค์จะแก้ระหัสผ่าน, (สมมติให้เป็น alice)
- กด /: ตามด้วยปุ่ม Enter แล้วให้สังเกตุตัวดอลลาร์, $, ที่อยู่ติดกับตัวโคลอน, :, แรกนั้น
- กดตัวแอล l มันจะเลื่อนไปยังตัว $ ขออธิบายเพิ่มเติมสักนิดหนึ่งว่า ใน FreeBSD เขาเข้าระหัสตามแบบของเขา ซึ่งมีผลให้ระหัสผ่านทุกระหัส ที่เข้าระหัสไว้แล้ว จะขึ้นต้นด้วย $1 เสมอ และ ระหัสผ่าน ที่เข้าระหัสไว้แล้วนั้น จะอยู่ระหว่าง โคลอนแรก และ โคลอนสอง
- กด x ตั้งแต่ตัว $ ไป ทีละครั้ง สำหรับหนึ่งอักขระ ที่ปรากฏ ไปจนถึงตัวก่อนโคลอน : ที่สอง
- ที่บรรทัดนี้ นับตั้งแต่อักขระแรก ไปจนถึง โคลอนตัวที่สอง ขณะนี้ ต้องเป็นอย่างนี้เท่านั้น alice:: เมื่อ alice คือ login id ที่สมมติขึ้น นั่นแสดงว่า ท่านได้ลบระหัสผ่านของ alice หมดแล้ว
- กด :w ตามด้วยปุ่ม Enter เพื่อบันทึกความเปลี่ยนแปลง
- กด :q ตามด้วยปุ่ม Enter เพื่อจบการทำงาน
จากนี้ ท่านสมควรกำหนดระหัสผ่านเบื้องต้นให้กับ alice ใหม่อีกครั้ง ดังนี้
- su -l alice
- passwd
- เขาจะถามระหัสผ่านเดิม ให้ท่านกดปุ่ม Enter ไป เพราะไม่มีระหัสผ่านเดิม
- เขาจะถามระหัสผ่านใหม่ ให้ท่านกำหนดระหัสผ่านใหม่ไป แล้วตามด้วยปุ่ม Enter
- เขาจะให้ท่านกรอกระหัสผ่านใหม่ ที่ท่านได้กรอกไปแล้วนั้น ซ้ำอีกครั้ง ก็ให้ท่านกรอกซ้ำไป ให้ตรงกัน
- exit
แล้วแจ้งให้ผู้ใช้ที่ใช้ login id ว่า alice ทราบอีกที ถึงระหัสผ่านใหม่ ที่ท่านกำหนดให้ และ ให้ alice เปลี่ยนระหัสผ่านเอาเองใหม่ ตามใจเขา ด้วยคำสั่ง passwd(1) ทาง mail ของระบบเท่านั้น
สรุปว่า ในการนี้ ท่านต้องทำคือ
- ลบระหัสผ่านเดิมออก
- กำหนดระหัสผ่านใหม่
- แจ้งให้ผู้ใช้งานทราบทาง mail ของระบบ เท่านั้น
มีข้อคิด จากข้อเขียนทั้งสองนี้ คือ หากเครื่องของท่านถูกขโมยไป เขาย่อมทราบระหัสผ่านของ root ได้ โดยวิธีแรก และสามารถกระทำการใดใดได้ ตามใจของเขา หรือ ตามอำเภอใจ ดังนั้น security จะไม่มีประโยชน์อะไรเลย หากเครื่องของท่าน ถูกขโมยไป
ชีวิต ก็คงไม่ถึงกับสิ้นหวังอะไรขนาดนั้นหรอก มันก็พอให้ขโมย หรือ โจร คนนั้นปวดหัว สิ้นเปลืองสมองเอาบ้าง ในการทราบระหัสผ่านของ root แม้จะมีเครื่องอยู่กับมือ แต่ นั่น ยังไม่ใช่เรื่องที่จะบอกกันตอนนี้
หวังว่าคงเกิดประโยชน์บ้าง
คำสำคัญ:
/etc/passwd,
FreeBSD,
passwd(5),
root,
system administrators,
vi(1),
vipw(8)
Subscribe to:
Posts (Atom)