Como montar um arquivo de imagem sem raiz?

5

Eu tenho um arquivo com um sistema de arquivos ext4 e quero montá-lo sem usar o sudo toda vez (o script deve ser executado com direitos de usuário). O arquivo que eu quero montar e a pasta que eu quero montar também estão no meu diretório home que está criptografado, então não posso colocar o local do arquivo em /etc/fstab .

Eu tentei fusermount , mas sempre recebo mensagens de erro como "fusermount: argumentos extras após o ponto de montagem".

    
por UTF-8 05.09.2015 / 22:13

3 respostas

2

Você pode tê-lo em / etc / fstab. Meu diretório inicial está criptografado, no entanto:

[alessandro@ubuntu]$ 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
[alessandro@ubuntu]$ /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

[alessandro@ubuntu]$ grep ext4_directory /etc/fstab
/home/alessandro/ext4_file /home/alessandro/ext4_directory ext4 noauto,user 0 0
[alessandro@ubuntu]$ mount ext4_directory
[alessandro@ubuntu]$ mount | grep ext4_directory
/home/alessandro/ext4_file on /home/alessandro/ext4_directory type ext4 (rw,nosuid,nodev,noexec,relatime,user=alessandro)
[alessandro@ubuntu]$ 
    
por Alessandro 05.09.2015 / 23:41
1

guestmount libguestfs truques

sudo apt-get install libguestfs-tools

# Workarounds for Ubuntu 18.04 bugs.
# https://serverfault.com/questions/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

Depende de:

  • implementação userland dos sistemas de arquivos
  • FUSE

Documentos: link

Testado no Ubuntu 18.04, libguestfs-tools 1: 1.36.13-1ubuntu3.

    
-1

O que você pode fazer é definir um determinado comando para não precisar de uma senha sudo.

    sudo visudo

E navegue até

    # User Privelege Specification

Para este exemplo, eu vou me referir ao seu comando que você usa para montar o ext4 como 'C', e nós chamaremos seu host host 'host' Se você não souber o seu nome de host simplesmente

    hostname

Depois, com a substituição de 'C' e 'host' por suas informações, adicione esta linha abaixo dos privilégios de usuário

    host=root NOPASSWD:C
    
por David 05.09.2015 / 23:17

Tags