Я в песочнице R на Ubuntu 11.10, используя apparmor.Одна вещь, которую я заметил, состоит в том, что для каждого png или pdf-графика, который создает R, он показывает предупреждение:
(process:4589): GLib-WARNING **: getpwuid_r(): failed due to: Permission denied.
Однако, хотя доступ для чтения к / etc / passwd запрещен, кажется, что все работает отличнохорошо.Я не планирую давать R эти разрешения, так как это кажется ненужным для того, что я хочу сделать.Однако повторяющееся предупреждение несколько раздражает.
Быстрый grep "getpwuid" в R / src показывает три места, где он называется:
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 для создания графика?
- Можно ли как-то помешать R попытаться вызвать getpwuid_r () при записина устройство png или pdf (без перекомпиляции R)?