uid、gid、umask、fmask、およびdmaskマウントオプションが無視される理由をデバッグする方法は?

uid、gid、umask、fmask、およびdmaskマウントオプションが無視される理由をデバッグする方法は?

私はKubuntu 22.04 LTS(別名Jammy Jellyfish)のLive ISOを実行しています。私がやろうとしているのは、おそらくKDEとは何の関係もないでしょう。したがって、人々は私がUbuntuを実行していると思うかもしれません。

FAT32現在のユーザーに対して読み取り/書き込みモードでパーティションをマウントしようとしています。このLive ISOでは、ユーザーkubuntuubuntuUbuntuの場合)が呼び出されます。明らかに、root常にすべての権限を持つこともあります。しかし、一般ユーザーに便利にしたいと思います。

シェル変数にパーティションデバイスパスがあるとしますPMP次のコマンドを実行しようとしています。

sudo mount $P $MP

それから私が電話するとき

mount | grep $MP

次のように適用されたインストールの種類とオプションを表示できます(fmaskおよびdmaskオプション値を参照)。

type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

電話するとstat $MP | grep Uid:こんな言葉を聞きます。

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

root同様の値を持つオプションを適用するときと同様に、マウントを実行するときに期待するものと正確に一致します。fmask=0022,dmask=0022

一般ユーザーのためにマウントされたFSを操作する方法に関する情報を見つけようとしています。すべての提案はuid、、、gidおよび使用方法に関するumaskものです。満足でしたが、これもリセットを試してみることにしました。だから私はこれを試してみました(もし備えて冗長性を追加しました)。fmaskdmaskfmask=0022,dmask=0022

sudo mount -o uid=$(id -u),gid=$(id -g),umask=0000,fmask=0000,dmask=0000 $P $MP

何か合わせてみて?結果は上記で述べたのと同じです。これは

type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

stat $MP | grep Uid:.itも同じです。

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

私のユーザーに書き込み権限がありませんkubuntu

私は通常、sudo dmesg | tail -n 2上記のタスクを実行する前に()を押して「sysrq:Emergency sync」を実行します。これにより、ログに2行のテキストの断片と。両方のログを確認した後、「sysrq:緊急同期」に関連する2行のみが表示されます。インストールオプションを無視する理由を説明するコマンドに関する内容はありません。cat /var/log/syslog | tail -n 2Alt+(SysRq/PrtScr, S)sudo mount ...sysrq: Emergency SyncEmergency Sync completesudo mount ...mount

質問は次のとおりです。

  • 私が提供したインストールオプションが無視されるのはなぜですか?
  • この種の動作を解決するにはmount

ベストアンサー1

おすすめ記事