以编程方式创建其根目录具有特定所有者的btrfs文件系统

时间:2015-06-25 07:35:31

标签: linux btrfs

背景

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

为避免以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/testdisk上创建 btrfs 文件系统,以便根目录归{ {1}}:

testuser

这可以在不以root身份运行脚本的情况下完成,而不需要在脚本中使用权限提升(使用$ 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 )吗?

与其他文件系统的比较

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

sudo

我想避免(如果可能的话)

的变通方法

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

0 个答案:

没有答案