Làm thế nào để gắn một tập tin hình ảnh mà không cần root?


8

Tôi có một tệp có hệ thống tệp ext4 trong đó và muốn gắn kết nó mà không sử dụng sudo mỗi lần (tập lệnh nên chạy với quyền người dùng). Tập tin tôi muốn gắn kết và thư mục mà tôi muốn gắn kết cả hai đều nằm trong thư mục chính được mã hóa, vì vậy tôi không thể đặt vị trí tệp vào /etc/fstab.

Tôi đã thử fusermountnhưng tôi luôn nhận được thông báo lỗi như "fusermount: thêm đối số sau khi mountpoint".



@muru Cảm ơn bạn, thật không may đây là về ext2. Ngay cả khi có thể truy cập ghi, tôi sẽ không viết nhật ký vì ext2 không có ghi nhật ký. Tôi cần viết nhật ký.
UTF-8

1
Sau đó, bạn sẽ phải sống với việc phải root bằng cách nào đó.
muru

unix.stackexchange.com/a/32157/10805 gì là fusermountlệnh bạn đã cố gắng?
earthmeLon

Câu trả lời:


2

Bạn có thể có nó trong / etc / fstab. Thư mục nhà của tôi đã được mã hóa, nhưng:

$ dd if=/dev/zero of=ext4_file bs=1024 count=1024
1024+0 records in
1024+0 records out
1048576 bytes (1,0 MB) copied, 0,0341311 s, 30,7 MB/s
$ /sbin/mkfs.ext4 -F ext4_file
mke2fs 1.42.12 (29-Aug-2014)

Filesystem too small for a journal
Discarding device blocks: done                            
Creating filesystem with 1024 1k blocks and 128 inodes

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

$ grep ext4_directory /etc/fstab
/home/alessandro/ext4_file /home/alessandro/ext4_directory ext4 noauto,user 0 0
$ mount ext4_directory
$ mount | grep ext4_directory
/home/alessandro/ext4_file on /home/alessandro/ext4_directory type ext4 (rw,nosuid,nodev,noexec,relatime,user=alessandro)

Nếu anh ta nói rằng vì nó được mã hóa, anh ta không thể đặt nó vào / etc / fstab, anh ta đã đúng. Điều đó không hoàn toàn gắn kết nó.
David

Chà, không có gì ngăn cản tôi viết nó vào /etc/fstab, vì vậy tôi đã thử nó trước khi tôi đăng nhiệm vụ này. Tôi biết rằng nó có thể sẽ không gắn kết nó nhưng cho rằng có thể nó sẽ thất bại mà không có hậu quả và thực tế là nó /etc/fstabcho phép tôi gắn nó mà không cần root. Thật không may, điều này khiến hệ thống của tôi không khởi động được và tôi đã phải gỡ bỏ dòng để có thể sử dụng lại máy của mình.
UTF-8

David, tất cả những gì tôi viết tôi đã thực hiện trên PC với / home gắn trên một phân vùng được mã hóa. Và nó đã làm việc. Và tôi không thể thấy tại sao nó không thể.
Alessandro

UTF-8, để nó hoạt động / nhà phải được gắn trước tập tin của bạn. Hoặc bạn đặt tệp của mình không được tự động gắn kết, như tôi đặt nó theo hướng tôi đã đưa cho bạn, chúng là một tình huống thực tế.
Alessandro

Ai đặt ext4_filefile vào fstab?? Bạn đã không bỏ qua bất cứ điều gì?
Mohammad Kholghi

2

Bạn có thể sử dụng udiskctl:

$ udisksctl loop-setup --file your_file.iso
Mapped file your_file.iso as /dev/loop6.

Bây giờ, tệp của bạn được ánh xạ tới a block devicevà bạn có thể gắn kết nó dưới dạng:

$ udisksctl mount -b /dev/loop6
Mounted /dev/loop6 at /media/user/your_file.

khi bạn hoàn thành, unmount đang sử dụng:

$ udisksctl unmount -b /dev/loop6
Unmounted /dev/loop6.

cuối cùng, xóa nó bằng cách:

$ udisksctl loop-delete -b /dev/loop6

Chúc vui vẻ!


Tôi đã thử gắn một số hình ảnh Linux mà tôi đã đặt xung quanh ( kali-linux-2019.1a-amd64.iso) nhưng tôi luôn nhận được: Object /org/freedesktop/UDisks2/block_devices/loop5 is not a mountable filesystem.(Tất nhiên với số lượng thiết bị thay đổi.) Điều này xảy ra ngay cả khi tôi cố gắn nó ở chế độ chỉ đọc. Gắn nó chỉ đọc qua sudo mounthoạt động tốt.
UTF-8

sử dụng udisksctl loop-setup --file your_file.isolại, vì vậy nó cung cấp cho bạn một thiết bị lặp mới và gắn thiết bị đó (ví dụ /dev/loop8). Trong hệ điều hành của tôi, nó không hoạt động bằng cách sử dụng loop6và không biết tại sao. @ UTF-8
Mohammad Kholghi

2

Công cụ tìm kiếm hình ảnh đĩa Gnome

Bên cạnh udisksctlguestmount( libguestfs-tools) bạn chỉ có thể:

gnome-disk-image-mounter ~/ISOs/file.iso

Từ hướng dẫn :

Chấp nhận cả tệp thông thường và URI GVfs (chẳng hạn như smb: //filer/media/file.iso) ")

Theo mặc định, hình ảnh đĩa được đính kèm chỉ đọc, sử dụng tùy chọn - có thể ghi để thay đổi điều này.


1

guestmount lừa đảo libguestfs

sudo apt-get install libguestfs-tools

# Workarounds for Ubuntu 18.04 bugs.
# /server/246835/convert-directory-to-qemu-kvm-virtual-disk-image/916697#916697
sudo rm -rf /var/cache/.guestfs-*
echo dash | sudo tee /usr/lib/x86_64-linux-gnu/guestfs/supermin.d/zz-dash-packages
sudo chmod +r /boot/vmlinuz-*

# Create a test image.
mkdir sysroot
dd if=/dev/urandom of=sysroot/myfile bs=1024 count=1024
virt-make-fs --format=raw --type=ext2 sysroot sysroot.ext2

# Mount it, have fun, unmount!
mkdir -p mnt
# /dev/sda becuase we have a raw filesystem.
guestmount -a sysroot.ext2.qcow2 -m /dev/sda mnt
cmp sysroot/myfile mnt/myfile
guestunmount mnt

Dựa vao:

  • việc sử dụng các hệ thống tập tin
  • CẦU CHÌ

Tài liệu: http://libguestfs.org/guestmount.1.html

Đã thử nghiệm trên Ubuntu 18.04, libguestfs-tools 1: 1.36.13-1ubfox3.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.