mount -r (読み取り専用) 読み取り - 書き込みマウント

mount -r (読み取り専用) 読み取り - 書き込みマウント

修正する:これはlibmountのバグが原因であることがわかりましたが、現在はアップストリームが修正されました。https://github.com/karelzak/util-linux/issues/1235

元の質問は次のとおりです。

実行すると、デバイスはmount -r /media/sdd1オプション-rが失敗したという警告や表示なしで読み書きをマウントします。

$ egrep sdd1 /etc/fstab
/dev/sdd1   /media/sdd1 auto    user,noauto,exec,nodev  0   0
$ umount /media/sdd1
umount: /media/sdd1: not mounted
$ mount -r /media/sdd1
$ touch /media/sdd1/file.tmp
$ umount /media/sdd1
$ mount -r /media/sdd1
$ ls /media/sdd1/file.tmp
/media/sdd1/file.tmp
$ rm -f /media/sdd1/file.tmp
$ umount /media/sdd1
$ mount -r /media/sdd1
$ ls /media/sdd1/file.tmp
ls: cannot access '/media/sdd1/file.tmp': No such file or directory

たとえば、ファイルシステムに書き込まないでください。私が試したファイルシステムの種類はFAT16です(利用可能な場合)。

mountフラグを削除して常にフラグを使用するように強制することに加えて、フラグを尊重するために私ができる他の方法はありますか?-rusersudo

答え1

通常のユーザーとして実行すると、カスタムmountマウントオプションを指定することはできません(実行はマウントオプションをmount -r追加するのと同じro)。この場合、すべてのカスタムマウントオプションが削除され、fstabデフォルトオプション+オプションのみが使用されます。

ランタイム結果sudo mount -r /mnt/test:

/dev/sdb /mnt/test vfat ro,nosuid,nodev,noexec,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

一般ユーザーの場合、このオプションが無視されることがわかりますro

/dev/sdb /mnt/test vfat rw,nosuid,nodev,noexec,relatime,uid=1000,gid=1000,fmask=0002,dmask=0002,allow_utime=0020,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0

この設定は変更できないため、このroオプションを指定するfstabか、rootとしてコマンドを実行する必要がありますmount

mount「無許可」マウントを使用して実行することは通常fstab非常に制限的であり、これは意味があります。 root以外のユーザーfstab。この場合、に切り替えるときに権限を「下げる」ため、「安全」にはできますがrw変更roできない項目は依然として変更されます。

答え2

これはシステムをデュアルブートし、オペレーティングシステムの1つがWindowsの場合に発生します。 Windowsオペレーティングシステムには、Windowsをすばやく起動するのに役立つ構成があるため、Windowsオペレーティングシステムはディスクを正しくマウント解除できません。

最初の回避策: Windowsオペレーティングシステムから起動し、次の手順を実行できます。 (Windows 10の場合)

  • タスクバーのWindowsボタンを右クリックし、[電源オプション]をクリックします。
  • ウィンドウの右側のウィンドウで、[追加の電源設定]をクリックします。
  • コントロールパネルの左ペインで、電源ボタンの機能の選択をクリックします。
  • 現在利用できない設定の変更をクリックします。
  • プロンプトが表示されたら、UACダイアログボックスを受け入れ、クイックスタートオンの選択を解除します。
  • 変更を保存し、Linuxディストリビューションから起動します。

これで、サイレントインストールにドライブへの読み取りおよび書き込みアクセス権があります。

2番目の解決策: この問題を解決する2番目の方法は、端末で次のコマンドを使用することです。

sudo apt-get install ntfs-3g -y
sudo ntfsfix /dev/drive-name

上記のコマンドを実行して再度マウントしてみてください。

3番目の解決策: これは機能しますが、Linuxディストリビューションを起動するたびにこれを行う必要があります。

Nevena Pavlicicのソリューション

関連情報