Я запускаю сервер на Ubuntu Server 14.04. Я хочу создать пользователя, который сможет подключаться через sftp, скачать 1 файл и разорвать соединение. Пользователь не должен быть в состоянии сделать что-либо еще. Просмотр системных файлов или настроек, ни записей командной строки, ничего. Авторизуйтесь, скачайте файл, gg. Когда файл обновится, войдите в систему, загрузите его, gg. Файл каждый раз находится в одном и том же каталоге и каждый раз имеет одно и то же имя, но обновляется.
РЕДАКТИРОВАТЬ: Я пытаюсь реализовать ваше решение, но я обнаружил некоторые проблемы: В файле конфигурации ssh в моей конфигурации есть строка «allow groups sshdusers». Я добавил sftp_users. Но впереди еще одна проблема. sudo chown root.root / ubuntu / не является оптимальным для меня, потому что root не может выполнить ssh и записать в каталог файл, который должен загрузить «ubuntu» (мы назовем его user1. Я хочу, чтобы user1 мог писать на каталог и Ubuntu только для чтения. Если я изменяю sudo chown user1.user1 / ubuntu /, и я пытаюсь sftp с пользователем Ubuntu, соединение не устанавливается. Если я оставляю его root, как вы, я могу подключиться, но я не вижу currentdirectory я вижу только / и использую filezilla. Я даже добавил user1 в sftp_users, но все еще безуспешно.
Большое спасибо
Давайте запустимся
Создайте пользователя ubuntu
sudo useradd ubuntu
Сделайте пароль
sudo passwd ubuntu
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Создайте для SFTP только группу
xxx@xxx:~$ sudo groupadd sftp_users
Добавьте к пользователю "человечность" для SFTP только группа
xxx@xxx:~$ sudo usermod -G sftp_users ubuntu
Сделайте dir для sftp
доступ
sudo mkdir /ubuntu
Измените владельца, потому что разрешение чтения-записи
sudo chown root.root /ubuntu/
Добавьте разрешение
sudo chmod 755 /ubuntu/
Править /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
Прокомментируйте и добавьте строку как ниже
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Добавьте в последнем
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /ubuntu
ForceCommand internal-sftp
Перезапуск ssh
сервис
sudo service ssh restart
С этим cenfiguration Вы можете ssh в папку ubuntu
и получите файлы. Не может put
или delete
Попробовать.
Редактирование 1
К sftp в правильном редактировании папки /etc/passwd
. Строка изменения для пользователя ubuntu
быть похожими на это
sudo nano /etc/passwd
ubuntu:x:1001:1001::/ubuntu:
Это изменит пользовательскую человечность домашняя папка на Вашу sftp папку сервера.
Включение
root
учетная запись не является хорошей идеей.
Вы можете ssh к серверу с user1
.
Если Вы добавляете пользователя user1
в sudoer group
Вы сможете записать в папке /ubuntu/
и набор соответствующее разрешение
sudo adduser user1 sudo
Сделайте папку, запишите в человечности папки. После действий необходимо установить разрешение для пользователя ubuntu
. Самый легкий путь к разрешению набора agai к 755
sudo chmod 755 -R /ubuntu/
- R - опция даст разрешение чтения всех файлов и dir для пользователя ubuntu