ฉันกำลังพยายามถอดรหัส ส่วนตัว
ไดเรกทอรีภายในผู้ใช้ $บ้าน
โดยอัตโนมัติเมื่อเริ่มต้นระบบ ระบบเป็น Debian GNU/Linux 10 (จริง ๆ แล้วเป็น Raspbian แต่ฉันคิดว่ามันไม่ต่างอะไรกับส่วนนี้) ที่ใช้ ไม่DM เพื่อเริ่ม Xorg
แก้ไข 1: ตอนนี้ฉันได้ลองติดตั้ง Debian 11 ใหม่ทั้งหมดด้วย Nodm ในเครื่องเสมือนแล้ว และฉันประสบปัญหาเดียวกันกับที่อธิบายไว้ด้านล่างนี้
Nodm จะบันทึกผู้ใช้ที่ไม่มีสิทธิ์โดยอัตโนมัติ และรัน $HOME/.xsession
สคริปต์เริ่มต้น
ฉันมีสคริปต์ต่อไปนี้ซึ่งถูกเรียกใช้โดย .xsession:
#!/bin/bash -x
# ต้นฉบับโดย Michael Halcrow, IBM
# แยกเป็นสคริปต์แบบสแตนด์อโลนโดยดัสติน เคิร์กแลนด์
# แก้ไขเมื่อ 2021-10-28 โดย Lucio Crusca
ส่งออก PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PD="ส่วนตัว"
WPF="$HOME/.ecryptfs/wrapped-passphrase"
MPSF="$HOME/.ecryptfs/$PD.sig"
ถ้า /sbin/mount.ecryptfs_private ; แล้ว
ทางออก 0
ไฟ
ถ้า [ -f "$WPF" -a -f "$MPSF" ]; แล้ว
ถ้า [ $(wc -l < "$MPSF") = "1" ]; แล้ว
ถ้า printf "%s\0" "$LP" | ecryptfs-unwrap-passphrase "$WPF" - | ecryptfs-เพิ่มข้อความรหัสผ่าน -; แล้ว
ก้องตกลง
อื่น
echo LP ไม่ถูกต้อง
ทางออก 1
ไฟ
อื่น
ถ้า printf "%s\0" "$LP" | ecryptfs-insert-wrapped-passphrase-into-keyring "$WPF" - ; แล้ว
ก้องตกลง
อื่น
echo LP ไม่ถูกต้อง
ทางออก 1
ไฟ
ไฟ
/sbin/mount.ecryptfs_private
อื่น
echo ข้อผิดพลาดในการตั้งค่า
ทางออก 1
ไฟ
ทางออก 0
เป็นรุ่นที่ถอดแบบมาจาก /usr/bin/ecryptfs-mount-private
. มันดำเนินการเพียงคำสั่งเดียวกัน แต่คาดว่าตัวแปรสภาพแวดล้อม LP จะมีข้อความรหัสผ่านแทนที่จะถามถึงข้อความรหัสผ่านแบบโต้ตอบ
ฉันบันทึกสคริปต์นี้เป็น $HOME/el-mount.sh
. เมื่อระบบของฉันบูทและ NoDM เริ่มทำงาน มันจะรัน .xsession ซึ่งจะเรียกสคริปต์ของฉัน และเปลี่ยนเส้นทาง แย่
และ สตเดอร์
ไปยังล็อกไฟล์เพื่อแก้ไขจุดบกพร่อง สิ่งนี้ไม่ได้ผลโดยที่มันแสดงผลสิ่งนี้:
...
+ /sbin/mount.ecryptfs_private
เมานต์: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
แต่ถ้าฉันเชื่อมต่อกับระบบผ่าน จุ๊ๆ
และเรียกใช้เหมือนกัน เอล-เมานต์.sh
สคริปต์ที่เข้าสู่ระบบในฐานะผู้ใช้คนเดียวกับที่กำหนดค่าใน NoDM สคริปต์ทำงานได้อย่างไม่มีที่ติ ในกรณีที่คุณสงสัย ตัวแปร LP ถูกตั้งค่าอย่างถูกต้องในทั้งสองกรณี (ตรวจสอบแล้วในล็อกไฟล์)
ฉันได้ลองเปลี่ยนจาก NoDM เป็น lightdm-autologin-greeter แล้ว แต่ฉันก็ได้ผลลัพธ์เดียวกัน
วิธีทำ mount.ecryptfs_private
ทำงานเมื่อเรียกระหว่างการเข้าสู่ระบบอัตโนมัติหรือไม่