Tags:
Topics: 

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

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

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

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

ที่มา - Github: systemd

alt="upic.me"

Get latest news from Blognone

Comments

By: topty
Contributor
on 6 July 2017 - 17:30 #996940

มาตรฐานอินเทอร์เฟซของระบบปฎิบัติการที่ลินุกซ์สร้างตาม

ระบบปฎิบัติการ => ระบบปฏิบัติการ

ตัว systemd กลับยสิทธิ์ของผู้ใช้ขึ้นเป็น root ทันที

กลับยสิทธิ์ ?