我有一个应用程序(在我的用户帐户下的 IDE 中运行)执行以下操作:
- 它创建一个大小约为 1GiB 的空文件。
- 它调用
mkfs
此文件(当前为 btrfs,但将来可能会发生变化)。 - 它调用
udisksctl loop-setup
并udisksctl mount
安装它。
到目前为止一切顺利,但现在我遇到了无法在其中创建任何文件的问题。为此,我需要运行 chmod,而我只能以 root 身份执行此操作。
我不想以 root 身份运行我的应用程序,因为这可能会产生巨大的安全影响。
在我看来,应该有一种方法可以获得所需的权限(无需root),因为我仍然可以完全访问底层图像文件。
编辑:我找到了一个至少有效的解决方案。我正在创建一个具有相应权限集的文件系统映像。然后我将其压缩并与我的应用程序一起部署。它并不完美,但至少它有效。如果有人有更好的想法,我将非常感激听到它。
编辑2:我不需要 chown 或 chmod 任何东西,我只需要创建、读取、写入和删除文件和目录。选择不同的文件系统不是一个选择。