ext4fuse ที่ไม่ใช่รูทบน FreeBSD10


1

ฉันมีระบบปฏิบัติการ 2 ระบบบนคอมพิวเตอร์ของฉัน Arch Linux บนพาร์ติชั่น 100GB ext4, FreeBSD บนพาร์ติชั่น 250GB และข้อมูลทั้งหมดของฉันในดิสก์ 2 แยก 4 ext4 2TB

ฉันไม่ต้องการเข้าถึงไฟล์จากดิสก์ทั้งสองนี้โดยใช้ FreeBSD ของฉันฉันค้นหาบนเว็บและผลลัพธ์ที่ดีที่สุดที่ฉันพบคือใช้ ext4fuse ฉันพยายามเมานท์ดิสก์โดยใช้ext4fuse /device /folderงาน แต่ฉันไม่สามารถ อ่านเนื้อหากับผู้ใช้ปกติของฉันสิทธิ์ในการอ่านสำหรับผู้ใช้รูทเท่านั้น:

[root@******* /usr/home/********/Arch Linux]# ls -lha
total 72
dr-xr-xr-x    4 root   wheel   4.0K Aug 28 19:37 .
drwxr-xr-x   29 *****  *****   1.0K Feb 20 15:43 ..
dr-x------  108 1000   100      12K Feb 20 06:24 *********
dr-x------    2 root   wheel    16K Aug 28 16:18 lost+found

เนื่องจากฉันไม่พบเอกสารใด ๆ เกี่ยวกับ ext4fuse และติดตั้งแบบอ่านอย่างเดียวฉันจึงไม่สามารถทำอะไรได้อีก

หากอย่างน้อยฉันสามารถให้สิทธิ์แก่กลุ่มล้อเพื่ออ่านไฟล์ฉันสามารถอ่านกับผู้ใช้ปกติของฉันได้เนื่องจากมีเพียง root เท่านั้นที่มีสิทธิ์ใช้งานบนอุปกรณ์นี้ฉันไม่สามารถแม้แต่จะไปที่โฟลเดอร์นี้กับผู้ใช้ปกติของฉันได้

/usr/home/*******/Arch Linux พาร์ติชั่น 2TB ของฉันกับข้อมูลของฉันถูกติดตั้งโดยใช้ ext4fuse

คำตอบ:


1

ตามหน้า github ของมัน ext4fuse เป็นแบบอ่านอย่างเดียว :

นี่เป็นการใช้งาน ext4 สำหรับ FUSE แบบอ่านอย่างเดียว

สิ่งนี้ถูกนำไปใช้ในfuse-main.cโดยไม่ให้ฟังก์ชั่นสำหรับการดำเนินการใด ๆ ที่สามารถเปลี่ยนระบบไฟล์ได้ (รายการการดำเนินการที่เป็นไปได้ทั้งหมดอยู่ที่นี่ );

static struct fuse_operations e4f_ops = {
    .getattr = op_getattr,
    .readdir = op_readdir,
    .open = op_open,
    .read = op_read,
    .readlink = op_readlink,
    .init = op_init,
};

และในop_getattr.cโดยการลบบิตการเขียนทั้งหมดออกจากการอนุญาต

stbuf->st_mode = inode.i_mode & ~0222;

แต่มันไม่ได้ลบบิตกลุ่มทั้งหมด

ซึ่งหมายความว่าคุณไม่สามารถเปลี่ยนแปลงอะไรในext4ระบบไฟล์จาก FreeBSD และการขาดการอนุญาตของกลุ่มมาจากext4ระบบไฟล์เอง ดังนั้นคุณจะต้องเพิ่มสิทธิ์กลุ่มในไฟล์เมื่อคุณบูตเข้าสู่ Arch Linux

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