Fișier de configurare. Fișiere incluse. BIND fișierul de configurare principal

Setările terminalului sunt stocate în fișierele de configurare. Fișierele sunt text, unicode, pot fi editate cu orice editor de text care acceptă unicode, Notepad este destul de potrivit. O descriere completă a tuturor parametrilor permisi în fișierele de configurare și a valorilor acestora poate fi găsită în manualul privind parametrii fișierului de configurare.

Configurația finală a terminalului se obține prin însumarea parametrilor din trei surse:

  • Fișier de configurare la nivelul întregului sistem toate.wtc
  • Fișier de configurare individual
  • Fișiere conectate conform listei listă.wtc(editarea listei nu este acceptată de configuratorul WTware)

Dacă terminalul își găsește adresa MAC în lista list.wtc sau își găsește configurația individuală, atunci va încerca să se conecteze la serverul terminal. În caz contrar, va fi lansat Expertul de configurare a terminalului.

Fișier de configurare la nivelul întregului sistem

Fișier de configurare la nivelul întregului sistem numit toate.wtc. Acesta este căutat în directorul Toată lumea din directorul de date pe care l-ați specificat în timpul instalării. În cazul nostru, acesta este directorul C:\users\all users\WTware\Everyone\. Este convenabil să scrieți în el acei parametri care au aceleași valori pentru toate terminalele, de exemplu server .

Fișier de configurare individual

Fișiere de configurare individuale sunt stocate în directorul Terminals, care se află în directorul de date WTware pe care l-ați specificat în timpul instalării. În cazul nostru, acesta este directorul C:\users\all users\WTware\Terminals\.

Un terminal a cărui placă de rețea are o adresă MAC de 00:01:02:aa:bc:8e va căuta configurația sa în director MA.KA.DR.ES.TE.RM, fișierul ar trebui să se numească config.wtc. Acordați atenție literelor dacă serverul dvs. TFTP este pe o mașină Unix!

De asemenea, acordați atenție fișierelor incluse aflate în directoarele Șabloane și conexiuni din directorul de date WTware. Folosind șablonul și directivele de conectare, puteți conecta fișiere suplimentare la fișierul de configurare a terminalului.

Lista fișierelor incluse

Directorul ListIncludes (în directorul de date specificat în timpul instalării) conține fișiere de configurare generale cu descrieri ale parametrilor terminalului, pe care terminalele le conectează prin enumerare în fișierul list.wtc.

ATENŢIE! list.wtc este destinat doar pentru configurarea manuală a terminalelor. Configuratorul grafic nu citește list.wtc, nu citește și nu permite editarea fișierelor din directorul ListIncludes. Prin urmare, nu puteți încerca să configurați același terminal atât cu configuratorul, cât și prin list.wtc.
Sintaxa este complet aceeași cu fișierul de configurare. Fișierele din acest director specificat în list.wtc pentru terminal vor fi lipite de începutul fișierului de configurare a terminalului principal înainte ca terminalul să-l citească. Prin urmare, în fișierele din acest director puteți scrie șablon, conexiune, ecranul următor.

Lista fișierelor incluse se află în fișierul Everyone/list.wtc. Formatul de linie din acest fișier este:

01:02:03:04:05:06 [([nume utilizator@][nume terminal])] [fișier [fișier...]]] [# comentariu]
Exemple: Înseamnă că terminalul cu adresa MAC 02:03:04:05:06:07 va citi parametrii din fișierul ListIncludes/file1.
03:04:05:06:07:08(vasja@) fișier2
Aceasta înseamnă că terminalul cu adresa MAC 03:04:05:06:07:08 va citi parametrii din fișierul ListIncludes/file2 și va introduce numele de utilizator „vasja” în fereastra „Login to Windows”.
04:05:06:07:08:09(term5) file6 file7 # Computerul contabilului șef adjunct.
Înseamnă că terminalul cu adresa MAC 04:05:06:07:08:09 va fi numit term5, similar cu specificarea parametrului clienthostname și va citi parametrii din fișierele ListIncludes/file6 și ListIncludes/file7.
Pentru a putea specifica numele de utilizator cu litere rusești, trebuie să deschideți acest fișier în Notepad și să-l salvați cu Encoding: Unicode.

Ordinea de citire, prioritatea valorii

Fișierele de configurare sunt citite în această ordine:

  1. toate.wtc
  2. Fișierele listate în list.wtc
  3. Fișierele conectate la configurația terminalului prin șablon și directive de conectare
  4. Configurare individuală

Parametrii sunt suprascriși pe măsură ce sunt citiți și se utilizează ultima valoare. Acestea. dacă, de exemplu, parametrul server este specificat în all.wtc și configurația individuală, atunci se va folosi valoarea din configurația individuală, deoarece se citește mai târziu.

De regulă, fișierele de configurare sunt în format text și pot fi citite și editate de utilizatorul programului.

Fișierele de configurare sunt cele mai utilizate ca instrument de configurare în familia de sisteme de operare Unix: FreeBSD, GNU/Linux etc.

Formate cunoscute

  • alte…

Fundația Wikimedia. 2010.

Vedeți ce este un „Fișier de configurare” în alte dicționare:

    Comandă rapidă în Windows NT O comandă rapidă, o intrare pe desktop sau un fișier de configurare a desktopului), în terminologia computerului, un fișier care servește ca indicator către un obiect (de exemplu, un fișier, ... ... Wikipedia

    Acest termen are alte semnificații, vezi Fișier (sensuri). Fișier (fișier în limba engleză) este un bloc de informații de pe un dispozitiv de stocare extern al computerului care are o anumită reprezentare logică (pornind de la o secvență simplă ... ... Wikipedia

    Editarea fișierului INI folosind limba engleză. Fișierul de inițializare este un fișier de configurare care conține date de setări pentru Microsoft Windows, Windows NT și unele aplicații. A apărut încă din primele versiuni de Windows. În versiunea Windows 1.01 aceasta este... ... Wikipedia

    Concept de fișier (dosar de fișiere, folder în engleză) în calcul: o entitate care vă permite să accesați orice resursă a unui sistem informatic și are o serie de caracteristici: un nume fix (o secvență de caractere, un număr sau ... Wikipedia

    limbaj de descriere a configurației sistemului- Acest limbaj oferă posibilitatea de a face schimb de informații despre configurațiile dispozitivului într-un format standardizat între software de la diferiți producători. [Știri de inginerie electrică nr. 3(75). Protecție releu. IEC 61850] Toți parametrii... ... Ghidul tehnic al traducătorului

    Concept de fișier (dosar de fișiere, folder în engleză) în calcul: o entitate care vă permite să accesați orice resursă a unui sistem informatic și are o serie de caracteristici: un nume fix (o secvență de caractere, un număr sau ... Wikipedia

    Un fișier de configurare sau un fișier de configurare este utilizat pentru a stoca setările pentru programe de calculator, inclusiv sisteme de operare. De regulă, fișierele de configurare sunt în format text și pot fi citite și editate... ... Wikipedia

    1C:Întrebări frecvente:Actualizare- Ce voi primi dacă folosesc 1C piratat? Lansarea configurației și a platformei De unde se obține: actualizări ale configurațiilor și formulare de raportare Actualizarea ediției (versiunea) ... Enciclopedia contabilă

  • Mod de recuperare

Introducere

Cumva, în timp ce căutam cum să atașez fișierele ini de configurare sau json la serverul meu, am căutat opțiunile, dar din anumite motive erau incomode sau prea simple, sau biciclete. Și, deși îmi place configurația xml, uneori acestea sunt fișiere prea mari și este incomod să scrii mult text pentru un număr mic de setări. Odată ce am pus o întrebare unui prieten pe această temă, mi-a dat biblioteca. Seamănă cu json amestecat cu yaml.

Biblioteca are două interfețe: funcțională și obiect. Sunt foarte asemănătoare, deoarece obiectul folosește o implementare funcțională în interior, dar au unele diferențe, discutate în această postare.

Configurare și conectare

Biblioteca este disponibilă în multe depozite, așa că instalarea este simplă:
$ sudo aptitude install libconfig8 libconfig8-dev libconfig++ libconfig++-dev

În codul sursă, C++ este conectat cu o singură includere:
#include
sau
#include
sau pentru C
#include

Fișier de configurare

Fișierul de configurare are următoarea structură:
# Exemplu de versiune a fișierului de configurare a aplicației = "1.0"; aplicație: ( fereastra: ( titlu = "Aplicația mea"; size = { w = 640; h = 480; }; pos = { x = 350; y = 250; }; }; list = (("abc", 123, true), 1.234, (/* an empty list */)); books = ({ title = "Insula comoara"; author = "Robert Louis Stevenson"; price = 29.95; qty = 5; }, { title = "Prăbușire de zăpadă"; author = "Neal Stephenson"; price = 9.99; qty = 8; }); misc: { pi = 3.141592654; bigint = 9223372036854775807L; columns = [ "Last Name", "First Name", "MI" ]; bitmask = 0x1FC3; }; }; !}

Principalele tipuri de intrări din config sunt următoarele tipuri:

Element (Setare)
Aceasta este partea semnificativă minimă a structurii de configurare și are forma cheie-valoare:
nume = valoare;
sau
nume: valoare
Grupuri
Grupurile pot conține orice număr de elemente, dar fiecare element trebuie să conțină o cheie unică în cadrul grupului. Scris în acolade:
(setari...)
Matrice
Conțin orice număr de elemente, chiar și zero, dar toate elementele constau numai din valori și trebuie să fie de același tip scalar în cadrul matricei. Scrie între paranteze drepte:
[valoare, valoare...]
Liste
Listele conțin zero sau mai multe elemente de tip scalar, matrice, grup sau listă. Scris între paranteze:
(valoare, valoare...)
numere întregi
Ele sunt scrise în modul zecimal obișnuit (±0-9) sau în formă hexazecimală (0xA-f). Dar valorile întregi sunt limitate la intervalul -2147483648..2147483647 (32 de biți), dar dacă sunt necesare intervale mai mari, atunci se adaugă „L” la sfârșit.
3578934 897893450934L
Numere fracționale în virgulă mobilă (floating)
Este scris și în modul obișnuit
3.1415
Notația standard pentru exponent este „e”.
Valori booleene
Valorile sunt scrise ca „adevărat” sau „fals” și nu sunt sensibile la majuscule (fără ghilimele, desigur).
Siruri de caractere
Scris între ghilimele duble ca „Un șir lung obișnuit scris ca exemplu”.
Următoarele opțiuni vor da în cele din urmă aceeași valoare a șirului:
„Șir lung obișnuit” „scris de exemplu”
„Șir lung obișnuit” /* comentariu */ „scris” // comentariu „de exemplu” .
Comentarii
În configurație, sunt posibile trei tipuri familiare în C++:
  • # de la o linie până la sfârșitul rândului
  • // de asemenea, de o linie până la sfârșitul rândului
  • /*… */ comentariu pe mai multe rânduri, inclusiv întreruperi de rând
Conexiuni externe (Include)
Acesta este, în general, cel mai delicios răsfăț vreodată.
# file: quote.cfg quote = "Critica poate să nu fie acceptabilă, dar este necesară." „Îndeplinește aceeași funcție ca și durerea în corpul uman“ „. Atrage atenția asupra unei stări nesănătoase a „“ lucrurilor.\n” „\t--Winston Churchill”;
# fișier: info test.cfg: (nume = „Winston Churchill”; @include „quote.cfg” țara = „Marea Britanie”; );

Cu API

În această parte nu voi descrie toate funcțiile, ci doar pe cele principale, deoarece sunt în general similare, și nuanțele principale.

Descrierea funcțiilor utilizate mai jos

#include #include #include /* Acest exemplu citește fișierul de configurare „example.cfg” și afișează componentele acestuia */ int main(int argc, char **argv) ( /* sunt folosite tipuri personalizate. */ config_t cfg; config_setting_t *setting; const char * str; config_init(&cfg); /* inițializare obligatorie */ /* Citiți fișierul. Dacă există o eroare, ieșiți */ if(! config_read_file(&cfg, „example.cfg”)) ( fprintf(stderr, „%s :%d - %s\n", config_error_file(&cfg), config_error_line(&cfg), config_error_text(&cfg)); config_destroy(&cfg); return(EXIT_FAILURE); ) /* Căutați o anumită valoare „nume”. */ if(config_lookup_string(&cfg, „nume”, &str)) printf(„Nume magazin: %s\n\n”, str); else fprintf(stderr, „Fără setare „nume” în fișierul de configurare.\n”); /* Afișează o listă de cărți cu rafturi. */ setting = config_lookup(&cfg, "inventory.books"); if(setting != NULL) ( int count = config_setting_length(setting); int i; printf("%-30s) %-30s %-6s %s \n”, „TITLU”, „AUTOR”, „PRț”, „CANTITATE”); for(i = 0; i< count; ++i) { config_setting_t *book = config_setting_get_elem(setting, i); /* Выводим только те записи, если они имеют все нужные поля. */ const char *title, *author; double price; int qty; if(!(config_setting_lookup_string(book, "title", &title) && config_setting_lookup_string(book, "author", &author) && config_setting_lookup_float(book, "price", &price) && config_setting_lookup_int(book, "qty", &qty))) continue; printf("%-30s %-30s $%6.2f %3d\n", title, author, price, qty); } putchar("\n"); } /* Вывод всех фильмов с полки. */ setting = config_lookup(&cfg, "inventory.movies"); if(setting != NULL) { unsigned int count = config_setting_length(setting); unsigned int i; printf("%-30s %-10s %-6s %s\n", "TITLE", "MEDIA", "PRICE", "QTY"); for(i = 0; i < count; ++i) { config_setting_t *movie = config_setting_get_elem(setting, i); /* Вывод только тех медиа, у которых заполнены все поля. */ const char *title, *media; double price; int qty; if(!(config_setting_lookup_string(movie, "title", &title) && config_setting_lookup_string(movie, "media", &media) && config_setting_lookup_float(movie, "price", &price) && config_setting_lookup_int(movie, "qty", &qty))) continue; printf("%-30s %-10s $%6.2f %3d\n", title, media, price, qty); } putchar("\n"); } config_destroy(&cfg); /* Освободить память обязательно, если это не конец программы */ return(EXIT_SUCCESS); }

O scurtă descriere a funcționalității
Descriere completă în documentație.

config_t- tipul fișierului de configurare (aceasta nu este încă o înregistrare). În linii mari, containerul principal.
config_setting_t- obiect element de configurare. Exemplul folosește un pointer returnat de container către elementul căutat.
int config_read_file(config_t * config, const char * filename) - funcția citește fișierul de configurare numele fișierului în memorie și completează obiectul tip config_t. Nu puteți citi dintr-un fișier, dar imediat „alimentați” șirul la config_read_string() sau dați descriptorul fișierului la config_read()
int config_lookup_string(const config_t * config, const char * cale, const char ** valoare) - caută și returnează o valoare ca indicator către un șir valoare, de-a lungul unui drum dat caleîn interiorul config config.
config_setting_t * config_lookup(const config_t * config, const char * path) - caută o intrare în interiorul config de-a lungul căii interne specificate și o returnează.
config_setting_t * config_setting_get_elem(const config_setting_t * setare, unsigned int index) - folosit pentru matrice, liste pentru a returna elemente din el cu un astfel de număr în ordine
int config_setting_lookup_string(const config_setting_t * setare, const char * nume, const char ** valoare) -
returnează valoarea valoare element copil Nume raportat la o intrare dată setare
Când trebuie să obțineți o valoare într-o anumită înregistrare, funcționează ca
int config_setting_get_int(const config_setting_t * setare)

C++ API

Același exemplu, dar în C++. Documentația completă pe site

#include #include #include #include folosind namespace std; folosind spațiul de nume libconfig; // Un exemplu care citește fișierul de configurare „example.cfg” și își imprimă intrările int main(int argc, char **argv) ( Config cfg; // Citește fișierul. Sau iese cu o eroare // Clasa C++ nu nu returnează o eroare, dar aruncă o excepție try ( cfg.readFile("example.cfg"); ) catch(const FileIOException &fioex) ( std::cerr<< "I/O error while reading file." << std::endl; return(EXIT_FAILURE); } catch(const ParseException &pex) { std::cerr << "Parse error at " << pex.getFile() << ":" << pex.getLine() << " - " << pex.getError() << std::endl; return(EXIT_FAILURE); } // Получить некое название. try { string name = cfg.lookup("name"); cout << "Store name: " << name << endl << endl; } catch(const SettingNotFoundException &nfex) { cerr << "No "name" setting in configuration file." << endl; } const Setting& root = cfg.getRoot(); // Найти все книжки на полке. try { const Setting &books = root["inventory"]["books"]; int count = books.getLength(); cout << setw(30) << left << "TITLE" << " " << setw(30) << left << "AUTHOR" << " " << setw(6) << left << "PRICE" << " " << "QTY" << endl; for(int i = 0; i < count; ++i) { const Setting &book = books[i]; // Находим только те записи, что имеют все заполненные поля. string title, author; double price; int qty; if(!(book.lookupValue("title", title) && book.lookupValue("author", author) && book.lookupValue("price", price) && book.lookupValue("qty", qty))) continue; cout << setw(30) << left << title << " " << setw(30) << left << author << " " << "$" << setw(6) << right << price << " " << qty << endl; } cout << endl; } catch(const SettingNotFoundException &nfex) { // Ignore. } // Вывод всех фильмов с полки. try { const Setting &movies = root["inventory"]["movies"]; int count = movies.getLength(); cout << setw(30) << left << "TITLE" << " " << setw(10) << left << "MEDIA" << " " << setw(6) << left << "PRICE" << " " << "QTY" << endl; for(int i = 0; i < count; ++i) { const Setting &movie = movies[i]; // Вывод только тех, что содержат все поля. string title, media; double price; int qty; if(!(movie.lookupValue("title", title) && movie.lookupValue("media", media) && movie.lookupValue("price", price) && movie.lookupValue("qty", qty))) continue; cout << setw(30) << left << title << " " << setw(10) << left << media << " " << "$" << setw(6) << right << price << " " << qty << endl; } cout << endl; } catch(const SettingNotFoundException &nfex) { // Ignore. } return(EXIT_SUCCESS); }
Principiul aici este același ca și în stilul funcțional, doar că înainte de a primi date din configurație trebuie să obțineți elementul rădăcină cfg.getRoot();și abia apoi se întoarce de acolo la elementele rămase. De asemenea, trebuie să fiți atenți la faptul că aproape toate erorile sunt aruncate excepții

Concluzie

Pe lângă citirea configurațiilor convenabile, API-ul oferă, de asemenea, funcționalitate pentru crearea elementelor de configurare și scrierea lor pe media.

Sistemul de operare Linux, spre deosebire de Windows, nu are un registru comun pentru stocarea setărilor sistemului; toate setările sunt stocate în fișierele de configurare. Majoritatea acestor fișiere se află în folderul /etc/.

Setările majorității programelor de sistem și ale terților se află în aceste fișiere; acestea pot fi setări pentru serverul grafic, managerul de autentificare, serviciile de sistem, serverul web, sistemul de inițializare.

Doar unele fișiere de configurare sunt localizate în alte foldere, de exemplu, fișierele de configurare a mediului de lucru din directorul principal al utilizatorului. Este foarte important ca începătorii să înțeleagă de ce sunt responsabile aceste sau acele fișiere de configurare, pentru a-și găsi rapid drumul dacă este necesar. În acest articol ne vom uita la principalele fișiere de configurare Linux, locația și scopul acestora.

De fapt, nu există fișiere de configurare în sistemul Linux în sine. Deoarece sistemul de operare este doar un set de programe și un nucleu, toate aceste fișiere au fost create de anumite programe și sunt citite de acestea pentru a configura comportamentul. Majoritatea fișierelor pe care suntem obișnuiți să le considerăm standard se referă la sistemul de inițializare sau alte utilitare de sistem.

După cum am spus, majoritatea fișierelor sunt localizate în /etc. Numele acestui folder înseamnă „et cetera”, care este latină pentru „și alții” sau „și așa mai departe”. Mai întâi să ne uităm la conținutul directorului Linux /etc:

Există destul de multe fișiere diferite aici. În continuare ne vom uita la scopul multora dintre ele. Lista este sortată alfabetic.

1. /etc/adjtime

Acest fișier de configurare este responsabil pentru setarea formatului de timp al sistemului și este citit de serviciul systemd-timedated. Ora poate fi prezentată în două versiuni: LOCAL - ora fusului orar curent și UTC - Greenwich Mean Time. Puteți modifica manual valoarea sau puteți utiliza utilitarul timedatectl.

2. /etc/bash.bashrc

Acest fișier aparține shell-ului bash. Acesta nu este cu adevărat un fișier de configurare - ci un script, conținutul său este executat atunci când fiecare instanță bash este pornită pentru a configura shell-ul. Conținutul fișierului ~/.bashrc este executat în același mod pentru fiecare utilizator.

3. /etc/crontab

6. /etc/group

25. /etc/sudoers

/etc/sudoers este fișierul de configurare. Acest utilitar vă permite să executați comenzi în numele altor utilizatori, inclusiv ca superutilizator. Dar numai acei utilizatori care sunt înregistrați în acest fișier îl pot folosi.

26. /etc/sysctl.conf

Acest fișier este responsabil pentru timpul de rulare. Aici puteți seta toți parametrii din subsistemul /sys/ și vor fi salvați după o repornire.

27. /etc/vconsole.conf

Acest fișier are un singur scop - de a seta codificarea implicită, aspectul tastaturii și fontul pentru toate consolele virtuale lansate pe mașină.

28. /boot/grub/grub.cfg

Acest fișier de configurare Linux nu se află în /etc din cauza scopului său specific. Acesta conține toate setările bootloader-ului, elementele de meniu și alți parametri, așa că ar trebui să fie disponibil chiar înainte ca sistemul de fișiere rădăcină să fie montat.

concluzii

În acest articol, ne-am uitat la principalele fișiere de configurare Linux, care se află în folderul /etc/. Poate că există câteva fișiere importante despre care credeți că lipsesc, atunci asigurați-vă că ne spuneți despre ele și scopul lor în comentarii!

Format comun de fișier de configurare

Configurarea majorității componentelor pachetului softwarerealizat folosind fișierele de configurare. Fișierele de configurare sunt fișiere text, ceea ce vă permite să le editați cu orice editor de text).

Format general de fișier de configurare:

Începutul fișierului ---

[Numele secțiunii 1]

...
Parametrul N = valoarea1, ..., valoarea K

[Numele secțiunii X]
Parametrul1 = valoare1, ..., valoareK
...

--- sfârșitul fișierului ---

Fișierele de configurare sunt generate după următorul principiu:

Caracterele „ ; ” sau „ # " în rândurile fișierului de configurare indicați începutul unui comentariu - tot textul care urmează aceste caractere în rând este omis de moduleDr.Web pentru servere de mail UNIXla citirea parametrilor dintr-un fișier de configurare.

Conținutul fișierului este împărțit într-o secvență de secțiuni denumite. Numele posibile de secțiuni sunt codificate și nu pot fi arbitrare. Numele secțiunii este dat între paranteze drepte.

Fiecare secțiune conține un grup de parametri de configurare, uniți prin semnificație.

O linie a fișierului specifică valoarea unui singur parametru.

Formatul de bază pentru specificarea valorii unui parametru (spațiile din jurul simbolului „=", dacă este prezent, sunt ignorate):

<Имя параметра> = <Значение>

Numele posibile ale parametrilor sunt codificate și nu pot fi arbitrare.

Toate numele de secțiuni și parametri din fișier nu fac distincție între majuscule și minuscule.

Ordinea secțiunilor din fișier și parametrii din cadrul secțiunilor nu contează.

Valorile parametrilor din fișierul de configurare pot fi incluse înghilimele (și trebuie citate dacă conțin spații).

Unii parametri pot avea mai multe valori, caz în care valorile parametrilor sunt separate prin virgulă sau valoarea parametrului este specificată de mai multe ori în rânduri diferite ale fișierului de configurare. La listarea valorilor parametrilor, separate prin virgule, spatiile dintre valoare si virgula, daca sunt prezente, sunt ignorate. Dacă un spațiu face parte dintr-o valoare, întreaga valoare trebuie inclusă între ghilimele.

Un exemplu de specificare a unui parametru care are mai multe valori:

1) Listarea mai multor valori separate prin virgule:

Parametru = Valoare1, Valoare2, „Valoare 3”

2) Setarea acelorași valori ale parametrilor în linii diferite ale fișierului de configurare:

Parametru = Valoarea2
Parametru = Value1
Parametru = „Valoarea 3”

Reguli de descriere a parametrilor adoptate în acest document

În acest manual, fiecare parametru este descris după cum urmează:

[Utilizați starea înReguli]

ParameterName = (Tipul parametru | Valori posibile)

Descrierea parametrului.

(Poate avea mai multe semnificații).

(Note speciale)

(Notite importante)

Valoare implicită:

ParameterName = (valoare | lipsește)

Starea utilizării în Reguliindicate cu următoarele pictograme:

Parametrul poate fi utilizat în SETĂRI -piese Reguli de procesare a scrisorilorpentru a-și schimba temporar valoarea la procesarea unei anumite litere pentru care partea condiționată a regulii este adevărată.

Parametru atunci când este utilizat înReguli de procesare a scrisorilorare semantică „aditivă” (acumulătoare), adică Dacă mai multe reguli sunt adevărate pentru o literă, setând valori diferite pentru acest parametru, atunci valoarea parametrului este lista combinată a valorilor sale din regulile declanșate.

Parametru atunci când este utilizat înReguli de procesare a scrisoriloracceptă clonarea e-mailului, de ex. dacă o scrisoare are mai mulți destinatari, iar pentru diferiți destinatari ai scrisorii care definesc reguli diferite variat valoarea acestui parametru, apoi litera va fi clonată (în funcție de numărul de destinatari), iar pentru fiecare copie a scrisorii se va folosi ca valoare a parametrului valoarea din Regula care este adevărată pentru această literă.

Dacă starea de utilizare pentru un parametru nu este specificată în reguli, atunci acest parametru nu poate fi utilizat înReguli de procesare a scrisorilor.

Descrierile parametrilor și secțiunile fișierelor de configurare sunt date în ordinea în care apar în fișierul de configurare creat în timpul instalării pachetului softwareDr.Web pentru servere de mail UNIX.

Tipul parametrului câmpului poate lua următoarele valori:

valoare numerică- valoarea parametrului este un întreg nenegativ.

timp (timp) - valoarea parametrului este specificată în unități de timp. Valoarea constă dintr-un număr întreg, care poate fi urmat de o literă care determină tipul de unități de timp ( s – secunde, m – minute, h – ore, majusculele nu sunt luate în considerare). Dacă nu există nicio literă în valoarea parametrului, atunci se presupune că timpul este specificat în secunde.

Exemple: 30s, 15m

mărimea - valoarea parametrului este specificată în unități de memorie (disc sau RAM). Valoarea constă dintr-un număr întreg, care poate fi urmat de o literă care determină tipul unității de memorie ( b – octeți, k – kiloocteți, m – megaocteți, g – gigaocteți, cazul nu este luat în considerare). Dacă nu există nicio literă în valoarea parametrului, atunci dimensiunea este considerată a fi specificată în octeți.

Exemple: 20b, 15k

drepturi (permisiuni) - valoarea parametrului este specificată printr-un număr din trei cifre care indică drepturile de acces la fișiere în formatul acceptat în sistemele UNIX.
Fiecare drept este o combinație (suma) a trei drepturi de bază:

o Permisul de citire (r) este indicat cu cifra 4;

o Permisiunea de scriere (w) este indicată de numărul 2;

o Dreptul de executare (x) este desemnat cu cifra 1.

În acest caz, prima cifră a numărului specifică drepturile pentru proprietarul fișierului, a doua – pentru grupul de proprietari de fișiere, iar a treia – pentru toți ceilalți care nu sunt nici proprietari, nici membri ai grupului corespunzător.

Exemple: 755, 644

logic (Da s /Nu) - Un tip boolean ale cărui valori sunt reprezentate prin șiruri de caractere " Da și nu".

calea către fișier/director(calea către fișier/director) - un șir care specifică locația unui fișier sau director pe sistemul de fișiere. Amintiți-vă că, în sistemele de operare Linux/UNIX, numele fișierelor și directoarelor sunt sensibile la majuscule și minuscule. Dacă se specifică că valoarea parametrului poate fi masca , apoi măștile de fișiere care conțin următoarele caractere speciale pot fi folosite ca valori ale parametrilor:

o? – înlocuiește orice caracter;

o * – înlocuiește orice secvență de caractere (inclusiv goală).

Exemplu: „?.e* " – o mască care acoperă fișierele al căror nume constă dintr-un singur caracter și o extensie de orice lungime și începe cu litera " e " (x.exe, g.e, f.enable etc.).

acțiune - o linie care conține numele acțiunilor efectuate asupra obiectelor care au provocat orice reacție din partea componentelor pachetului softwareDr.Web pentru servere de mail UNIX. În unele cazuri, puteți specifica o acțiune principală și până la trei acțiuni suplimentare pentru un parametru. Tipul de parametru în acest caz este apelatlista de acțiuni. Acțiunea principală în acest caz ar trebui să fie întotdeauna pe primul loc în listă. Setul de acțiuni permise poate diferi pentru diferiți parametri, caz în care este specificat separat pentru fiecare parametru. Pentru o listă generală a acțiunilor care pot fi utilizate, consultațide mai jos.

abordare - un șir care conține adresa socket-ului componenteiDr.Web pentru servere de mail UNIXsau un modul sau program extern.
Are formatul TYPE:ADDRESS . Sunt permise următoarele tipuri:

o inet - Se folosesc socket-uri TCP, ADRESĂ are formatul PORT@NODE_NAME. NODE_NAME poate fi fie o adresă IP directă, fie un nume de domeniu gazdă.

Exemplu:

Adresă = inet:3003@localhost

o locală - sunt folosite socket-uri UNIX locale, în acest caz adresa este calea către fișierul socket.

Exemplu:

Adresă = local:%var_dir/.daemon

o pid - adresa reală a procesului trebuie citită din fișierul PID al acestuia. Acest tip de adresă este disponibil numai în unele cazuri, iar dacă este posibil să-l folosească, acest lucru este indicat în mod explicit în descrierea parametrului.

text (valoare text), șir(șir) - valoarea parametrului este specificată ca șir de text; textul din șir poate fi cuprins între ghilimele (dacă există spații în șir, atunci sunt necesare ghilimele).

setările piscinei - setările pool-ului de fire. Au un format special descris în secțiuneTipuri de parametri speciali.

Priveşte în sus- șiruri de caractere care specifică obiectele separate prin virgulă de căutat.

LookupLite - Căutare simplificată , în care puteți specifica doar fie valoarea imediată, fie Căutare tip fișier.

Depozitare - obiecte pentru stocarea datelor. Sintaxa este similară Priveşte în sus , cu excepția utilizării unei liste diferite de prefixe și aceea în Depozitare nu poți folosi o macrocomandă$s .
Mai multe despre tipuri Vedeți Lookup, LookupLite și Storage Priveşte în sus.

Setări TLS/SSL (TLSSettings)- setări pentru o conexiune criptată utilizând protocoalele criptografice TLS și SSL. Au un format special descris în secțiuneTipuri de parametri speciali.

lista de șiruri- un set de valori de text separate prin virgule.

Dacă valoarea parametrului se potrivește cu modelul file:/path_to_file (unde calea_to_file – calea fișierului), apoi valorile textului sunt obținute din fișierul specificat în parametru. Fiecare valoare din fișier trebuie să fie scrisă pe o linie separată. Dacă apare o eroare la preluarea informațiilor din fișier, un mesaj de diagnosticare corespunzător este afișat în fișierul jurnal și programul va continua încărcarea.

nivel de detaliu(nivel de jurnal) - linia care indicădate de ieșire către un jurnal sau serviciu syslog.

valori posibile- parametrul este de un tip nedescris în paragrafele precedente ale acestei liste. În acest caz, este listată o listă de valori permise pentru acesta.

Comportamentul modulelor cu fișiere de configurare specificate incorect

Dacă valoarea oricărui parametru este specificată incorect,Dr.Web pentru servere de mail UNIXafișează un mesaj de eroare și iese.

Dacă, la încărcarea unui fișier de configurare, sunt detectați parametri necunoscuți în acesta, programul continuă să funcționeze normal, dar un avertisment corespunzător este afișat în fișierul jurnal.

Unii parametri pot folosi expresii regulate ca valori (pentru fiecare parametru este notat în descrierea acestuia). În mod implicit, este utilizată sintaxa expresiei regulate Perl . Vă puteți familiariza cu elementele de bază ale expresiilor regulate, de exemplu, în Wikipedia (articol „ Expresii obisnuite").