char デバイスのドライバーである小さな Linux モジュールを作成しています。私のコードでは、デバイス自体よりもデバイスクラスを作成しているため、システムに /dev ファイルが作成されます。問題は、/dev ファイルにルート権限しかなく、ユーザーがそのファイルに対する読み取り、書き込み、実行のいずれの権限も持っていないことです。/dev ファイルの権限を変更したいと考えています。
Web で回答を検索したところ、udev ファイルを変更することがわかりましたが、モジュールがカーネルに読み込まれるときに動的に変更する権限が必要なため、この解決策は私の場合には機能しません。私が書いているモジュールは、常に自分のマシンで実行されるとは限らないため、「その場で」アクセス許可を変更する必要があります。
major_number_firewall = register_chrdev(0, device_name_firewall, &my_file_implementation_firewall);
device_class = class_create(THIS_MODULE, class_name_firewall);
log_file_device = device_create(device_class, NULL, MKDEV(major_number_firewall, MINOR_LOG), NULL, device_name_log_file);
権限を変更する機能はありますか?