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

ให้ท่านทำดังนี้
  1. ที่ root prompt ให้ท่านเรียก vipw
  2. ให้ท่านกดไปตามนี้ /login-id ตามด้วยปุ่ม Enter เมื่อ login-id คือ login id ที่ใช้สำหรับ login และมีความประสงค์จะแก้ระหัสผ่าน,  (สมมติให้เป็น alice)
  3. กด /: ตามด้วยปุ่ม Enter แล้วให้สังเกตุตัวดอลลาร์, $, ที่อยู่ติดกับตัวโคลอน, :, แรกนั้น
  4. กดตัวแอล l มันจะเลื่อนไปยังตัว $ ขออธิบายเพิ่มเติมสักนิดหนึ่งว่า ใน FreeBSD เขาเข้าระหัสตามแบบของเขา ซึ่งมีผลให้ระหัสผ่านทุกระหัส ที่เข้าระหัสไว้แล้ว จะขึ้นต้นด้วย $1 เสมอ  และ ระหัสผ่าน ที่เข้าระหัสไว้แล้วนั้น จะอยู่ระหว่าง โคลอนแรก และ โคลอนสอง
  5. กด x ตั้งแต่ตัว $ ไป ทีละครั้ง สำหรับหนึ่งอักขระ ที่ปรากฏ ไปจนถึงตัวก่อนโคลอน : ที่สอง
  6. ที่บรรทัดนี้ นับตั้งแต่อักขระแรก ไปจนถึง โคลอนตัวที่สอง ขณะนี้ ต้องเป็นอย่างนี้เท่านั้น alice::   เมื่อ alice คือ  login id ที่สมมติขึ้น  นั่นแสดงว่า ท่านได้ลบระหัสผ่านของ alice หมดแล้ว
  7. กด :w ตามด้วยปุ่ม Enter เพื่อบันทึกความเปลี่ยนแปลง
  8. กด :q ตามด้วยปุ่ม Enter เพื่อจบการทำงาน
ขอให้ท่านใจเย็นๆ อ่านไปให้เข้าใจก่อนลงมือกระทำ และเมื่อกระทำ ก็ให้ตั้งใจ ให้มีสติกระทำ

จากนี้ ท่านสมควรกำหนดระหัสผ่านเบื้องต้นให้กับ alice ใหม่อีกครั้ง ดังนี้
  • su -l alice
  • passwd
  • เขาจะถามระหัสผ่านเดิม ให้ท่านกดปุ่ม Enter ไป เพราะไม่มีระหัสผ่านเดิม
  • เขาจะถามระหัสผ่านใหม่ ให้ท่านกำหนดระหัสผ่านใหม่ไป แล้วตามด้วยปุ่ม Enter
  • เขาจะให้ท่านกรอกระหัสผ่านใหม่ ที่ท่านได้กรอกไปแล้วนั้น ซ้ำอีกครั้ง ก็ให้ท่านกรอกซ้ำไป ให้ตรงกัน
  • exit

แล้วแจ้งให้ผู้ใช้ที่ใช้ login id ว่า alice ทราบอีกที ถึงระหัสผ่านใหม่ ที่ท่านกำหนดให้ และ ให้ alice เปลี่ยนระหัสผ่านเอาเองใหม่ ตามใจเขา ด้วยคำสั่ง passwd(1) ทาง mail ของระบบเท่านั้น

สรุปว่า ในการนี้ ท่านต้องทำคือ
  • ลบระหัสผ่านเดิมออก
  • กำหนดระหัสผ่านใหม่
  • แจ้งให้ผู้ใช้งานทราบทาง mail ของระบบ เท่านั้น

มีข้อคิด จากข้อเขียนทั้งสองนี้ คือ หากเครื่องของท่านถูกขโมยไป เขาย่อมทราบระหัสผ่านของ root ได้ โดยวิธีแรก และสามารถกระทำการใดใดได้ ตามใจของเขา หรือ ตามอำเภอใจ ดังนั้น security จะไม่มีประโยชน์อะไรเลย หากเครื่องของท่าน ถูกขโมยไป

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

หวังว่าคงเกิดประโยชน์บ้าง

No comments:


View My Stats