бесплатно с городских телефонов Украины
Киев | 044 392-73-56 |
Харьков | 057 728-49-18 |
Днепр | 056 790-86-00 |
Одесса | 048 734-56-54 |
Львов | 032 229-58-50 |
Николаев | 051 270-12-63 |
Полтава | 053 262-53-74 |
Запорожье | 061 228-69-91 |
SFTP (SSH File Transfer Protocol) – это протокол передачи файлов SSH, позволяющий безопасным способом передавать файлы на сервер используя зашифрованное SSH-соединение.
Рекомендуется создать не root пользователя с доступом к sudo.
В инструкции используется текстовый редактор nano, для установки которого требуется выполнить команду:
yum install nano
Создаем нового пользователя newuser с правами на передачу файлов:
sudo adduser newuser
Устанавливаем пароль для нового пользователя:
sudo passwd newuser
Создаем каталог для передачи файлов:
sudo mkdir -p /var/sftp/uploads
Передаем права на /var/sftp пользователю root:
sudo chown root:root /var/sftp
Передаем пользователю root право на запись в данном каталоге. У остальных пользователей буду права только на чтение и исполнение:
sudo chmod 755 /var/sftp
Передаем каталог uploads пользователю newuser:
sudo chown newuser:newuser /var/sftp/uploads
Открываем конфигурационный файл сервера SSH:
sudo nano /etc/ssh/sshd_config
после чего в конце файла добавляем следующие строки (newuser необходимо заменить на собственного пользователя):
Match User newuser
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter
Перезапускаем сервис:
sudo systemctl restart sshd
Теперь SSH-сервер ограничивает доступ к передаче файлов, поддерживая её только для пользователя newuser.
Войти на сервер как newuser с помощью обычного доступа по SSH больше невозможно. Для проверки выполним команду:
ssh newuser@localhost
Чтобы убедиться, что пользователь newuser может использовать SFTP для передачи файлов, выполняем команду:
sftp newuser@localhost
Выполняем команду ls для просмотра содержимого каталога:
ls
Видим созданную ранее папку uploads
Чтобы убедиться, что для пользователя newuser ограничен доступ к каталогам высшего уровня, выполняем команду перехода на уровень вверх:
cd ..
Данная команда ничего не покажет, но если мы повторно выполним команду ls , мы увидим все ту же папку uploads, что значит переход на уровень выше не был произведен.
См.также:
Ограничение доступа к оболочке с помощью SFTP