Provided by: manpages-pl_20060617-3_all bug

NAZWA

       config - biblioteka plików konfiguracyjnych OpenSSL CONF

OPIS

       Biblioteka OpenSSL CONF służy do wczytywania plików konfiguracyjnych.
       Obsługuje główny plik konfiguracyjny OpenSSL openssl.cnf oraz kilka
       innych, jak na przykład pliki SPKAC i pliki rozszerzenia certyfikatów
       dla narzędzi x509.

       Plik konfiguracyjny jest podzielony na sekcje. Każda z nich rozpoczyna
       się wierszem [ nazwa_sekcji ] i kończy wraz z początkiem następnej
       sekcji lub wraz z końcem pliku. Nazwa sekcji może się składać ze znaków
       alfanumerycznych oraz znaków podkreślenia.

       Pierwsza sekcja pliku konfiguracyjnego ma specjalne znaczenie i
       określana jest jako sekcja domyślna. Zwykle nie ma nazwy i znajduje się
       na początku pliku, przed pierwszą nazwaną sekcją.  Nazwy są wyszukiwane
       najpierw w nazwanych sekcjach (o ile takie są), a następnie w sekcji
       domyślnej.

       Środowisko jest mapowane na sekcję o nazwie ENV.

       Komentarze należy poprzedzać znakiem #.

       Każda sekcja pliku konfiguracyjnego składa się z par nazwa/wartość w
       formie nazwa=wartość.

       Łańcuch nazwa może zawierać dowolne znaki alfanumeryczne jak również
       niektóre znaki przestankowe, takie jak . , ; oraz _.

       Łańcuch wartość składa się z ciągu znaków pomiędzy znakiem = a końcem
       wiersza, z wyłączeniem wszelkich spacji poprzedzających oraz końcowych.

       Łańcuch wartości podlega przesłanianiu zmiennych. Robi się to poprzez
       użycie formy $zmienna lub ${zmienna}: zastępuje to wartość nazwanej
       zmiennej w bieżącej sekcji. Można także zastąpić wartość z innej sekcji
       przy użyciu formy $sekcja::nazwa lub ${sekcja::nazwa}.  Zmienne
       środowiskowe przesłania się za pomocą konstrucji ENV::nazwa.  W ten sam
       sposób można także definiować zmienne środowiskowe, jeśli tylko program
       wyszukuje je za pośrednictwem biblioteki CONF zamiast bezpośredniego
       wywołania getenv().

       Można cytować poszczególne znaki poprzez dowolny znak cytowania lub
       znak \. Przez postawienie znaku \ na końcu wiersza łańcuch wartość
       można rozciągać na kilka wierszy. Tę samą rolę pełnią też sekwencje \n,
       \r, \b oraz \t.

UWAGI

       Jeżeli plik konfiguracyjny stara się przesłonić nieistniejącą zmienną,
       podnoszony jest znacznik błędu i plik nie zostaje wczytany. Może się to
       stać podczas próby przesłaniania nie zdefiniowanej zmiennej
       środowiskowej.  Na przykład domyślny plik konfiguracji OpenSSL używał
       wartości HOME, która może nie istnieć w systemach innych niż uniksy.

       Można to obejść za pomocą sekcji domyślnej, w której znajdą się
       domyślne wartości: jeżeli wśrod zmiennych środowiska nie znajdzie się
       danej wartości, zostanie użyta właśnie wartość domyślna. Aby ten sposób
       działał właściwie, wartość domyślna musi zostać zdefiniowana w pliku
       wcześniej niż przesłonięcie. Przykładów poszukaj w sekcji PRZYKŁADY.

       Jeśli ta sama wartość jest zdefiniowana więcej niż jeden raz, wszystkie
       wystąpienia poza ostatnim zostaną pominięte bez komunikatu o błędzie. W
       sytuacjach takich jak DN to samo pole może się pojawić wielokrotnie -
       rozwiązaniem jest zwykle pomijanie znaków przed początkową ., na
       przykład:

        1.OU="Moje pierwsze OU"
        2.OU="Moje Drugie OU"

PRZYKŁADY

       Oto przykładowy plik konfiguracyjny zawierający niektóre z wymienionych
       wyżej elementów:

        # To jest sekcja domyślna.

        HOME=/temp
        RANDFILE= ${ENV::HOME}/.rnd
        configdir=$ENV::HOME/config

        [ sekcja_pierwsza ]

        # Jesteśmy w pierwszej sekcji.

        # Cytowanie pozwala na używanie spacji poprzedzających i końcowych
        cokolwiek = " dowolna nazwa zmiennej "

        tekst = Łańcuch który może \
        rozciągać się na kilka wierszy \
        przy użyciu \\ na końcu wiersza

        komunikat = Witaj świecie\n

        [ sekcja_druga ]

        pozdrowienia = $sekcja_pierwsza::komunikat

       Następny przykład pokazuje jak bezpiecznie przesłaniać zmienne
       środowiskowe.

       Załóżmy, że chcemy aby zmienna tmpfile wskazywała nazwę pliku
       roboczego. Katalog, w którym ten plik się znajduje, można odczytać ze
       zmiennych środowiskowych TEMP lub TMP, lecz mogą one nawet nie mieć
       nadanej żadnej wartości. Jeśli po prostu użyjemy nazw zmiennych
       środowiskowych i okaże się, że one nie istnieją, to podczas próby
       otwarcia pliku wystąpi błąd.  Przy wykorzystaniu sekcji domyślnej
       możemy spowodować, że najpierw będzie poszukiwana zmienna TEMP,
       następnie TMP, a jeśli żadna z nich nie będzie zdefiniowana, zostanie
       użyty katalog /tmp.

        TMP=/tmp
        # Powyższa wartość jest używana kiedy TMP nie ma w środowisku
        TEMP=$ENV::TMP
        # Powyższa wartość jest używana kiedy TEMP nie ma w środowisku
        tmpfile=${ENV::TEMP}/tmp.filename

BŁĘDY

       W obecnej chwili nie ma sposobu na wykorzystanie znaków w zapisie
       ósemkowym \nnn. Wszystkie łańcuchy są zakończone znakiem braku
       informacji, więc te znaki nie mogą pojawiac się w wartościach.

       Cytowanie nie jest całkiem porządne: po użyciu sekwencji w rodzaju \n
       nie można więcej używać cytowania w tym samym wierszu.

       Pliki są wczytywane tylko w jednym przebiegu. Z tego powodu
       przesłanianie zmiennych działa tylko jeżeli są one zdefiniowane we
       wcześniejszych wierszach danego pliku.

ZOBACZ TAKŻE

       x509(1), req(1), ca(1)

OD TŁUMACZA

       Tłumaczenie Daniel Koć <kocio@linuxnews.pl> na podstawie strony
       podręcznika systemowego config(1) 0.9.6c, 15.04.2002.

INFORMACJE O TŁUMACZENIU

       Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
       Tłumaczenia Manuali i moe nie by aktualne. W razie zauważenia różnic
       między powyższym opisem a rzeczywistym zachowaniem opisywanego programu
       lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją
       strony podręcznika.