Como posso fazer as configurações da ACL em / run / media / * persistent?

5

Eu tenho várias máquinas virtuais rodando como convidados em um host Fedora 25 Workstation. Eu armazeno discos virtuais (e todas as outras coisas pessoais) em diferentes partições separadas em um segundo disco interno. virt-manager executa as máquinas virtuais como qemu user e, para inicializar os discos, eu preciso executar:

sudo setfacl -R -m u:qemu:rwx /run/media/cl

Isso permite que o usuário qemu use esses discos virtuais para inicializar as VMs. No entanto, se eu reiniciar o sistema host, as configurações de ACL serão perdidas e eu tenho que executar esse comando novamente. Quando estou usando um sistema Ubuntu como host, o comando só precisa ser executado uma vez e as alterações de permissão sobrevivem a reinicializações subsequentes.

O que pode ser feito para fazer com que os sistemas baseados no Red Hat se lembrem das configurações modificadas da ACL após as reinicializações, como o Ubuntu faz?

    
por cl-netbox 20.06.2017 / 16:33

1 resposta

3

É um hack, mas você poderia escrever um serviço systemd rápido para executá-lo na inicialização, talvez em /etc/systemd/system/set-qemu-acl.service .

[Unit]
 Description=QEMU ACL Hack
 Requires=local-fs.target
 After=local-fs.target

[Service]
 ExecStart=/usr/bin/setfacl -R -m u:qemu:rwx /run/media/cl

[Install]
 WantedBy=multi-user.target

Então, basta ativá-lo.

sudo systemctl enable set-qemu-acl.service

Você também pode colocar uma linha na tabela cron do sistema.

* * * * * root /usr/bin/getfacl /run/media/cl | grep 'user:qemu:rwx' || /usr/bin/setfacl -R -m u:qemu:rwx /run/media/cl

Ou, como você está montando manualmente, um script de wrapper pode fazer isso por você, talvez /usr/local/bin/mount-acl .

#!/bin/sh
mount $1 $2
setfacl -R -m u:qemu:rwx $2

Então, só sudo mount-acl /dev/partition /run/media/wherever te levaria para onde você quer ir, não é?

    
por 21.06.2017 / 17:11