UBUNTUで内蔵ドライブのパーミッション設定がうまく行かないときに確認したいこと
発生したこと
UBUNTUをインストールしたドライブの他に、データドライブを用意した
写真、音楽、動画などを保存していたが、文字化けが発生する
etc/fstabに自動読み込み時のオプション'iocharset=utf8'を設定
文字化け回避
ごにょごにょ
データドライブがリードオンリーになる
chmodもchownも「許可されていません」として実行不可能
こういう自体が発生しました。もともとWindowsが入っていたPCで、CドライブをOS用、Dドライブをデータ用として分けていたんです。
Cドライブが256GBのSSD、Dドライブが2TBのHDD。
UBUNTUに移行したところ、NTFSは使い勝手が良くないので、DドライブをFAT32でフォーマットしました。
home/etc/fstabを書き換えて、起動時に自動的にマウントするように設定。
これでしばらく問題なく使っていたのですが、気がついてみるとHDDが書き込みできない。
ターミナルでsudo chmod しても、ファイラでパーミッションを変更しても変更できない。 理由は「ごにょごにょ」にありました。
「ドライブ」アプリはetc/fstabを上書きする
異変は、UBUNTUでプリインストールされている「ドライブ」のアプリで、データドライブの設定をいじったことが原因でした。
ここでドライブの設定をいじると、せっかく設定したhome/etc/fstabの内容を上書きしてしまいます。
改めてfstabに、読み込みのオプションとして iocharset=utf8,umask=000 を書き込んだところ、データドライブに文字化けなし、読み書きOKに設定できました。
ちなみにcharsetではなくiocharsetです。htmlとかいじっていると間違えやすいです。文字コードの設定です。
umaskについては正直良くわかっていないんですが、umask=000は「パーミッションの設定を変更しない」的な意味合いです。
そもそもFATとかにはパーミッションという概念がない?ので、マウント時に明示的な指定が必要、ということらしいです。
まとめ
fstabをいじったら、ドライブアプリはいじってはいけない