結論:
接続したまま
$ sudo chown -R user:user /media/user/ラベル名 or UUID
抜き差し後も、再起動後も userで読み書き可能になった。
-R ディレクトリごと
user:user 所有者:グループ
前提:
OS: Debian GNU/Linux 9.7 (stretch)
Desktop : KDE Plasma version 5.8.6
USB ハードディスク : UUID (Universally Unique Identifier)による機器の指定が面倒なので、ext4にフォーマット時にラベル指定 (例 ExDisk)。
原因(曖昧):
初めて該当外付けハードディスクを繋いだとき、フォーマットとディスク検査をやるためにroot状態だったからなのか、udisks2がルートでスクリプトを作ってしまった...とか?
関連:
udisks2について
・Debian 8 (jessie)以降、外部接続のメディアは udisks2というサービス(D-Bus, udisksd)によって自動認識される。
・(多分) 接続をudisksdが検知して D-Busを使って動的に /media/user/下にLabel名 or UUIDで適切にマウントポイントを作る。
・KDEでUSBにメディアを接続したときアンダーバー(パネル)に現れる「デバイスの通知」や、クリックでのマウント/アンマウントはこのサービスを利用している。
・KDEシステム設定→ ハードウェア : Removable Strageも udisks2の設定。
・udisks2のサービス確認。
$ ps aux | grep udisks
/usr/lib/udisks2/udisksd の表示がでれば、サービスが動いている。
udisks2が動いていれば
例)
$ udisksctl status
MODEL REVISION SERIAL DEVICE
--------------------------------------------------------------------------
WDC WD10EZRX-00A8LB0 01.01A01 WD-WCC1U1234567 sda
WDC WD10EARS-00Y5B1 80.00A80 WD-....
...
BUFFALO External HDD 0000 00123456789999D sdc
...接続のみで、まだマウントしてない BUFFALO...も表示される。
・udisksctl の使用例
マウントする
$ udisksctl mount -b /dev/sdc1
Mounted /dev/sdc1 at /media/user/ExDisk
-b ブロックデバイス
アンマウント
$ udisksctl unmount -b /dev/sdc1
状態確認
$ udisksctl status
・systemctl を使って udisks2をコントロール
サービスの停止
# systemctl stop udisks2.service
停止の確認
# systemctl status udisks2
サービス開始
# systemctl start udisks2
サービス再起動
# systemctl restart udisks2
udisks2はディフォルトでboot時に自動的に起動する。起動サービスから削除して無効化
# systemctl disable udisks2
マニュアル起動も阻害
# systemctl mask udisks2
maskの確認
# systemctl is-enabled udisks2
masked (とのみ表示)
マスクの解除
# systemctl unmask udisks2
無効化の確認
# systemctl is-enabled udisks2
再有効化
# systemctl reenable udisks2
systemctlによるudisks2の確認
# systemctl status udisks2
# systemctl show udisks2
以上素人のメモ