URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91345
[ Назад ]

Исходное сообщение
"Proftpd, anonymous, uploads, limit write"

Отправлено InventoRs , 11-Апр-11 00:25 
Поставил proftpd из репозитария.


Полный его конфиг выглядит по умолчанию так:


[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]#

А вот ошибка которая показывается на клиенте во время попытки записать файл в uploads

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

Методом вычисления была найдено что на запрет записи влияет секция:

<Limit WRITE SITE_CHMOD>
  DenyAll
</Limit>

А конкретнее слово WRITE, как только оно здесь присутствует, сразу появляется ошибка.
Но ведь по идее запрет записи распространяется на корневую директорию, а вот на подпапки отдельные права, но как не пробовал не хочет работать, а как только удаляешь WRITE то сразу начинает писать.
Права на /var/ftp/uploads стоят в режиме ftp и 777

Подскажите, как правильно быть в этой ситуации, ведь когда разработчики писали конфиг они придерживались какой-то идеологии.


Содержание

Сообщения в этом обсуждении
"Proftpd, anonymous, uploads, limit write"
Отправлено crash , 11-Апр-11 07:05 
разрешите в поддиректории писать. Вам же вроде никто не запрещает этого.

"Proftpd, anonymous, uploads, limit write"
Отправлено InventoRs , 11-Апр-11 11:56 
> разрешите в поддиректории писать. Вам же вроде никто не запрещает этого.

да как не пробовал разрешать толку нету, чувство что этот Limit Write Deny просто перекрывает все разрешения в поддиректориях


"Proftpd, anonymous, uploads, limit write"
Отправлено LSTemp , 14-Апр-11 18:08 
>> разрешите в поддиректории писать. Вам же вроде никто не запрещает этого.
> да как не пробовал разрешать толку нету, чувство что этот Limit Write
> Deny просто перекрывает все разрешения в поддиректориях

сюда http://proftpd.org/ однозначно. и разбираться какие директивы и в каких блоках на что влияют.

PS
вычислять не надо - надо читать.