Учетная запись FTP только для одного каталога

Фоновая информация:

Я использую Serverpilot для управления моим сервером Ubuntu, который не предоставляет никакой службы FTP.

Пользователь: serverpilot С домашним каталогом: /srv/users/serverpilot/ И в этом каталоге работает веб-сайт: /srv/users/serverpilot/apps/website/public/.

Фоновая информация:

Теперь я хотел бы иметь учетную запись FTP, которая может читать и записывать только в этот каталог: /srv/users/serverpilot/apps/website/public/ftpdir/. [!d9 ]

Что я пробовал:

Пользователь: serverpilot Создал нового пользователя с этим каталогом как дома: sudo useradd -m -d /srv/users/serverpilot/apps/website/public/ftpdir ftpuser (вероятно, хорошая идея иметь домашний каталог пользователя в домашнем каталоге других пользователей) С домашним каталогом: /srv/users/serverpilot/ Отредактировал конфигурацию vsftpd по умолчанию с помощью sudo vi /etc/vsftpd.conf local_enable=YES, чтобы ftpuser мог быть использованным как ftp login write_enable=YES, пользователь может писать chroot_local_user=YES не может получить доступ к чему-либо за пределами своего домашнего dir pam_service_name=ftp, потому что я получаю ошибку с неверной ошибкой 530 . В этом каталоге есть веб-сайт : /srv/users/serverpilot/apps/website/public/.

Что я пробовал:

Создал нового пользователя с этим каталогом как дома: sudo useradd -m -d /srv/users/serverpilot/apps/website/public/ftpdir ftpuser ( вероятно, не рекомендуется иметь домашний каталог пользователя в домашнем каталоге других пользователей) ftpuser также может использовать SSH на сервере. Отредактировал конфигурацию vsftpd по умолчанию с помощью sudo vi /etc/vsftpd.conf local_enable=YES, поэтому ftpuser можно использовать как ftp login write_enable=YES, который пользователь может записать chroot_local_user=YES не может получить доступ к чему-либо за пределами своего домашнего каталога pam_service_name=ftp потому что я получаю неверную ошибку 530 Login

Как я ее решил раньше:

В прошлом на другом сервере я изменил права на каталог и после добавив эти дополнительные параметры конфигурации vsftpd, он, наконец, работал:

file_open_mode=0775
local_umask=022
allow_writeable_chroot=YES
pam_service_name=vsftpd

Но на этом сервере у меня были проблемы с обработкой загруженных файлов из-за владения, поэтому я использую функцию file_get_contents() PHP для получения файлов через Интернет вместо прямого доступа к ним на сервере, который не так уж хорош.

Как я решил это раньше:

[d37 ] Как я могу просто иметь учетную запись на 1 ftp, которая может читать и записывать в каталог в домашнем каталоге пользователей, где владение остается у пользователя, где находится домашний каталог?

1
задан 13 April 2017 в 15:23

2 ответа

vsftpd не поддерживает пользователей с ограничениями, но proftpd является более мощным и имеет опцию в файле конфигурации (proftpd.conf), чтобы ограничить доступ к некоторым пользователям следующим образом:

<Limit LOGIN>
AllowUser barb
AllowUser dave
AllowGroup ftpuser
DenyAll
</Limit>

Измените

для вашей первой проблемы решение, как указано выше. вторая проблема также может быть решена путем добавления DenyUsers ftpuser к /etc/ssh/sshd_config, а третья проблема может быть решена путем добавления ftpuser к группе serverpilot и добавления serverpilot к группе из ftpuser. также вы должны изменить разрешение папки /srv/users/serverpilot/apps/website/public/ftpdir на 775.

Помните, что папка /srv/users/serverpilot/ должна иметь разрешение 755.

4
ответ дан 23 May 2018 в 10:58
  • 1
    Спасибо за ваш ответ! Но это не отвечает на мои другие вопросы / проблемы, на какие-то мысли? – Roy 3 June 2016 в 14:07
  • 2
    для проблемы чтения / записи вы можете изменить групповое разрешение домашней директории пользователя на rwx и добавить своего пользователя ftp в группу пользователей, из которой находится домашний каталог. – Ghasem Pahlavan 3 June 2016 в 14:17
  • 3
    А как насчет домашней директории пользователей? Можно ли иметь домашний каталог пользователей в домашнем каталоге других пользователей? Нет ли решения FTP с FTP-входами, отделенными от пользователей системы? Просто установите, создайте FTP-логин и определите его каталог. – Roy 3 June 2016 в 14:27

Вы можете использовать функцию pure-ftpd PureDB для создания входа ftp только для службы pure-ftpd.

0
ответ дан 23 May 2018 в 10:58

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

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