LinuxForum.Fans
Тема

Проблема с vsftpd

Автор: tyrnov 74 сообщений 20275 просмотров
#195987

как написал newzenon

text
anon_root=/home/dir/

должно помочь. А вообще vsftpd считается очень безопасным ftp сервером, поэтому у него особые требования к правам, так что будьте внимательны. Кстати в официальной документации многое разжевано.

#196224
riso написал:
как написал newzenon
text
anon_root=/home/dir/

должно помочь. А вообще vsftpd считается очень безопасным ftp сервером, поэтому у него особые требования к правам, так что будьте внимательны. Кстати в официальной документации многое разжевано.

Да как раз то, что и решило проблему.

#228408
text
cat /etc/vsftpd/vsftpd.conf
listen=YES
# разрешаем вход локальным пользователям с правом записи в домашних директориях
local_enable=YES
local_umask=022
write_enable=YES
# помещаем локальных юзеров в их домашние каталоги, иначе пользователю будет доступен
# корень системы.
chroot_local_user=YES
chroot_list_enable=NO
# настройки журналирования
xferlog_enable=NO
vsftpd_log_file=/var/log/vsftpd.log

Сделал сейчас такой конфиг нет доступа пользователю
Логи пусты.

Выдает:

text
Статус:    Соединение установлено, ожидание приглашения...
Ответ:    220 (vsFTPd 2.3.5)
Команда:    USER chipset
Ответ:    331 Please specify the password.
Команда:    PASS **********
Ответ:    500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Ошибка:    Критическая ошибка
Ошибка:    Невозможно подключиться к серверу
#228415

Или:

text
chmod a-w /home/user

http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/
или:

text
allow_writable_root=YES

сейчас проверить не могу.

ы - если пользователь может писать в свою директорию (а не в поддиректории в ней) и при этом в нее выполняется chroot (то есть chroot_local_user=YES - пользователь не может по FTP подняться в / в отличие скажем от ssh), то тогда это потенциально небезопасно и следует не давать ему авторизацию.

#228418

А раньше вроде работало и без этого.

#228421
text
/etc/init.d/vsftpd restart
 * Stopping vsftpd ...
 * start-stop-daemon: no matching processes found                         [ ok ]
 * Starting vsftpd ...                                                    [ ok ]
500 OOPS: unrecognised variable in config file: allow_writable_root

Это при втором способе.

chmod a-w какие права выставит? И как вернуть если что обратно

#228445

?: При входе пользователем на FTP-Server версии 2.3.5 выдается сообщение: "500 OOPS: vsftpd: refusing to run with writable root inside chroot()".
Всё верно, в 2.3.5 ужесточены правила безопасности. Теперь сервер не делает chroot() в домашний каталог пользователя, если на него стоят права на запись. Для этого необходимо произвести перенастройку домашних каталогов, либо запретить опцию chroot_local_user. Если всё таки необходим chroot() в домашний каталог пользователя с правами на запись, то тогда можно воспользоваться введенной в расширенной сборке опцией allow_writable_root (данная опция не рекомендуется к использованию!).

http://vsftpd.devnet.ru/rus/#faq

#228447

Да впринципе и не требуется мне требуется настроить доступ к хосту апача /var/www/localhost/htdocs/ и желательно чтобы таких несколько и все пользователи разные но таких примеров конфига чето не найду не где

#228465

local_root=/var/www/localhost/htdocs

если я вас правильно понял

#228503

Правильно Но нужен еще отдельный пользователь под этот каталог. Потому будет еще один каталог и под него свой пользователь.

#228508

Сейчас я вот настроил что пользователь мой может зайти по ftp в свой каталог. Конфиг: http://paste.pocoo.org/show/549168/

#228512

А к примеру если я создам пользователя http и настрою хост apache чтобы он смотрел в каталог пользователя http. Так наверное стоит делать?

#228524

По идее пользователь от которого работает www сервер должен смотреть в корень сайтов, допустим httd - пользователь, его хомяк - /var/www
Сайты:
/var/www/mysite1
...
/var/www/mysite9

#228527

Да это понятно. Но как тогда к каждому каталогу сайта предоставить FTP? А для пользователя sftp потом хочу настроить

#228528

ну тогда вы просто делаете chroot_local_user. потом создаете пользователя, выставлете ему хомяк /var/www/some_site, при логине юзер будет попадать туда.

#228529
riso написал:
ну тогда вы просто делаете chroot_local_user. потом создаете пользователя, выставлете ему хомяк /var/www/some_site, при логине юзер будет попадать туда.

Как пользователю выставить /var/www/some_site это не знаю как делается. А так идею все понял

#228531

useradd -d /var/www/some_dir -m user1

и почитайте man useradd

#228550
text
useradd: внимание: домашний каталог уже существует.
Никакие файлы из каталога skel копироваться не будут.

Это я так понял так и должно быть. И все работает это решило проблему, а ман почитал

#228553

man userdel почитал и не нашел способа удалить пользователя оставив его каталог. userdel user1 удалит и его папку или всеже оставит, а userdel -r user1 уже удалит

#228554

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

Войдите или зарегистрируйтесь, чтобы ответить.