Provided by:
manpages-pl_20060617-3_all 
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.