Попытка установить пользователя SFTP с ограниченным доступом

Я надеялся, что кто-то мог помочь мне с этой проблемой

"Пытаясь установить пользователя SFTP с ограниченным доступом".

Я запускаю Ubuntu 16.04.2 x64 на сервере DigitalOcean. Я отправил это на форумах DigitalOcean также.

Текущая установка

  • Я имею, устанавливают мое использование сервера ServerPilot.
  • system user назван serverpilot
  • serverpilot имеет полномочия пользователя root,
  • home папка расположена в: /srv/users/serverpilot
  • public папка расположена в: /srv/users/serverpilot/apps/test-app/public/

Что я хочу сделать

Я хочу добавить второго пользователя, но ограничить то, что может сделать пользователь:

  • Только получите доступ к единственной названной папке newsletters, это будет в public папка.
  • Пользователь должен смочь загрузить, удалить и переименовать файлы через SFTP
  • Пользователь не должен мочь перейти далеко от newsletters, папка

Это - полный путь к newsletters папка: /srv/users/serverpilot/apps/test-app/public/newsletters

Что я сделал до сих пор

Я следовал этому руководству, Как я ограничиваю пользователя определенным каталогом? Maxamilian Demian (@Maxoplata), существует большой ответ Jonathan Tittle (@jtittle).

Однако у меня все еще есть проблемы при входе на пути SFTP

Я перечислил все шаги, которые я сделал - надо надеяться, кто-то с большим опытом сможет определить мою ошибку (ошибки)!

1. Созданный новый пользователь

  1. Зарегистрированный как root
  2. Созданный новый позвонивший пользователь user-sftp-only
  3. adduser user-sftp-only
  4. Я могу проверить, что пользователь был создан путем выполнения
  5. compgen -u
  6. user-sftp-only в нижней части списка
  7. Я могу также видеть то, что путь пользователя и доступ оболочки путем выполнения:
  8. grep user-sftp-only /etc/passwd выводы:

    user-sftp-only:x:1004:1007:,,,:/home/user-sftp-only:/bin/bash
    

2. Дайте новые пользовательские полномочия пользователя root

  1. Дайте новому пользователю user-sftp-only полномочия пользователя root
  2. gpasswd -a user-sftp-only sudo
  3. Выход из системы как root

3. Создайте новый каталог

  1. Зарегистрированный как user-sftp-only
  2. Создайте новый каталог в public названный newsletters:
  3. cd /srv/users/serverpilot/apps/test-app/public/
  4. Сопровождаемый:
  5. sudo mkdir newsletters

4. Проверьте полномочия каталога

Все еще в public папка от предыдущего шага, я работаю

$ ls -al
drwxr-xr-x+ 3 serverpilot serverpilot 4096 Mar  7 15:26 .
drwxr-xr-x+ 3 serverpilot serverpilot 4096 Mar  3 16:22 ..
-rw-r--r--+ 1 serverpilot serverpilot 3393 Mar  3 16:22 index.php
drwxrwxr-x+ 2 root        root        4096 Mar  7 15:26 newsletters

От того, чтобы читать различные сообщения DigitalOcean я знаю, что должен создать группу и присвоить моему новому пользователю user-sftp-only той группе Затем изменитесь root root к имени моего пользователя и группы.

5. Создайте новую группу

  1. Зарегистрированный как user-sftp-only
  2. sudo groupadd group-sftp-only
  3. Я могу проверить, что группа была создана путем выполнения
  4. compgen -g
  5. group-sftp-only в нижней части списка

Примечание: Я замечаю своего нового позвонившего пользователя user-sftp-only находится также в этом списке?

6. Добавьте пользователя к группе

  1. Зарегистрированный как root
  2. Добавленный пользователь user-sftp-only названной группе group-sftp-only
  3. Выполнение этого означает, что это больше не возможно к SSH в как пользователь user-sftp-only

    usermod -g group-sftp-only -d /srv/users/serverpilot/apps/test-app/public/newsletters -s /sbin/nologin user-sftp-only
    
    • -gуказывает название группы
    • -d указывает пользовательский корневой каталог
    • -s указывает доступ оболочки (/sbin/nologin, означает, что SSH отключен для этого пользователя),

7. Проверьте изменения в пользователе

Зарегистрированный как root

$ grep user-sftp-only /etc/passwd
user-sftp-only:x:1001:1004:,,,:/srv/users/serverpilot/apps/test-app/public/newsletters:/sbin/nologin

8. Измените Конфигурацию SSH для разрешения SFTP

  1. Зарегистрированный как root
  2. nano /etc/ssh/sshd_config
  3. Прокомментированный эта строка:
  4. #Subsystem sftp /usr/lib/openssh/sftp-server -l INFO
  5. В самой нижней части sshd_config добавленный это:

     Subsystem sftp internal-sftp
        Match group group-sftp-only
        ChrootDirectory %h
        ForceCommand internal-sftp
    

9. Перезапуск SSH

  1. Все еще вошел в систему как root
  2. service ssh restart

10. Измените полномочия

  1. Все еще вошел в систему как root
  2. Это - корневой каталог для пользователя user-sftp-only
  3. /srv/users/serverpilot/apps/test-app/public/newsletters
  4. Используемый это для проверки корневой каталог принадлежит пользователю и группе

    chown -R user-sftp-only:group-sftp-only /srv/users/serverpilot/apps/test-app/public/newsletters
    

11. Проверьте изменение владения

Все еще вошел в систему как root:

$ cd /srv/users/serverpilot/apps/test-app/public/`
$ ls -al
drwxr-xr-x+ 3 serverpilot    serverpilot     4096 Mar  7 15:26 .
drwxr-xr-x+ 3 serverpilot    serverpilot     4096 Mar  3 16:22 ..
-rw-r--r--+ 1 serverpilot    serverpilot     3393 Mar  3 16:22 index.php
drwxrwxr-x+ 2 user-sftp-only group-sftp-only 4096 Mar  7 15:26 newsletters

$ cd /srv/users/serverpilot/apps/test-app/public/newsletters
$ ls -al
drwxrwxr-x+ 2 user-sftp-only group-sftp-only 4096 Mar  7 15:26 .
drwxr-xr-x+ 3 serverpilot    serverpilot     4096 Mar  7 15:26 ..

Это - то, где я готов. Однако я не могу войти в систему в как мой новый пользователь user-sftp-only через SFTP

2
задан 9 March 2017 в 12:34

1 ответ

tail -f /var/log/syslog

Попытка к sftp в user-sftp-only считает сообщение

информации об успехе/отказе Примечания, Если отказ, добавляет следующая строка к /etc/ssh/sshd_config:

AllowUsers user-sftp-only

затем выполненный:

sudo service sshd restart
1
ответ дан 2 December 2019 в 04:50

Другие вопросы по тегам:

Похожие вопросы: