13 คะแนน โดย GN⁺ 2026-03-22 | 6 ความคิดเห็น | แชร์ทาง WhatsApp
  • ใน Ubuntu 26.04 LTS เมื่อรันคำสั่ง sudo จะเปิดใช้ ฟีดแบ็กแบบมองเห็นได้ที่แสดงเครื่องหมายดอกจัน (*) ทุกครั้งที่พิมพ์รหัสผ่าน เป็นค่าเริ่มต้น
  • ฟีเจอร์นี้เกิดขึ้นได้จากการนำ sudo-rs ที่เขียนใหม่ด้วย Rust มาใช้ และ Canonical ก็เลือกใช้สิ่งนี้เป็น sudo เริ่มต้นตั้งแต่ Ubuntu 25.10
  • ผู้ใช้บางส่วนคัดค้านโดยให้เหตุผลว่า มีความเสี่ยงจากการเปิดเผยความยาวของรหัสผ่าน แต่ทีมพัฒนาระบุว่าความเสี่ยงมีน้อยมาก และเน้นเรื่องความสอดคล้องกับหน้าจอล็อกอิน
  • หากต้องการกลับไปใช้พฤติกรรมเดิม สามารถเพิ่ม Defaults !pwfeedback ลงในไฟล์ sudoers เพื่อให้มีผลได้ทันที
  • การเปลี่ยนแปลงครั้งนี้เป็นส่วนหนึ่งของ งานปรับระบบให้ทันสมัยของ Ubuntu 26.04 ที่ดำเนินไปพร้อมกับ GNOME 50, Linux kernel 7.0, Rust-based coreutils และอื่น ๆ

ประวัติของการพิมพ์รหัสผ่าน sudo

  • ในปี 1980 ที่ SUNY Buffalo Bob Coggeshall และ Cliff Spencer ได้พัฒนา sudo ตัวแรก
    • ในเวลานั้น เทอร์มินัลมักเป็นสภาพแวดล้อมแบบใช้ร่วมกัน และเพื่อป้องกัน การแอบมองข้ามไหล่ (shoulder surfing) จึงซ่อนการแสดงผลของการพิมพ์ทั้งหมด
    • การออกแบบนี้คงอยู่ต่อมาเกือบ 46 ปีในลินุกซ์ดิสทริบิวชันหลักแทบทั้งหมด
  • Linux Mint เป็นรายแรกที่ลองเปลี่ยนแนวทาง โดยเปิดใช้ฟีดแบ็กแบบมองเห็นได้เป็นค่าเริ่มต้นในการตั้งค่าของตนเอง
    • ดิสทริบิวชันหลักอย่าง Ubuntu ยังคงใช้รูปแบบการพิมพ์แบบเงียบเดิมมาเป็นเวลานาน

sudo-rs และกระบวนการเปลี่ยนแปลงของ Ubuntu

  • sudo-rsเป็นอิมพลีเมนเทชันที่เขียนใหม่ทั้งหมดจาก sudo เดิมที่ใช้ C มาเป็น Rust

    • Canonical เปลี่ยนมาใช้สิ่งนี้เป็น sudo เริ่มต้นใน Ubuntu 25.10 แต่ในมุมผู้ใช้ พฤติกรรมยังเหมือนเดิม
    • ในเดือนกุมภาพันธ์ 2026 มีการรวมแพตช์เปิดใช้ pwfeedback เป็นค่าเริ่มต้นเข้ากับ upstream ของ sudo-rs
    • Canonical นำการเปลี่ยนแปลงนี้มาใส่ในบิลด์พัฒนาของ 26.04 และจุดชนวนการถกเถียงในชุมชน
    • ไทม์ไลน์หลัก
    • 1980: พัฒนา sudo ต้นฉบับ โดยมีการพิมพ์แบบเงียบเป็นค่าเริ่มต้น
    • ตุลาคม 2025: นำ sudo-rs มาใช้ใน Ubuntu 25.10
    • กุมภาพันธ์ 2026: รวมแพตช์เปิดใช้ pwfeedback เป็นค่าเริ่มต้น
    • 23 เมษายน 2026: กำหนดออก Ubuntu 26.04 LTS พร้อมเปิดใช้การแสดงดอกจันเป็นค่าเริ่มต้น

มุมมองทั้งสองฝ่ายของข้อถกเถียงด้านความปลอดภัย

  • ฝ่ายวิจารณ์

    • การแสดงดอกจันทำให้ความยาวของรหัสผ่านถูกเปิดเผย และทำให้โมเดลความปลอดภัยเดิมอ่อนลง
    • มีการส่งบั๊กรีพอร์ตว่า “เป็นการทำลายมาตรการความปลอดภัยเชิงประวัติศาสตร์”
  • ฝ่ายนักพัฒนา

    • ในทางปฏิบัติ ความเสี่ยงจากการเปิดเผยความยาวของรหัสผ่านมีน้อยมาก เพราะถ้าอยู่ใกล้พอ ก็เดาได้จากเสียงกดแป้นพิมพ์หรือการเคลื่อนไหวของมืออยู่แล้ว
    • รหัสผ่าน sudo ของผู้ใช้ส่วนใหญ่ก็คือรหัสผ่านล็อกอินเดียวกัน และบนหน้าจอล็อกอินก็มีการแสดงเป็นจุด (dot) อยู่แล้ว
    • ดังนั้น การทำให้เฉพาะเทอร์มินัลยังคงเงียบจึงเป็นเพียง ‘security theatre’ เท่านั้น
    • สรุปเปรียบเทียบ
รายการ sudo เดิม (เงียบ) sudo-rs + pwfeedback
ฟีดแบ็กแบบมองเห็นได้ ไม่มี แสดงดอกจันทุกครั้งที่พิมพ์
การเปิดเผยความยาวรหัสผ่าน ไม่มี มี
ความสอดคล้องกับหน้าจอล็อกอิน ไม่สอดคล้อง สอดคล้อง
ประสบการณ์ผู้ใช้ใหม่ สับสน ยืนยันการพิมพ์ได้
เซสชัน SSH เงียบ ยังคงแสดงดอกจัน
สามารถย้อนกลับได้หรือไม่ ได้ (!pwfeedback)

วิธีคืนค่าเป็นแบบเดิม

  • เปิดไฟล์ sudoers ด้วยคำสั่ง sudo visudo แล้วเพิ่มหนึ่งบรรทัดดังนี้
    Defaults !pwfeedback  
    
  • หลังบันทึก จะมีผลทันทีในเซสชันเทอร์มินัลใหม่
  • ไม่จำเป็นต้องรีสตาร์ตระบบ

ความทันสมัยของ Ubuntu 26.04

  • การเปลี่ยนแปลงครั้งนี้เป็นส่วนหนึ่งของการปรับระบบโดยรวมของ Ubuntu 26.04 LTS “Resolute Raccoon”
    • รวมถึง GNOME 50 (Wayland เท่านั้น), Linux kernel 7.0, Rust-based coreutils (uutils/coreutils)
    • Canonical กำลังผลักดันการนำ Rust มาใช้เพื่อเสริม ความปลอดภัยของหน่วยความจำ และ ประสบการณ์ผู้ใช้สมัยใหม่
  • ข้อถกเถียงเรื่องการแสดงดอกจันของ sudo-rs เป็นสัญลักษณ์ของ การปะทะกันระหว่างปรัชญา Unix แบบดั้งเดิมกับ UX สมัยใหม่
    • ผู้ใช้สามารถเปลี่ยนกลับไปใช้รูปแบบเดิมได้ทุกเมื่อด้วยการตั้งค่าเพียงบรรทัดเดียว
    • ค่าเริ่มต้นถูกตัดสินให้เอนเอียงไปทาง “ผู้ใช้ส่วนใหญ่ที่ชอบเห็นดอกจัน มากกว่าผู้เริ่มต้นที่ตกใจกับหน้าจอว่างเปล่า”
  • Ubuntu 26.04 LTS มีกำหนดเปิดตัวอย่างเป็นทางการในวันที่ 23 เมษายน 2026 และขณะนี้ยังอยู่ระหว่างการพัฒนา
    • แพ็กเกจ sudo-ws เดิมจะไม่ได้รับผลกระทบจากการเปลี่ยนแปลง pwfeedback

6 ความคิดเห็น

 
sonnet 2026-03-22

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

 
ndrgrd 2026-03-22

ถ้ามองเห็นสิ่งนี้ได้จากการชะเง้อมองข้ามไหล่ ก็น่าจะต้องกังวลมากกว่าว่านิ้วที่กำลังพิมพ์นั้นมองเห็นได้ชัดเลยไม่ใช่หรือ...
ถ้าใกล้ถึงขนาดนั้น ก็อาจถึงขั้นอัดเสียงแล้วนับจำนวนตัวอักษรได้ด้วยนะครับ
ถ้ากังวลเรื่องความปลอดภัยมากและเป็นสถานที่สำคัญขนาดนั้น ก็ควรใช้กุญแจความปลอดภัยแบบกายภาพครับ

 
yukinpl 2026-03-22

