ใช้ค้นหาบนพาร์ทิชันเข้ารหัส


25

ฉันเลือก / home / เพื่อเข้ารหัสเมื่อฉันติดตั้ง Ubuntu ทีนี้มันเป็นไปได้ไหมที่จะlocateทำงานกับพาร์ติชั่นเข้ารหัสเช่นนี้?


ฉันมีปัญหาเดียวกัน - ค้นหาจะพบไฟล์ที่อยู่นอกพาร์ทิชันที่เข้ารหัสของฉัน แต่ไม่สามารถดูพวกเขาภายใน (พูดตามตรงฉันหวังว่าฉันจะไม่เข้ารหัสเมื่อฉันติดตั้ง Ubuntu ในตอนแรกพร้อมกับปัญหาทั้งหมดที่ฉันเคยมี!) ได้โปรดช่วยใครสักคนอธิบายในขั้นตอนที่ชัดเจนสิ่งที่ฉันต้องทำเพื่อให้สามารถ ทำให้ค้นหาสามารถทำดัชนีข้อมูลบนพาร์ติชันที่เข้ารหัสลับได้ ฉันเป็นมือใหม่ที่สัมพัทธ์ดังนั้นจึงไม่ชัดเจนว่าจะทำอย่างไรจากการอ่านข้างต้น :)

4
คุณ/homeคือระบบไฟล์เสมือน (ecryptfs) มันคือ "mount" เป็นพาร์ติชันที่สามารถเข้าถึงได้เมื่อคุณเข้าสู่ระบบตรวจสอบ /etc/updatedb.conf ของคุณและ a) ลบ ecryptfs จากระบบไฟล์ที่ถูกเพิกเฉย (PRUNEFS) b) เปลี่ยนเป็น PRUNE_BIND_MOUNTS = "ไม่"
m33lky

4
หลังจากนั้นคุณสามารถเรียกใช้sudo updatedbเพื่อสร้างดัชนีไฟล์ใหม่
m33lky

โปรดทราบว่าฐานข้อมูลการค้นหาใช้ชีวิตในพื้นที่ที่ไม่ได้เข้ารหัสซึ่งอาจส่งผลต่อการเข้ารหัสของคุณโดยการเปิดเผยชื่อไฟล์
Florian Heinle

คำตอบ:


29

ฉันทั้งสอง "วิ่งหา (updatedb) เมื่อฉันเข้าสู่ระบบ" ดังกล่าวข้างต้นและฉันให้ฉันเป็นส่วนหนึ่งของฐานข้อมูลค้นหาภายใต้ของฉันเข้ารหัส $ HOME

export LOCATE_PATH="$HOME/var/mlocate.db"

แล้วฉันจะสร้างดัชนีไฟล์$HOMEด้วย

updatedb -l 0 -o $HOME/var/mlocate.db -U $HOME

ตอนนี้ฉันมีดัชนีสมบูรณ์แล้ว$HOMEแต่ฐานข้อมูลไม่สามารถมองเห็นได้เว้นแต่$HOMEจะถูกเมาท์และถอดรหัส


นั่นเป็นทางออกที่ดี คุณย้ายฐานข้อมูลไปที่นั่นได้อย่างไร
m33lky

4
ฉันไม่ได้ ฉันเพียงแค่สร้างฐานข้อมูลสำหรับ (เข้ารหัส) updatedb -l 0 -o $HOME/var/mlocate.db $HOMEต้นไม้ที่บ้านของฉันด้วย man locateกล่าวว่าจะค้นหาฐานข้อมูลเริ่มต้น ( /var/lib/mlocate/mlocate.db) แล้ว$LOCATE_PATHรายการของฐานข้อมูลใน
waltinator

3
อย่า "ลบออกecryptfsจากPRUNEFSคำจำกัดความ/etc/updatedb.confเมื่อคุณลงชื่อเข้าใช้/home/$USERจะถูกถอดรหัส แต่ไฟล์และชื่อไฟล์ที่เข้ารหัส/home/$USER/.Privateควรถูกเพิกเฉยเมื่อคุณ$HOMEไม่ได้เมาท์ผู้อื่นจะไม่สามารถเข้าถึงฐานข้อมูลหรือ ) ไฟล์ของชื่อไฟล์
waltinator

2
updatedb -l 0 -o $HOME/var/mlocate.db $HOME-Uมันควรจะหายไปupdatedb -l 0 -o $HOME/var/mlocate.db -U $HOME
destan

2
ไม่ดี @destin ฉันได้ขยายวิธีการของฉันเพื่อจัดทำดัชนีสื่อที่ลบได้เช่นกันโดยใช้ bash_path_funcs ของ Steve Collyer ( linuxjournal.com/article/3645 ) ด้วยสื่อที่ถอดได้ที่ติดตั้งได้ (เช่น/media/_name_) ฉันทำupdatedb -l 0 -o ~/var/mlocate/_name_.db -U /media/_name_ ในของ.bashrcฉันฉันมี export LOCATE_PATH="$HOME/var/mlocate/mlocate.db for i in $HOME/var/mlocate/*.db ; do addpath -p LOCATE_PATH $i done uniqpath -p LOCATE_PATH และlocateสามารถแสดงชื่อไฟล์ให้ฉันได้แม้ว่าจะไม่ได้ติดตั้งสื่อ
waltinator

3

