Михаил Красильников (mekras) wrote,
Михаил Красильников
mekras

  • Location:
  • Mood:
  • Music:

Как в openSUSE защитить атрибуты файла от изменения

Я пользуюсь openSUSE, и как-то мне понадобилось изменить права доступа к папке /var/lib/php7, где PHP размещает файлы сессий. Однако, вот беда, при каждом обновлении PHP права возвращаются к исходному состоянию. Поиски подходящей настройки zypper ничего не дали. И тогда я нашёл решение, которое может пригодиться и в разных иных случаях — chkstat + incron.

chkstat — это скрипт, идущий вместе с openSUSE, который проверяет и исправляет права доступа к файлам.

В файле /etc/permissions.local указываем нужные параметры доступа к файлам:

/var/lib/php7      root:www    0777
/etc/phpMyAdmin    root:www    0755

incron — это демон, использующий возможности системы inotify чтобы выполнять произвольные действия когда производятся какие-либо опрерации над заданными файлами. На момент написания, установить пакет пакет можно только из дополнительных хранилищ. После установки включаем демона командой:

root@host ~# systemctl enable incron

Настраивается всё очень просто. В папке /etc/incron.d надо создать файл, например с именем «php» и следующим содержимым:

/var/lib/php7 IN_ATTRIB /usr/bin/chkstat --system
/etc/phpMyAdmin IN_ATTRIB /usr/bin/chkstat --system

Здесь:

  • /var/lib/php7 — файл, за которым надо наблюдать;

  • IN_ATTRIB — операции, за которыми следаить, в нашем случае — изменение атрибутов;

  • /usr/bin/chkstat — команда, которая проверит и исправит права.

Всё :-)
Tags: incron, linux, opensuse, php
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments