Быстро, доступно, безопасно!
Магазин готовых сайтов

Работа с пользователями в FreeBSD 14.3

Настройка сервера на FreeBSD 14.3 -> Пользователи

Показать всех пользователей системы: pw usershow -aДобавить пользователя в систему FreeBSD: adduserдобавить пользователя, когда его домашний каталог уже существует: pw useradd username -d /home/existing_home_dir -s /bin/shзадать или изменить пароль пользователя: passwd username


Квоты

Каждому пользователю системы FreeBSD должна быть назначена квота на использование дискового пространства, чтобы исключить переполнение файловой системы одним пользователем и как следствие — отказ в записи для других, сбои сервисов (логи, почта, базы), деградация/остановка приложений и риск потери данных.

Устанавливаем пользователю "username1" квоту в 500 Мб: zfs set userquota@username1=500M zroot/homeПроверяем установленные квоты пользователей: zfs userspace zroot/homeОтвет будет примерно таким: zfs userspace zroot/home
TYPE         NAME       USED   QUOTA  OBJUSED  OBJQUOTA
POSIX User   username1  31.2M  250M   628      none

Обратите внимание, что на количество объектов (файлы, каталоги, ссылки) квота OBJQUOTA не установлена.


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

Для этого редактируем файл конфигурации SSHD: vim /etc/ssh/sshd_configв конец файла добавляем следующие строки, чтобы настроить ограничение для пользователя: Match User user1
    ChrootDirectory /home/user1
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

Эта конфигурация делает следующее:

  • Match User user1 указывает, что последующие строки будут применяться только к пользователю user1.
  • ChrootDirectory /home/user1 ограничивает пользователя user1 домашним каталогом /home/user1, делая его корневым каталогом для этого пользователя.
  • X11Forwarding no запрещает перенаправление X11 (графический интерфейс).
  • AllowTcpForwarding no запрещает перенаправление TCP.
  • ForceCommand internal-sftp ограничивает пользователя выполнением только SFTP операций, не разрешая получение оболочки. Это хорошо подходит для ограничения доступа к файловой системе через SSH.

Для работы ChrootDirectory требуется, чтобы у домашнего каталога пользователя и всех его родительских каталогов были права доступа, установленные строго в соответствии с требованиями безопасности SSH. Домашний каталог пользователя и все каталоги на пути к нему должны принадлежать пользователю root и не должны быть доступны для записи группе или другим пользователям.

Меняем владельца каталога пользователя: chown root:wheel /home/user1и права доступа к каталогу: chmod 755 /home/user1

Перезапустить службу SSHD для применения изменений: service sshd restart

При использовании ChrootDirectory, мы ограничили пользователя только SFTP доступом через параметр ForceCommand internal-sftp. Подключение по SSH будет невозможно (что нам и требуется). Команда ForceCommand internal-sftp запрещает выполнение любых команд, кроме SFTP, что означает, что SSH-сессии будут немедленно закрыты сервером.

Метки: user; пользователи

Опрос

В каком году был сделан ваш сайт? (голосов: 24)

  • до 2015 года - 23 (96%)
  • в 2015 - 0 (0%)
  • в 2016 - 0 (0%)
  • в 2017 - 0 (0%)
  • в 2018 - 1 (4%)
  • в 2019 - 0 (0%)