แจ้งเตือน หากชื่อผู้ใช้ในไฟล์ Unit ของ systemd เป็นตัวเลขอาจทำให้กลายเป็น root

หัวข้อกระทู้ ใน 'เทคโนโลยี' เริ่มโพสต์โดย iPokz, 6 กรกฎาคม 2017.

  1. iPokz

    iPokz ~" iPokz "~ Staff Member

    เมื่อสัปดาห์ที่ผ่านมามีผู้พบพฤติกรรมแปลกๆ ของ systemd ที่พบว่าหากผู้ใช้ชื่อขึ้นต้นด้วยตัวเลข เช่น 0day จะทำให้ผู้ใช้นั้นมีสิทธิ์ในระดับ root

    ชื่อผู้ใช้เช่นนี้ไม่ถูกต้องตามมาตรฐาน POSIX (มาตรฐานอินเทอร์เฟซของระบบปฎิบัติการที่ลินุกซ์สร้างตาม) ที่ระบุว่าชื่อผู้ใช้ต้องขึ้นต้นด้วยตัวอักษรเสมอ แต่เครื่องมือสร้างผู้ใช้หลายตัวกลับไม่บังคับตามมาตรฐานนี้ เช่น adduser นั้นบังคับชื่อผู้ใช้ถูกต้อง ขณะที่ useradd นั้นไม่บังคับ

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

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

    ที่มา - Github: systemd

    [​IMG]

    Topics: systemdLinux
     

แบ่งปันหน้านี้