Proftpd - подробно само за какводосетих се

ProFTPD може да работи в режими (директива ServerType): самостоятелен или inetd.

Възможно е да стартирате ProFTPD без привилегии на суперпотребител. Въпреки това трябва да зададете порт над 1023, да деактивирате AuthPAM и WtmpLog, не забравяйте да използвате AuthUserFile и AuthGroupFile, да зададете потребител и група за себе си. Не можете да използвате DefaultRoot и Anonymous.

Използването на DefaultRoot (chroot) изисква да стартирате сървъра като root. Някои операционни системи изискват определени файлове да бъдат в основната директория (например Solaris изисква /dev/tcp и /dev/zero). Символните връзки не могат да сочат навън (въпреки че могат да се използват твърди връзки или mount -bind).

ProFTPD ви позволява да създавате "виртуални" потребители с помощта на директивите AuthUserFile и AuthGroupFile (или с помощта на SQL, LDAP и DB с помощта на допълнителни модули). AuthUserFile дефинира заместител на /etc/passwd в същия формат като AuthGroupFile за /etc/group. Тук се съхраняват шифровани пароли (няма аналог за /etc/shadow), така че само потребителят, посочен в директивата User на виртуалния сървър (вероятно отделен потребител за ftpd), трябва да има право да чете съответните файлове. Вижте също DirFakeUser и DirFakeGroup.

Обхват на директивата за конфигуриране (секциите се дефинират както в конфигурационния файл на Apache с помощта на HTML-подобни отварящи и затварящи тагове):

