Solução alternativa para montar um sistema de arquivos em um diretório local sem privilégios elevados no Linux

6

Eu tenho um sistema de arquivos ext3 em um arquivo, e gostaria de montá-lo em um diretório local sem sudo ou com permissões elevadas. Por quê? Estou criando um pequeno sistema de arquivos para fins de teste automatizado. Os testes automatizados são executados em máquinas que não controlo, por isso existem algumas barreiras para adicionar montagem aos sudoers.

Veja como eu criei o sistema de arquivos:

$ dd if=/dev/zero of=./50MB_partition count=102400
$ mkfs.ext3 -F 50MB_partition

Se eu tivesse permissão, agora poderia montá-lo da seguinte forma:

$ mkdir small_partition
$ sudo mount 50MB_partition ./small_partition

Parece que, como sou dono do sistema de arquivos e do ponto de montagem, não há risco de segurança associado a permitir que eu monte isso. Eu entendo o que está me impedindo de chamar o monte sem sudo; nenhuma explicação necessária lá. O que eu quero saber é, existe uma solução que me permite usar o meu sistema de arquivos para fins de teste?

    
por Chris Betti 26.07.2011 / 20:21

2 respostas

3

mount requer mount () [definido em sys / mount.h] que, por sua vez, requer CAP_SYS_ADMIN, então você não pode usar mount () sem uma entrada fstab ou sudo.

pode querer olhar para o fusível (sistema de arquivos no espaço do usuário) [ link ]

    
por 26.07.2011 / 20:49
0

Existe uma opção para montar, owner , que também implica outras opções para evitar violações de segurança.

owner

Allow an ordinary (i.e., non-root) user to mount the filesystem if he is the owner of the device. This option implies the options nosuid and nodev (unless overridden by subsequent options, as in the option line owner,dev,suid).

O problema é que requer que o "dispositivo" seja de sua propriedade. Não há dispositivo neste caso. O dispositivo (/ dev / loopx) é configurado automaticamente pela montagem, o que requer privilégios de root e, em seguida, o dispositivo não pertence a você.

Não tenho certeza de como contornar isso, a menos que você possa fazer com que um usuário root use o losetup e, em seguida, envie o dispositivo de loop para você.

Também é possível que isso seja mencionado em /etc/fstab para que a opção owner seja aceita. Não tenho certeza, pois não está documentado na página de manual que eu tenho e não tentei.

    
por 26.07.2011 / 21:05