หากผู้ใช้ล็อกอินผ่านเทอร์มินัล รหัสผ่านจะไม่ถูกแสดง และแม้แต่ใน ssh ที่เชื่อมต่อระยะไกล รหัสผ่านก็ไม่ถูกเปิดเผยเช่นกัน ไม่ว่าจะเป็น sudo, su, passwd, ssh หรือการล็อกอินผ่านเทอร์มินัล ก็ไม่เคยมีอย่างไหนแสดงรหัสผ่านมาก่อน มีเพียงหน้าจอล็อกอินแบบ GUI เท่านั้นที่แสดงแยกต่างหากเสียอีก ตรงกันข้าม การเปลี่ยนแปลงครั้งนี้ยิ่งทำลายความสม่ำเสมอมากขึ้นไปอีก

 
GN⁺ 2026-03-22
ความคิดเห็นจาก Hacker News
  • สามารถเลือกการตั้งค่าที่ ซ่อนการแสดงผลขณะพิมพ์รหัสผ่านทั้งหมด ได้
    บน KDE ให้เพิ่ม ShowPasswordEcho=false ใน /etc/sddm.conf.d/hide-password.conf แล้วรีบูต,
    สำหรับ sudo ให้เพิ่ม Defaults !pwfeedback ใน /etc/sudoers.d/password-no-visual-echo,
    บน GNOME ต้องแก้ unlockDialog.js แล้วเปลี่ยนเป็น set_password_char('') หรือ echo_char=null จากนั้นรีบูต

    • สงสัยว่าสามารถ เปลี่ยนอักขระแสดงรหัสผ่านเป็นอีโมจิ ได้ด้วยหรือไม่
  • ตอนพิมพ์ sudo ผ่านการเชื่อมต่อ SSH ที่หน่วงสูง เคยสับสนบ่อยว่าปุ่มที่กดถูกส่งไปแล้วหรือยัง
    แถมยังมี VPN กับการยืนยันตัวตน IAM พัวพันอยู่ด้วย จนไม่แน่ใจด้วยซ้ำว่ารหัสผ่านใหม่ถูกนำไปใช้แล้วหรือยัง
    ในสถานการณ์แบบนี้ ฟีเจอร์แสดงผลตอบกลับขณะพิมพ์รหัสผ่านน่าจะมีประโยชน์มาก โดยเฉพาะถ้า Red Hat นำไปใช้ด้วยก็จะยิ่งดี

    • จำได้ว่าเคยติดตั้ง Mandrake Linux ในปี 2004 แล้วล้มเหลวเพราะหน้าจอกรอกรหัสผ่านไม่มีการตอบสนองอะไรเลย
      ถ้า UI ตอนนั้นต่างออกไป น่าจะได้เริ่มใช้ลินุกซ์เร็วกว่านั้นมาก
    • หลายครั้งเกินไปที่พิมพ์รหัสผ่านผิดแล้วเพิ่งมารู้ตัวกลางคัน จนต้อง กดปุ่ม delete รัวๆ
    • เคยมีช่วงที่คีย์บอร์ดมีปัญหา เลยไม่มั่นใจว่าพิมพ์ติดจริงหรือไม่ จนต้องพิมพ์รหัสผ่านลงไฟล์ข้อความแล้วคัดลอกวาง
      ไม่ดีในแง่ความปลอดภัย แต่ก็ไม่มีใครมายืนแอบมอง
    • สำหรับเซิร์ฟเวอร์ระยะไกล คิดว่าควรตั้งค่า บัญชี nopassword และการยืนยันตัวตนด้วยกุญแจสาธารณะ แทนการพิมพ์รหัสผ่าน sudo โดยตรง
    • อย่างน้อยก็ยังดูได้จากการกะพริบของเคอร์เซอร์ว่ามีการพิมพ์เข้าไป ไม่ได้ ‘ค้าง’ ไปเสียทีเดียว
  • หน้าจอล็อกอินของ macOS ก็ควรแก้เช่นกัน
    ช่องกรอกรหัสผ่านแคบเกินไป พอพิมพ์รหัสผ่านยาวๆ ก็แทบไม่มีการตอบกลับใดๆ
    ถ้าคีย์บอร์ดไม่เสถียร ขั้นตอนล็อกอินจะน่าหงุดหงิดมาก

    • เคยตั้ง Capslock เป็น ปุ่มสลับภาษา แล้วตอนอยู่ในหน้าจอล็อกไม่สามารถพิมพ์ตัวพิมพ์เล็กได้ จนต้องรีบูต
    • เคยใช้ Open Core Legacy Patcher (OCLP) ติดตั้ง macOS รุ่นใหม่บน Mac รุ่นเก่า แต่หลังอัปเกรดแล้วหน้าจอล็อกอินหน่วง 20~30 วินาทีต่อการกดหนึ่งครั้ง
      รหัสผ่านยาว 18 ตัวแสดงได้แค่ 13 ตัว เลยคิดว่าการพิมพ์หยุดไปแล้ว สุดท้ายใช้เวลา 30 นาทีกว่าจะล็อกอินได้
    • ชอบวิธีแบบ Lotus 1-2-3 สมัยก่อน ที่ทุกครั้งที่พิมพ์จะเปลี่ยนเป็นสัญลักษณ์คนละแบบกันไปเรื่อยๆ (เช่น อักษรภาพ)
      แม้ความยาวรหัสผ่านจะถูกเปิดเผย แต่สำหรับผู้ใช้แล้วการตอบกลับตอนพิมพ์ชัดเจนมาก
      ดูการพูดคุยที่เกี่ยวข้องได้ที่ Security StackExchange
  • ถ้ามี เวอร์ชันมุกตลกที่แสดงสตริงขำๆ แทน *** ก็น่าจะดี
    เช่น แสดงรหัสผ่านปลอมอย่าง “iloveyouiloveyou”, “12345612345”

    • วิธีแบบ Lotus Notes ที่เปลี่ยนอักษรภาพทุกครั้งที่พิมพ์ก็ดูน่าสนุกดี
    • แต่แนวทางแบบนี้ก็อาจทำให้ นับความยาวรหัสผ่านจากการแอบมองข้ามไหล่ ได้ง่ายขึ้น
    • ถึงอย่างนั้น ถ้าติดตั้งได้ก็คงลองใช้ทันที
  • คิดว่านี่เป็นการเปลี่ยนแปลงที่ดีมาก
    ตอนแรกอาจงงบ้าง แต่เดี๋ยวก็ชิน และในความเป็นจริงก็แทบไม่มีผลต่อความปลอดภัยมากนัก

    • แต่ในสถานการณ์ความเสี่ยงสูง เช่น กล้องส่องทางไกล, การติดตามสายไฟฟ้า, การโจมตีแบบ timing attack ก็ยังควรระวังอยู่ดี
    • พ่อเคยตั้งรหัสผ่านลินุกซ์ไว้แค่ตัวอักษรเดียว ทำให้ตอนช่วยเหลือระยะไกลไม่เคยรู้มาก่อน
      พรอมป์ต์แบบเงียบช่วยปกปิดเรื่องนั้นไว้ แต่ยังไงรหัสผ่านตัวเดียวก็ไม่มีความหมายอยู่ดี
    • เมื่อก่อนคอมพิวเตอร์หนึ่งเครื่องมีหลายคนใช้ และ การเปิดเผยความยาวรหัสผ่าน ช่วยผู้โจมตีได้
      ทุกวันนี้เรื่องนี้สำคัญน้อยลงมาก และถ้าต้องการก็ยังเปลี่ยนกลับเป็นโหมดเงียบได้
    • ถ้าผู้โจมตีมองเห็นหน้าจอได้โดยตรง การมองคีย์บอร์ดก็มักมีประสิทธิภาพกว่าอยู่แล้ว
      สุดท้ายแล้วความหมายหลักจึงเป็น การปรับปรุง UX มากกว่าความปลอดภัย
  • การมีการตอบกลับเมื่อกดปุ่มเป็นเรื่องดี แต่บางทีวิธีอื่นอาจดีกว่าการจับคู่แบบ 1:1 ตรงๆ
    ตัวอย่างเช่น xsecurelock ให้การตอบกลับโดยทำให้จุดบนเส้นขยับเมื่อมีการพิมพ์
    วิธีนี้ช่วยซ่อนความยาวรหัสผ่านแต่ยังคงความรู้สึกว่ามีการป้อนข้อมูลอยู่
    ใน sudo ก็ทำเอฟเฟกต์คล้ายกันได้ด้วย Defaults !pwfeedback
    ในทางปฏิบัติ ถ้ามี การโจมตีจากการเข้าถึงทางกายภาพ ได้อยู่แล้ว ก็มักจะมีวิธีแฮ็กอื่นได้ด้วย ดังนั้นเรื่องนี้จึงเป็นแค่การปรับปรุง UX ระดับหนึ่ง

    • สำหรับคนที่ใช้รหัสผ่านสั้น ความยาวที่ถูกเปิดเผยอาจเสี่ยงกว่า
    • แต่ในทางกลับกัน การแสดงความยาวที่พิมพ์ไปก็มีประโยชน์เหมือนกัน
      เวลาพิมพ์รหัสผ่านผิดจะหงุดหงิดมากเพราะ ไม่รู้ว่าต้องลบกี่ตัวอักษร และฟีเจอร์นี้ก็ช่วยแก้ปัญหานั้นได้
  • แค่เพิ่มพฤติกรรมใหม่นี้เป็น ตัวเลือกเสริม ก็น่าจะเพียงพอแล้ว
    ถ้าเปลี่ยนค่าเริ่มต้น ตอนสตรีมแล้วพิมพ์ sudo ความยาวรหัสผ่านอาจถูกเปิดเผยได้

    • แต่ปกติสตรีมเมอร์ก็มักรู้ความเสี่ยงแบบนี้อยู่แล้ว และจะเปิด root shell ไว้ก่อนหรือปิดฟีเจอร์นี้
      อีกทั้งยัง เดาความยาวได้จากเสียงแป้นพิมพ์ อยู่ดี
    • การเปลี่ยนค่าเริ่มต้นช่วยผู้ใช้ส่วนใหญ่ได้ และความเสี่ยงด้านความปลอดภัยก็มีน้อยมาก
    • ในความเป็นจริง ถ้าไม่ได้ใช้รหัสผ่านเดียวกับรหัสผ่านเครื่องก็แทบไม่ใช่ปัญหาใหญ่
      อีกอย่าง ระหว่างการถ่ายทอดสดก็ไม่ค่อยมีเหตุให้ต้องใช้ sudo อยู่แล้ว
    • ไลฟ์สตรีมเป็นกรณีพิเศษ ดังนั้นการคงค่าเริ่มต้นนี้จึงสมเหตุสมผล
    • หากมองในแง่ การเข้าถึงที่ดีขึ้น การเปิดใช้เป็นค่าเริ่มต้นน่าจะดีกว่า
  • เวลามีใครกำลังพิมพ์รหัสผ่าน ควรมี วัฒนธรรมการหันหน้าหนี
    ในทางกลับกัน ถ้าเราเห็นพรอมป์ต์รหัสผ่านบนหน้าจอของคนอื่น ก็ควรหันหน้าหนีเองด้วย

  • ถ้าแสดง อักขระหมุน อย่าง / - \\ | ทุกครั้งที่พิมพ์ ก็น่าจะให้การตอบกลับได้โดยยังซ่อนความยาวไว้

    • เคยมีซอฟต์แวร์บางตัวในอดีต (น่าจะสาย Lotus Notes) ที่แสดง จำนวนดอกจันแบบสุ่ม ทุกครั้งที่พิมพ์
      เวลา delete ก็ลดลงตามกติกาเดียวกัน ทำให้มีการตอบกลับแต่ก็ทำให้สับสนเรื่องความยาว
    • แต่ถึงอย่างนั้นก็ยังอาจทำให้ผู้ใช้สับสน และไม่ได้มีประโยชน์จริงมากนัก
    • ผู้โจมตียัง นับจำนวนครั้งจากเสียงคีย์บอร์ด ได้อยู่ดี จึงแทบไม่ต่างกันมาก
    • สำหรับผู้ใช้ Ubuntu มือใหม่ วิธีนี้อาจยิ่งทำให้งงกว่าเดิม
    • แม้แต่ในยุค IBM Notes เอง ปัญหา “จำนวนดอกจันไม่ตรง” แบบนี้ก็ทำให้ผู้ใช้สับสนเช่นกัน
  • เหตุผลที่ sudo ซ่อนรหัสผ่านเป็นค่าเริ่มต้น เป็น มรดกจากยุค shared terminal และเครื่องพิมพ์กระดาษ (tty)
    ในอดีต สิ่งที่พิมพ์จะถูกพิมพ์ลงกระดาษจริงและทิ้งร่องรอยไว้ จึงจำเป็นต้องซ่อนเพื่อความปลอดภัย

    • นอกจากนี้ ในเวลานั้นแต่ละเทอร์มินัลยังมี control sequence สำหรับการแสดงอักขระทดแทน ต่างกัน ทำให้รองรับร่วมกันได้ยาก
      ทุกวันนี้ในสภาพแวดล้อมส่วนใหญ่ไม่มีปัญหาแล้ว และผู้ใช้ 1% ก็ยังเปลี่ยนกลับผ่านการตั้งค่าได้
 
kayws426 2026-03-22

ฉันคัดค้านเรื่องนี้

 
kh0324 2026-03-22

เลียนแบบ Mac เอาของที่ใช้งานได้ดีอยู่แล้วไปเปลี่ยนเป็น Rust วันนี้ก็ยังทำแบบนี้อีกสินะ