web-dev-qa-db-ja.com

/ run / media / *のACL設定を永続化するにはどうすればよいですか?

Fedora25ワークステーションホストでゲストとしてさまざまな仮想マシンを実行しています。仮想ディスク(および他のすべての個人用のもの)を、2番目の組み込みディスクの異なる個別のパーティションに保存します。 virt-manager仮想マシンをqemuユーザーとして実行し、ディスクを起動するには、以下を実行する必要があります。

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

これにより、qemuユーザーはこれらの仮想ディスクを使用してVMを起動できます。ただし、ホストシステムを再起動すると、ACL設定が失われ、そのコマンドを再度実行する必要があります。 Ubuntuシステムをホストとして使用している場合、コマンドを1回実行するだけで、権限の変更はその後の再起動後も存続します。

Ubuntuのように、再起動後にRed Hatベースのシステムに変更されたACL設定を記憶させるにはどうすればよいですか?

5
cl-netbox

これはハックですが、起動時に、おそらく/etc/systemd/system/set-qemu-acl.serviceで、簡単なsystemdサービスを記述して実行することができます。

[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

次に、それを有効にします。

Sudo systemctl enable set-qemu-acl.service

システムのcronテーブルに線を引くこともできます。

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

または、手動でマウントしているので、ラッパースクリプトでそれを実行できます(おそらく/usr/local/bin/mount-acl)。

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

それなら、Sudo mount-acl /dev/partition /run/media/whereverだけで、行きたい場所にたどり着きますね。

5
Q23