Чтобы создать пользователя SFTP в Linux, вы можете следовать систематическому подходу, который обеспечит пользователю ограниченный доступ и безопасную передачу файлов.
Обзор SFTP
SFTP (SSH File Transfer Protocol) – это защищенная версия File Transfer Protocol (FTP), которая использует SSH (Secure Shell) для шифрования данных, передаваемых по сети, что обычно используется для безопасной передачи файлов между клиентом и сервером.
Создание нового пользователя SFTP
Сначала вам нужно создать новую учетную запись пользователя sftp, которая будет использоваться для входа в систему и передачи файлов с помощью SFTP.
sudo adduser sftpuser

Создание каталога для SFTP
Далее вам нужно создать каталог, в который пользователь сможет загружать и скачивать файлы. Этот каталог будет его домашним каталогом.
sudo mkdir -p /home/sftpuser/uploads
Чтобы обеспечить безопасность, установите правильные разрешения для каталогов. Пользователь должен иметь доступ только к своему собственному каталогу и не иметь возможности переходить в другие части системы.
sudo chown root:root /home/sftpuser sudo chmod 755 /home/sftpuser
Затем измените права собственности на каталог uploads:
sudo chown sftpuser:sftpuser /home/sftpuser/uploads

Настройка SSH для SFTP
Вам нужно отредактировать файл конфигурации сервера SSH, чтобы настроить SSH на разрешение SFTP для нового пользователя.
sudo nano /etc/ssh/sshd_config
Добавьте следующие строки в конец файла, чтобы настроить доступ к SFTP:
Match User sftpuser ChrootDirectory /home/sftpuser ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no

Вот что делает каждая строка:
- Match User sftpuser применяет эти настройки только к sftpuser.
- ChrootDirectory /home/sftpuser ограничивает доступ пользователя к /home/sftpuser .
- ForceCommand internal-sftp заставляет пользователя использовать только SFTP, запрещая доступ к оболочке SSH.
- AllowTcpForwarding no и X11Forwarding no – это дополнительные меры безопасности, не позволяющие пользователю использовать другие возможности SSH.
После сохранения изменений перезапустите службу SSH, чтобы применить изменения.
sudo systemctl restart ssh
Тестирование пользователя SFTP
Теперь вы можете протестировать подключение к серверу SFTP, используя SFTP-клиент или командную строку для подключения к серверу.
sftp sftpuser@your_server_ip
После подключения вы можете использовать команды SFTP для навигации и управления файлами в каталоге uploads.
Например, используйте команду ls
для просмотра списка файлов и put для загрузки файлов.
sftp> ls sftp> cd uploads sftp> get remotefile.txt sftp> put lists.txt

Заключение
Создание пользователя SFTP в Linux – это простой процесс, который повышает безопасность и улучшает возможности управления файлами. Выполнив эти шаги, вы сможете создать специального пользователя для доступа к SFTP, обеспечив безопасность передачи файлов и ограничение доступа к соответствующим каталогам.
Комментарии (0)