', за да посочите началната директория

  • – определя ограничения за използване на обекти в директорията (допълва, но не замества правата за достъп на файловата система); в допълнение към командите на FTP протокола можете да използвате имена на групи: READ (RETR, SITE, SIZE, STAT), WRITE (APPE, DELE, MKD, RMD, RNTO, STOR, XMKD, XRMD), DIRS (CDUP, CWD, LIST, MDTM, NLST, PWD, RNFR,XCUP, XCWD, XPWD), ALL (READ, WRITE, DIRS), LOGIN (само в обхвати - основен сървър, VirtualHost, Anonymous) и имена като SITE_CHMOD; блокове с имена на групи имат по-нисък приоритет; блокът за вътрешния обхват има предимство пред блока за външния; когато дефинирате блок, можете да посочите няколко имена на команди, разделени с интервал
  • файлът .ftpaccess позволява на собственика на директория да замени нейните параметри в движение; можете да блокирате създаването на файлове с това име или да забраните предефинирането с помощта на директивата "AllowOverr > TCP / IP опции:
  • Управление на анонимния достъп:

    • AnonRequirePassword изключенвключен
    • Анонимна основна директория (задава обхват за анонимен достъп, директория, използвана за chroot; използвана в обхват - основен сървър, глобален, виртуален хост)
    • AnonymousGroup comma-separated-list of-groups (третирайте потребителите от тази група като анонимни - не се изисква парола, chroot към домашната директория; потребителят трябва да е член на всички споменати групи (И, евентуално отрицание, дадено с удивителен знак преди името на групата); обхват - главен сървър, глобален, VirtualHost)
    • AuthUsingAlias ​​​​изключеновключено (обхватът е анонимен)

    Потребителско име/"; обхват - основен сървър, глобален, виртуален хост, анонимен)

  • TCPGroupAccessFiles group-pattern allow-file-namedeny-file-name (посочете отделни hosts.allow и hosts.deny за конкретни групи; възможно е отрицание с удивителен знак пред името на групата; обхватът е основният сървър, Global, VirtualHost)
  • TCPServiceName име на услугата (използва се вместо стандартния proftpd при анализиране на файловеhosts.allow и hosts.deny обхват - основен сървър, глобален, виртуален хост, анонимен)
  • TCPUserAccessFiles потребителско име-образец разреши-название-на-файл-име-на-файл (посочете отделни hosts.allow и hosts.deny за конкретни потребители; може да се отрече с удивителен знак пред потребителското име; обхватът е Core Server, Global, VirtualHost)
  • UseFtpUsers onoff (потребителите, открити в /etc/ftpusers, не са разрешени; обхватът е главен сървър, Global, VirtualHost, Anonymous)
  • User uid (uid, под който ще работи сървърът; обхват - конфигурация на сървъра, VirtualHost, Global, Anonymous)
  • UserAlias ​​​​uid-име за влизане (въведено от клиента име се преобразува в системен uid; обхватът е mainserver, Global, VirtualHost, Anonymous)
  • UserDirRoot изключенвключен (chroot към поддиректория на анонимен сървър въз основа на влизане на клиента; обхват Anonymous)
  • UserPassword u >Управление на файлове:
    • AllowStoreRestart изключенвключен (разрешаване на рестартиране на писане на сървър, обхват - конфигурация на сървъра, VirtualHost, Anonymous, Directory, Global, .ftpaccess)
    • DefaultChdir directory-name [comma-separated-list-of-groups ] (възможно спрямо домашната директория; по подразбиране - в нея; потребителят трябва да е член на всички споменати групи (И, евентуално отрицание, посочено с удивителен знак пред името на групата); обхват - конфигурация на сървъра, VirtualHost, Anonymous, Global)
    • DefaultTransferMode asciiдвоичен
    • DeleteAbortedStores е изключено
    • GroupOwner group-name (към коя група да се присвоят новосъздадените файлове и директории;спазват се ограниченията на правата за достъп за текущия потребител; обхват - анонимен, директория, .ftpaccess)
    • H >Управление на съобщения, издадени на клиенти:

    • Съобщение AccessDenyMsg
    • Съобщение AccessGrantMsg
    • DeferWelcome offon (задържане на поздрава до удостоверяване; част от поздрава все още се дава)
    • Име на файл на DisplayConnect (име на файл абсолютно или относително спрямо домашната директория)
    • Име на файл DisplayFirstChdir (името на файла е абсолютно или относително към самата директория; могат да се използват макроси:
    • %T - текущо време
    • %F - свободно място във файловата система
    • %C - текущо име на директория
    • %R - име на отдалечен хост
    • %L - име на локален хост
    • %u е потребителското име, получено чрез протокола >Manage logs (по подразбиране се използва syslog, daemon:debug/authpriv):

    Условни оператори: Define (можете също да дефинирате параметри в командния ред, когато стартирате proftpd), IfDefine, IfModule. Може да бъде вложено. Има и директиваInclude.

    Изходен формат на TOC на директорията (NLST, LIST, STAT)

    • DirFakeGroup
    • DirFakeMode
    • DirFakeUser
    • LsDefaultOptions "низ" (обхват - сървър, виртуален хост, анонимен, глобален)
    • ListOptions
    • ShowDotFiles изключеновключено (еквивалентно на LsDefaultOptions "-A"; обхват - сървър, виртуален хост, анонимен, глобален)
    • ShowSymlinks onoff (показва символни връзки или получени файлове; обхватът е сървър, виртуален хост, анонимен, глобален)
    • TimesGMTonoff (показва GMT или местно време; обхватът е сървър, VirtualHost,анонимен, глобален)
    • UseGlobbing onoff (позволява ви да използвате заместващи знаци вместо имена на файлове; обхватът е Server, VirtualHost, Anonymous, Global)

    Местоположение на локалните файлове:

      P >Ограничение на трафика.

    • RateReadBPS байтове в секунда (обхват - сървър, виртуален хост, глобален, анонимен, директория)
    • RateReadFreeBytes байтове (първите байтове са свободни; обхват - сървър, виртуален хост, глобален, анонимен, директория)
    • RateReadHardBPS изключеновключено (дали да се изчака след изчерпването на първите свободни байтове, докато средната скорост спадне до RateReadBPS)
    • RateWriteBPS байтове в секунда (обхват - сървър, виртуален хост, глобален, анонимен, директория)
    • RateWriteFreeBytes байтове (първите байтове са свободни; обхват - сървър, виртуален хост, глобален, анонимен, директория)
    • RateWriteHardBPS изключеновключено (дали да се изчака след изчерпване на първите свободни байтове, докато средната скорост спадне до RateWriteBPS)
    • TransferRate (заменя старите директиви Rate*)

    Модулите mod_ratio, mod_ldap, mod_radius, mod_sql имат свои собствени набори от директиви:

    • mod_ratio: AnonRatio, ByteRatioErrMsg, CwdRatioMsg, FileRatioErrMsg, GroupRatio, HostRatio, LeechRatioMsg, RatioFile, RatioTempFile, Ratios, SaveRatios, UserRatio
    • mod_ldap: LDAPAuthBinds, LDAPDNInfo, LDAPDefaultAuthScheme, LDAPDefaultG >mod_unixprivs.

    mod_quota и mod_quotatab (вземат се предвид само данни, прехвърлени през FTP протокол за даден потребител).

    Logwatch има скриптове за обработка на регистрационни файлове на ProFTPD.

    Форматът на журнала на xferlog (името на файла се задава от директивата TransferLog):