web-dev-qa-db-ja.com

リムーバブルメディア(USBドライブ)のアクセス許可を特定のグループに設定する

シナリオは次のとおりです。私の会社は、データセキュリティ対策としてユーザーがUSBスティックに書き込むのをブロックしようとしています。しかし、落とし穴があります。特定のグループに属するユーザー(「usbwriters」など)は、リムーバブルUSBメディアにデータを書き込むことができる必要があります。

最新のデスクトップ環境のユーザーエクスペリエンスに影響を与えないことが重要です。そのため、プロセスはユーザーに対して透過的である必要があります。彼がドライブを接続すると、自動マウント、デフォルトの通知(たとえば、gnomeなど)の表示などが必要になります。

これまでに行ったこと:udev/rules.d /を変更し、以下を追加しました。

SUBSYSTEM=="block",ACTION=="add",ATTRS{removable},OWNER="root",GROUP="usbwriters",MODE="0464",RUN{program}="/sbin/blockdev --setro %N"

すごい。私はそれが半分の方法だと思います。これで、USBドライブを接続するユーザーは、読み取り専用としてマウントされます。問題は、「usbwrites」グループのユーザーが書き込み可能(読み取り/書き込み)としてマウントできるようにする必要があることです。

--options group = usbwriters(またはgid = XXXX)を渡してudiskを実行するUDEVルールを設定しようとしましたが、「GDBus.Error:org.freedesktop.UDisks2.Error.OptionNotPermitted」というエラーが表示されます。

それから私はそれをすることになっていないと結論しました、もっと良い方法があるに違いありません。

助けてくれませんか?それは簡単ではないでしょうか?

3
Alaor

最初に頭に浮かぶのは、すべてのUSBブロックデバイスがowner = root、group = usbwriters、mode = 660を取得することです。これにより、そのグループに属していないユーザーがブロックを直接書き込むことができなくなります。

次に、このグループのユーザーが、FATであるかどうかに関係なく、ファイルシステムをUSBスティックに実際にマウントできるようにするスキームを見つけます。たとえば、適切な権限を持つディレクトリ内のマウントポイントでusbmountを使用するか、USBスティックを自動的にマウントするために使用しているものを使用します。

2
dirkt