37.3. SystemTap を実行する特権
SystemTap スクリプトを実行するには、システム権限の昇格が必要になりますが、場合によっては、権限のないユーザーが自身のマシン上で SystemTap インストルメンテーションを実行する必要がある場合があります。
ユーザーが root アクセスなしで SystemTap を実行できるようにするには、以下の 両方 のユーザーグループにユーザーを追加します。
stapdevこのグループのメンバーは
stapを使用して SystemTap スクリプトを実行したり、staprunを使用して SystemTap インストルメンテーションモジュールを実行したりできます。stapの実行では、SystemTap スクリプトがカーネルモジュールにコンパイルされ、それがカーネルに読み込まれます。これにはシステムに対する権限の昇格が必要となり、stapdevメンバーにはそれが付与されます。ただし、この権限はstapdevメンバーに有効な root アクセスも付与することになります。このため、stapdevグループのメンバーシップは、root アクセスを信頼して付与できるメンバーにのみ許可してください。stapusr-
このグループのメンバーが SystemTap インストルメンテーションモジュールの実行に使用できるのは、
staprunのみです。また、これらのモジュールは/lib/modules/kernel_version/systemtap/ディレクトリーからしか実行できません。このディレクトリーの所有や書き込みが可能なのは root ユーザーだけでなければなりません。