ฉันจะเมานต์ระบบไฟล์ linux ด้วยตนเองเพื่ออ่าน / เขียนในฐานะผู้ใช้ปกติได้อย่างไร?


19

นี่อาจดูเหมือนคำถามงี่เง่า แต่ด้วยสิ่งลีนุกซ์ส่วนใหญ่ดูเหมือนว่าสำหรับฉันแล้วสิ่งต่าง ๆ มากมายที่ไม่ได้จัดทำเป็นเอกสาร

อย่างไรก็ตามฉันต้องการเพียงแค่เมานต์ระบบไฟล์ ext4 ไปยังจุดเมานท์ปกติใน Ubuntu (/ สื่อ / ที่ไหนก็ตาม) ตามที่อ่านได้เขียนได้สำหรับผู้ใช้ที่เข้าสู่ระบบในปัจจุบันคือฉัน

ฉันไม่ต้องการที่จะเพิ่มอะไรเข้าไปใน / etc / fstab ฉันแค่ต้องการทำมันตอนนี้ด้วยตนเอง ฉันต้องการสิทธิ์ผู้ใช้ขั้นสูงในการเมานต์อุปกรณ์ แต่จากนั้นมีเพียงรูทเท่านั้นที่สามารถอ่าน - เขียนเมานต์นั้นได้ ฉันได้ลองตัวเลือกการเมานต์ต่าง ๆ เพิ่มเข้าไปใน fstab แต่ก็ไม่มีโชค


มีเหตุผลหรือไม่ที่คุณไม่ต้องการติดตั้งที่ใดที่หนึ่งในโฮมไดเร็กตอรี่ของคุณ?
Robert S Ciaccio

คำตอบ:


13

บนระบบไฟล์ ext4 (เช่น ext2, ext3 และระบบไฟล์อื่น ๆ ส่วนใหญ่ที่มาจากระบบปฏิบัติการยูนิกซ์) การอนุญาตไฟล์ที่มีประสิทธิภาพไม่ได้ขึ้นอยู่กับผู้ที่ติดตั้งระบบไฟล์หรือตัวเลือกการเมานท์บนเมตาดาต้าเท่านั้น

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

หากคุณมีระบบไฟล์แบบถอดได้ที่ใช้ ID ผู้ใช้ที่แตกต่างจากระบบของคุณคุณสามารถใช้bindfs(ในแพ็คเกจ Ubuntu ที่มีชื่อเดียวกัน) เพื่อให้มุมมองของระบบไฟล์ใด ๆ ที่มีความเป็นเจ้าของหรือสิทธิ์ที่แตกต่างกัน ระบบไฟล์แบบถอดได้ต้องติดตั้งไว้แล้วเช่นเปิด/media/disk9; จากนั้นหากคุณต้องการให้ปรากฏเป็นเจ้าของไฟล์ทั้งหมดคุณสามารถเรียกใช้

mkdir ~/disk9
sudo bindfs -u $(id -u) -g $(id -g) /media/disk9 ~/disk9

ขอบคุณ! สิ่งนี้ใช้ได้กับฉันด้วย ext3 โปรดทราบว่าฉันต้องเมานต์ระบบไฟล์ ext3 เป็นครั้งแรกในการติดตั้งไดเรกทอรีบางส่วนแล้วติดตั้งไดเรกทอรีที่มี bindfs ลงในไดเรกทอรีสุดท้าย
Ilari Kajaste

8

เมื่อคุณเมาต์ระบบไฟล์ ext4 ระบบจะใช้สิทธิ์ที่ฝังอยู่ในระบบไฟล์นั้น หากคุณต้องการแทนที่สิ่งเหล่านี้ให้ใช้สิ่งต่อไปนี้:
1. ค้นหา UID ของผู้ใช้ที่คุณต้องการเมานต์เป็น: id <username>และค้นหา UID = <userid> (<username>) GID = <groupid> (<groupname>) 2 .sudo mount -o nosuid,uid=<userid>,gid=<groupid> /dev/whatever /media/wherever

สิ่งนี้จะเมานต์ระบบไฟล์และทำเครื่องหมายผู้ใช้ที่ระบุว่าเป็นเจ้าของไฟล์ทั้งหมดและกลุ่มที่ระบุเป็นกลุ่มสำหรับไฟล์ทั้งหมด nosuidเป็นมาตรการรักษาความปลอดภัยที่ป้องกันไม่ให้ผู้ใช้นำเข้าโปรแกรม suid และใช้เพื่อเข้าถึงระบบรูท (เช่น bash รุ่น suid ในระบบไฟล์) การเพิ่มnoexecตัวเลือกจะช่วยเพิ่มความปลอดภัย แต่จะป้องกันไม่ให้ผู้ใช้เรียกใช้ไฟล์บนระบบไฟล์

หมายเหตุ: หากคุณเพียงแค่พยายามโต้ตอบกับระบบไฟล์ด้วยตัวคุณเองคุณควรแก้ไขสิทธิ์บนอุปกรณ์หรือโต้ตอบกับมันในฐานะรูทหากเป็นเพียงสิ่งชั่วคราว (เช่นการกู้คืนการติดตั้งที่เสียหาย)

หากนี่คือการติดตั้ง USB หรือไดรฟ์ภายนอกแบบถอดได้อื่น ๆ คุณควรตรวจสอบpmountระบบที่สามารถทำให้กระบวนการของคุณเป็นอัตโนมัติหรืออย่างน้อยก็ทำให้มันง่ายขึ้นมาก (เช่นpmount <device>ควรสร้างโฟลเดอร์ให้คุณติดไว้ในฐานะผู้ใช้ของคุณ และอนุญาตให้คุณเลิกเมานท์ในฐานะผู้ใช้ของคุณ)


1
มีความคิดว่าควรใช้ EXT3 ด้วยหรือไม่ ฉันได้รับEXT3-fs: Unrecognized mount option "uid=1000" or missing valueใน dmesg เมื่อฉันลองใช้ ext3
Ilari Kajaste

@Ilari: มันจะไม่ทำงานกับ ext3 หรือ ext4 สำหรับเรื่องนั้น ไดรเวอร์ Linux ส่วนใหญ่สำหรับระบบไฟล์ยูนิกซ์ไม่มีตัวเลือกการแมป UID และ GID
Gilles 'หยุดความชั่วร้าย'

-1 ใช้งานไม่ได้
Ilari Kajaste


1

หากคุณไม่ต้องการแก้ไขไฟล์ / etc / fstab ของคุณด้วยตนเองฉันขอแนะนำให้ลองใช้PySDMเพื่อกำหนดกฎสำหรับการติดตั้งระบบไฟล์ ext4 ของคุณเป็นประจำ สามารถติดตั้งได้โดยการติดตั้งแพคเกจ "pysdm" ใน Synaptic หรือค้นหา "pysdm" ใน Ubuntu Software Center เมื่อติดตั้งแล้วจะสามารถใช้ได้ภายใต้ระบบ -> การดูแลระบบ -> ตัวจัดการอุปกรณ์จัดเก็บข้อมูล ..

การทำงานของ PySDM


1

เพิ่งรู้หลังจากอ่านความคิดเห็นล่าสุดที่http://ubuntuforums.org/showthread.php?t=2142284ว่าทุกคนต้องทำคือsudo chown -Rvf <user>:<group> <mountpoint>

นี่คือทั้งหมดที่จำเป็น ...


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