fstabのグループオプションが機能しない

fstabのグループオプションが機能しない

fstabエントリの「グループ」オプションを利用しようとしましたが、成功しませんでした。mountマニュアルページから:

通常、スーパーユーザーだけがファイルシステムをマウントできます。ただし、fstab行にユーザーオプションが含まれている場合は、誰でもそのシステムをマウントできます。 ...どのユーザーでもアンマウントできる必要がある場合は、fstab行でuserの代わりにusersを使用してください。所有者オプションは、ユーザーが特定のファイルの所有者でなければならないという制限があるユーザーオプションと似ています。たとえば、ログインスクリプトがコンソールユーザーをデバイスの所有者にする場合は、/ dev / fdに役立ちます。グループオプションは似ていますが、ユーザーが特別なファイルグループのメンバーになることを制限します。

私は1GBファイル/ blerghとext4ファイルシステムを使ってループバックインストールをテストしています。このファイルはroot:diskの所有であり、664権限を持っています。権限 775 の root:disk が所有する /media/blergh マウント・ポイントがあります。次のfstabエントリがあります。

/blergh /media/blergh ext4 loop,rw,noauto,group 0 2

mount /media/blergh正常に動作していますroot。実行するとmyuserエラーが発生しますmount: only root can mount /blergh on /media/blergh/usr/bin/groupsasの出力は次のようmyuserになるmyuser diskため、グループメンバーシップがあります。オプションからに変更すると、groupファイルシステムをマウントできます。usermyuser

私は何が間違っていましたか?groupこのオプションが機能しないのはなぜですか?

myuser(注:ここではこれについて扱いたくないのでsudo


2013年5月20日に修正:

実際のブロックデバイスを使用した追加テストでは問題がloopないことがわかりましたgroup。権限 664 を使用して root:disk が所有し、/dev/sdg でリンクされた新しい 1 GB EBS ボリュームを作成しました。これに対して、次のfstabエントリを作成しました。

/dev/sdg /media/sdg ext4 rw,noauto,group 0 0

loop以前と同じですが、ここには適用されません。私は権限775を持つroot:diskが所有する/media/blergにこのファイルシステムのマウントポイントを作成しました。以前と同様に、myuserグループのメンバーですdisk。このテスト設定でも同様にうまくmount /media/sdg機能します。myuserumount /media/sdg

答え1

私はあなたがここで非常に重要な詳細を見逃していると思います。参照されたマニュアルページから(そして強調する)あなたに走りました:

グループオプションは似ていますが、ユーザーがグループのメンバーになることを制限します。特殊ファイルグループ

私の言葉に注目してください。強調する「特殊ファイル」について。次の説明を参照してください。グループオプション:

グループ 一般(つまり、ルートではない)ユーザーグループの1つが次の場合デバイスグループ。このオプションは、nosuidおよびnodevオプションを意味します(オプションの行グループ、dev、suidなどの後続のオプションでオーバーライドされない限り)。

これは意味するデバイスまたは特殊ファイルインストールする製品もmyuser同じでなければなりません。グループ所有権はユーザーのものですmyuser

例は次のとおりです。

システムにディレクトリ/dev/sda5にマウントされたデバイスがあるとします。/builds

# ls -l /dev/sda5
brw-rw---- 1 root disk 8, 5 Jun 15 21:20 /dev/sda5
# grep sda5 /etc/fstab
/dev/sda5       /builds reiserfs        group,defaults 1 2

fooまた、同じシステムに2人のユーザーがいます。srinidhi

# id foo
uid=1005(foo) gid=100(users) groups=100(users),33(video)
# id srinidhi
uid=1000(srinidhi) gid=100(users) groups=100(users),16(dialout),6(disk),10(wheel)

ユーザーsrinidhi(グループの一部disk)がマウントを試みます/builds

srinidhi@linux:~> mount /builds/
srinidhi@linux:~> echo $?
0

fooそれでは、マウントしようとしたときに何が起こるのかを見てみましょう/builds

srinidhi@linux:~> su - foo
foo@linux:~> mount /builds/
mount: only root can mount /dev/sda5 on /builds
foo@linux:~>

グループの一部でfooはないため失敗します。diskmount

あなたのケースに戻って確認する必要があるグループの所有権は、または/blergh必要です。正しいグループ所有権を設定すると、元のアイテムが機能し始めます。myuserdisk/etc/fstab

# chgrp myuser /blergh

それでは、次のmount /media/blerghように実行してみてくださいmyuser

メモ:マウントポイント(ここ)/media/blerghの所有権は影響を受けませんmount

答え2

私のオプションと同様の問題がありますuser。まだ解決されていません。私の解決策は、さまざまな状況を作成してそれが機能していることを確認し、何かを表面化することです。

問題はそのファイルにのみ関連していますか/blergh ?別のファイルに再現できますか?または、ファイルが別の場所にある、権限が異なる、または所有権が異なります。 (もちろん、テストはシステムをどのように制御できるかによって異なります。)

そのオプションを使用して問題をテストしてowner動作するかどうかを確認できます...他のファイルで再現できると仮定したり、一時所有権を変更したりできますか?オプションはどうですかuser

インストールとアンインストールの両方に問題がありますか、それともどちらかが問題ですか?インストールがうまくいかない場合は、インストールしてからroot削除してみてくださいmyuser。 (私の問題に関する限り、マウントは機能しますが、マウント解除は機能しません)

注:Linuxの世界では、このマウントを「ループ」といい、「ループバック」はネットワークデバイスに関連していると思います。(引用する。http://en.wikipedia.org/wiki/Loop_device)

最初のコメントと質問の編集後に追加されました

それでも動作しない場合。より確認しやすいownerので、すべての所有権メカニズムが影響を受けるという意味です。この状況は実際のブロックデバイスに適用されますか?ownergroupownergroup

ループオプションでループデバイスを明示的に指定し、未使用のデバイスを選択してみましたか...,loop=/dev/loop7,...?ループデバイスの所有権やグループを変更してみることもできます(たとえそれがどれほど合理的であるか、または役に立つかはわかりません)。ls /dev/loop*利用可能なリサイクル機器を一覧表示します。

もう1つの可能性は、loopアイテムからオプションを完全に削除することです/etc/fstab。多くのシステムでは不要になり、マウントを介して暗黙的に実行されます。ところで、どのシステムを使用していますか?

関連情報