[Използване на .ftpaccess](/bg/kb/view/774_izpolzvane_na_ftpaccess "Използване на .ftpaccess")

 1. Какво е .ftpaccess?Файлът .ftpaccess служи за конфигурация на FTP сървъра ProFTPD и чрез него могат да бъдат променяни редица функции на сървъра. Файлът задължително започва със знака точка и може да бъде създаден лесно в секция Файлове на Контролния панел. За да свалите локално конфигурационния файл, използвайте FTP програма и след това можете да го редактирате с текстов редактор. Имайте предвид, че повечето FTP програми не показват по подразбиране скрити файлове и такива, които започват с точка. За да видите .ftpaccess файловете, е нужно да активирате функцията "Show Hidden Files" в настройките.2. За какво служи директивата Limit?
Директивата Limit има за цел да ограничи/позволи достъпа до определени FTP команди в даден контекст. Ето и по-важните FTP команди с описание:



 
Команда

Значение

Употреба от страна на FTP клиента


READ
RETR
RETRieve
Използва се за трансфер на файлове от сървъра към клиента.


SITE CHMOD
CHange MODe
Използва се за промяна на правата за достъп до файлове и директории.


SIZE
SIZE
Използва се за информация за големината на файл.


STAT
STATus
Използва се за показване на информация за връзката.


 
 
 
 


WRITE
APPE
APPEnd
Използва се за добавяне съдържанието на даден файл към края на друг.


DELE
DELEte
Използва се за изтриване на файл.


MKD / XMKD
MaKe Directory
Използва се за създаване на нова директория.


RMD / XRMD
ReMove Directory
Използва се за изтриване на директория.


RNTO
ReName TO
Използва се заедно с RNFR за преименуване на файл/директория.


STOR
STORe
Използва се за трансфер на файлове от клиента към сървъра.


 
 
 
 


DIRS
CDUP / XCUP
Change Directory UP
Използва се за промяна на текущата директория на една по-високо във файловата система.


CWD / XCWD
Change Working Directory
Използва се за промяна на текущата директория.


LIST
LIST
Използва се за листване на файловете в дадена директория.


NLST
Name LiST
Използва се за листване на файловете в дадена директория.


MDTM
MoDification TiMe
Използва се за показване на информация за датата на промяна на даден файл.


PWD / XPWD
Print Working Directory
Използва се за показване на текущата директория.


RNFR
ReName FRom
Използва се заедно с RNTO за преименуване на файл/директория.



Отделно са дефинирани и няколко групи, включващи по няколко команди с цел по-краткото задаване на Limit директиви (в горната таблица командите са групирани в командни групи):



Командна група

Включва

Значение


READ
RETR, SITE CHMOD, SIZE, STAT
Всички FTP команди, които са свързани с четенето на файлове (не се включва листване на директории)


WRITE
APPE, DELE, MKD / XMKD, RMD / XRMD, RNTO, STOR
Всички FTP команди, които са свързани с писането, създаването и изтриването на файлове или директории.


DIRS
CDUP / XCUP, CWD / XCWD, LIST, NLST, MDTM, PWD / XPWD, RNFR
Всички FTP команди, които са свързани с листването на директории.


ALL
Командните групи:READ, WRITE и DIRS
Всички FTP команди (идентично на READ WRITE DIRS). Имайте предвид, че тази командна група има най-малък приоритет от всички останали - тя няма да презапише Limit директива, която е зададена от друга командна група като например DIRS.



