Известные проблемы

  • Автоматическое включение LimitedFS при создании нового пользователя.

    Для режима, когда LimitedFS включена по умолчанию для вновь создаваемых пользователей, в пакет limited-fs добавлен скрипт обработки создания пользователя, чтобы автоматически настраивать LimitedFS для нового пользователя. Такие обработчики поддерживаются для утилит useradd и adduser. В Linux также есть утилита newusers, которой тоже можно создавать новых пользователей, но эта утилита не предоставляет возможность добавлять скрипты обработчики события создания пользователя. Поэтому, если пользователь создан утилитой newusers, то чтобы для этого пользователя работала LimitedFS, требуется выполнить команду lfsctl  --enable $USERNAME.

  • Использование пространства имён для сервисов systemd.

    Если в unit-файлах сервисов, с которыми интегрируется LimitedFS, присутствуют директивы, которые включают создание собственного пространства имён монтирования для этих сервисов, то LimitedFS не будет работать для этих сервисов. LimitedFS интегрируется с сервисами crond, ssh и httpd. Чтобы решить данную проблему, рекомендуется создать override unit file для этих сервисов со следующим содержимым:

    [Service]
    ProtectHome=false
    PrivateDevices=false
    PrivateMounts=false
    PrivateTmp=false
    ProtectSystem=false
    ReadOnlyDirectories=
    ReadWriteDirectories=
    InaccessibleDirectories=
    

    После внесения изменений в конфигурацию сервисов, требуется перезапустить эти сервисы!

  • Проблема с дисковой квотой на XFS.

    В файловой системе XFS, если у пользователя превышена дисковая квота, то монтирование и вход в LimitedFS для этого пользователя могут заканчиваться ошибкой. В ближайшем будущем эта проблема будет решена. В файловой системе EXT4 такой проблемы нет.

  • LDAP/NIS.

    LimitedFS в настоящее время поддерживает только локальную базу пользователей (/etc/passwd) и не поддерживает LDAP/NIS.

  • Сокеты в директории /tmp.

    В LimitedFS директория /tmp по умолчанию изолирована от реальной файловой системы. У каждого пользователя своя виртуальная директория /tmp. Поэтому, если в реальной системе имеются сокеты внутри директории /tmp, то пользователи не смогут получить доступ к этим сокетам внутри LimitedFS. Возможны следующие решения:

    • Перенастроить сервис и переместить сокет в директорию, которая не является виртуализированной изолированной директорией внутри LimitedFS, то есть такие монтирования не имеют символа @ в начале строки файла конфигурации монтирований. Изолированные директории — это, например, /tmp, /var/tmp. Неизолированные директории, в которые можно помещать сокеты — это, например, директория /run. Обратите внимание, что директория должна быть смонтирована в режиме read-write, а не только read-only, то есть монтирование не должно иметь символа ! в начале строки файла конфигурации. Этот вариант решения проблемы является рекомендуемым.

    • Отключить изоляцию директорий /tmp. Этот вариант решения не рекомендуется, поскольку ухудшает изоляцию пользователей и безопасность.

  • Конфликт с SELinux.

    Для корректной работы системы изоляции требуется отключить SELinux. Для этого нужно установить параметр SELINUX=disabled в файле /etc/selinux/config и перезагрузить сервер.