Настя и сборник весёлых историй
Оглавление:
- Создание группы SFTP
- Добавление пользователей в группу SFTP
- Настройка SSH
- Тестирование конфигурации
- Вывод
В этом руководстве мы расскажем, как настроить среду SFTP Chroot Jail, которая будет ограничивать пользователей их домашними каталогами. Пользователи будут иметь доступ только по SFTP, доступ по SSH будет отключен. Эти инструкции должны работать для любого современного дистрибутива Linux, включая Ubuntu, CentOS, Debian и Fedora.
Создание группы SFTP
Вместо того, чтобы настраивать сервер OpenSSH для каждого пользователя в отдельности, мы создадим новую группу и добавим всех наших пользователей в эту группу.
Выполните следующую команду
groupadd
чтобы создать
sftponly
пользователей
sftponly
:
sudo groupadd sftponly
Вы можете назвать группу, как хотите.
Добавление пользователей в группу SFTP
Следующим шагом является добавление пользователей, которых вы хотите ограничить, в группу
sftponly
.
Если это новая настройка, а пользователь не существует, вы можете создать новую учетную запись, набрав:
sudo useradd -g sftponly -s /bin/false -m -d /home/username username
- Опция
-g sftponlyдобавит пользователя в группу sftponly. Опция-s /bin/falseустанавливает оболочку входа пользователя. Установив для оболочки входа/bin/falseпользователь не сможет войти на сервер через SSH. Опции-m -d /home/usernameуказывают useradd создать домашний каталог пользователя.
Установите надежный пароль для вновь созданного пользователя:
sudo passwd username
В противном случае, если пользователь, которого вы хотите ограничить, уже существует, добавьте его в группу
sftponly
и измените оболочку пользователя:
sudo usermod -G sftponly -s /bin/false username2
Домашний каталог пользователя должен принадлежать пользователю root и иметь права доступа
755
:
sudo chown root: /home/username
sudo chmod 755 /home/username
Поскольку домашние каталоги пользователей принадлежат пользователю root, эти пользователи не смогут создавать файлы и каталоги в своих домашних каталогах. Если в доме пользователя нет каталогов, вам необходимо создать новые каталоги, к которым у пользователя будет полный доступ. Например, вы можете создать следующие каталоги:
sudo mkdir /home/username/{public_html, uploads}
sudo chmod 755 /home/username/{public_html, uploads}
sudo chown username:sftponly /home/username/{public_html, uploads}
Если веб-приложение использует каталог пользователя
public_html
качестве корневого документа, эти изменения могут привести к проблемам с разрешениями. Например, если вы работаете с WordPress, вам нужно будет создать пул PHP, который будет работать как пользователь, владеющий файлами, и добавить веб-
sftponly
группу
sftponly
.
Настройка SSH
SFTP является подсистемой SSH и поддерживает все механизмы аутентификации SSH.
Откройте файл конфигурации SSH
/etc/ssh/sshd_config
текстовом редакторе:
sudo nano /etc/ssh/sshd_config
Поиск строки начинается с
Subsystem sftp
, обычно в конце файла. Если строка начинается с хеша
#
удалите хеш
#
и измените его следующим образом:
Subsystem sftp internal-sftp
Ближе к концу файла следующий блок настроек:
Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
Директива
ChrootDirectory
указывает путь к каталогу chroot.
%h
означает домашний каталог пользователя. Этот каталог должен принадлежать пользователю root и недоступен для записи любому другому пользователю или группе.
Будьте особенно осторожны при изменении файла конфигурации SSH. Неправильная конфигурация может привести к сбою службы SSH.
Когда вы закончите, сохраните файл и перезапустите службу SSH, чтобы применить изменения:
sudo systemctl restart ssh
В CentOS и Fedora ssh-сервис называется
sshd
:
Тестирование конфигурации
Теперь, когда вы настроили SFTP chroot, вы можете попытаться войти на удаленный компьютер через SFTP, используя учетные данные пользователя chroot. В большинстве случаев вы будете использовать настольный SFTP-клиент, такой как FileZilla, но в этом примере мы будем использовать команду sftp.
Откройте соединение SFTP с помощью команды sftp, за которой следуют имя пользователя удаленного сервера и IP-адрес сервера или имя домена:
sftp [email protected]
Вам будет предложено ввести пароль пользователя. После подключения удаленный сервер отобразит подтверждающее сообщение и приглашение
sftp>
:
[email protected]'s password: sftp>
Запустите команду
pwd
, как показано ниже, и, если все работает, как ожидается, команда должна вернуть
/
.
sftp> pwd Remote working directory: /
Вы также можете перечислить удаленные файлы и каталоги с помощью команды
ls
и вы должны увидеть каталоги, которые мы создали ранее:
Вывод
Из этого руководства вы узнали, как настроить среду SFTP Chroot Jail на сервере Linux и ограничить доступ пользователей к их домашнему каталогу.
По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию добавляет дополнительный уровень безопасности вашему серверу, снижая риск автоматических атак. Вы также можете настроить аутентификацию на основе ключей SSH и подключиться к серверу без ввода пароля.
ssh sftp securityКак настроить, настроить и использовать Родительский контроль в Windows 7
Узнайте, как включить, отключить, настроить и использовать функцию Родительский контроль в Windows 7 для мониторинга и управления действиями в Интернете для детей.
Как настроить командную строку, настроить ее размер окна на Windows 7
Ознакомьтесь с полным руководством по настройке командной строки в Windows 7.
Как настроить Mac как управление полетом в Windows
Узнайте, как получить Mac Like Mission Control на компьютерах с Windows.







