特定のプロセスグループのみがアクセスできるLinuxデバイスノード
-
06-07-2019 - |
質問
register_chardev()を実行するデバイスドライバーモジュールがあります。ドライバのopen()関数で、デバイスノードを開こうとしているプロセスのpidまたはpgidを特定できるようにしたいと思います。これは可能ですか?誰がどこから始めればいいのか考えていますか?
同じセッション内にない限り、プロセスを新しいプロセスグループに移行できないため、これにより、デバイスノードでアプリケーションを使用できるようにデバイスノードをある程度保護する必要があります。
解決
カーネルは、この種のポリシー決定を行うのに適切な場所ではありません。デバイスノードを開くことができるユーザーにアクセス許可を設定する正しい場所は、ファイルシステムのデバイスノードファイルに通常の所有権とアクセス許可を設定することです。
本当に心がセットされている場合、 current-> pid
はPID、 current-> tgid
はスレッドグループID、 current-> group_leader-> pid
はPGIDです。
所属していません StackOverflow