Как ограничить доступ пользователей только к FTP-серверу в Linux

Бывают ситуации, когда вы хотите предоставить пользователю доступ к системе только через FTP, заблокировав все остальные формы доступа, такие как SSH или вход в оболочку. Такой подход особенно полезен в средах управляемого хостинга или в общих системах, где ограничение возможностей пользователя может повысить производительность и безопасность. Чтобы глубже понять конфигурации пакетов в системах Linux, ознакомьтесь с нашей статьей о том, как проверить, установлен ли пакет в дистрибутивах на основе Debian и RHEL, или изучите современные корпоративные альтернативы, такие как AlmaLinux OS 10.
Ограничение доступа к оболочке при сохранении доступа к FTP легко реализовать с помощью встроенных функций Linux. Эти изменения гарантируют, что пользователь не сможет запустить интерактивный сеанс оболочки, но при этом у него будет доступ к FTP-сервисам по мере необходимости. Также рекомендуется ознакомиться с продвинутыми темами Linux, такими как установка последней версии ядра в Ubuntu или понимание символических и жёстких ссылок для лучшего управления системой.
Чтобы запретить доступ к оболочке, но при этом разрешить FTP, вы можете изменить оболочку пользователя по умолчанию на /usr/sbin/nologin
в системах на базе Debian или /sbin/nologin
в дистрибутивах на базе Fedora. Это отключит доступ по SSH, su
, или scp
, но при этом позволит использовать FTP или sudo
(если разрешено).
Пример на основе Debian:
sudo chsh -s /usr/sbin/nologin mike
Пример на основе Fedora:
sudo chsh -s /sbin/nologin mike
Если вы хотите полностью отключить все формы доступа, включая FTP, вы можете назначить /bin/false
в качестве оболочки пользователя. Это самый строгий вариант, который подходит для заблокированных учётных записей или пользователей, зарезервированных исключительно для системы.
sudo chsh -s /bin/false mike
Кроме того, при создании нового пользователя вы можете напрямую назначить ему оболочку без входа в систему с помощью команды useradd
:
Debian:
sudo useradd -s /usr/sbin/nologin mike
Фетровая шляпа:
sudo useradd -s /sbin/nologin mike
Универсальный Linux (полная блокировка):
sudo useradd -s /bin/false mike
Настройка пользователей с ограниченным доступом к оболочке обеспечивает более высокий уровень безопасности системы и более предсказуемое поведение пользователей, особенно в системах с несколькими ролями или конфиденциальными ресурсами. Такая настройка особенно полезна для виртуального хостинга, сервисов только с доступом по FTP или при ограничении пользователей выполнением конкретных задач.
Понимание и контроль прав пользователей на этом уровне дают администраторам возможность создавать более безопасные среды. Независимо от того, обслуживаете ли вы персональный сервер или управляете производственной системой, эти инструменты помогают найти правильный баланс между доступностью и безопасностью.
Редактор: AndreyEx