Сделать скрытые папки невидимыми sftp

Сделать скрытые папки невидимыми sftp

Моему клиенту нужен был sftp-сервер для обмена файлами, поэтому я создал sftp-сервер на машине amazon ec2 ubuntu и добавил разных пользователей.

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

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

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

решение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-third-party-and-restricting-that-account-to-allow-only-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 [email protected]

Установить 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
[email protected]

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

sudo groupadd sftponly

sudo adduser newusername sftponly

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

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, и поделитесь ключом с пользователем.

Связанный контент