Команды управления LimitedFS

  • lfsctl --mount-lfs

    Монтировать файловую систему LimitedFS. Если LimitedFS уже смонтирована, то команда предварительно выполняет размонтирование, а потом уже монтирует LimitedFS. Эта команда выполняется при загрузке системы в сервисе limitedfs.service, поэтому обычно выполнять её вручную не требуется. Также команда создаёт пространство имён монтирования для пользователей (или пересоздаёт, если пространство имён уже создано, «убивая» процессы пользователей, которые работают в этих пространствах).

  • lfsctl --unmount-lfs

    Размонтировать файловую систему LimitedFS. Удаляет пространство имён монтирования пользователей и «убивает» процессы пользователей, которые работают внутри них. Эта команда выполняется при завершении работы системы внутри сервиса limitedfs.service, поэтому обычно выполнять её вручную не требуется.

  • lfsctl --enable-lfs

    Глобально включить LimitedFS (статус пользователей и режим LimitedFS не меняются).

  • lfsctl  --disable-lfs

    Глобально выключить LimitedFS (статус пользователей и режим LimitedFS не меняются). Например, если LimitedFS включена для нескольких (не для всех) пользователей сервера, то чтобы выключить LimitedFS для этих пользователей, можно выполнить команду lfsctl --disable-lfs. При этом список пользователей, для которых LimitedFS была включена, будет сохранён и если затем выполнить команду lfsctl --enable-lfs, то LimitedFS вернётся в прежнее состояние до выключения, а именно, будет включена для тех же пользователей, для которых она была включена до выключения. Поведение этих команд отличается от поведения команд lfsctl --enable-all и lfsctl --disable-all тем, что последние изменяют списки пользователей, для которых LimitedFS включена и выключена.

  • lfsctl  --enable-all

    Включить LimitedFS для всех существующих пользователей, при этом режим LimitedFS для вновь создаваемых пользователей не изменяется (см. также --toggle-mode).

  • lfsctl  --disable-all

    Выключить LimitedFS для всех существующих пользователей, при этом режим LimitedFS для вновь создаваемых пользователей не изменяется (см. также --toggle-mode).

  • lfsctl  --show-lfs-status

    Вывести состояние LimitedFS (включено или выключено). Это состояние изменяется командами lfsctl --enable-lfs и lfsctl --disable-lfs.

  • lfsctl  --enable USER1 USER2 USER3

    Включить LimitedFS для указанных пользователей.

  • lfsctl  --disable USER1 USER2 USER3

    Выключить LimitedFS для указанных пользователей.

  • lfsctl  --show-mode

    Показать текущий режим управления пользователями (LimitedFS включена или выключена по умолчанию для вновь создаваемых пользователей).

  • lfsctl  --toggle-mode

    Переключить текущий режим (включено или выключено по умолчанию) для вновь создаваемых пользователей. Списки пользователей с выключенной и включённой LimitedFS остаются без изменений.

  • lfsctl  --list-enabled

    Вывести список пользователей с включённой LimitedFS.

  • lfsctl  --list-disabled

    Вывести список пользователей с выключенной LimitedFS.

  • lfsctl  --show-user-status USER

    Вывести состояние LimitedFS для пользователя USER (включено или выключено).

  • lfsctl  --clean-up

    Удалить конфигурационные файлы и точки монтирования для несуществующих (удалённых) пользователей. Эта команда вызывается автоматически в post-обработчике события удаления пользователя (при удалении пользователя с помощью команды userdel).

  • lfsctl  --unmount

    Размонтировать LimitedFS для указанных пользователей (запрещает вход в LimitedFS для пользователя до перезагрузки сервиса limitedfs или до выполнения команд монтирования LimitedFS для пользователя).

  • lfsctl  --unmount-all

    Размонтировать LimitedFS для всех пользователей (запрещает вход в LimitedFS для всех пользователей до перезагрузки сервиса limitedfs или до выполнения команд монтирования LimitedFS для всех пользователей).

  • lfsctl  --remount

    Перемонтировать LimitedFS для указанных пользователей (используется для восстановления доступа в LimitedFS).

  • lfsctl  --remount-all

    Перемонтировать LimitedFS для всех пользователей (используется для восстановления доступа в LimitedFS).

  • lfsctl  --set-min-uid

    Установить MIN UID пользователей для LimitedFS.

  • lfsctl  --get-min-uid

    Отобразить текущий установленный MIN UID.

  • lfsctl --update

    Обновить (синхронизировать с реальной файловой системой) файлы, скопированные в LimitedFS, а также перегенерировать персональные файлы пользователей в директории /etc внутри LimitedFS.

ВАЖНОЕ ЗАМЕЧАНИЕ

Команда lfsctl не изменяет статус сервиса limitedfs, отображаемый командой systemctl status limitedfs. Например, команда lfsctl --unmount-lfs выполняет размонтирование LimitedFS точно так же, как и команда systemctl stop limitedfs, однако, команда lfsctl не изменяет статус сервиса limitedfs. Аналогично, команда lfsctl --mount-lfs выполняет монтирование LimitedFS точно так же, как и команда systemctl start limitedfs, но не изменяет статус сервиса limitedfs.

Выполнение команд systemctl start limitedfs и systemctl stop limitedfs зависит от текущего статуса сервиса limitedfs. Например, если команда systemctl status limitedfs выводит, что сервис работает, то команда systemctl start limitedfs не сделает ничего и не выполнит монтирование LimitedFS, поскольку считается, что сервис limitedfs уже работает.

Аналогично, если команда systemctl status limitedfs выводит, что сервис остановлен, то команда systemctl stop limitedfs не сделает ничего и не выполнит размонтирование LimitedFS, поскольку считается, что сервис limitedfs уже остановлен.

В результате, если использовать сразу обе команды lfsctl и systemctl, то может возникнуть несоответствие между статусом сервиса limitedfs и фактическим состоянием LimitedFS.

В качестве решения рекомендуется использовать команду systemctl restart limitedfs вместо команд systemctl start limitedfs или lfsctl --mount-lfs. Или после команды lfsctl --mount-lfs выполнять команду systemctl start limitedfs, чтобы гарантировать установку правильного статуса для сервиса limitedfs.

Для размонтирования LimitedFS рекомендуется сначала выполнить команду systemctl stop limitedfs, а после неё выполнить команду lfsctl --unmount-lfs.

Аналогично, глобальное выключение LimitedFS можно выполнить следующим образом:

$ sudo systemctl stop limitedfs && sudo lfsctl --disable-lfs

Глобальное включение LimitedFS можно выполнить следующим образом:

$ sudo lfsctl --enable-lfs && sudo systemctl start limitedfs