ให้แต่ละบัญชี VPN มีตัวเรียกใช้ NetworkManager ของตัวเอง
สองบัญชีบนเกตเวย์เดียวกันต้องใช้สองโปรไฟล์ที่มีชื่อ ไม่ใช่ชื่อผู้ใช้ที่เขียนใหม่ ชี้ตัวเรียกใช้ไปที่ UUID แล้วให้เอเจนต์เก็บความลับ
บัญชี VPN สองบัญชี เกตเวย์เดียว และไอคอนเดสก์ท็อปที่เชื่อมต่อเป็นผู้ใช้ล่าสุด สาเหตุปกติคือตัวเรียกใช้ที่เขียนชื่อผู้ใช้ของโปรไฟล์ที่ใช้ร่วมกันใหม่ก่อนเชื่อมต่อ หรือตัวที่ค้นหาชื่อที่แสดงซึ่งทั้งสองโปรไฟล์บังเอิญใช้ร่วมกัน NetworkManager แยกโปรไฟล์ด้วย UUID อยู่แล้ว ไอคอนจึงระบุโปรไฟล์ใดโปรไฟล์หนึ่งได้อย่างแม่นยำและไม่แตะต้องตัวตน สิ่งที่มันไม่ควรพกพาคือรหัสผ่าน
ตัวเรียกใช้เป็นเพียงตัวชี้ ไม่ใช่ที่เก็บข้อมูลรับรอง
ค้นหา UUID และยืนยันตัวตน
แสดงรายการการเชื่อมต่อที่บันทึกไว้และอ่าน UUID รหัสการเชื่อมต่อ และชื่อผู้ใช้ที่แต่ละโปรไฟล์เก็บไว้ ยืนยันว่าโปรไฟล์ใดเป็นของบัญชีใดก่อนสร้างสิ่งใด เพราะชื่อที่แสดงเป็นเพียงป้ายกำกับ ไม่ใช่กุญแจ หากสองบัญชีต้องใช้เกตเวย์ต่างกันหรือโปรไฟล์ต่างกัน นั่นเป็นงานกำหนดค่าอีกส่วนหนึ่ง
ใช้ UUID ในตัวเรียกใช้ การค้นหาด้วยชื่อที่แสดงจะใช้ได้จนกว่าจะมีใครเปลี่ยนชื่อโปรไฟล์ จากนั้นไอคอนจะเชื่อมต่อเป็นบัญชีผิดหรือไม่เชื่อมต่อเลย
เขียนรายการเดสก์ท็อป
รายการเดสก์ท็อปต้องมีประเภท ชื่อ และบรรทัดที่เรียกใช้ได้ คำสั่งควรนำ UUID นั้นขึ้นมาและให้ NetworkManager ถามหาความลับ ซึ่งเป็นสิ่งที่ nmcli --ask connection up uuid ... มีไว้ เก็บ Terminal=true ไว้เพื่อให้ข้อความถามมองเห็นได้เมื่อต้องใช้ความลับ แทนที่ตัวยึดตำแหน่งด้วย UUID ที่คุณสังเกตเห็นจริง และอย่าเพิ่มตัวห่อเชลล์เพียงเพื่อซ่อนข้อความถาม
ข้อกำหนด Desktop Entry กำหนดให้ Exec เป็นโปรแกรมและอาร์กิวเมนต์ ไม่ใช่สคริปต์เชลล์และไม่จำเป็นต้องมี
ให้เอเจนต์เก็บความลับ
ความลับเป็นของเอเจนต์ต่อผู้ใช้ พวงกุญแจ หรือข้อความถามแบบโต้ตอบ รหัสผ่านใน Exec มองเห็นได้ในรายการโปรเซส ในไฟล์เดสก์ท็อป และในภาพหน้าจอใด ๆ ของกล่องคุณสมบัติ หากโปรไฟล์ต้องใช้ความลับ ให้ข้อความถามที่รองรับเก็บมันและให้เอเจนต์จดจำไว้สำหรับผู้ใช้นั้น
--ask เป็นแบบโต้ตอบโดยการออกแบบ ไม่ใช่สูตรสำหรับระบบอัตโนมัติที่ไม่มีผู้ดูแล และไม่รับประกันว่าทุกความท้าทายการยืนยันตัวตนหรือปลั๊กอินจะถูกเขียนเป็นสคริปต์ได้เลย
อย่าเอื้อมไปหา sudo
สิทธิ์ในการแก้ไขหรือเปิดใช้งานการเชื่อมต่อคือสิทธิ์ของ NetworkManager ที่ให้ผ่านนโยบาย ไม่ใช่สิทธิพิเศษของ Unix การรันตัวเรียกใช้ด้วย sudo ไม่ได้ให้พวงกุญแจของผู้ใช้อื่นแก่โปรเซส และไม่ได้แก้การปฏิเสธจากเกตเวย์ บนเครื่องที่ใช้ร่วมกัน ตรวจสอบว่าบัญชีท้องถิ่นใดเห็นโปรไฟล์ใดและใครเป็นเจ้าของความลับแต่ละอย่าง ไอคอนแยกกันไม่ได้สร้างการแยกตัวได้เอง
โปรไฟล์ที่ใช้งานอยู่สองโปรไฟล์สำหรับเกตเวย์เดียวกันอาจแข่งขันกันเรื่องเส้นทางได้ หรือละเมิดกฎการทำงานพร้อมกัน นั่นเป็นคำถามเชิงนโยบาย ไม่ใช่จุดบกพร่องของตัวเรียกใช้
ตรวจสอบการทำงานทั้งหมด
เปิดใช้งานตัวเรียกใช้หนึ่งครั้งและยืนยันสามสิ่ง: UUID ที่ขึ้นมา ตัวตนที่เกตเวย์เห็น และข้อความถามความลับปรากฏในที่ที่คุณคาดไว้หรือไม่ หากเชื่อมต่อไม่สำเร็จ ให้เก็บข้อความข้อผิดพลาดแรกไว้ การเพิ่มรหัสผ่านลงในบรรทัดคำสั่งเพื่อให้ทางลัดดูพึ่งพาตัวเองได้จะซ่อนข้อผิดพลาดนั้นและสร้างปัญหาที่แย่กว่า
เขียน UUID และการจับคู่บัญชีลงในบันทึกของทีม คนถัดไปที่เปลี่ยนโปรไฟล์ต้องรู้ว่าไอคอนใดขึ้นอยู่กับมัน และบันทึกนั้นคือสิ่งที่ทำให้การเปลี่ยนชื่อไม่กลายเป็นการหยุดให้บริการ