วิธีการเกี่ยวกับการเรียกใช้ updateb เมื่อระบบไฟล์ของคุณถูกถอดรหัสและพยายามจับคู่ตัวแปรสภาพแวดล้อมเพื่ออ่าน / เขียน

หลังจากอ่าน man page ให้เพิ่มตัวแปรสองตัวลงในไฟล์ BASH RC ของคุณ

man locate
echo "export LOCATE_PATH=$HOME/var/lib/mlocate/mlocate.db:$LOCATE_PATH" >> ~/.bashrc
echo "export DBPATH=$HOME/var/lib/mlocate/mlocate.db:$DBPATH" >> ~/.bashrc

ทำไดเรกทอรีที่ระบุด้านบนและเพิ่ม $ username ไปยังกลุ่ม mlocate

mkdir -p ~/var/lib/mlocate/
sudo usermod -a -G mlocate $username

ออกจากระบบและลงชื่อเข้าใช้อีกครั้งเพื่อนับผู้ใช้ของคุณในกลุ่ม mlocate และรับตัวแปรสภาพแวดล้อมใหม่ ตอนนี้เมื่อคุณวิ่ง

updatedb -o $LOCATE_PATH

ตอนนี้ถอดรหัสไฟล์ในฐานข้อมูลค้นหาหรือไม่ หรือคุณทำอะไรเพื่อให้ทำงานได้ดีขึ้น

คุณอาจต้องการเพิ่ม updateb ลงใน crontab ของผู้ใช้ วิ่งครั้งแรก:

crontab -e

และเพิ่มบรรทัดต่อไปนี้:

0 12 * * * updatedb -o $HOME/var/locate

ดูความคิดเห็นของฉันที่มีต่อมาร์ติน ฉันพยายามเข้าใจว่ามีข้อควรพิจารณาด้านความปลอดภัยหรือการกำหนดค่าที่เหมาะสมถูกมองข้ามโดย Ubuntu
m33lky

เนื่องจาก ecryptfs แสดงอยู่ในตัวแปร PRUNEFS ที่ /etc/updatedb.conf คุณอาจต้องใช้ --prunefs "nfs" นี่น่าจะเป็นทางออกที่ดีเพราะเก็บและอัพเดตดัชนีผู้ใช้ต่อจากโปรไฟล์ผู้ใช้
João Pinto

@ m33lky ปัญหาคือ: คุณขอให้เข้ารหัส homedir ของคุณดังนั้นไม่มีใคร (ไม่ได้root!) สามารถอ่านได้โดยไม่ต้องใช้รหัสผ่าน โซลูชันอัจฉริยะเป็นฐานข้อมูลการค้นหาต่อผู้ใช้ ทางออกที่ง่ายสำหรับเครื่องที่มีผู้ใช้คนเดียวคือการลบecryptfsและสแกนเมื่อคุณเข้าสู่ระบบในอนาคตอาจlocateรวมผลลัพธ์จากฐานข้อมูลส่วนกลางและฐานข้อมูลหลักของผู้ใช้ปัจจุบัน
joeytwiddle

2

ไม่สามารถอัพเดตดัชนีฐานข้อมูลได้โดยไม่ต้องล็อกอินคุณควรล็อกอินและรันคำสั่ง updateb

/etc/updatedb.confตรวจสอบการตั้งค่าของคุณ ลบออกecryptfsจากPRUNEFSและอาจจะมาจาก/home/.ecryptfs PRUNEPATHSอย่าลืมที่จะเรียกใช้sudo updatedbหลังจาก


1
updatedb.conf ลูกพรุน ecryptfs นอกจากนี้ PRUNE_BIND_MOUNTS = "ใช่" ฉันพยายามที่จะเข้าใจเหตุผลที่อยู่เบื้องหลังค่าเริ่มต้นเช่นนี้ไม่ได้ใช้งานง่ายที่จะมีผลจากการ / บ้านที่ขาดหายไปในการค้นหาของคุณ :)
m33lky

ฉันเดาว่าฟังก์ชันการทำงานที่บ้านจะต้องมีตัวทำดัชนีผู้ใช้ ... แต่นั่นเป็นการเก็งกำไร
Martin Owens -doctormo-

โดยไม่มีการเข้ารหัส / บ้านได้รับการจัดทำดัชนีเพื่อให้ผมคาดว่าพฤติกรรมเดียวกัน ...
m33lky

1
ฉันอธิบายสถานการณ์จากมุมมองส่วนต่อประสานผู้ใช้
m33lky

2
หากคุณเข้ารหัสดิสก์ทั้งหมดสิ่งนี้จะไม่เป็นปัญหาหากคุณมีการเข้ารหัสที่บ้านเท่านั้นตอนนี้คุณต้องเริ่มสร้างดัชนีต่อผู้ใช้และใช้การเข้ารหัสแต่ละรายการ ... ในความเป็นจริงคุณอาจซ่อนดัชนีที่บ้าน ในโฟลเดอร์หลักของผู้ใช้ .... ทั้งหมดนี้เป็นการพัฒนาที่สำคัญและค่าใช้จ่ายสำหรับสิ่งที่ผู้ใช้ส่วนใหญ่ไม่เคยเห็น กรุณารายงานข้อผิดพลาดกับโครงการเครื่องมือค้นหาฐานข้อมูล
Martin Owens -doctormo-
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.