1

背景

我有一个测试脚本,可以动态创建和销毁文件系统,用于一套性能测试。

为了避免以 root 身份运行脚本,我有/dev/testdisk一个特定用户拥有的磁盘设备testuser,以及一个合适的条目/etc/fstab

$ ls -l /dev/testdisk
crw-rw---- 1 testuser testuser 21, 1 Jun 25 12:34 /dev/testdisk
$ grep testdisk /etc/fstab
/dev/testdisk /mnt/testdisk auto noauto,user,rw 0 0

这允许普通用户安装和卸载磁盘。

问题

我希望我的脚本testuser/dev/testdisktestuser

$ mount /dev/testdisk /mnt/testdisk
$ ls -la /mnt/testdisk
total 24
drwxr-xr-x 3 testuser  testuser   4096 Jun 25 15:15 .
drwxr-xr-x 3 root      root       4096 Jun 23 17:41 ..
drwx------ 2 root      root      16384 Jun 25 15:15 lost+found

这可以在不以 root 身份运行脚本并且不诉诸sudo脚本内的权限提升(使用)的情况下完成吗?

与其他文件系统的比较

使用 ext{2,3,4} 可以创建一个根目录归当前用户所有的文件系统,使用以下命令:

mkfs.ext{2,3,4} -F -E root_owner /dev/testdisk

我想避免的解决方法(如果可能)

我知道我可以使用该btrfs-convert工具将现有的(可能为空的)ext{2,3,4} 文件系统转换为 btrfs 格式。我可以在我的脚本中使用这个解决方法(首先创建一个 ext4 文件系统,然后立即将其转换为 brtfs),但如果有办法直接创建 btrfs 文件系统,我宁愿避免使用它。

4

0 回答 0