/proc/self/pagemap ファイルの権限を変更するには?

/proc/self/pagemap ファイルの権限を変更するには?

sudo chmodを使用してページマップファイルの権限を755または744に変更したいと思います。ただし、コマンドは操作が許可されていないというエラーを発生させます。その動機は、ユーザーがsudoアクセスを許可せずにページマップファイル(自分の)を読むことを許可することです。

ユーザーがsudoアクセス権を持ち、ページマップファイルを読むことができるときに機能します。ただし、ユーザーがsudoアクセス権を持たないようにしたいのですが、このページマップファイルのみを読み取ることを許可する必要があります。

ベストアンサー1

4.0 から始まる Linux カーネルには、次のものがsudo必要です。/proc/<pid>/pagemap

これは次の場所に文書化されています。 https://github.com/torvalds/linux/blob/v4.9/Documentation/vm/pagemap.txt

   Since Linux 4.0 only users with the CAP_SYS_ADMIN capability can get PFNs.
   In 4.0 and 4.1 opens by unprivileged fail with -EPERM.  Starting from
   4.2 the PFN field is zeroed if the user does not have CAP_SYS_ADMIN.
   Reason: information about PFNs helps in exploiting Rowhammer vulnerability.

基本的にCAP_SYS_ADMIN「次へ実行sudo」を意味します。

sudo setcap cap_sys_admin+ep program_that_uses_pagemap
./program_that_uses_pagemap

覚えてください/proc仮想ファイルシステムですしたがって、Linuxカーネルはセキュリティ上の理由からPFNを0に設定するため、root以外のユーザーに追加の権限を適用したり、結果を任意に変更したりすることもできます。

おすすめ記事