3. СигурностСъветваме ви да използвате винаги следния код в началото на вашите .ftpaccess файлове:HideFiles (\.ftpaccess|\.htaccess|\.htpasswd)$ user !alloweduser&lt;Limit ALL&gt;IgnoreHidden on&lt;/Limit&gt;По този начин вашите .ftpaccess, .htaccess и .htpasswd файлове няма да могат да се виждат и да бъдат променяни през FTP освен от alloweduser (заместете alloweduser с вашето FTP потребителско име, чрез което желаете да виждате и променяте по-горе изброените файлове).След като създадете .ftpaccess файл, ви съветваме да промените правата му за достъп от секцията Файлове в Контролния панел до 0600 за максимална сигурност, а и за да не бъде достъпен по HTTP.4. Полезни примери4.1 Блокиране на достъпа от определени IP адреси или мрежи4.2 Забраняване триенето на файлове и директории4.3 Забраняване качването на файлове и създаването на директории4.4 Позволяване само качването на файлове4.5 Забрана за достъп на определени потребители до дадена директория4.6 Достъп само на отделни потребители4.7 Позволяване на триенето на файлове само от определени IP адреси4.8 Ограничаване промяната на правата за достъп4.1 Блокиране на достъпа от определени IP адреси или мрежи ^• Блокиране на достъпа от определени IP адресиАко искате да забраните достъпа от определени IP адреси (в примера 64.14.68.138 и 64.14.68.139), създайте .ftpaccess файл със следното съдържание:&lt;Limit ALL&gt;Order allow,denyDeny from 64.14.68.138Deny from 64.14.68.139&lt;/Limit&gt;
Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.• Блокиране на достъпа от определена мрежаМожете да забраните и цяла мрежа. За да блокирате например всички IP адреси, започващи с 64.14.68. (т.е. мрежата 64.14.68), използвайте следния код:&lt;Limit ALL&gt;Order allow,denyDeny from 64.14.68.&lt;/Limit&gt;Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.• Блокиране на достъпа от всички IP адреси и мрежиАко желаете да забраните достъпа на всички от всеки адрес без изключение, използвайте следния код във вашия .ftpaccess файл:
&lt;Limit ALL&gt;Order allow,denyDeny from all&lt;/Limit&gt;Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.• Блокиране на достъпа от всички IP адреси и мрежи освен някоиМожете да позволите достъп по FTP само на определени IP адреси или мрежи. Например:&lt;Limit ALL&gt;Order allow,denyAllow from 64.14.68.138Allow from 64.14.68.139Deny from all&lt;/Limit&gt;По този начин достъп до FTP сайта ви ще имат единствено IP адресите 64.14.68.138 и 64.14.68.139.Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.4.2 Забраняване триенето на файлове и директории ^Ако желаете да забраните само триенето на файлове и директории за всички потребители освен за вашия, използвайте следния код във вашия .ftpaccess файл, където заместете alloweduser с името на вашия FTP потребител:
&lt;Limit DELE RMD XRMD&gt;AllowUser alloweduserDenyAll&lt;/Limit&gt;Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.4.3 Забраняване качването на файлове и създаването на директории ^• Сценарий: Желаете да забраните качването на файлове и създаването на директории на всички потребители освен двама (alloweduser1 и alloweduser2), т.е. искате в директорията да е позволено само четенето за останалите потребители.
Използвайте следния код:&lt;Limit WRITE&gt;AllowUser alloweduser1,alloweduser2DenyAll&lt;/Limit&gt;• Сценарий:- alloweduser1 трябва да може само да чете файловете и съдържанието на директорията без да може да пише- alloweduser2 трябва да може само да качва нови файлове, да създава други директории в директорията и да разглежда съдържанието й без да може да чете файловете- alloweduser3 трябва да може всичкоИзползвайте следния код:&lt;Limit WRITE&gt;AllowUser alloweduser3,alloweduser2DenyAll&lt;/Limit&gt;&lt;Limit READ&gt;AllowUser alloweduser3,alloweduser1DenyAll&lt;/Limit&gt;Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.4.4 Позволяване само качването на файлове ^Ако желаете да направите директория, където всички ваши FTP потребители могат само да качват файлове без да могат да виждат съдържанието на дадената директория, използвайте следния код:&lt;Limit ALL&gt;DenyAll&lt;/Limit&gt;&lt;Limit CDUP CWD XCWD XCUP PWD&gt;AllowAll&lt;/Limit&gt;&lt;Limit STOR STOU&gt;AllowAll&lt;/Limit&gt; Имайте предвид, че чрез тази конфигурация ще е възможно презаписването на вече съществуващи файлове.Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.
Важно: Самата директория/поддомейн, в който сте поставили .ftpaccess файла, няма да може да се вижда и за да пишете в нея, е нужно да конфигурирате дадената директория като начална във вашия FTP клиент. Друго възможно решение представлява създаването на FTP потребители, чиято начална директория да е тази, за която искате горните правила да бъдат валидни, така че всеки един от тези потребители да влиза директно в тази директория без да е нужна допълнителна конфигурация.4.5 Забрана за достъп на определени потребители до дадена директория ^Ако желаете да забраните достъпа на определени FTP потребители до дадена директория, използвайте следния код, който запишете в .ftpaccess файла в съответната директория:&lt;Limit ALL&gt;DenyUser username1,username2&lt;/Limit&gt;Моля, заместете username1, username2 и т.н. с потребителите, на които искате да забраните достъпа. Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.4.6 Достъп само на отделни потребители ^Ако желаете да ограничите достъпа до някоя директория само до определени FTP потребители, използвайте следния код, който запишете в .ftpaccess файла в съответната директория:&lt;Limit ALL&gt;AllowUser alloweduser1,alloweduser2DenyAll&lt;/Limit&gt;Моля, заместете alloweduser1, alloweduser2 и т.н. с потребителите, на които искате да позволите достъпа. Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.4.7 Позволяване на триенето на файлове само от определени IP адреси ^Ако желаете да ограничите триенето на файлове в някоя директория само от определени IP адреси, използвайте следния код, който запишете в .ftpaccess файла в съответната директория:&lt;Limit DELE&gt;Allow from 64.14.68.138DenyAll&lt;/Limit&gt;По този начин само FTP потребителите, които са се свързали с FTP сървъра от IP адрес 64.14.68.138 ще могат да трият файлове в дадената директория.Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.4.8 Ограничаване промяната на правата за достъп ^Ако желаете да ограничите промяната на правата за достъп до файлове в някоя директория само от определени потребители, използвайте следния код:&lt;Limit SITE\_CHMOD&gt;AllowUser alloweduser1,alloweduser2DenyAll&lt;/Limit&gt;Моля, заместете alloweduser1, alloweduser2 и т.н. с потребителите, на които искате да позволите промяна в правата за достъп. Имайте предвид, че тези потребители ще могат да променят правата за достъп единствено, ако те са собствениците им, докато останалите потребители няма да могат да променят и правата за достъп на своите файлове.Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.
 