特定のプロセスグループのみがアクセスできるLinuxデバイスノード

StackOverflow https://stackoverflow.com/questions/1811246

  •  06-07-2019
  •  | 
  •  

質問

register_chardev()を実行するデバイスドライバーモジュールがあります。ドライバのopen()関数で、デバイスノードを開こうとしているプロセスのpidまたはpgidを特定できるようにしたいと思います。これは可能ですか?誰がどこから始めればいいのか考えていますか?

同じセッション内にない限り、プロセスを新しいプロセスグループに移行できないため、これにより、デバイスノードでアプリケーションを使用できるようにデバイスノードをある程度保護する必要があります。

役に立ちましたか?

解決

カーネルは、この種のポリシー決定を行うのに適切な場所ではありません。デバイスノードを開くことができるユーザーにアクセス許可を設定する正しい場所は、ファイルシステムのデバイスノードファイルに通常の所有権とアクセス許可を設定することです。

本当に心がセットされている場合、 current-> pid はPID、 current-> tgid はスレッドグループID、 current-> group_leader-> pid はPGIDです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top