vsftpd - несколько гостевых имен пользователей? [dубликат]

У меня была та же проблема. Загрузка единой версии пакета ubuntu-sso-client решила проблему.

Источник: https://bugs.launchpad.net/ubuntu-sso-client/+bug/745540/comments/32

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

2 ответа

Попробуйте использовать это руководство. Возможно, это сработает для вас.

Как это сделать

Установить vsftpd и библиотеку PAM

Изменить /etc/vsftpd.conf и /etc/pam.d/vsftpd

Создайте пользовательские атрибуты с настраиваемыми каталогами (в / var / www / например)

Установите каталоги с правильными chmod и chown

Создайте пользователя admin с полным доступ к серверу

Установите vsftpd (Very Secure FTP Deamon) и libpam-pwdfile для создания виртуальных пользователей

Я хотел создать пользователей FTP, но я не хотел добавлять локальные пользователи unix (без доступа к оболочке, без домашнего каталога и т. д.).

sudo apt-get install vsftpd libpam-pwdfile

Установите vsftpd (Very Secure FTP Deamon) и libpam-pwdfile, чтобы создать виртуальные пользователи

Сначала вам нужно создать резервную копию исходного файла

sudo mv /etc/vsftpd.conf /etc/vsftpd.conf.bak

Затем создать новый

sudo vim /etc/vsftpd.conf

Скопируйте и вставьте следующие строки. Файл должен содержать только следующие строки:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/var/www/$USER
chroot_local_user=YES
hide_ids=YES
guest_username=vsftpd
Зарегистрировать виртуальных пользователей

Чтобы зарегистрировать пользователя, использующего htpasswd, я предполагаю, что у вас apache2 работает на вашем сервере , Создайте папку vsftpd, затем вставьте в нее файлы конфигурации.

sudo mkdir /etc/vsftpd

, затем

sudo htpasswd -cd /etc/vsftpd/ftpd.passwd user1

-c означает, что мы создадим файл, если он еще не существует. -d заставляет MD5, вам нужно его на ubuntu 12.04, просто используйте его всегда

Команда будет запрашивать пароль.

Если вы хотите добавить новых пользователей впоследствии:

sudo htpasswd -d /etc/vsftpd/ftpd.passwd user2

Зарегистрировать виртуальных пользователей

Опять же, вам нужно вернуться (d32)

sudo vim /etc/pam.d/vsftpd

Скопируйте и вставьте эти две строки (d32)

это должен быть единственный контент). Я настаиваю только на этих двух строках, я потратил много времени на сохранение оригиналов и просто добавил их.

auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd
account required pam_permit.so
Создайте локального пользователя без доступа к оболочке

sudo useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd

Вы можете проверить, что он был создан с помощью команды id: id vsftpd. Мы определяем пользователя с / bin / false shell из-за параметра check_shell (даже если вы его не используете). Когда конечный пользователь подключается к FTP-серверу, они будут использоваться для прав и прав собственности:

chmod и chown.

Создайте локального пользователя без оболочки access

Обычный способ использует init.d, как и все деамоны

sudo /etc/init.d/vsftpd restart

sudo service vsftpd restart

Создание каталогов

В соответствии с конфигурацией все пользователи будут помещены в эту папку: /var/www/user1.

Вам необходимо создать их с определенными правами: корневая папка не может быть доступна для записи !

 / [root = /var/www/user1] => 555
www [ /var/www/user1/www ] => 755
docs [ /var/www/user1/docs ] => 755

Примечание: пользователь не может создавать файлы или папки в корневом каталоге.

В vsftpd.conf у нас есть chroot_local_user=YES, поэтому пользователь не видит ничего снаружи его папки. Для него сервер выглядит так:

Итак, просто запустите следующие команды:

mkdir /var/www/user1`
chmod -w /var/www/user1
mkdir www/user1/www
chmod -R 755 /var/www/user1/www
chown -R vsftpd:nogroup /var/www/user1

Папка /var/www/user1 HAS TO существует или соединение не будет выполнено.

Прямо сейчас вы можете попытаться подключиться к FTP

Создать каталоги

Чтобы создать пользователя admin, нам необходимо зарегистрировать нового пользователя с помощью htpasswd.

Прежде чем мы это сделаем, я советую вам проверить файл /etc/ftpusers, который определяет определенных пользователей, которым запрещено подключаться к ftp. Я думаю, что это только для локальных пользователей, а не для виртуальных пользователей, но на всякий случай не выбирайте имя, содержащееся в этом файле.

sudo htpasswd -d /etc/vsftpd/ftpd.passwd theadmin

Теперь нам нужно добавить новый line в /etc/vsftpd.conf

chroot_list_enable=YES

Это означает, что ваш пользователь будет помещен в свою папку (в качестве тюрьмы). ИСКЛЮЧИТЕ пользователей в файле / etc /

vsftpd.chroot_list

Давайте создадим этот файл и добавим нашего пользователя, файл представляет собой простую строку, содержащую «theadmin». Добавьте одного пользователя в строку. Это означает, что вам НЕ нужно создавать папку /var/www/theadmin, пользователь запустится и запустится в /home/vsftpd.

Перезагрузите сервер, и все готово!

10
ответ дан 17 July 2018 в 21:57

да, вы можете и для гибкости создать файл userconfig и файл mkdir /var/www/userconfs или все, что хотите изменить имя userconfs, а затем создать определенный файл

vi /var/www/userconfigs/ftpuseraccount

внутри типа, local_root=/var/www (или что бы вы ни захотели получить с помощью dir) guest_username=www-data (владелец ubuntu файла top edit

после обновления вы vsftpd.conf добавили user_config_dir=/var/www/userconfigs (или все, что вы заменили как, эта учетная запись будет иметь доступ к любому указанному sdir yo)

0
ответ дан 17 July 2018 в 21:57

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

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