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

これにより、通常のユーザーがディスクをマウントおよびアンマウントできるようになります。

質問

ルート ディレクトリが によって所有されるように、スクリプト ( として実行される) でbtrfsファイル システム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

これは、スクリプトをルートとして実行せず、スクリプト内で権限昇格 (の使用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