ProFTPd не дает пользователям заливать файлы (ProFTPd 1.3.1, Debian 2.6.26-15)

Модератор: /dev/random

alibek
Сообщения: 4

ProFTPd не дает пользователям заливать файлы

Сообщение alibek »

Потребовалось мне тут настроить proftpd. Почти все сделал, но вылезла непонятная проблема.
FTP-сервер работает в режиме суперсервера (запускается inetd), пользователи используются виртуальные (берутся из /etc/proftpd/ftp-users).
Корень FTP лежит в /srv/ftp, в /srv/ftp/public лежит корень для анонимов, в /srv/ftp/homes/$u лежат каталоги пользователей (они в chroot помещаются).
Конфиг такой:

Код: Выделить всё

ServerType                                 inetd #standalone
ServerName                                 "xxx"
DefaultServer                            on
ServerIdent                               on "FTP Service"
ServerAdmin                               hostmaster@xxx
IdentLookups                              off
MaxInstances                              30
Port                                          21
PassivePorts                              10000 19999
TimeoutSession                           86400
UseReverseDNS                            off
PathDenyFilter                           "(^\.ftpaccess$)"
AllowFilter                               "^[-A-Za-z0-9_\.(),/]*$"
AllowForeignAddress                   off
AllowOverride                            off
AllowOverwrite                           on
RequireValidShell                      off
DefaultRoot                               ~
User                                          nobody
Group                                        nogroup
Umask                                        022
AuthUserFile                              /etc/proftpd/ftp-users
AuthGroupFile                            /etc/proftpd/ftp-groups
DebugLevel                                 4
SyslogLevel                               notice
TransferLog                               /var/log/proftpd/tranfer.log
SystemLog                                  /var/log/proftpd/error.log
WtmpLog                                     off

AccessGrantMsg                           "Access granted, welcome."
AccessDenyMsg                            "Access denied."
DisplayConnect                           /etc/proftpd/welcome.msg
DisplayLogin                              "Welcome, %U. Clock is %T."
DisplayQuit                               "Bye, %U. Clock is %T."

<Limit LOGIN>
      Order Allow,Deny
      Allow from 192.168.1.0/24
      Deny from all
</Limit>

<Limit READ DIRS>
      IgnoreHidden on
</Limit>

<Limit SITE_CHGRP SITE_CHMOD>
      DenyAll
</Limit>

<Anonymous /srv/ftp/public>
      User ftp
      Group nogroup
      UserAlias anonymous ftp
      <Directory *>
            <Limit WRITE>
                  DenyAll
            </Limit>
      </Directory>
</Anonymous>

<Directory />
      AllowOverwrite on
</Directory>

<Directory /srv/ftp>
      UserOwner ftp
      GroupOwner nogroup
      <Limit WRITE>
            Order Allow,Deny
            AllowGroup "OR" root,admins
            DenyAll
      </Limit>
</Directory>

<Directory /srv/ftp/upload>
      UserOwner ftp
      GroupOwner nogroup
      <Limit WRITE>
            Order Allow,Deny
            AllowGroup "OR" root,admins,users
      </Limit>
</Directory>

<Directory /srv/ftp/homes/*>
      UserOwner ftp
      GroupOwner nogroup
      <Limit WRITE>
            Order Allow,Deny
            AllowGroup "OR" root,admins,users
            #DenyAll
      </Limit>
</Directory>


Файл ftp-users

Код: Выделить всё

...
user1:*:1000:2:User 1:/srv/ftp/homes/user1:/bin/false
user2:*:1001:2:User 2:/srv/ftp/homes/user2:/bin/false
...


Сервер работает, на него можно зайти под пользователем или анонимом, забрать какие-нибудь файлы.
Но вот удалить файлы или залить на него не получается, дает ошибку доступа. В логах
dispatching PRE_CMD command 'DELE clients.html' to mod_core
dispatching PRE_CMD command 'DELE clients.html' to mod_core
dispatching CMD command 'DELE clients.html' to mod_core
AllowOverride denies all .ftpaccess files
error deleting '/clients.html': Permission denied

На все файлы/каталоги дан доступ 775, владельцем назначается ftp:nogroup.
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: ProFTPd не дает пользователям заливать файлы

Сообщение danger08 »

А с

Код: Выделить всё

AllowOverride on
(и параметрами в .ftpaccess) не пробовали?
Блогосайт - http://www.fateyev.com
Спасибо сказали:
alibek
Сообщения: 4

Re: ProFTPd не дает пользователям заливать файлы

Сообщение alibek »

Нет, я специально отключил.

Попробовал, включил AllowOverride, в ftaccess написал

Код: Выделить всё

<Limit ALL>
  AllowAll
</Limit>


Ничего не изменилось, доступа на изменение нет.
Похоже на ошибки с файловым доступом, но на файлы и каталоги назначены 775 и владельцем указан ftp:nogroup.
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: ProFTPd не дает пользователям заливать файлы

Сообщение danger08 »

alibek писал(а):
07.05.2009 12:04
Похоже на ошибки с файловым доступом, но на файлы и каталоги назначены 775 и владельцем указан ftp:nogroup.

Ну попробуйте "сэмулировать" поведение ftp-сервера, переключитесь на "его" пользователя ( su -s /bin/bash ftp ) и попробуйте погулять по ФС, удалить файл и т.п. Что скажет?
Блогосайт - http://www.fateyev.com
Спасибо сказали:
alibek
Сообщения: 4

Re: ProFTPd не дает пользователям заливать файлы

Сообщение alibek »

danger08 писал(а):
07.05.2009 14:35
Ну попробуйте "сэмулировать" поведение ftp-сервера, переключитесь на "его" пользователя ( su -s /bin/bash ftp ) и попробуйте погулять по ФС, удалить файл и т.п. Что скажет?

Ничего не говорит, удаляет без проблем. Как под ftp, так и под nobody.
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: ProFTPd не дает пользователям заливать файлы

Сообщение danger08 »

alibek писал(а):
07.05.2009 15:10
danger08 писал(а):
07.05.2009 14:35
Ну попробуйте "сэмулировать" поведение ftp-сервера, переключитесь на "его" пользователя ( su -s /bin/bash ftp ) и попробуйте погулять по ФС, удалить файл и т.п. Что скажет?

Ничего не говорит, удаляет без проблем. Как под ftp, так и под nobody.

Значит, все же проблема не с доступом, а где-то в конфигурации косяки.
dispatching CMD command 'DELE clients.html' to mod_core
AllowOverride denies all .ftpaccess files
error deleting '/clients.html': Permission denied

Использование .ftpaccess вообще запрещено конфигурацией, так что содержимое этих файлов не обрабатывается (имхо).
Блогосайт - http://www.fateyev.com
Спасибо сказали:
alibek
Сообщения: 4

Re: ProFTPd не дает пользователям заливать файлы

Сообщение alibek »

А не может кто-нибудь выложить свой конфиг ProFTPd?
Нужен конфиг, где были бы анонимы и пользователи; у анонимов доступ read only, пользователи chroot-ятся в своем каталоге и могут с ним делать что угодно.

Может быть при запуске в режиме inetd FTP-сервер работает не под nobody, а под другой учетной записью?

[добавлено]
Похоже, так и есть. Дал доступ 777, файлы удаляются/заливаются.
Спасибо сказали: