SmartVPS - едно хостинг решение за много акаунти! Всеки отделен акаунт е с включени безплатни бекъпи, PHP-FPM с OPcache и кеширане на съдържание за светкавично бързи сайтове.
75% ОТСТЪПКА ЗА ВСИЧКИ ХОСТИНГ ПЛАНОВЕ, ЗА ДА ПРЕМЕСТИТЕ ЛЕСНО СВОЯ БИЗНЕС ОНЛАЙН

Използване на .ftpaccess

1. Какво е .ftpaccess?

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

2. За какво служи директивата Limit?

Директивата Limit има за цел да ограничи/позволи достъпа до определени FTP команди в даден контекст. Ето и по-важните FTP команди с описание:

 Команда
Значение
Употреба от страна на FTP клиента
R
E
A
D

RETRRETRieveИзползва се за трансфер на файлове от сървъра към клиента.
SITE CHMODCHange MODeИзползва се за промяна на правата за достъп до файлове и директории.
SIZESIZEИзползва се за информация за големината на файл.
STATSTATusИзползва се за показване на информация за връзката.
    
W
R
I
T
E
APPEAPPEndИзползва се за добавяне съдържанието на даден файл към края на друг.
DELEDELEteИзползва се за изтриване на файл.
MKD / XMKDMaKe DirectoryИзползва се за създаване на нова директория.
RMD / XRMDReMove DirectoryИзползва се за изтриване на директория.
RNTOReName TOИзползва се заедно с RNFR за преименуване на файл/директория.
STORSTOReИзползва се за трансфер на файлове от клиента към сървъра.
    
D
I
R
S
CDUP / XCUPChange Directory UPИзползва се за промяна на текущата директория на една по-високо във файловата система.
CWD / XCWDChange Working DirectoryИзползва се за промяна на текущата директория.
LISTLISTИзползва се за листване на файловете в дадена директория.
NLSTName LiSTИзползва се за листване на файловете в дадена директория.
MDTMMoDification TiMeИзползва се за показване на информация за датата на промяна на даден файл.
PWD / XPWDPrint Working DirectoryИзползва се за показване на текущата директория.
RNFRReName FRomИзползва се заедно с RNTO за преименуване на файл/директория.

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

Командна група
Включва
Значение
READRETR, SITE CHMOD, SIZE, STATВсички FTP команди, които са свързани с четенето на файлове (не се включва листване на директории)
WRITEAPPE, DELE, MKD / XMKD, RMD / XRMD, RNTO, STORВсички FTP команди, които са свързани с писането, създаването и изтриването на файлове или директории.
DIRSCDUP / 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
<Limit ALL>
IgnoreHidden on
</Limit>
По този начин вашите .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 файл със следното съдържание:
<Limit ALL>
Order allow,deny
Deny from 64.14.68.138
Deny from 64.14.68.139
</Limit>

Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.

Блокиране на достъпа от определена мрежа

Можете да забраните и цяла мрежа. За да блокирате например всички IP адреси, започващи с 64.14.68. (т.е. мрежата 64.14.68), използвайте следния код:
<Limit ALL>
Order allow,deny
Deny from 64.14.68.
</Limit>
Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.

• Блокиране на достъпа от всички IP адреси и мрежи

Ако желаете да забраните достъпа на всички от всеки адрес без изключение, използвайте следния код във вашия .ftpaccess файл:

<Limit ALL>
Order allow,deny
Deny from all
</Limit>
Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.

• Блокиране на достъпа от всички IP адреси и мрежи освен някои

Можете да позволите достъп по FTP само на определени IP адреси или мрежи. Например:
<Limit ALL>
Order allow,deny
Allow from 64.14.68.138
Allow from 64.14.68.139
Deny from all
</Limit>
По този начин достъп до FTP сайта ви ще имат единствено IP адресите 64.14.68.138 и 64.14.68.139.
Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.

4.2 Забраняване триенето на файлове и директории^

Ако желаете да забраните само триенето на файлове и директории за всички потребители освен за вашия, използвайте следния код във вашия .ftpaccess файл, където заместете alloweduser с името на вашия FTP потребител:

<Limit DELE RMD XRMD>
AllowUser alloweduser
DenyAll
</Limit>
Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.

4.3 Забраняване качването на файлове и създаването на директории^

• Сценарий: Желаете да забраните качването на файлове и създаването на директории на всички потребители освен двама (alloweduser1 и alloweduser2), т.е. искате в директорията да е позволено само четенето за останалите потребители.

Използвайте следния код:
<Limit WRITE>
AllowUser alloweduser1,alloweduser2
DenyAll
</Limit>
• Сценарий:
- alloweduser1 трябва да може само да чете файловете и съдържанието на директорията без да може да пише
- alloweduser2 трябва да може само да качва нови файлове, да създава други директории в директорията и да разглежда съдържанието й без да може да чете файловете
- alloweduser3 трябва да може всичко
Използвайте следния код:
<Limit WRITE>
AllowUser alloweduser3,alloweduser2
DenyAll
</Limit>

<Limit READ>
AllowUser alloweduser3,alloweduser1
DenyAll
</Limit>
Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.

4.4 Позволяване само качването на файлове^

Ако желаете да направите директория, където всички ваши FTP потребители могат само да качват файлове без да могат да виждат съдържанието на дадената директория, използвайте следния код:
<Limit ALL>
DenyAll
</Limit>

<Limit CDUP CWD XCWD XCUP PWD>
AllowAll
</Limit>

<Limit STOR STOU>
AllowAll
</Limit>
Имайте предвид, че чрез тази конфигурация ще е възможно презаписването на вече съществуващи файлове.
Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.

Важно: Самата директория/поддомейн, в който сте поставили .ftpaccess файла, няма да може да се вижда и за да пишете в нея, е нужно да конфигурирате дадената директория като начална във вашия FTP клиент. Друго възможно решение представлява създаването на FTP потребители, чиято начална директория да е тази, за която искате горните правила да бъдат валидни, така че всеки един от тези потребители да влиза директно в тази директория без да е нужна допълнителна конфигурация.

4.5 Забрана за достъп
на определени потребители до дадена директория^

Ако желаете да забраните достъпа на определени FTP потребители до дадена директория, използвайте следния код, който запишете в .ftpaccess файла в съответната директория:
<Limit ALL>
DenyUser username1,username2
</Limit>
Моля, заместете username1, username2 и т.н. с потребителите, на които искате да забраните достъпа.
Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.

4.6 Достъп само на отделни потребители^

Ако желаете да ограничите достъпа до някоя директория само до определени FTP потребители, използвайте следния код, който запишете в .ftpaccess файла в съответната директория:
<Limit ALL>
AllowUser alloweduser1,alloweduser2
DenyAll
</Limit>
Моля, заместете alloweduser1, alloweduser2 и т.н. с потребителите, на които искате да позволите достъпа.
Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.

4.7 Позволяване на триенето на файлове само от определени IP адреси^

Ако желаете да ограничите триенето на файлове в някоя директория само от определени IP адреси, използвайте следния код, който запишете в .ftpaccess файла в съответната директория:
<Limit DELE>
Allow from 64.14.68.138
DenyAll
</Limit>
По този начин само FTP потребителите, които са се свързали с FTP сървъра от IP адрес 64.14.68.138 ще могат да трият файлове в дадената директория.
Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.

4.8 Ограничаване промяната на правата за достъп^

Ако желаете да ограничите промяната на правата за достъп до файлове в някоя директория само от определени потребители, използвайте следния код:
<Limit SITE_CHMOD>
AllowUser alloweduser1,alloweduser2
DenyAll
</Limit>
Моля, заместете alloweduser1, alloweduser2 и т.н. с потребителите, на които искате да позволите промяна в правата за достъп. Имайте предвид, че тези потребители ще могат да променят правата за достъп единствено, ако те са собствениците им, докато останалите потребители няма да могат да променят и правата за достъп на своите файлове.
Поставете .ftpaccess файла във всяка директория/поддомейн, за който искате горните правила да бъдат активни.