Apparmor: PHP-скрипт должен иметь права доступа "/"

У меня есть PHP-скрипт, который запускается каждый час для очистки таблицы. (Расположение: /var/www/example.php)

<?php
  $host = "mysql:host=localhost; dbname=xxx";
  $user = "xxx";
  $pass = "xxx";
  $pdo = new PDO($host, $user, $pass);
  $sql_count = "SELECT * FROM xxx WHERE (UNIX_TIMESTAMP() - 21600) > last_activity AND (name LIKE 'xxx%' OR name LIKE '%xxx%' OR name LIKE '%xxx%' OR name LIKE '%xxx%')";
  $sql_del = "DELETE FROM xxx WHERE (UNIX_TIMESTAMP() - 21600) > last_activity AND (name LIKE 'xxx%' OR name LIKE '%xxx%' OR name LIKE '%xxx%' OR name LIKE '%xxx%')";

  $rowset = $pdo -> query($sql_count);
  $row = $rowset -> fetch(PDO::FETCH_ASSOC);

  $k = 0;
  while($row == true)
  {
    $k++;
    $row = $rowset -> fetch(PDO::FETCH_ASSOC);
  }
  echo "Deleted entries: ".$k."\n";
  $rowset = $pdo -> query($sql_del);
  $pdo = null;
?>

Когда я запускаю этот PHP-скрипт (cronjob), он работает нормально, но у меня появляется следующее сообщение об ошибке apparmor:

apparmor="DENIED" operation="file_mmap" profile="/usr/bin/php7.0" name="/" pid=7982 comm="php7.0" requested_mask="rw" denied_mask="rw" fsuid=0 ouid=0

Это мой профиль Apparmor:

# Last Modified: Mon Oct 15 05:39:16 2018
#include <tunables/global>

/usr/bin/php7.0 flags=(attach_disconnected) {
  #include <abstractions/base>
  #include <abstractions/nameservice>
  #include <abstractions/openssl>
  #include <abstractions/php>

  capability dac_override,

  /lib/x86_64-linux-gnu/ld-*.so mr,
  /media/nfsfolder/** rw,
  /usr/bin/php7.0 mr,
  /var/www/folder1/** rw,
  /var/www/folder2/** rw,
  /var/www/example.php r,
  /var/www/phpmyadmin/** mrw,

}

Я не хочу давать полный доступ к корневому каталогу, поэтому было бы неплохо, если кто-нибудь увидит проблему и сможет помочь.

0 ответов

Другие вопросы по тегам