Como permitir que o usuário não root tire o instantâneo do ZFS?

3

Estou tentando permitir que um usuário não raiz crie instantâneos zfs.

Eu criei um conjunto de permissões e dei ao usuário apropriado os privilégios definidos nele:

root@computer:~# zfs allow homepool/myuser
---- Permissions on homepool/myuser -----------------------------------
Permission sets:
    @myuser_allowed mount,snapshot
Local+Descendent permissions:
    user myuser @myuser_allowed

Mas quando tento criar o instantâneo, recebo o seguinte erro:

root@computer:~# su - myuser
myuser@computer:~$ /sbin/zfs snapshot homepool/myuser@'date +%F_%R'
Permission denied the ZFS utilities must be run as root.

Criando o instantâneo como root funciona como esperado:

root@computer:~# zfs snapshot homepool/myuser@'date +%F_%R'
root@computer:~# zfs list -t snapshot
NAME                              USED  AVAIL  REFER  MOUNTPOINT
homepool/myuser@2016-10-30_19:01    44K      -  5,32G  -
homepool/myuser@2016-10-30_19:37      0      -  5,32G  -

Preciso adicionar mais alguma coisa ao conjunto de permissões? Ou é algo com os privilégios no binário zfs?

root@computer:~# ls -l 'which zfs'
-rwxr-xr-x 1 root root 103352 okt  5 15:05 /sbin/zfs

A aplicação dos privilégios descritos aqui não funciona melhor:

root@computer:~# zfs allow -s @myuser_allowed create,mount,snapshot,clone,promote homepool/myuser
root@computer:~# zfs allow homepool/myuser
---- Permissions on homepool/myuser -----------------------------------
Permission sets:
    @myuser_allowed clone,create,mount,promote,snapshot
Local+Descendent permissions:
    user myuser @myuser_allowed
root@computer:~# su - myuser
myuser@computer:~$ /sbin/zfs snapshot homepool/myuser@'date +%F_%R'
Permission denied the ZFS utilities must be run as root.
    
por azzid 30.10.2016 / 19:40

2 respostas

4

Parece que o zfs allow support foi adicionado como um recurso no (ainda não lançado) ZoL 0.7.0 .

A julgar pelos nomes dos pacotes instalados (por que você não pode fazer zfs --version ?):

# dpkg-query --list | grep -i zfs
ii  libzfs2linux                                0.6.5.6-0ubuntu14                             amd64        Native OpenZFS filesystem library for Linux
ii  libzpool2linux                              0.6.5.6-0ubuntu14                             amd64        Native OpenZFS pool library for Linux
ii  zfs-doc                                     0.6.5.6-0ubuntu14                             all          Native OpenZFS filesystem documentation and examples.
ii  zfs-zed                                     0.6.5.6-0ubuntu14                             amd64        OpenZFS Event Daemon (zed)
ii  zfsutils-linux                              0.6.5.6-0ubuntu14                             amd64        Native OpenZFS management utilities for Linux

O Ubuntu 16.04 parece estar executando a versão 0.6.5 do ZFS no Linux.

Essa é provavelmente a explicação de por que isso não está funcionando para mim. A mensagem de erro poderia ter sido mais explícita.

    
por azzid 31.10.2016 / 17:01
1

No momento em que escrevo, não há suporte para 'zfs allow' ou 'zfs unallow' no ZoL. Se você realmente precisar executar comandos zfs como um usuário não-root, basta "sudo chmod g + o rw / dev / zfs". Isso dará a todos os usuários a capacidade de executar comandos. Até que haja suporte interno para os comandos allow / unallow, essa é a única maneira. Veja o link anexado para mais informações. link

    
por jrea 01.06.2017 / 22:33