一般ユーザーがループバックデバイスに書き込むことができる方法は何ですか?

一般ユーザーがループバックデバイスに書き込むことができる方法は何ですか?

次のようにループバックデバイスを設定しました。このガイド

デバイスは正常ですが、rootとしてのみ書き込むことができます。解決策を検索し、fusermount次のfstabような回答を見つけました。これ

私は以下についてもっと知りたいです:

  1. ルートが必要です作るデバイスはいいえ問題がありますが、マウント後に一般ユーザーが書き込み可能でなければなりません。
  2. 私は希望避ける/etc/fstab必要なのは、自発的に実行されるか、固定されたループバックイメージや固定されたマウントポイントがないシェルスクリプトで実行されるためです。

ベストアンサー1

ループバックデバイスを設定しました

非常に古いカーネルを使用しない限り、これはもはや必要ありません。一般的なインストールプロセスは暗黙的にループデバイスを作成します。

デバイスは正常ですが、rootとしてのみ書き込むことができます。

デバイスの権限循環は、マウントされたファイルシステムに対する権限には影響しません。また、実際にファイルをマウントできる人には影響しません。

デバイスを作成するためにルートを要求することは問題ではありませんが、インストール後に一般ユーザーが書き込むことができるはずです。

これファイルシステム権限は、マウントされた実際のデータから派生します。 FATなどの一部のファイルシステムには、UNIX権限を添付するオプションがあります。 extのような他のファイルシステムではそうではありません。

デバイスに含まれているファイルシステムに書きたいです。

これにより、ループデバイスを使用してこの問題を解決することはできません。 (またぜひお読みください。XYの問題。あなたの 。

説明に示すように、chown/chmodroot権限でインストールした後、すべてのユーザーがファイルシステムを読み取ることができるように設定することで、ファイルシステムの内容を変更できます。これが最も簡単な解決策です。

「ext4ファイルシステムをマウントしたいのですが、マウント内のすべての権限を透過的に無視します」という簡単な解決策はありません。少なくとも私が知っている限りではありません。


からman mount

循環装置

別の可能なタイプは、リング装置を介した設置である。 [...]明示的なループデバイスが記載されていない場合(ただし、「-o loop」オプションのみが提供されている場合)、マウントは未使用のループデバイスを見つけて使用しようとします。

マウントコマンドループ機器の自動生成ファイルシステムタイプが指定されていない場合、またはlibblkidが既知のファイルシステムの場合は、通常のファイルから。例:

mount /tmp/disk.img /mnt

mount -t ext4 /tmp/disk.img /mnt

このタイプのマウントには、実際には losstup(8) のオプションであるloopoffsetと の 3 つのオプションがあります。 (これらのオプションは、ファイルシステムの種類に関連するオプションに加えて使用できます。)sizelimit

おすすめ記事