Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Проблемы с Proftpd


Автор: mihanik 2.11.2010, 11:34
Всем привет!

Глючит у меня что-то на одном из серваков Proftpd.

На обоих серваках стоит Fedora 13 с последними обновлениями.
файл /etc/proftpd.conf на обоих серваках очень похож

Если цепляюсь на сбойный сервак, то получается следующее

Цитата

sh-4.0$ ftp mail
Connected to mail (192.168.0.8).
220 ProFTPD 1.3.3b Server (SDD's FTP-Server) [::ffff:192.168.0.8]
Name (mail:SDD\mihanik): cl-ik5-02
331 ��������� ������ �������������cl-ik5-02
Password:
530-Unable to set anonymous privileges.
530 ������������ ������ ��������������.
Login failed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye



Если цепляюсь на нормально работающий сервак, то получаю такое
Цитата

sh-4.0$ ftp mail.mihanik.net
Connected to mail.mihanik.net (109.94.89.3).
220 ProFTPD 1.3.3b Server (My FTP Server) [::ffff:192.168.1.10]
Name (mail.mihanik.net:SDD\mihanik): mihanik
331 Необходим пароль для пользователя mihanik
Password:
230 Анонимное подключение, ограничения применены
Remote system type is UNIX.
Using binary mode to transfer files.


Получается, что какие-то проблемы с кодировкой.
Куда копать?

/etc/proftpd.conf на сбоящем сервере такой

Цитата

ServerName      "SDD's FTP-Server"
ServerType      standalone
DefaultServer   on
Port    21
Umask   000
MaxInstances    30
TimeoutLogin    120
TimeoutIdle     600
TimeoutNoTransfer       900
TimeoutStalled  3600
User    ftp
Group   ftp
UseReverseDNS   off
ScoreboardFile  /var/run/proftpd/proftpd
TransferLog     /var/log/proftpd/xferlog.legacy
LogFormat       default "%h %l %u %t \"%r\" %s %b"
LogFormat       auth    "%v [%P] %h %t \"%r\" %s"
LogFormat       write   "%h %l %u %t \"%r\" %s %b"
DefaultRoot  /ftpdir/ftp/

<Limit LOGIN>
    Order allow,deny
    Allow from all  # xxx.xxx.xxx.xxx/xx  Пишем IP адреса кому можно подключаться.
    Deny from all
</Limit>

<Global>
    AllowOverwrite      yes
    IdentLookups    off
    ExtendedLog /var/log/proftpd/access.log WRITE,READ write
    ExtendedLog /var/log/proftpd/auth.log AUTH auth
</Global>

...




Автор: mihanik 2.11.2010, 12:54
Вот весь конфиг

Код

ServerName      "My FTP Server"
ServerType      standalone
DefaultServer   on
Port    21
Umask   000
MaxInstances    30
TimeoutLogin    120
TimeoutIdle     600
TimeoutNoTransfer       900
TimeoutStalled  3600
User    ftp
Group   ftp
UseReverseDNS   off
ScoreboardFile  /var/run/proftpd/proftpd
TransferLog     /var/log/proftpd/xferlog.legacy
LogFormat       default "%h %l %u %t \"%r\" %s %b"
LogFormat       auth    "%v [%P] %h %t \"%r\" %s"
LogFormat       write   "%h %l %u %t \"%r\" %s %b"
DefaultRoot    /ftpdir/ftp/

<Limit LOGIN>
    Order allow,deny
    Allow from all    # xxx.xxx.xxx.xxx/xx   IP    .
    Deny from all
</Limit>

<Global>
    AllowOverwrite      yes
    IdentLookups    off
    ExtendedLog /var/log/proftpd/access.log WRITE,READ write
    ExtendedLog /var/log/proftpd/auth.log AUTH auth
</Global>

#<IfModule mod_lang.c>
#    UseEncoding utf8 cp1251
#</IfModule>

<Anonymous /ftpdir/ftp/>                        #     /usr/ftp
    User    ftp
    Group       ftp
    UserAlias   anonymous ftp
    RequireValidShell   no
    MaxClients  100

    <Limit CWD DIRS READ LIST>
    AllowAll
    </Limit>

    <Limit WRITE>
    DenyAll
    </Limit>

    <Directory /ftpdir/ftp/uploads/>                # Upload    :    
    <Limit WRITE>
         AllowAll
    </Limit>
    <Limit RETR RMD RNFR RNTO DELE>
         DenyAll
    </Limit>
    </Directory>

    <Directory /ftpdir/ftp/pub/>                #  pub    :    
     <Limit READ>
        AllowAll
    </Limit>
    <Limit WRITE>
         DenyAll
    </Limit>
    </Directory>

</Anonymous>



Автор: ChihPih 2.11.2010, 17:23
А чем цепляетесь? установки локали верные? Если цепляетесь с отличной от сервера кодировкой , должны быть указаны параметры перекодирования в конфиге.

Автор: mihanik 2.11.2010, 18:09
Цеплялся при помощи

1. Unreal Commander (выбирал разные кодировки). Не работает.
2. Утилита FTP из Windows
3.  Утилита FTP из Fedora Linux

Результат один: к одному серваку цепляюсь при помощи чего угодно, к другому никак не могу ничем подцепиться.

Автор: ChihPih 2.11.2010, 20:22
Цитата(mihanik @  2.11.2010,  21:09 Найти цитируемый пост)
Результат один: к одному серваку цепляюсь при помощи чего угодно, к другому никак не могу ничем подцепиться.

Дак вы можете к нему подключиться или нет? Или только проблема в кодировке (если да то смотрите в сторону модуля mod_lang и настройки локали верные?)?

Автор: mihanik 2.11.2010, 20:50
Итак... Проблема решена.
Удалил корневой каталог FTP, а затем пересоздал всю структуру папок. После этого всё заработало.

А теперь подробности.
Итак, детектив.

Лезу в /var/log/secure
Вижу, что там 
Цитата

USER ftp (Login failed): User in /etc/ftpusers


Ну... Ладно, думаю, удаляю пользователя ftp из файла /etc/ftpusers
Перезапускаю Proftpd.

Не фурычит. Хотя эта ошибка пропадает.
Ладно... Копаюсь по логам дальше.

Лезу в /var/log/messages
Вижу, что там 
Цитата

Directory ... is not accessible.


Думаю: "А чёй-то?"

Делаю chmod -R 777 /ftpdir
Перезапускаю демона.
Не помогает. Права теперь у всех там теперь в этой папке по самое не могу, а всё равно
Цитата

Directory ... is not accessible.


Думаю: "А фиг с ним!!!"
И пересоздаю всё дерево папок (из 7 папок).
Перезапускаю демона.
Всё работает...

Проверяю опять, - опять работает.
Начинаю вспоминать...
Я подключал папку FTP к виндовой машине в качестве сетевой папке. Кроме того, FTP-сервер у меня не в домене (ну, то есть, вообще. Ни через радиус, ни через что), а виндовая машина в домене. Мало того!!! Я как-то из Windows смотрел и изменял свойства файлов через правую кнопку мыши в FTP директории...
Т.е., как я понимаю, включился и начал работать ACL в этих папках.
ACL включился, FTP выключился (а как проверить подлинность доменного пользователя на машине не в домене? smile )

Я теперь вот, что думаю... Если вдруг опять кто-нибудь с виндовой машины свойствами файлов на FTP-ресурсе поиграется... Что тогда делать?  smile 
Опять всё дерево пересоздавать?  smile 
Это не выход.
Предложения есть?  smile 
Или лучше новый топик создать для этого вопроса? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)