Skip to content

Пользователи, учётные записи хоста, безопасность ​

Пользователи nkt ​

Пользователи

Учётные записи самого nkt: роли admin и viewer (только чтение), создание, отключение, смена пароля, сброс сессий. Свою учётку понизить или удалить нельзя — чтобы не потерять доступ случайно. Вход возможен и системной учётной записью хоста (PAM).

Из командной строки:

bash
sudo nkt passwd                      # сменить пароль администратора
sudo nkt passwd ops -role viewer     # учётка только для чтения
sudo nkt passwd -random              # сгенерировать пароль (печать — только в терминал)
sudo nkt users                       # кто есть и кто когда входил

nkt passwd пишет прямо в базу — этим же лечится «забыл пароль».

Учётные записи хоста ​

Системные пользователи с оболочкой, домом, группами и sudo. В списке — ключи, дополнительные группы (docker — оранжевым, sudo/wheel — красным), права и оболочка; пользователь, под которым входит хаб, помечен «хаб».

«Добавить пользователя» и «Править» открывают одно окно:

  • Оболочка — из /etc/shells (или nologin).
  • sudo без пароля — правило nkt /etc/sudoers.d/nkt-<имя> (проверяется visudo до записи). sudo, выданный группой или чужим правилом, галочка не трогает.
  • Группы — галочками: сверху часто нужные, если они есть на хосте (docker, sudo, wheel, adm, systemd-journal, lxd, libvirt, www-data), ниже — все остальные с поиском. При создании пользователь дописывается в отмеченные группы, при правке список заменяется (usermod -G).
  • Ключи — снять галочку у ненужного (строка уходит из authorized_keys, остальные остаются как были) и добавить новые, по одному на строку. При создании ключ необязателен.

Перед записью окно показывает дифф «сейчас → станет».

Группа docker

Член группы docker запускает контейнер с корнем хоста внутри — это права root. Окно предупреждает об этом при выборе группы.

Удаление — userdel и правило sudo от nkt; по галочке — вместе с домашним каталогом (userdel -r). root и пользователя хаба удалить нельзя, а снять пользователю хаба ключ, правило sudo или группу sudo/wheel можно только с отдельным подтверждением: хаб может потерять доступ к хосту. Пользователь хаба узнаётся по NKT_TERMINAL_USER и по правилу /etc/sudoers.d/nkt-hub.

Безопасность ​

  • Пароли — argon2id; сессии — случайные отзываемые токены; cookie HttpOnly, SameSite=Lax; защита от перебора.
  • Слушает только 127.0.0.1; NKT_COOKIE_SECURE=true по умолчанию — без HTTPS браузер не примет cookie.
  • NKT_ALLOW_MUTATIONS=false — режим только чтения для всего приложения.
  • Работает под systemd в песочнице (ProtectSystem=strict), с контролируемым выходом из неё только для команд, которым нужен доступ к системе; диагностика песочницы — в интерфейсе.
  • Каждое изменение — в журнале действий.

DANGER

Доступ к nkt равносилен root на хосте. Не открывайте его в интернет без отдельного слоя аутентификации.