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-подобни отварящи и затварящи тагове):
', за да посочите началната директория
Управление на анонимния достъп:
- AnonRequirePassword изключенвключен
- Анонимна основна директория (задава обхват за анонимен достъп, директория, използвана за chroot; използвана в обхват - основен сървър, глобален, виртуален хост)
- AnonymousGroup comma-separated-list of-groups (третирайте потребителите от тази група като анонимни - не се изисква парола, chroot към домашната директория; потребителят трябва да е член на всички споменати групи (И, евентуално отрицание, дадено с удивителен знак преди името на групата); обхват - главен сървър, глобален, VirtualHost)
- AuthUsingAlias изключеновключено (обхватът е анонимен)
Потребителско име/"; обхват - основен сървър, глобален, виртуален хост, анонимен)
- 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):