Lennart Poettering นำเสนอ ในการประชุม All Systems Go 2019 องค์ประกอบใหม่ของผู้จัดการระบบ systemd "Systemd-homed" ซึ่ง มีจุดมุ่งหมายเพื่อให้แน่ใจว่าสามารถพกพาไดเร็กทอรีหลักของผู้ใช้ และการแยกออกจากการกำหนดค่าระบบ
แนวคิดหลักของโครงการคือการสร้างสภาพแวดล้อมอัตโนมัติสำหรับข้อมูลผู้ใช้ ที่สามารถถ่ายโอนระหว่างระบบต่างๆได้โดยไม่ต้องกังวลเกี่ยวกับการซิงโครไนซ์ตัวระบุและความเป็นส่วนตัว สภาวะแวดล้อมโฮมไดเร็กทอรีถูกจัดส่งในรูปแบบของไฟล์อิมเมจที่เมาท์ข้อมูลที่เข้ารหัส
ข้อมูลรับรองผู้ใช้เชื่อมโยงกับโฮมไดเร็กทอรี ไม่ต้องกำหนดค่าระบบ แทน / etc / passwd และ / etc / shadow ใช้โปรไฟล์รูปแบบ JSON เก็บไว้ในไดเร็กทอรี ~ / .identity
โปรไฟล์ประกอบด้วยพารามิเตอร์ที่จำเป็น สำหรับผู้ใช้ในการทำงาน รวมถึงข้อมูลเกี่ยวกับชื่อแฮชรหัสผ่านคีย์การเข้ารหัสโควต้าและทรัพยากรที่มีให้ โปรไฟล์สามารถพิสูจน์ตัวตนได้โดยใช้ลายเซ็นดิจิทัลที่เก็บไว้ในโทเค็น Yubikey ภายนอก
แต่ละไดเร็กทอรีจะจัดการห่อหุ้มทั้งที่เก็บข้อมูลและบันทึกผู้ใช้ของผู้ใช้เพื่อให้อธิบายบัญชีของผู้ใช้ได้อย่างครอบคลุมดังนั้นจึงเป็นแบบพกพาระหว่างระบบโดยไม่มีข้อมูลเมตาภายนอกเพิ่มเติม
การประกาศยังเน้นว่า:
พารามิเตอร์ยังสามารถรวมข้อมูลเพิ่มเติมเช่นคีย์สำหรับ SSH, ข้อมูลสำหรับการพิสูจน์ตัวตนแบบไบโอเมตริกซ์, รูปภาพ, อีเมล, ที่อยู่, เขตเวลา, ภาษา, ขีด จำกัด ของจำนวนกระบวนการและหน่วยความจำ, แฟล็กการติดตั้งเพิ่มเติม (nodev, noexec, nosuid), ข้อมูลเกี่ยวกับข้อมูลผู้ใช้เซิร์ฟเวอร์ IMAP ที่เกี่ยวข้อง / SMTP, การควบคุมโดยผู้ปกครอง ข้อมูลการเปิดใช้งานตัวเลือกการสำรองข้อมูล ฯลฯ
Varlink API มีไว้เพื่อสอบถามและวิเคราะห์พารามิเตอร์
UID / GID ถูกกำหนดและประมวลผลแบบไดนามิกในแต่ละระบบโลคัลที่เชื่อมต่อกับโฮมไดเร็กทอรี
เมื่อใช้ระบบที่เสนอผู้ใช้สามารถเก็บโฮมไดเร็กทอรีไว้ได้ตัวอย่างเช่นบนแฟลชไดรฟ์และรับสภาพแวดล้อมการทำงานบนคอมพิวเตอร์เครื่องใดก็ได้โดยไม่ต้องสร้างบัญชีอย่างชัดเจน (การมีไฟล์ที่มีรูปภาพของโฮมไดเร็กทอรีนำไปสู่การสังเคราะห์ผู้ใช้)
เสนอให้ใช้ระบบย่อย LUKS2 สำหรับการเข้ารหัสข้อมูลแต่ systemd-homed ยังอนุญาตให้คุณใช้แบ็กเอนด์อื่น ๆ เช่นสำหรับไดเร็กทอรีที่ไม่ได้เข้ารหัส, Btrfs, Fscrypt และพาร์ติชันเครือข่าย CIFS
ในการจัดการไดเร็กทอรีแบบพกพามีการเสนอยูทิลิตี้ homectl ซึ่งช่วยให้คุณสามารถสร้างและเปิดใช้งานรูปภาพของไดเร็กทอรีหลักรวมทั้งเปลี่ยนขนาดและตั้งรหัสผ่าน
ในระดับระบบ งานจัดทำโดยส่วนประกอบต่อไปนี้:
- systemd-homed.service: จัดการโฮมไดเร็กทอรีและฝังเร็กคอร์ด JSON ลงในอิมเมจโฮมไดเร็กทอรีโดยตรง
- pam_systemd: ประมวลผลพารามิเตอร์โปรไฟล์ JSON เมื่อผู้ใช้ล็อกอินและนำไปใช้ในบริบทของเซสชันที่ถูกทริกเกอร์ (ดำเนินการพิสูจน์ตัวตนตั้งค่าตัวแปรสภาพแวดล้อม ฯลฯ )
- systemd-logind.service: ประมวลผลพารามิเตอร์ของโปรไฟล์ JSON เมื่อผู้ใช้เข้าสู่ระบบใช้การตั้งค่าการจัดการทรัพยากรต่างๆและตั้งค่าขีด จำกัด
- nss-systemd: โมดูล NSS สำหรับ glibc สังเคราะห์รายการ NSS แบบคลาสสิกตามโปรไฟล์ JSON ซึ่งให้การสนับสนุน UNIX API สำหรับการประมวลผลผู้ใช้ (/ etc / password)
- เลขรหัส 1: สร้างผู้ใช้แบบไดนามิก (สังเคราะห์โดยการเปรียบเทียบกับคำสั่ง DynamicUser ในหน่วย) และทำให้ผู้ใช้เห็นส่วนที่เหลือของระบบ
- systemd-userdbd.service: แปลบัญชี UNIX / glibc NSS เป็นเร็กคอร์ด JSON และจัดเตรียม Varlink API แบบรวมสำหรับการสืบค้นและแสดงรายการเร็กคอร์ด
ข้อดีของระบบที่นำเสนอ ได้แก่ ความสามารถในการจัดการผู้ใช้โดยการติดตั้งไดเร็กทอรี / etc ในโหมดอ่านอย่างเดียวการไม่จำเป็นต้องซิงโครไนซ์ตัวระบุ (UID / GID) ระหว่างระบบความเป็นอิสระของผู้ใช้จากคอมพิวเตอร์เครื่องใดเครื่องหนึ่งการล็อก ของข้อมูลผู้ใช้ระหว่างโหมดสลีปโดยใช้การเข้ารหัสและวิธีการพิสูจน์ตัวตนที่ทันสมัย
สุดท้ายเป็นเรื่องสำคัญที่จะต้องพูดถึงเรื่องนั้น มีการวางแผนที่จะรวมส่วนประกอบใหม่นี้ "Systemd-homed" ในเวอร์ชันหลักของ systemd 244 หรือ 245
หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับส่วนประกอบนี้คุณสามารถอ่านเอกสาร pdf ต่อไปนี้
ฉันกลัวเรื่องนี้
มาเถอะถ้าคุณทำหายหรือขโมยแฟลชไดรฟ์ที่คุณพูดถึงพร้อมกับจำนวนข้อมูลที่จัดเก็บคุณก็แทบจะยอมแพ้เพราะรำคาญ
ด้วยเหตุผลหลายประการความคิดนี้ดูเหมือนไร้สาระสำหรับฉันโดยสิ้นเชิง เขามีนิสัยที่อยากจะเปลี่ยนแปลงสิ่งต่างๆในความคิดที่ต่ำต้อยของฉันเป็นไปได้ด้วยดีและฉันสงสัยอย่างมากว่าการได้เห็นประวัติของคนเหล่านี้จะช่วยเพิ่มความปลอดภัย
โชคดีที่ตอนนี้ฉันใช้ Artix และฉันกำลังกำจัดคอลเล็กชั่นเรื่องไร้สาระทั้งหมดนี้ออกไปแม้ว่าฉันจะไม่รู้ว่า systemd distros ฟรีจะต้านทานได้นานแค่ไหนก็ตาม
ฉันเห็นด้วยกับสิ่งที่คุณพูดจากมุมมองของฉันความคิดนั้นดี แต่ส่วนความปลอดภัยหายไป (การเข้ารหัสบางประเภท)
systemd ห่วย !!