2

Моему клиенту требовался сервер sftp для обмена файлами, поэтому я создал сервер sftp на машине с Amazon U2 Ubuntu и добавил разных пользователей.

Теперь им нужно, чтобы при входе пользователя на сервер sftp через winscp или через какой-либо другой клиент они могли видеть только свои собственные папки в домашнем каталоге, остальные папки не должны быть им видны. Также в своих домашних каталогах они не должны видеть никаких файлов или папок, начинающихся с точки (.).

Это возможно? например, смотрите ссылку на скриншот ниже, я просто хочу, чтобы мой клиент видел / получал доступ к папке Transcript, больше ничего.

http://i.stack.imgur.com/kEHfW.png

1 ответ1

-1

Спасибо всем, наконец, эта ссылка помогла мне достичь моей цели. http://rmtheis.wordpress.com/2011/07/03/setting-up-an-sftp-site-on-amazon-web-services-ec2-creating-an-account-to-share-with-a- третья сторона, и ограничивающий-что-счет-к-разрешительного только-SFTP /

Это состоит из трех частей:

  • настройка сайта sftp на EC2
  • создание новой учетной записи пользователя
  • настройка новой учетной записи пользователя для работы с ftp только для чтения, без привилегий ssh

Это предназначено для передачи файлов доверенным пользователям и от них. Я использую это как адекватное решение для периодической отправки очень больших файлов клиентам, используя экземпляр EC2, выделенный для этой задачи. После завершения передачи я выключаю или удаляю экземпляр.

Настройте сервер с помощью Amazon Web Services EC2, выбрав Ubuntu Amazon Machine Image (AMI). (Вы можете найти AMI, используя http://cloud.ubuntu.com/ami/. Вы можете выбрать тот, который соответствует критериям бесплатного уровня, например, ami-1aad5273)

SSH в сервер:

ssh -i keyfile.pem ubuntu@ec2-hostname.amazonaws.com

Установите vsftpd:

sudo apt-get install vsftpd

Создать нового пользователя:

sudo adduser newusername

С помощью Консоли управления AWS создайте новую пару ключей для стороннего пользователя.

Используя puttygen, импортируйте новый ключ (keyname.pem) и скопируйте его открытый ключ.

На сервере создайте каталог .ssh для нового пользователя:

sudo mkdir /home/newusername/.ssh

Вставьте открытый ключ в /home/newusername/.ssh/authorized_keys .

Установить разрешения:

sudo chmod 700 /home/newusername/.ssh

sudo chmod 600 /home/newusername/.ssh/authorized_keys

sudo chown -R newusername:newusername /home/newusername/.ssh

Протестируйте логин sftp нового пользователя с вашего локального компьютера:

sftp -o IdentityFile=newkeypair1.pem
newusername@ec2-hostname.amazonaws.com

Создайте новую группу для пользователей, которые должны ограничиваться использованием только sftp:

sudo groupadd sftponly

sudo adduser newusername sftponly

Отредактируйте /etc/ssh/sshd_config и измените строку подсистемы на:

Subsystem sftp internal-sftp

и добавьте эти строки в конец /etc/ssh/sshd_config:

Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

Задайте права доступа, не затирая файлы, необходимые для аутентификации на основе ключей в EC2:

sudo chown root:root /home/newusername

sudo chown -R newusername:newusername /home/newusername/.ssh

sudo /etc/init.d/ssh restart

Теперь новый пользователь может подключаться по sftp, но не по ssh. Поместите файлы, которыми вы хотите поделиться, в /home/newusername и поделитесь ключом с пользователем.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .