LINUX.ORG.RU
ФорумAdmin

proftpd и его настройка для анонима.


0

1

Есть сервер на базе уже CentOS 5.6 Установлен proftpd Прописан в /etc/sysconfig/proftpd анонимный доступ. Но! эта зараза отказывается писать в папку uploads и кричит Permission Denied Вычислил что этому мешает вот эта строка в конфиге:

<Limit WRITE SITE_CHMOD>
  DenyAll
</Limit>
В вернее мешает конкретно слово WRITE

Полный конфиг:


[root@gw sysconfig]# grep -v -E "#|^$"  /etc/proftpd.conf
ServerName                      "ProFTPD server"
ServerIdent                     on "FTP Server ready."
ServerAdmin                     root@localhost
DefaultServer                   on
VRootEngine                     on
DefaultRoot                     ~ !adm
VRootAlias                      etc/security/pam_env.conf /etc/security/pam_env.conf
AuthPAMConfig                   proftpd
AuthOrder                       mod_auth_pam.c* mod_auth_unix.c
UseReverseDNS                   off
User                            nobody
Group                           nobody
MaxInstances                    20
UseSendfile                     off
LogFormat                       default "%h %l %u %t \"%r\" %s %b"
LogFormat                       auth    "%v [%P] %h %t \"%r\" %s"
<IfDefine TLS>
  TLSEngine                     on
  TLSRequired                   on
  TLSRSACertificateFile         /etc/pki/tls/certs/proftpd.pem
  TLSRSACertificateKeyFile      /etc/pki/tls/certs/proftpd.pem
  TLSCipherSuite                ALL:!ADH:!DES
  TLSOptions                    NoCertRequest
  TLSVerifyClient               off
  TLSLog                        /var/log/proftpd/tls.log
  <IfModule mod_tls_shmcache.c>
    TLSSessionCache             shm:/file=/var/run/proftpd/sesscache
  </IfModule>
</IfDefine>
<IfDefine DYNAMIC_BAN_LISTS>
  LoadModule                    mod_ban.c
  BanEngine                     on
  BanLog                        /var/log/proftpd/ban.log
  BanTable                      /var/run/proftpd/ban.tab
  BanOnEvent                    MaxLoginAttempts 2/00:10:00 01:00:00
  BanControlsACLs               all allow user ftpadm
</IfDefine>
<Global>
  Umask                         022
  AllowOverwrite                yes
  <Limit ALL SITE_CHMOD>
    AllowAll
  </Limit>
</Global>
<IfDefine ANONYMOUS_FTP>
  <Anonymous ~ftp>
    User                        ftp
    Group                       ftp
    AccessGrantMsg              "Anonymous login ok, restrictions apply."
    UserAlias                   anonymous ftp
    MaxClients                  10 "Sorry, max %m users -- try again later"
    DisplayLogin                /welcome.msg
    DisplayChdir                .message
    DisplayReadme               README*
    DirFakeUser                 on ftp
    DirFakeGroup                on ftp
    <Limit WRITE SITE_CHMOD>
     DenyAll
    </Limit>
    <Directory uploads/*>
      AllowOverwrite            no
      <Limit READ>
        DenyAll
      </Limit>
      <Limit STOR>
        AllowAll
      </Limit>
    </Directory>
    WtmpLog                     off
    ExtendedLog                 /var/log/proftpd/access.log WRITE,READ default
    ExtendedLog                 /var/log/proftpd/auth.log AUTH auth
    ExtendedLog                 /var/log/proftpd/all.log ALL
  </Anonymous>
</IfDefine>
[root@gw sysconfig]#

Вопрос: Если создатели делают такие опции и они не рабочие из коробки, какой от них смысл? пока не уберешь WRITE не работает запись в uploads, это ведь не нормально, вроде как все должно быть из коробки.

Кто может обьяснить почему так и как правильно? ведь по идее WRITE распространяется на все дерево /var/ftp, но почему тогда когда пишеш WRITE AllowAll в секции uploads он все равно не воспринимается?

всё там правильно. нельзя изменять (WRITE) существующие файлы, но можно аплоадить новые (STOR). на то она и «uploads» называется.

arsi ★★★★★ ()
Ответ на: комментарий от arsi

Да, но вот что происходит когда эта опция включена, а без неё все нормально. Права на папку стоят 777

150 Opening ASCII mode data connection for MLSD
Загрузка
Ожидание ответа сервера...
226 Transfer complete
TYPE I
200 Type set to I
PORT 192,168,10,2,11,91
200 PORT command successful
STOR telephone.txt
550 telephone.txt: Operation not permitted
OFFLINE6, error=0
----------
Connect to: (10.04.2011 19:13:01)
hostname=192.168.10.1
username=anonymous
startdir=/uploads
InventoRs ()
Ответ на: комментарий от InventoRs

хз, с консольным ftp нюансов не знаю (при очень похожей конфигурации тоже не смог аплоадить файл, «550 …: Operation not permitted»), но миднайт с дельфином сделали это без проблем. да и не жаловался никто, что аплоадить не могут…

arsi ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.