apparmor を使用して Ubuntu 11.10 で R をサンドボックス化しています。私が気づいたことの 1 つは、R が作成するすべての png または pdf プロットに対して、次の警告が表示されることです。
(process:4589): GLib-WARNING **: getpwuid_r(): failed due to: Permission denied.
ただし、/etc/passwd への読み取りアクセスが拒否されても、すべてが正常に機能しているようです。私がやりたいことには不要に思えるので、R にこれらのアクセス許可を与える予定はありません。ただし、繰り返される警告はやや面倒です。
R/src で "getpwuid" を簡単に grep すると、それが呼び出されている 3 つの場所が示されます。
r-base-2.14.2/src/main/platform.c: stpwd = getpwuid(sb.st_uid);
r-base-2.14.2/src/unix/sys-unix.c: stpwd = getpwuid(getuid());
r-base-2.14.2/src/unix/sys-unix.c: stpwd = getpwuid(geteuid());
しかし、これが何をするのかは私にはよくわかりません。
質問:
- プロットを作成するために R が passwd ファイルにアクセスする必要があるのはなぜですか?
- png または pdf デバイスへの書き込み時に (R を再コンパイルせずに) R が getpwuid_r() を呼び出さないようにする方法はありますか?