最近、Linuxのデスクトップの機械をconsoleではなくてVncserver(TigerVNC)を使ってリモートデスクトップで使っている。
バックアップを取ろうとして、USBの外付けディスクを繋げようとしたところ、「XXX をマウントできません / Not Authorized」というエラーになってmountできない。
いろいろ調べたところ、リモートデスクトップの場合、polkitが許可を与えていないことがわかった。
少し考えると気が付くと思うが、複数のユーザーがリモートデスクトップを使っているような環境の場合、USBストレージが誰でもmountできてしまうというのは、セキュリティー的に確かにまずい。
とはいえ、ユーザーが一人だけというような個人使用の場合であればconsoleと同様にmountできる方が嬉しい。
ということで、回避策。
OSはVine Linux 6.3。
udisksについてのpolkitの設定ファイルを編集。suしてから、
vi /usr/share/polkit-1/actions/org.freedesktop.udisks.policy
このファイルの <action id="org.freedesktop.udisks.filesystem-mount"> の <allow_any> と <allow_inactive> が no になっているはずなので、これを yes に変更する。
こんな ↓ 感じ。
(snip) <action id="org.freedesktop.udisks.filesystem-mount"> <description>Mount a device</description> <message>Authentication is required to mount the device</message> <defaults> <allow_any>yes</allow_any> <allow_inactive>yes</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> (snip)
<action id="org.freedesktop.udisks.filesystem-mount-system-internal"> や <action id="org.freedesktop.udisks.filesystem-unmount-others"> は変更しなくてもOK。
システムのRebootやpolkitdの再起動は不要のようで、設定ファイルを変更するだけで良いみたい。
ふむ。快適!