smb.conf

Nazwa

smb.conf -- Plik konfiguracyjny pakietu Samba

SYNOPSIS

Plik smb.conf jest plikiem konfiguracyjnym pakietu Samba. smb.conf zawiera informacje konfiguracyjne "runtime" dla programów Samba. Plik smb.conf jest zaprojektowany do konfigurowania i administrowania przez program swat(8). Kompletny opis formatu pliku i dopuszczalnych w nim parametrów są tutaj dla celów referencyjnych.

FORMAT PLIKU

Plik składa się z sekcji i parametrów. Sekcja zaczyna się nazwą sekcji w nawiasach kwadratowych i trwa aż do rozpoczęcia następnej sekcji. Sekcje zawierają parametry w postaci

nazwa = wartosc

Plik jest zorganizowany w liniach - tj, każda linia zakończona znakiem nowej linii reprezentuje albo komentarz, albo nazwę sekcji, albo parametr.

Sekcje i nazwy parametrów mogą być pisane dużymi lub małymi literami.

Jedynie pierwszy znak równości w parametrze ma znaczenie. Odstęp (czyli spacja, przyp.tłum.) przed i za pierwszym znakiem równości jest porzucany. Odstępy przed, po, i wewnątrz sekcji i nazwy parametru są nieistotne. Ostępy przed, i po wartości parametru są porzucane. Odstęp wewnątrz wartości parametru pozostaną nie naruszone.

Jakakolwiek linia rozpoczęta znakiem średnika (';') lub hasza ('#') jest ignorowana tak samo, jak linie zawierające tylko spację.

Każda linia zakończona '\' jest "kontynuowana" w następnej linii zgodnie z przyjętym stylem UNIX'owym.

Wartości następujące po znaku równości w parametrach są wszystkie albo łańuchem tekstowym (nie potrzeba cudzysłowów), albo typem boolowskim (przyp.tłum. logicznym), który może być podany jako tak/nie, 0/1 lub true/false. Duże/małe litery nie mają znaczenia w wartościach bool'owskich, natomiast są zachowywane w wartościach tekstowych. Niektóre elementy takie, jak tryby tworzenia są numeryczne.

OPISY SEKCJI

Każda sekcja w pliku konfiguracyjnym (z wyjątkiem sekcji [global] opisuje współdzielony zasób jako "zasób"). Nazwa sekcji jest nazwą współdzielonego zasobu (ang. share), a parametry wewnątrz tej sekcji definiują atrybuty tego zasobu.

Są trzy specjalne sekcje, [global], [homes] i [printers], które są opisane w sekcje specjalne. Dalsze zapisy dotyczą opisów zwyczajnych sekcji.

Współudział składa się z katalogu do którego nadawany jest dostęp plus opis praw dostępu które są przyznawane użytkownikowi usługi. Pewne opcje "porządkowe" są również możliwe do ustawienia.

Sekcje są albo usługami plikowymi (używanymi przez klienta jako rozszerzenie jego własnych systemów plików), albo usługami drukowania (używanymi przez klienta do uzyskania dostępu do usług drukowania na hoście na którym działa serwer).

Sekcje mogą być oznaczone jako usługi guest, w którym to przypadku żadne hasło nie jest wymagane, aby uzyskać do nich dostęp. Określone konto UNIX guest account jest używane w takim przypadku, do zdefiniowania praw dostępu.

Sekcje inne niż usługi guest będą wymagać hasła, aby uzyskać do nich dostęp. Klient dostarcza nazwę użytkownika. Jako że starsi klienci dostarczają jedynie haseł, a nie nazw użytkowników, możesz określić listę nazw użytkowników do dopasowania hasła, używając opcji "user=" w definicji współdzielonego zasobu. Dla nowszych klientów takich, jak Windows 95/98 i Windows NT, nie powinno to być konieczne.

Zauważ, że prawa dostępu przyznane przez serwer są maskowane przez prawa dostępu przyznane określonemu użytkownikowi lub użytkownikowi UNIX'owemu guest, przez system hosta. Serwer nie przyznaje szerszego dostępu, niż robi to system hosta.

Następująca przykładowa sekcja definiuje współdzielony zasób plikowy. Użytkownik ma prawo zapisu do ścieżki /home/bar. Zasób jest dostępny poprzez nazwę "foo":

		  [foo]
 		path = /home/bar
 		writeable = true
	
        

Następująca przykładowa sekcja definiuje współdzielony zasób drukowania. Zasób jest tylko do odczytu, lecz drukowalny. To jest, jedyny dozwolony dostęp do zapisu jest poprzez wywołania otwarcia, zapisu i zamknięcia pliku "spool" (przyp.tłum. w kolejce wydruków). Parametr guest ok oznacza, że dostęp będzie dozwolony jako użytkownik guest (określony gdzie indziej):

		  [drukarka]
 		path = /usr/spool/public
 		writeable = false
 		printable = true
 		guest ok = true
	
	

SEKCJE SPECJALNE

sekcja [global]

Parametry w tej sekcji dotyczą serwera jako całości lub są parametrami domyślnymi dla sekcji które nie definiują pewnych elementów. Zobacz zapisy w PARAMETRY, aby uzyskać więcej informacji.

sekcja [homes]

Jeśli sekcja zwana homes jest dołączona w pliku konfiguracyjnym, usługi podłączające klientów do ich katalogów domowych mogą być tworzone na serwerze w locie.

Kiedy żądanie połączenia jest wykonane, skanowane są istniejące sekcje. Jeśli pasująca zostanie znaleziona, zostaje użyta. Jeśli brak pasującej sekcji, nazwa żądanej jest traktowana jak nazwa użytkownika i następuje jej poszukiwanie w lokalnym pliku haseł. Jeśli nazwa taka istnieje i podane hasło jest poprawne, współdzielony zasób jest tworzony poprzez klonowanie sekcji [homes].

Zostają wówczas wykonane pewne modyfikacje w nowo utworzonym zasobie:

Jeśli zdecydujesz się użyć linii path= w twojej sekcji [homes], możesz wówczas zauważyć, że makro %S jest użyteczne. Przykładowo:

path=/data/pchome/%S

byłoby użyteczne jeśli masz inne katalogi domowe dla PC-tów niż dla dostępu UNIX'owego.

Jest to szybka i prosta metoda, aby dać ogromnej liczbie klientów dostęp do ich katalogów domowych przy minimalnym zamieszaniu.

Podobny proces występuje jeśli nazwą żądanej sekcji jest "homes", z tym wyjątkiem, że nazwa zasobu nie jest zmieniana na tą, żądaną przez użytkownika. Taka metoda użycia sekcji [homes] działa dobrze w środowisku, w którym różni użytkownicy współdzielą miedzy sobą klienta PC.

Sekcja [homes] może określać wszystkie parametry, które może określać każda inna sekcja, choć niektóre są sensowniejsze od innych. Poniżej jest typowa i odpowiednia sekcja [homes]:
	  	  [homes]
	      writeable = yes

	  
	  

Ważną rzeczą jest to, że jeśli dostęp gościa jest określony w sekcji [homes], wszystkie katalogi domeowe będą widoczne dla wszystkich klientów bez hasła. W takim mało prawdopodobnym zdarzeniu, w którym jest to pożądane, byłoby mądrze włączyć również read-only access .

Zauważ, że flaga browseable dla automatycznych katalogów domowych będzie dziedziczona z globalnej flagi browseable, a nie z flagi browseable [homes]. Jest to użyteczne jako że oznacza, że ustawianie browseable = no w sekcji [homes] ukryje współdzielony zasób, lecz spowoduje, że dowolne katalogi auto home, bedą widoczne.

sekcja [printers]

Ta sekcja działa tak, jak sekcja [homes], lecz dla drukarek.

Jeśli sekcja [printers] występuje w pliku konfiguracyjnym, użytkownicy mogą podłączyć się do każdej drukarki określonej w lokalnym pliku printcap.

Kiedy wykonane jest żądanie połączenia, skanowane są istniejące sekcje. Jeśli pasująca zostanie znaleziona, jest użyta. Jeśli nie zostanie znaleziona, lecz sekcja [homes] istnieje, zostaje użyta tak, jak to opisano poprzednio. W przeciwnym przypadku, żądana nazwa sekcji jest traktowana jak nazwa drukarki i odpowiedni plik printcap jest skanowany żeby zobaczyć, czy żądana nazwa sekcji jest poprawną nazwą współdzielonej drukarki. Jeśli zostanie znaleziona, nowa współdzielona drukarka zostaje stworzona poprzez klonowanie sekcji [printers].

Kilka modyfikacji jest wówczas wykonanych na nowo stworzonym współdzielonym zasobie:

Zauważ, że usługa [printers] MUSI być drukowalna - jeśli określisz odwrotnie, serwer odmówi ładowania pliku konfiguracyjnego.

Typowo, ścieżka określona byłaby jako zapisywalny przez wszystkich katalog "spool" z ustawionym bitem "sticky". Typowy wpis [printers] wyglądałby tak:

		[printers]
	    path = /usr/spool/publiczny
	    guest ok = yes
	    printable = yes
	
	

Wszystkie aliasy podane dla drukarki w pliku printcap są legalnymi nazwami drukarki tak długo, jak długo dotyczą tego serwera. Jeśli twój podsystem drukowania nie dzieła w ten sposób, będziesz musiał zrobić plik pseudo-printcap. Jest to plik składający się z jednej lub więcej linii takich, jak ta:

		alias|alias|alias|alias...
	
	

Każdy alias powinien być akceptowalną nazwą drukarki dla twojego podsystemu drukowania. W sekcji [global], określ nowy plik jako twój printcap. Serwer będzie wówczas rozpoznawał jedynie nazwy znalezione w twoim pliku pseudo-printcap, który rzecz jasna może zawierać aliasy jakiekolwiek sobie zażyczysz. Ta sama technika mogłaby być użyta, żeby po prostu ograniczyć dostęp do części twoich lokalnych drukarek.

Alias, tak przy okazji, jest definiowany jako każdy komponent pierwszego wpisu rekordu printcap. Rekordy są odzielone przez znaki nowych linii, komponenty (jeśli jest więcej niż jeden) są oddzielone przez symbole pionowej kreski ("|").

ZAUWAŻ: W systemach SYSV które używają programu lpstat do określania jakie drukarki są zdefiniowane w systemie, możesz mieć możliwość użycia parametru "printcap name = lpstat" do automatycznego uzyskiwania listy drukarek. Zobacz opcję "printcap name" aby dowiedzieć się szczegółów.

PARAMETERS

Parametry definiują specyficzne atrybuty sekcji.

Pewne parametry są specyficzne dla sekcji [global] (np. security). Niektórych można używać we wszystkich sekcjach (np. create mode). Wszystkie inne są dozwolone tylko w zwykłych sekcjach. Dla celów dalszych opisów sekcje [homes] i [printers] będą uważane za zwykłe. Litera G w nawiasach oznacza, że parametr jest specyficzny dla sekcji [global. Litera S oznacza, że parametr może być określony dla sekcji pewnej usługi. Zauważ, że wszystkie parametry S mogą być określane w sekcji [global]. W takim przypadku będą definiować domyślne zachowanie dla wszystkich usług.

Parametry są tu uporządkowane w kolejności alfabetycznej - to nie tworzy najlepszej lektury do poduszki, ale przynajmniej możesz je znaleźć! Tam, gdzie są synonimy, opisany jest preferowany synonim, a pozostałe odnoszą się do preferowanego.

POSTAWIENIA ZMIENNYCH

Wiele łańcuchów tekstowych ustawianych w pliku konfiguracyjnym może używać podstawień. Na przykład opcja "path = /tmp/%u" byłaby zinterpretowana jako "path = /tmp/john" jeśli podłączył się użytkownik o nazwie john.

Podstawienia te są w większości odnotowane w poniższych opisach, lecz istnieją pewne ogólne podstawienia które działają gdziekolwiek mogłyby być adekwatne. Są to:

%S

nazwa bieżącej usługi, jeśli jakaś jest.

%P

katalog główny bieżącej usługi, jeśli taki jest.

%u

nazwa użytkownika bieżącej usługi, jeśli jakaś jest.

%g

grupa podstawowa %u.

%U

nazwa użytkownika sesji (nazwa użytkownika którą chciał klient, niekoniecznie taka sama jak ta, którą otrzymał).

%G

nazwa grupy podstawowej %U.

%H

katalog domowy użytkownika określonego przez %u.

%v

wersja Samby.

%h

nazwa internetowa hosta na którym działa Samba.

%m

nazwa NetBIOS maszyny klienta (bardzo użyteczne).

%L

nazwa NetBIOS serwera. Pozwala ci to zmienić konfigurację w zależności od tego, jak klient cię nazywa. Twój serwer może mieć "podwójną osobowość".

%M

nazwa internetowa maszyny klienta

%N

nazwa serwera NIS twojego katalogu domowego. Jest to uzyskiwane z twojego wpisu NIS auto.map. Jeśli nie skompilowałeś Samby z opcją --with-automount wtedy ta wartość będzie taka sama jak %L.

%p

ścieżka dostępu do katalogu domowego usługi, uzyskana z twojego zapisu NIS auto.map. Zapis ten jest podzielony jak "%N:%p".

%R

wybrany poziom protokołu po jego negocjacji. Może to być jeden spośród CORE, COREPLUS, LANMAN1, LANMAN2 lub NT1.

%d

id procesu dla bieżącego procesu serwera.

%a

architektura odległej maszyny. Tylko niektóre są rozpoznawane, i to również nie ze 100% pewnością. Aktualnie rozpoznawane to Samba, WfWg, WinNT i Win95. Cokolwiek innego będzie znane jako "UNKNOWN" ("NIEZNANA", przyp.tłum.). Jeśli się pomyli, wtedy wysłanie logu o poziomie 3 na adres samba@samba.org powinno umożliwić naprawienie pomyłki.

%I

adres IP maszyny klienta.

%T

bieżąca data i czas.

%$(envvar)

Wartość zmiennej środowiskowej envvar.

Jest parę całkiem kreatywnych rzeczy, które mogą być zrealizowane za pomocą tych podstawień i innych opcji smb.conf.

ZNIEKSZTAŁCANIE NAZW

Samba wspiera "zniekształcanie nazw" tak, że klienci DOS i Windows mogą używać plików które nie są podporządkowane formatowi 8.3. Może być również ustawiona tak, że określa wielkie/małe litery w nazwach plików formatu 8.3.

Jest kilka opcji które kontrolują sposób w jaki zniekształcanie jest przeprowadzane i są one opisane tutaj, a nie wymieniane oddzielnie. Po wartości domyślne zajrzyj na wyjście generowane przez program testparm.

Wszystkie te opcje mogą być ustawione oddzielnie dla każdej usługi (lub globalnie, rzecz jasna).

Opcjami tymi są:

mangle case = yes/no

kontroluje, czy nazwy które mają znaki nie mające "domyślnej" wielkości liter są zniekształcane. Na przykład, jeśli jest to yes, wtedy nazwa taka jak "Mail" byłaby zniekształcona. Domyślnie no.

case sensitive = yes/no

kontroluje, czy w nazwach plików są rozróżniane duże/małe litery. Jeśli nie są, wtedy Samba musi wykonać szukanie nazwy pliku i dopasować znaleźione. Domyślnie no.

default case = upper/lower

kontroluje, jaka jest domyślna wielkość liter dla nowych nazw plików. Domyślnie lower.

preserve case = yes/no

kontroluje, czy nowe pliki są tworzone z taką wielkością liter jaką przekazał klient lub czy wymuszana jest na "domyślną" wielkość. Domyślnie yes.

short preserve case = yes/no

kontroluje, czy nowe pliki które podlegają składni 8.3, tj. wszystko z dużej litery i odpowiedniej długości, są tworzone z dużej litery, lub czy są wymuszane do "domyślnej" wielkości. Ta opcja może być użyta z "preserve case = yes" aby zezwoliść na zachowywanie w długich nazwach plików ich wielkości liter, gdy krótkie nazwy będą sprowadzane do małych liter. Domyślnie Yes.

Domyślnie, Samba 2.0 ma tą samą semantykę jak Windows NT server, w tym, że rozpoznaje duże/małe litery, lecz bez ich zachowywania.

NOTATKA O WALIDACJI NAZWAUŻYTKOWNIKA/HASŁO

Jest kilka sposobów w jakie użytkownik może połdłączyć się do usługi. Serwer wykorzystuje podane kroki podczas decydowania, czy zezwolić na połączenie z określoną usługą. Jeśli wszystkie zawiodą, wtedy żądanie połączenia jest odrzucane. Jeśli jeden z nich powiedzie się, wtedy następne nie są sprawdzane.

Jeśli usługa jest oznaczona "guest only = yes" wtedy kroki od 1 do 5 są pomijane.

  1. Jeśli klient przekazał parę nazwauzytkownika/haslo i ta para jest potwierdzona jako poprawna przez systemowe UNIX'owe programy obsługi haseł, wtedy połączenie jest nawiązane jako ta nazwauzytkownika. Zwróć uwagę, że metoda przekazywania nazwy użytkownika \\serwer\usluga%nazwauzytkownika jest tu zawarta.

  2. Jeśli klient poprzednio rejestrował nazwę użytkownika w systemie i teraz dostarcza poprawne hasło dla tej nazwy, wówczas połączenie jest dozwolone.

  3. Nazwa netbios klienta i jakakolwiek z poprzednio użytych nazw użytkowników są sprawdzane względem dostarczonego hasła. Jeśli pasują, wtedy połączenie jest dozwolone dla odpowiedniego użytkownika.

  4. Jeśli klient poprzednio dokonał walidacji pary nazwauzytkownika/haslo z serwerem i klient przekazał token tej walidacji wtedy ta nazwa użytkownika jest użyta.

  5. Jeśli pole "user = " jest podane w pliku smb.conf dla usługi, klient dostarczył hasło i to hasło pasuje (zgodnie z systemowym UNIX'owym sprawdzaniem haseł) do jednej z nazw użytkownika z pola "user=", wtedy połączenie jest stworzone jako nazwa użytkownika w linii "user=". Jeśli jedna z nazw użytkownika na liście "user=" zaczyna się od '@' wtedy nazwa ta jest rozwijana do listy nazw z grupy i takiej nazwie.

  6. Jeśli usługa jest usługą guest (gość, przyp.tłum.), wtedy połączenie jest tworzone jako nazwa użytkownika w "guest account =" dla usługi, niezależnie od dostarczonego hasła.

KOMPLETNA LISTA PARAMETRÓW GLOBALNYCH

Tu jest lista wszystkich parametrów globalnych. Zobacz sekcję każdego parametru, żeby dowiedzieć się szczegółów. Zwróc uwagę, że niektóre są synonimami.

KOMPLETNA LISTA PARAMETRÓW USŁUG

Tu jest lista wszystkich parametrów usług. Zobacz sekcję każdego parametru, żeby dowiedzieć się szczegółów. Zwróć uwagę, że niektóre są synonimami.

OBJAŚNIENIE KAŻDEGO PARAMETRU

abort shutdown script (G)

Ten parametr istnieje tylko w odgałęzieniu cvs HEAD

Jest to pełna ścieżka dostępu do skryptu wywoływanego przez smbd(8), który powinien zatrzymać procedurę wyłączania (shutdown procedure) rozpoczętą przez shutdown script.

To polecenie będzie uruchomione jako użytkownik.

Domyślnie: Brak skryptu.

Przykład: abort shutdown script = /sbin/shutdown -c

add machine script (G)

Jest to pełna ścieżka dostępu do skryptu który będzie uruchamiany przy użyciu konta i hasła administratora przez smbd(8), gdy jakaś maszyna będzie dodawana do domeny (kontrolowanej przez smbd, przyp.tłum.).

Opcja ta jest wymagana tylko przy korzystaniu z zaplecza (back-end) sam przywiązanego do Unix'owej metody obliczania RID, takiego jak smbpasswd. Ta opcja jest dostępna tylko w Samba 3.0.

Domyślnie: add machine script = <empty string>

Przykład: add machine script = /usr/sbin/adduser -n -g maszyny -c Maszyna -d /dev/null -s /bin/false %u

add printer command (G)

Wraz z wprowadzeniem w Samba 2.2 wsparcia dla drukowania opartego na MS-RPC dla klientów Windows NT/2000, w folderze "Printers..." (lub "Drukarki..." w polskiej wersji, przyp.tłum.) wyświetlanym na liście współudziałów, dostępna jest teraz również ikona Kreatora Dodawania Drukarki (The MS Add Printer Wizard - APW). APW umożliwia zdalne dodawanie drukarek do serwera wydruku Samba lub Windows NT/2000.

Dla hosta Samba oznacza to, że drukarka musi być fizycznie dodana do właściwego (tzn. systemowego, przyp.tłum.) systemu drukowania. add printer command definiuje skrypt który po uruchomieniu przeprowadzi niezbędne operacje aby dodać drukarkę do systemu drukowania i dodać odpowiednią definicję usługi do pliku smb.conf, żeby drukarka ta mogła być współdzielona przez smbd(8).

add printer command jest automatycznie wywoływany z następującymi parametrami (w kolejności):

  • nazwa drukarki (printer name)

  • nazwa współudziału (share name)

  • nazwa portu (port name)

  • nazwa sterownika (driver name)

  • lokalizacja (location)

  • lokalizacja sterownika Windows 9x

Wszystkie parametry są umieszczane w strukturzee PRINTER_INFO_2 wysyłanej przez klienta Windows NT/2000 z jednym wyjątkiem. Parametr "lokalizacja sterownika Windows 9x" jest dołączony tylko dla kompatybilności wstecz. Pozostałe pola w strukturze są generowane na podstawie odpowiedzi na pytania APW (kreatora).

Gdy tylko add printer command zostanie wykonany, smbd wykona ponowne parsowanie smb.conf żeby ustalić, czy współudział zdefiniowany przez APW istnieje. Jeśli jego nazwa jest nadal nieprawidłowa, wtedy smbd zwróci błąd ACCESS_DENIED do klienta.

Zobacz też delete printer command, printing, show add printer wizard

Domyślnie: brak poleceń

Przykład: add printer command = /usr/bin/dodaj_drukarkę

add share command (G)

Samba 2.2.0 wprowadziła zdolność do dynamicznego dodawania i usuwania współudziałów przez Windows NT 4.0 Server Manager. Parametr add share command jest używany do zdefiniowania zewnętrznego programu lub skryptu który doda definicję nowej usługi do smb.conf. Aby pomuślnie wykonać add share command, smbd wymaga, żeby administrator był podłączony korzystając z konta root'a (tzn. uid == 0).

Podczas wykonywania, smbd automatycznie wywoła add share command z czterema parametrami.

  • plikKonfig (configFile) - lokalizacja globalnego pliku smb.conf

  • nazwaWspoludzialu (shareName) - nazwa nowego współudziału.

  • nazwaSciezki (pathName) - ścieżka do **istniejącego** katalogu na dysku.

  • komentarz (comment) - tekst komentarza do przypisania do nowego współudziału

Ten parametr jest używany tylko do dodawania współudziałów plikowych. Żeby dodawać współudziały drukarkowe, zobacz parametr add printer command .

Zobacz też change share command, delete share command .

Domyślnie: brak poleceń

Przykład: add share command = /usr/local/bin/ dodaj_wspoludzial

add user script (G)

To jest pełna ścieżka dostępu do skryptu który będzie uruchomiony JAKO ROOT przez smbd(8) w specjalnych okolicznościach opisanych niżej.

Normalnie, serwer Samba wymaga, by użytkownicy UNIX byli stworzeni dla wszystkich użytkowników uzyskujących dostęp do plików na tym serwerze. W miejscach w których używane są bazy danych kont Windows NT jako główne bazy danych użytkowników, tworzenie tych użytkowników i utrzymywanie ich listy w synchronizacji z Windows NT PDC jest delikatnym zadaniem. Ta opcja pozwala smbd tworzyć potrzebnych użytkowników UNIX NA ŻĄDANIE, gdy użytkownik uzyskuje dostęp do serwera Samba.

Aby użyć tej opcji, smbd musi być ustawiony na security = server lub security = domain i add user script musi mieć ustawioną pełną ścieżkę do skryptu który utworzy użytkownika UNIX pobierając jeden argument %u, który rozwijany jest do nazwy użytkownika UNIX który ma być utworzony.

Gdy użytkownik Windows próbuje uzyskać dostęp do serwera Samba, w czasie "login" (ustawianie sesji w protokole SMB), smbd kontaktuje się z password server (serwerem haseł, przyp.tłum.) i próbuje dokonać autentykacji danego użytkownika z danym hasłem. Jeśli autentykacja powiedzie się wtedy smbd próbuje znaleźć użytkownika w UNIX'owej bazie danych haseł żeby mapować na niego użytkownika Windows. Jeśli poszukiwanie zawiedzie, i ustawione jest add user script, wtedy smbd wywoła określony skrypt JAKO ROOT, rozwijając każdy argument %u do nazwy użytkownika który ma być utworzony.

Jeśli ten skrypt pomyślnie utworzy użytkownika wtedy smbd będzie kontynuował, jakby użytkownik UNIX już istniał. W ten sposób, użytkownicy UNIX są dynamicznie tworzeni aby pasować do istniejących kont Windows NT.

Zobacz również security = server, security = domain, password server, delete user script.

Domyślnie: add user script = <pusty lancuch>

Przykład: add user script = /usr/local/samba/bin/dodaj_uzytkownika %u

admin users (S)

Jest to lista użytkowników którzy będzą mieli przyznane przywileje administracyjne we współudziale. To oznacza, że będą wykonywali wszystkie operacje plikowe jako super-użytkownik (root).

Powinieneś używać tej opcji bardzo ostrożnie, jako że każdy użytkownik z tej listy będzie w stanie zrobić wszystko co będzie chciał we współudziale, nie zważając na prawa dostępu do pliku.

Domyślnie: brak użytkowników

Przykład: admin users = piotr

allow hosts (S)

Synonim dla hosts allow.

allow trusted domains (G)

Ta opcja odnosi efekty tylko gdy opcja security jest ustawiona na server lub domain. Jeśli jest ustawiona na no, wtedy próby połączenia się z zasobem z domeny lub grupy roboczej innej niż ta, w której smbd działa, zawiodą nawet jeśli ta domena jest zaufana dla zdalnego serwera przeprowadzającego autentykację.

Jest to użyteczne, jeśli chcesz, żeby twój serwer Samba udzielał zasobów tylko użytkownikom w domenie której jest członkiem. Jako przykład przypuśćmy, że mamy dwie domeny DOMA i DOMB. DOMB jest zaufana dla DOMA która zawiera serwer Samba. W normalnych okolicznościach, użytkownik z kontem w DOMB może uzyskać dostęp do zasobów konta UNIX z tą samą nazwą konta na serwerze Samba nawet, jeśli nie ma konta w DOMA. To może utrudniać implementację ograniczenia bezpieczeństwa.

Domyślnie: allow trusted domains = yes

announce as (G)

To ustawia, typ serwera jakim nmbd będzie sam siebie ogłaszał. Domyślnie jest ustawiony na Windows NT. Poprawne opcje to: "NT Server" (co może być również pisane jako "NT"), "NT Workstation", "Win95" lub "WfW", a oznaczają odpowiednio: Windows NT Server, Windows NT Workstation, Windows 95 i Windows for Workgroups. Nie zmieniaj tego parametru, chyba że masz szczególną potrzebę żeby zatrzymać ukazywanie Samby jako NT serwera, ponieważ może to zapobiec poprawnemu udziałowi serwerów Samba w procesach przeglądania (ang. browse) jako serwer.

Domyślnie: announce as = NT Server

Przykład: announce as = Win95

announce version (G)

Określa bardziej i mniej znaczące numery wersji których nmbd użyje podczas ogłaszania siebie jako serwera. Domyślnie jest to 4.5. Nie zmieniaj tego parametru, chyba że masz szczególną potrzebę żeby ustawić serwer Samba jako serwer niższego poziomu.

Domyślnie: announce version = 4.5

Przykład: announce version = 2.0

auto services (G)

Jest to synonim dla preload .

available (S)

Ten parametr pozwala ci "wyłączyć" usługę. Jeśli available = no to WSZYSTKIE próby podłączenia się do usługi zawiodą. Takie nieudane próby są logowane.

Domyślnie: available = yes

bind interfaces only (G)

Ten parametr globalny pozwala administratorowi Samby limitować interfejsy w maszynie które będą obsługiwać żądania SMB. Wpływa on na usługi plików smbd(8) i usługi nazw nmbd(8) w trochę różny sposób.

W przypadku usług nazw powoduje, że nmbd podwiązuje się (ang. bind) do portów 137 i 138 na interfejsach wymienionych w parametrze interfaces. nmbd podwiązuje się również do interfejsu "wszystkie adresy" (0.0.0.0) na portach 137 i 138 w celu odczytywania komunikatów rozgłaszania. Jeśli ta opcja nie jest ustawiona, wtedy nmbd będzie obsługiwał żądania nazw na wszystkich tych gniazdach. Jeśli bind interfaces only jest ustawione, wtedy nmbd będzie sprawdzał adres źródłowy każdego pakietu nadchodzącego z gniazd rozgłaszania i odrzuci każdy który nie pasuje do adresów rozgłaszania interfejsów na liście parametru interfaces . Ponieważ pakiety unicast są odbierane na innych gniazdach, pozwala on nmbd odrzucić usługi nazw dla maszyn, które wysłały pakiety które dotarły poprzez którykolwiek interfejs nie wymieniony na liście interfaces. Spoofing adresu źródłowego IP radzi sobie z takim prostym sprawdzaniem, więc nie może być ono traktowane poważnie jako zabezpieczenie dla nmbd.

W przypadku usług plików powoduje to, że smbd(8) podwiązuje się tylko do interfejsów z listy podanej w parametrze interfaces. Ogranicza to sieci z których smbd obsłuży pakiety nadchodzące przez te interfejsy. Zwróć uwagę, że nie powinieneś używać tego parametru na maszynach które obsługują PPP lub inny nieregularny (intermittent) lub nierozgłaszalny (non-broadcast) interfejs sieciowy, ponieważ takie ustawienie nie radzi sobie z nietrwałymi (non-permanent) połączeniami.

Jeśli bind interfaces only jest ustawione, wtedy jeśli adres sieciowy 127.0.0.1 nie jest dodany do listy parametru interfaces, smbpasswd(8) i swat(8) mogą nie funkcjonować tak, jak powinny z powodów podanych niżej.

Aby zmienić hasło SMB użytkownika, smbpasswd(8) domyślnie łączy się z adresem localhost - 127.0.0.1 jako klient SMB aby wydać żądanie zmiany hasła. Jeśli bind interfaces only jest ustawione, wtedy jeśli adres sieciowy 127.0.0.1 nie jest dodany do listy parametru interfaces, smbpasswd(8) nie będzie mógł połączyć się w trybie domyślnym. smbpasswd(8) może zostać zmuszony do użycia głównego interfejsu IP lokalnego hosta przy użyciu parametru -r zdalna maszyna, z wstawioną nazwą IP głównego interfejsu lokalnego hosta jako zdalna maszyna.

Strona statusu w swat próbuje się połączyć z smbd i nmbd na adresie 127.0.0.1 aby ustalić, czy działają. Nie dodanie 127.0.0.1 spowoduje, że smbd i nmbd będą zawsze pokazywane jako "not running" (nie działa) nawet, jeśli w rzeczywistości będą działać. Może to uniemożliwiać startowanie/zatrzymywanie/restartowanie smbd i nmbd poprzez swat.

Domyślnie: bind interfaces only = no

blocking locks (S)

Ten parametr kontroluje zachowanie smbd gdy otrzyma od klienta żądanie uzyskania blokady (ang. lock) na regionie otwartego pliku, a żądanie to ma przypisany limit czasowy.

Jeśli ten parametr jest ustawiony i żądanie zakresu blokowania nie może być natychmiast spełnione, Samba 2.0 będzie wewnętrznie kolejkować żądanie blokady i będzie periodycznie próbować uzyskać blokadę, aż limit czasowy wyczerpie się.

Jeśli ten parametr jest ustawiony na false, wtedy Samba 2.2 będzie zachowywać się tak, jak poprzednie wersje Samby i odrzuci żądanie blokady natychmiast, gdy tylko zakres blokowania nie zostanie uzyskany.

Ten parametr może być ustawiony dla współudziału.

Domyślnie: blocking locks = yes

browsable (S)

Synonim dla browseable.

browse list(G)

Kontroluje czy smbd będzie podawał listę przeglądania klientom wykonującym wywołanie NetServerEnum. Normalnie ustawione na yes. Nigdy nie powinieneś potrzebować tego zmieniać.

Domyślnie: browse list = yes

browseable (S)

Kontroluje czy ten współudział jest widziany na liście dostępnych współudziałów w net view i na liście przeglądania.

Domyślnie: browseable = yes

case sensitive (S)

Zobacz dyskusję w sekcji ZNIEKSZTAŁCANIE NAZW

Default: case sensitive = no

casesignames (S)

Synonim dla case sensitive.

change notify timeout (G)

To polecenie SMB umożliwia klientowi powiedzenie serwerowi, aby "obserwował", czy w jakimś szczególnym katalogu są wykonywane zmiany, i odpowiadał na żądanie SMB, gdyby wystąpiła zmiana. Takie stałe skanowanie jest kosztowne pod UNIX'em i z tego powodu demon smbd przeprowadza taki skan w każdym żądanym katalogu tylko raz na change notify timeout sekund.

Domyślnie: change notify timeout = 60

Przykład: change notify timeout = 300

Zmieniłby czas skanowania (a dokładniej czas jego rozpoczęcia, przyp.tłum) na 5 minut.

change share command (G)

Samba 2.2.0 wprowadziła zdolność do dynamicznego dodawania i usuwania współudziałów przez Windows NT 4.0 Server Manager. change share command jest używany do definiowania zewnętrznego programu lub skryptu który zmodyfikuje istniejącą definicję usługi w smb.conf. Aby pomyślnie wykonać change share command, smbd wymaga żeby administrator był podłączony przy użyciu konta root'a (tzn. uid == 0).

Podczas wykonywania, smbd automatycznie wywoła add share command z czterema parametrami.

  • plikKonfig (configFile) - lokalizacja globalnego pliku smb.conf

  • nazwaWspoludzialu (shareName) - nazwa nowego współudziału.

  • nazwaSciezki (pathName) - ścieżka do **istniejącego** katalogu na dysku.

  • komentarz (comment) - tekst komentarza do przypisania do nowego współudziału

Ten parametr jest używany tylko do modyfikowania istniejących definicji współudziałów plikowych. Aby zmodyfikować współudziały drukarkowe, użyj folderu "Printers..." (lub "Drukarki..." w polskiej wersji, przyp.tłum.) widocznego przy przeglądaniu hosta Samba.

Zobacz też add share command, delete share command.

Domyślnie: brak poleceń

Przykład: change share command = /usr/local/bin/ dodajwspoludzial

character set (G)

Ten parametr pozwala smbd mapować przychodzące nazwy plików ze strony kodowej DOS (zobacz parametr client code page) na szereg wbudowanych zestawów znaków UNIX. Tłumaczone strony kodowe to:

  • ISO8859-1 : Zachodnioeuropejski zestaw znaków UNIX. Parametr client code page MUSI być ustawiony na stronę kodową 850, jeśli parametr character set jest ustawiony na ISO8859-1, aby konwersja na zestaw znaków UNIX była wykonana poprawnie.

  • ISO8859-2 : Wschodnioeuropejski zestaw znaków UNIX. Parametr client code page MUSI być ustawiony na stronę kodową 852, jeśli parametr character set jest ustawiony na ISO8859-2, aby konwersja na zestaw znaków UNIX była wykonana poprawnie.

  • ISO8859-5 : Zestaw znaków UNIX Rosyjskiej Cyrylicy. Parametr client code page MUSI być ustawiony na stronę kodową 866, jeśli parametr character set jest ustawiony na ISO8859-5, aby konwersja była przeprowadzana poprawnie.

  • ISO8859-7 : Grecki zestaw znaków UNIX. Parametr client code page MUSI być ustawiony na stronę kodową 737, jeśli parametr character set jest ustawiony na ISO8859-7, aby konwersja była przeprowadzana poprawnie.

  • KOI8-R Alternatywne mapowanie dla zestawu znaków UNIX Rosyjskiej Cyrylicy. Parametr client code page MUSI być ustawiony na stronę 866, jeśli parametr character set jest ustawiony na KOI8-R, aby konwersja była przeprowadzana poprawnie.

BŁĄD. Mapowania strony kodowej MSDOS na zestaw znaków UNIX powinny być dynamiczne, tak jak ładowanie stron kodowych MSDOS, a nie statyczne.

Zobacz też client code page. Normalnie ten parametr nie jest ustawiony, co oznacza, że żadna translacja nazwy pliku nie jest prowadzona.

Domyślnie: character set = <pusty lancuch>

Przykład: character set = ISO8859-1

client code page (G)

Ten parametr określa stronę kodową DOS której używa klient łączący się z Sambą. Aby określić której strony kodowej klient Windows lub DOS używa, otwórz prompt poleceń DOS i wpisz polecenie "chcp". Poda ci ono stronę kodową. Domyślną dla wydań amerykańskich MS-DOS, Windows 95, i Windows NT jest strona 437. Domyślna dla wydań zachodnioeuropejskich powyższych systemów jest strona 850. (dla wydań środkowoeuropejskich - czyli również polskich - jest to 852, przyp.tłum.)

Ten parametr mówi smbd(8), który z plików codepage.XXX dynamicznie ładować przy starcie. Pliki te, lepiej opisane na stronie podręcznika make_smbcodepage(1), mówią smbd jak mapować znaki małych liter na duże, aby zapewnić w nazwach plików "niewrażliwość" na duże/małe litery, której klienci Windows oczekują.

Samba jest obecnie dostarczana w następującymi plikami stron kodowych :

  • Code Page 437 - MS-DOS Latin US

  • Code Page 737 - Windows '95 Grecka

  • Code Page 850 - MS-DOS Latin 1

  • Code Page 852 - MS-DOS Latin 2

  • Code Page 861 - MS-DOS Islandzka

  • Code Page 866 - MS-DOS Cyrylica

  • Code Page 932 - MS-DOS Japońska SJIS

  • Code Page 936 - MS-DOS Uproszczona Chińska

  • Code Page 949 - MS-DOS Koreańska Hangul

  • Code Page 950 - MS-DOS Tradycyjna Chińska

W ten sposób ten parametr może mieć każdą z wartości 437, 737, 850, 852, 861, 932, 936, 949, or 950. Jeśli nie znajdziesz strony kodowej której potrzebujesz, przeczytaj komentarze w jednym z plików stron kodowych oraz make_smbcodepage(1) i napisz taki plik. Pamiętaj proszę, aby potem wysłać go do społeczności użytkowników Samby.

Ten parametr wspópracuje z parametrem valid chars w określaniu, które znaki w nazwach plików są poprawne oraz jak kapitalizacja jest przeprowadzana. Jeśli ustawisz ten parametr razem z valid chars, parametr client code page MUSI być ustawiony przed valid chars w pliku smb.conf. Łańcuch valid chars będzie wtedy zmieniał ustawienia znaków w parametrze client code page.

Jeśli nie jest ustawiony, client code page przyjmuje wartość domyślną 850.

Zobacz też : valid chars , code page directory

Domyślnie: client code page = 850

Przykład: client code page = 936

code page directory (G)

Definiuje lokalizację różnych plików stron kodowych.

Domyślnie: code page directory = ${prefix}/lib/codepages

Przykład: code page directory = /usr/share/samba/codepages

coding system (G)

Ten parametr jest używany do określania, jak przychodzące znaki Japońskie Shift-JIS są mapowane z nadchodzącej client code page (strony kodowej klienta) używanej przez klienta, na nazwy plików w systemie plików UNIX. Użyteczne tylko, jeśli client code page jest ustawione na 932 (Japoński Shift-JIS). Opcjami są:

  • SJIS - Shift-JIS. Nie przeprowadza żadnej konwersji nadchodzących nazw plików.

  • JIS8, J8BB, J8BH, J8@B, J8@J, J8@H - Konwertuje z nadchodzącego Shift-JIS na ośmiobitowy kod JIS z różnymi kodami shift-in, shift out.

  • JIS7, J7BB, J7BH, J7@B, J7@J, J7@H - Konwertuje z przychodzącego Shift-JIS na siedmiobitowy kod JIS z różnymi kodami shift-in, shift out

  • JUNET, JUBB, JUBH, JU@B, JU@J, JU@H - Konwertuje przychodzący Shift-JIS na kod JUNET z różnymi kodami shift-in, shift out

  • EUC - Konwertuje przychodzący znak Shift-JIS na kod EUC

  • HEX - Konwertuje przychodzący znak Shift-JIS na 3 bajtową reprezentację hex (szesnastkową), np. :AB.

  • CAP - Konwertuje przychodzący znak Shift-JIS na 3 bajtową reprezentację hex używaną przez Columbia AppleTalk Program (CAP), np. :AB. Jest to używane dla zachowania kompatybilności pomiędzy Samba a CAP.

Domyślnie: coding system = <pusta wartość;

comment (S)

Jest to pole tekstowe które jest widziane obok współudziału, gdy klient wykonuje zapytania na serwerze albo poprzez otoczenie sieciowe, albo przez "net view" aby sprawdzić, które współudziały są dostępne.

Jeśli chcesz ustawić tekst który jest wyświetlany obok nazwy maszyny, to zobacz server string.

Domyślnie: Żadnego komentarza

Przykład: comment = Pliki Freda

config file (G)

Ten parametr pozwala ci narzucić stosowany plik konfiguracyjny, zamiast domyślnego (zazwyczaj smb.conf). Występuje tu problem jajka i kury, jako że ta opcja jest ustawiona w pliku konfiguracyjnym!

Z tego powodu, jeśli nazwa pliku konfiguracyjnego zmieni się gdy parametry są załadowane, spowoduje to przeładowanie ich z nowego pliku konfiguracyjnego.

Ta opcja przyjmuje zwykłe podstawienia, które mogą być bardzo użyteczne.

Jeśli plik konfiguracyjny nie istnieje, wtedy nie będzie załadowany (pozwalając ci na specjalne przypadki plików konfiguracyjnych dla kilku klientów).

Przykład: config file = /usr/local/samba/lib/smb.conf.%m

copy (S)

Ten parametr pozwala ci "klonować" wpisy usług. Podana usługa jest po prostu zduplikowana pod nazwą bieżącej usługi. Każdy parametr określony w bieżącej sekcji będzie unieważniał ten z sekcji skopiowanej.

Ta własność pozwala ci ustawić usługę 'szablon' i łatwo tworzyć podobne. Zauważ, że usługa kopiowana musi wystąpić wcześniej w pliku konfiguracyjnym, niż usługa która wykonuje kopiowanie.

Domyślnie: żadna usługa

Przykład: copy = innausluga

create mask (S)

Synonimem dla tego parametru jest create mode.

Gdy plik jest tworzony, niezbędne uprawnienia są wyliczane zgodnie z mapowaniem z trybów DOS na uprawnienia UNIX, a wyliczony tryb UNIX jest wtedy mnożony logicznie (AND) z tym parametrem. Może on być rozumiany jako maska bitowa trybów UNIX dla pliku. Każdy bit nie ustawiony tutaj będzie usunięty z zestawu trybów pliku, gdy ten będzie tworzony.

Domyślna wartość tego parametru usuwa bity zapisu i wykonania dla 'grupy' i 'innych' z trybów UNIX.

Dalej, Samba doda logicznie tryb UNIX, utworzony z tego parametru, z wartością parametru "force create mode" który domyślnie jest ustawiony na 000.

Ten parametr nie wpływa na tryby katalogów. Zobacz parametr directory mode , aby dowiedzieć się szczegółów.

Zobacz również parametr force create mode do wymuszania ustawienia poszczególnych bitów trybów na tworzonych plikach. Zobacz też parametr directory mode do maskowania bitów trybów na tworzonych katalogach i parametr inherit permissions .

Zwróć uwagę, że ten parametr nie stosuje się do zezwoleń ustawionych przez edytor ACL w Windows NT/2000. Jeśli administrator chce wymusić maskę na również listach kontroli dostępu, potrzebuje ustawić parametr security mask.

Domyślnie: create mask = 0744

Przykład: create mask = 0775

create mode (S)

Jest to synonim dla create mask.

deadtime (G)

Wartość parametru (dziesiętna liczba całkowita) reprezentuje liczbę minut braku aktywności zanim połączenie jest uważane za martwe i jest rozłączane. Czas martwy (deadtime) da efekty (tj. zadziała, przyp.tłum.), jeśli liczba otwartych plików wynosi zero.

Jest to użyteczne do powstrzymywania przed wyczerpaniem zasobów serwera przez ogromną liczbę nieaktywnych połączeń.

Większość klientów ma własnośc automatycznego ponownego podłączania (auto-reconnect) gdy połączenie jest uszkodzone, więc w większości przypadków ten parametr powinien być transparentny dla użytkowników.

Korzystanie z tego parametu z czasem kilku minut jest zalecane dla większości systemów.

Zerowy czas martwy wskazuje, że żadne auto-rozłączanie nie powinno być wykonywane.

Domyślnie: deadtime = 0

Przykład: deadtime = 15

debug hires timestamp (G)

Czasami znaczniki czasowe w komunikatach logu są potrzebne z rozdzielczością większą niż sekundy. Ten parametr boolowski, gdy jest włączony, dodaje rozdzielczość mikrosekundową do czasu w nagłówku komunikatu logu.

Zauważ, że parametr debug timestamp musi być włączony, aby ten parametr działał.

Domyślnie: debug hires timestamp = no

debug pid (G)

Podczas używania tylko jednego pliku logu dla więcej niż jednego rozdwojonego (forked) procesu smbd, może być trudno śledzić, który proces wysyła który komunikat. Ten parametr boolowski, gdy jest włączony, dodaje id procesu do oznaczeń czasowych w nagłówkach komunikatów w pliku logu.

Zauważ, że parametr debug timestamp musi być włączony, aby ten parametr odniósł efekt.

Domyślnie: debug pid = no

debug timestamp (G)

Komunikaty logu Samba 2.2 są domyślnie oznaczane czasem. Jeśli działasz na wysokim debug level (poziomie debugowania, przyp.tłum.), te znaczniki mogą być rozpraszające. Ten parametr boolowski pozwala wyłączyć oznaczanie czasowe.

Domyślnie: debug timestamp = yes

debug uid (G)

Samba jest czasem uruchamiana jako root, a czasem jako podłączony użytkownik. Ten parametr boolowski wstawia bieżący euid, egid, uid, i gid do oznaczeń czasowych nagłówków komunikatów w pliku logu, jeśli jest włączony.

Zauważ, że parametr debug timestamp musi być włączony, aby ten parametr odniósł efekt.

Domyślnie: debug uid = no

debug level (G)

Synonim dla parametru log level.

default (G)

Synonim dla default service.

default case (S)

Zobacz sekcję ZNIEKSZTAŁCANIE NAZW. Zwróć również uwagę na parametr short preserve case .

default service (G)

Ten parametr określa nazwę usługi do której nastąpi podłączenie, jeśli żądana aktualnie usługa nie może być znaleziona. Zauważ, że nawiasy kwadratowe NIE są podawane w wartości parametru (zobacz przykład niżej).

Nie ma wartości domyślnej dla tego parametru. Jeśli nie jest on podany, próba podłączenia się do nieistniejącej usługi spowoduje wystąpienie błędu.

Typowo, domyślną byłaby usługa guest ok, read-only .

Zwróć również uwagę, że widoczna nazwa usługi będzie zmieniona na taką samą, jak nazwa usługi żądanej. Jest to bardzo użyteczne, ponieważ pozwala na użycie makr takich, jak %S aby utworzyć usługę "wildcard".

Zauważ również, że każdy znak "_" w nazwie usługi, użyty w domyślnej będzie mapowany na "/". Umożliwia to interesujące efekty.

Przykład:

	      [global]
	      default service = pub

	      [pub]
	      path = /%S
	    

deleteprinter command (G)

Wraz z wprowadzeniem w Samba 2.2 wsparcia dla drukowania opartego na MS-RPC dla klientów Windows NT/2000, jest teraz możliwe, żeby usuwać drukarkę w czasie normalnego działania (run time) poprzez uruchomienie wywołania RPC DeletePrinter()

Dla hosta Samba oznacza to, że drukarka musi być fizycznie usunięta z właściwego (tzn. systemowego, przyp.tłum.) systemu drukowania. deleteprinter command definiuje skrypt który ma być uruchomiony i który przeprowadzi wszystkie operacje niezbędne do usunięcia drukarki z systemu drukowania i z smb.conf.

deleteprinter command jest wywoływany automatycznie z tylko jednym parametrem: "nazwa drukarki" ("printer name").

Gdy tylko deleteprinter command zostanie wykonany, smbd ponownie wykona parsowanie smb.conf aby upewnić się, że drukarki już nie ma. Jeśli nazwa współudziału jest nadal poprawna, wówczas smbd zwróci błąd ACCESS_DENIED do klienta.

Domyślnie: brak poleceń

Przykład: deleteprinter command = /usr/bin/usundrukarke

delete readonly (S)

Ten parametr pozwala na usuwanie plików tylko do odczytu. Nie jest to normalna semantyka DOS, ale jest dopuszczalna przez UNIX.

Opcja ta może być użyteczna do uruchamiania aplikacji takich, jak rcs, gdzie prawa własności do pliku UNIX zapobiegają zmianom uprawnień do niego, a semantyka DOS zapobiega usunięciu pliku tylko do odczytu.

Domyślnie: delete readonly = no

delete share command (G)

Samba 2.2.0 wprowadziła zdolność do dynamicznego dodawania i usuwania współudziałów poprzez Windows NT 4.0 Server Manager. delete share command jest używany do definiowania zewnętrznego programu lub skryptu który usunie istniejącą definicję usługi z smb.conf. Aby pomyślnie wykonać delete share command, smbd wymaga żeby administrator był podłączony przy użyciu konta root'a (tzn. uid == 0).

Przy uruchomieniu, smbd automatycznie wywoła delete share command z dwoma parametrami.

  • plikKonfig (configFile) - lokalizacja globalnego pliku smb.conf

  • nazwaWspoludzialu (shareName)

Ten parametr jest używany do usuwania tylko współudziałów plikowych. Aby usuwać współudziały drukarkowe zobacz delete printer command.

Zobacz też delete share command, change share.

Domyślnie: brak poleceń

Przykład: delete share command = /usr/local/bin/ usunwspoludzial

delete user script (G)

Jest to pełna ścieżka dostępu do skryptu, który będzie uruchomiony NA PRAWACH ROOT'a przez smbd(8) w pewnych okolicznościach opisanych poniżej.

Normalnie, serwer Samba wymaga, aby użytkownicy UNIX byli utworzeni dla wszystkich użytkowników korzystających z plików na tym serwerze. Dla miejsc które używają baz danych kont Windows NT jako głównej bazy danych użytkowników, tworzenie ich i utrzymywanie ich listy w synchronizacji z Windows NT PDC jest skomplikowanym zadaniem. Ta opcja pozwala smbd usunąć żądanego użytkownika UNIX NA ŻĄDANIE, gdy łączy się on z serwerem Samba, a użytkownik Windows NT już nie istnieje.

Aby użyć tej opcji, smbd musi być ustawiony na security = domain, a delete user script musi być ustawiony na pełną ścieżkę dostępu do skryptu, który usunie użytkownika UNIX podanego jako argument %u, co będzie rozwinięte do nazwy użytkownika UNIX do usunięcia. ZAUWAŻ, że jest to co innego, niż add user script który będzie działał z opcją security = server tak samo, jak z security = domain. Powodem jest fakt, że tylko wtedy, gdy Samba jest członkiem domeny, otrzymuje informację o tym, że użytkownik nie istnieje. W trybie security=server brakujący użytkownik jest traktowany tak samo, jak próba logowania przy użyciu niepoprawnego hasła. Usuwanie użytkownika w takich okolicznościach nie byłoby dobrym pomysłem.

Gdy użytkownik Windows próbuje uzyskać dostęp do serwera Samba, w trakcie "logowania" (ustawianie sesji w protokole SMB), smbd kontaktuje się z password server i próbuje autentykować danego użytkownika przy użyciu podanego hasła. Jeśli autentykacja zakończy się niepowodzeniem ze specyficznym kodem błędu Domeny, oznaczającym że użytkownik już nie istnieje, wtedy smbd próbuje znaleźć w bazie danych haseł UNIX, użytkownika który pasuje do konta użytkownika Windows. Jeśli poszukiwanie zakończy się sukcesem i delete user script jest ustawiony, wtedy smbd wywoła określony skrypt JAKO ROOT, rozwijając każdy argument %u do nazwy użytkownika do usunięcia.

Ten skrypt powinien usunąć użytkownika UNIX o podanej nazwie. W ten sposób użytkownicy ci są dynamicznie usuwani, aby pasować do istniejących kont Windows NT.

Zobacz też security = domain, password server, add user script.

Domyślnie: delete user script = <pusty lancuch>

Przykład: delete user script = /usr/local/samba/bin/ usun_uzytk %u

delete veto files (S)

Ta opcja jest używana gdy Samba próbuje usunąć katalog który zawiera jeden lub więcej katalogów "zawetowanych" (zobacz opcję veto files . Jeśli ta opcja jest ustawiona na False (domyślnie) wtedy, jeśli "zawetowany" katalog zawiera jakieś "niezawetowane" pliki lub katalogi, usuwanie go zakończy się niepowodzeniem. Zazwyczaj tego właśnie potrzebujesz.

Jeśli ta opcja jest ustawiona na True, wtedy Samba spróbuje usunąć rekursywnie pliki i katalogi wewnątrz "zawetowanego" katalogu. Może to być użyteczne do integracji z systemami usług plikowych takimi, jak NetAtalk który tworzy metapliki w katalogach, które normalnie mógłbyś zabronić (zawetować) oglądać użytkownikom DOS/Windows (np. .AppleDouble).

Ustawienie delete veto files = yes pozwala transparentnie usunąć te katalogi, gdy katalog nadrzędny jest usuwany (tak długo, jak użytkownik ma uprawnienia żeby to zrobić).

Zobacz też parametr veto files.

Domyślnie: delete veto files = no

deny hosts (S)

Synonim dla hosts deny.

dfree command (G)

Ustawienie polecenia dfree powinno być używane tylko w systemach, gdzie występuje problem z wewnętrznymi wyliczeniami przestrzeni dyskowej. Coś takiego zdarzyło się w systemie Ultrix, lecz może również występować z innymi systemami operacyjnymi. Symptomem być błąd "Abort Retry Ignore" na końcu każdego listowania katalogu.

To ustawienie pozwala na zastąpienie wewnętrznych mechanizmów do wyliczania całkowitej przestrzeni dyskowej i ilości dostępnej, mechanizmami zewnętrznymi. Poniższy przykład podaje możliwy skrypt, który mógłby pełnić tą funkcję.

Zewnętrzny program będzie otrzymywał pojedynczy parametr wskazujący katalog w "odpytywanym" systemie plików. Będzie się on na ogół składać z łańcucha znakowego /. Skrypt powinien zwrócić dwie liczby całkowite w ascii. Pierwsza powinna być całkowitą przestrzenią dysku w blokach, a druga powinna być liczbą dostępnych bloków. Opcjonalna, trzecia zwrócona wartość może podawać rozmiar bloku w bajtach. Domyślnym rozmiarem bloku jest 1024 bajtów.

Uwaga: Twój skrypt NIE powinien być ustawiony na setuid lub setgid, a jego właścicielem (i jedynym użytkownikiem z prawem zapisu) powinien być root !

Domyślnie: Domyślnie, wewnętrzne mechanizmy określania pojemności dysku i pozostałej przestrzeni będą użyte.

Przykład: dfree command = /usr/local/samba/bin/dfree

Gdzie skryptem dfree (który musi być wykonywalny) mogłoby być:

	      #!/bin/sh
	      df $1 | tail -1 | awk '{print $2" "$4}'
	    

albo może (w systemach bazujących na Sys V):

	      #!/bin/sh
	      /usr/bin/df -k $1 | tail -1 | awk '{print $3" "$5}'
	    

Zauważ, że możesz musieć zastąpić nazwy poleceń pełnymi ścieżkami dostępu w niektórych systemach.

directory (S)

Synonim dla path.

directory mask (S)

Ten parametr stanowią tryby oktalne które są używane przy konwertowaniu trybów DOS na tryby UNIX podczas tworzenia katalogów UNIX.

Gdy katalog jest tworzony, konieczne uprawnienia są wyliczane zgodnie z mapowaniem z trybów DOS na uprawnienia UNIX, a będący wynikiem tryb UNIX jest mnożony logicznie (AND) z tym parametrem. Można go traktować jak maskę bitową dla trybów UNIX katalogu. Każdy bit nie ustawiony tutaj będzie usunięty z zestawu trybów katalogu, gdy ten jest tworzony.

Domyślna wartość tego parametru usuwa z trybu UNIX bity zapisu dla "grupy" i "innych", pozwalając modyfikować katalog tylko użytkownikowi który jest jego właścicielem.

Dalej, Samba doda logicznie tryb UNIX utworzony przy pomocy tego parametru z wartością parametru force directory mode. Ten parametr jest ustawiony domyślnie na 000 (tzn. żadne dodatkowe bity trybów nie są dodawane).

Zobacz parametr force directory mode który powoduje, że poszczególne bity trybu będą zawsze ustawione w tworzonych katalogach.

Zobacz też parametr create mode do maskowania bitów trybu w tworzonych plikach, i parametr directory security mask.

Zobacz również parametr inherit permissions.

Domyślnie: directory mask = 0755

Przykład: directory mask = 0775

directory mode (S)

Synonim dla directory mask.

directory security mask (S)

Ten parametr kontroluje bity zezwoleń UNIX które mogą być modyfikowane, gdy klient Windows NT manipuluje nimi na katalogu, używając rodzimego w NT pola dialogowego security.

Parametr ten jest stosowany jako maska (mnożona logicznie) na zmienione bity zezwoleń, w ten sposób zapobiegając modyfikacji jakichkolwiek bitów których nie ma w masce. Konkretnie, bity zerowe w masce mogą być traktowane jako zestaw bitów których użytkownik nie może zmieniać.

Jeśli nie jest ustawiony wprost, parametr ten jest ustawiany na 0777 co oznacza że użytkownik może modyfikować wszystkie zezwolenia (prawa dostępu) dla użytkownika/grupy/świata na katalogu.

Zwróć uwagę, że użytkownicy którzy mogą uzyskać dostęp do serwera Samba poprzez inne środki, mogą łatwo obejść to ograniczenie. Jest to więc przede wszystkim użyteczne dla "wolnostojących" systemów. Administratorzy większości normalnych systemów będą prawdopodobnie chcieli ustawić to na 0777 .

Zobacz też parametry force directory security mode, security mask , force security mode

Domyślnie: directory security mask = 0777

Przykład: directory security mask = 0700

disable spoolss (G)

Włączenie tego parameteru wyłączy wsparcie Samby dla zbioru SPOOLSS MS-RPC i przyniesie identyczne zachowanie jak Samba 2.0.x. Klienci Windows NT/2000 będą używać poleceń drukowania w stylu LanMan. Jednakże wyłączy to również zdolność do wysyłania sterowników drukarek do serwera Samba poprzez Kreator Dodawania Drukarki w Windows NT lub przy użyciu pola dialogowego właściwości drukarki w NT. Wyłączy to także zdolność klientów Windows NT/2000 do ściągania sterowników drukarek z hosta Samba na żądanie. Badź bardzo ostrożny przy włączaniu tego parametru.

Zobacz też use client driver

Domyślnie: disable spoolss = no

dns proxy (G)

Określa, że gdy nmbd(8) funkcjonuje jako serwer WINS i stwierdzi, że nazwa NetBIOS nie została zarejestrowana, powinien potraktować nazwę NetBIOS słowo w słowo jak nazwę DNS i wykonać przeszukanie z serwerem DNS dla tej nazwy w imieniu pytającego klienta.

Zauważ, że maksymalna długość dla nazwy NetBIOS to 15 znaków, więc nazwa DNS (albo alias DNS) może mieć podobnie tylko 15 znaków maksymalnie.

nmbd tworzy drugą kopię samego siebie aby wykonać żądanie szukania nazwy DNS, jako że jej szukanie jest czynnością blokującą.

Zobacz też parametr wins support.

Domyślnie: dns proxy = yes

domain admin group (G)

Ten parametr jest w zamierzeniach tymczasowym rozwiązaniem umożliwiającym użytkownikom zostanie członkiem grupy "Domain Admins" gdy host Samba działa jako PDC. Kompletne rozwiązanie będzie dostarczone przez system mapowania grup Windows NT/2000 na grupy UNIX. Zauważ proszę, że ten parametr ma trochę mylącą nazwę. Akceptuje on listę nazw użytkowników i grup w standardowej notacji smb.conf.

Zobacz też <domain guest group, domain logons

Domyślnie: brak administratorów domeny

Przykład: domain admin group = root @wheel

domain guest group (G)

Ten parametr jest w zamierzeniach tymczasowym rozwiązaniem umożliwiającym użytkownikom zostanie członkiem grupy "Domain Guests" gdy host Samba działa jako PDC. Kompletne rozwiązanie będzie dostarczone przez system mapowania grup Windows NT/2000 na grupy UNIX. Zauważ proszę, że ten parametr ma trochę mylącą nazwę. Akceptuje on listę nazw użytkowników i grup w standardowej notacji smb.conf.

Zobacz też domain admin group, domain logons

Domyślnie: brak gości w domenie

Przykład: domain guest group = nobody @goscie

domain logons (G)

Jeśli ustawiony na true, serwer Samba będzie obsługiwał logowania do Domeny Windows 95/98 dla grupy roboczej (workgroup) w której jest. Samba 2.2 ma również ograniczoną możliwość działania jako kontroler domeny dla Domen Windows NT 4. Aby dowiedzieć się więcej szczegółów o ustawianiu tej własności zobacz plik DOMAINS.txt w katalogu dokumentacji Samba docs/ dostarczonym z kodem źródłowym.

Domyślnie: domain logons = no

domain master (G)

Powiedz nmbd(8) żeby odblokował łączenie list przeglądania WAN (dla rozległych sieci, przyp.tłum.). Ustawianie tej opcji powoduje, że nmbd ogłasza specjalną, specyficzną dla domeny nazwę NetBIOS która identyfikuje go jako nadrzędną przeglądarkę domeny dla jego danej grupy roboczej (workgroup) . Lokalne nadrzędne przeglądarki w tej samej grupie roboczej na izolowanych od rozgłaszania (broadcast-isolated) podsieciach będą podawały temu nmbd ich lokalne listy przeglądania, a potem poproszą smbd(8) o kompletną kopię listy przeglądania dla całej sieci rozległej. Klienci przeglądarki będą wówczas kontaktować się z ich lokalną nadrzędną przeglądarką i otrzymają listę przeglądania obejmującą całą domenę, zamiast listy tylko dla ich podsieci izolowanej od rozgłaszania.

Zauważ, że Główne Kontrolery Domen Windows NT oczekują, że będą w stanie ogłosić tą specyficzną dla grupy roboczej, specjalną nazwę NetBIOS która zidentyfikuje je jako nadrzędne przeglądarki domeny dla tej grupy roboczej domyślnie (tzn. nie ma sposobu, aby zapobiec próbom zrobienia tego przez Windows NT PDC). Oznacza to, że jeśli ten parametr jest ustawiony i nmbd ogłasza tą specjalną nazwę dla grupy roboczej zanim Windows NT PDC jest w stanie to zrobić, wtedy wzajemne przeglądanie podsieci będzie zachowywać się dziwnie i może przestać działać.

Jeśli domain logons = yes, wtedy domyślnym zachowaniem jest włączenie parametru domain master. Jeśli domain logons nie jest włączony (domyślne ustawienie), wtedy domain master również nie będzie domyślnie włączony.

Domyślnie: domain master = no

dont descend (S)

Są pewne katalogi w niektórych systemach (np. /proc pod Linuxem) które są albo poza zainteresowaniem klientów, albo są nieskończenie głębokie (rekursywne). Ten parametr pozwala ci określić ograniczoną przecinkiem listę katalogów które serwer powinien zawsze pokazywać jako puste.

Zwróć uwagę, że Samba może być bardzo wybredna co do dokładnego formatu wpisów "dont descend". Przykładowo, możesz potrzebować ./proc, zamiast po prostu /proc. Eksperymentowanie jest najlepszą polityką :-)

Domyślnie: brak (tzn. wszystkie katalogi są dopuszczane)

Przykład: dont descend = /proc,/dev

dos filemode (S)

Domyślnym zachowaniem w Sambie jest dostarczanie zachowania podobnego do UNIX'a gdy tylko właściciel pliku/katalogu może zmieniać jego zezwolenia. Jednakże to zachowanie jest często mylące dla użytkowników DOS/Windows. Włączenie tego parametru pozwala użytkownikowi który ma prawo zapisu do pliku (poprzez dowolne środki) modyfikować na nim zezwolenia. Zauważ, że użytkownik należący do grupy, która jest właścicielem pliku, nie będzie mógł zmienić dla niej zezwoleń, jeśli ma ona tylko prawo do odczytu. Właściciel pliku/katalogu nie jest zmieniany, tylko zezwolenia są modyfikowane.

Domyślnie: dos filemode = no

dos filetime resolution (S)

Pod DOS'em i systemem plików Windows FAT, najlepsza ziarnistość czasowa to dwie sekundy. Ustawianie tego parametru dla współudziału powoduje, że Samba zaokrągla raportowany czas w dół do najbliższej granicy dwóch sekund, gdy wykonywane jest wywołanie pytające smbd(8), które wymaga rozdzielczości jednej sekundy.

Ta opcja jest używana głównie jako opcja kompatybilności z Visual C++, gdy jest ono używane na współudziałach Samba. Jeśli włączone są "oplocks" na współudziale, Visual C++ używa dwóch różnych wywołań odczytujących czas aby sprawdzić, czy plik został zmieniony odkąd był ostatnio czytany. Jedno z tych wywołań używa jednosekundowej ziarnistości, drugie używa dwusekundowej. Ponieważ dwusekundowe wywołanie zaokrągla każdą nieparzystą sekundę w dół wtedy, jeśli plik ma oznaczenie czasowe z nieparzystą liczbą sekund, dwa oznaczenia czasu nie będą pasować i Visual C++ będzie twierdził, że plik został zmieniony. Ustawianie tej opcji powoduje, że dwa oznaczenia czasu zgadzają się i Visual C++ jest szczęśliwy.

Domyślnie: dos filetime resolution = no

dos filetimes (S)

Pod DOS i Windows, jeśli użytkownicy mogą pisać do pliku, mogą zmieniać jego oznaczenie czasowe. W semantyce POSIX, tylko właściciel pliku albo root mogą zmienić oznaczenie czasowe. Domyślnie, Samba działa z semantyką POSIX i odrzuca zmiany oznaczenia czasowego na pliku, jeśli użytkownik, w którego imieniu działa smbd, nie jest jego właścicielem. Ustawienie tej opcji na true zezwala na semantykę DOS i smbd będzie zmieniał oznaczenie czasowe pliku tak, jak tego wymaga DOS.

Domyślnie: dos filetimes = no

encrypt passwords (G)

Ta opcja boolowska kontroluje, czy kodowane hasła będą negocjowane z klientem. Zauważ, że Windows NT 4.0 SP3 i wyższe oraz również Windows 98 będą domyślnie oczekiwać kodowanych haseł, chyba że wpis w rejestrze zostanie zmieniony. Aby używać kodowanych haseł w Sambie, zobacz plik ENCRYPTION.txt w katalogu dokumentacji Samba docs/ dostarczonym wraz z kodem źrdółowym.

Aby kodowane hasła działały prawidłowo, smbd musi mieć albo dostęp do lokalnego pliku smbpasswd(5) (zobacz program smbpasswd(8) aby uzyskać informację o tym, jak ustawić i utrzymywać ten plik), albo mieć ustawiony parametr security=[server|domain] co spowoduje, że smbd wykonuje autentykację względem innego serwera.

enhanced browsing (G)

Ta opcja włącza kilka rozszerzeń do skrośnej (cross-subnet) propagacji przeglądania które zostały dodane do Samby, lecz nie są standardowe w implementacjach Microsoftu. Rozszerzenia te są obecnie dostępne tylko w drzewku CVS Samba HEAD (a nie Samba 2.2.x).

Pierwsze rozszerzenie propagacji przeglądania składa się z regularnego wielowartościowego (wildcard) zapytania do serwera Samba WINS o wszystkie Nadrzędne Przeglądarki Domeny (Domain Master Browsers - DMB), po którym następuje synchronizacja z każdym zwróconym DMB. Drugie rozszerzenie składa się z randomizowanej synchronizacji przeglądania z wszystkimi (aktualnie) znanymi DMB.

Możesz woleć wyłączyć tą opcję jeśli masz problem z pustymi grupami roboczymi które nie znikają z list przeglądania. Z powodu ograniczeń protokołów przeglądania, te rozszerzenia mogą spowodować, że pusta grupa robocza zostaje sobie na zawsze, co może być irytujące.

Generalnie powinieneś zostawić tą opcję włączoną, ponieważ powoduje ona, że skrośna propagacja przeglądania jest bardziej pewna.

Domyślnie: enhanced browsing = yes

enumports command (G)

Koncepcja "portu" jest całkiem obca dla hostów UNIX. W serwerach druku Windows NT/2000, port jest skojarzony z monitorem portu i generalnie przybiera formę lokalnego (np. LPT1:, COM1:, FILE:) lub zdalnego portu (np. LPD Port Monitor, etc...). Domyślnie, Samba ma tylko jeden zdefiniowany port --"Samba Printer Port". Pod Windows NT/2000, wszystkie drukarki muszą mież prawidłową nazwę portu. Jeśli chcesz mieć wyświetloną listę portów (smbd nie używa nazw portów do niczego) inną niż domyślny "Samba Printer Port", możesz zdefiniować enumports command tak, żeby wskazywał program który powinien wygenerować listę portów, jeden na linię, na standardowe wyjście. Ten listing będzie wykorzystany przy odpowiedziach na RPC EnumPorts() poziomu 1 i 2.

Domyślnie: brak poleceń enumports

Przykład: enumports command = /usr/bin/listport

exec (S)

Jest to synonim dla preexec.

fake directory create times (S)

Systemy plików NTFS i Windows VFAT zachowują daty utworzenia dla wszystkich plików i katalogów. To nie jest to samo, co ctime - czas zmiany statusu - którą zachowuje Unix, więc Samba domyślnie raportuje najnowszy z różnych czasów, które Unix zachowuje. Ustawianie tego parametru dla współudziału powoduje, że Samba zawsze raportuje północ 01.01.1980 jako datę utworzenia dla katalogów.

Ta opcja jest głównie używana jako opcja kompatybilności dla Visual C++ gdy jest ono używane na współudziałach Samba. Wygenerowane przez Visual C++ pliki makefile mają katalog object jako zależność dla każdego pliku object, oraz regułę make do tworzenia tego katalogu. Również, gdy NMAKE porównuje oznaczenia czasowe, używa on daty utworzenia podczas sprawdzania katalogu. W ten sposób katalog object będzie stworzony jeśli nie istnieje, lecz gdy już istnieje będzie miał zawsze wcześniejsze oznaczenia czasowe, niż pliki object które zawiera.

Tym niemniej, semantyka czasu Unix oznacza, że czas utworzenia raportowany przez Sambę będzie aktualizowany za każdym razem, gdy plik jest tworzony lub usuwany w katalogu. NMAKE znajduje w ten sposób wszystkie pliki object w katalogu object, których ostatnia kompilacja jest poza datą porównaną do katalogu i rekompiluje je. Włączanie tej opcji zapewnia, że katalogi zawsze poprzedzają (w sensie oznaczeń czasowych, przyp.tłum.) ich zawartość i NMAKE będzie działał zgodnie z oczekiwaniami.

Domyślnie: fake directory create times = no

fake oplocks (S)

"Oplocks" są sposobem w jaki klienci SMB dostają od serwera pozwolenie na lokalne buforowanie operacji plikowych. Jeśli serwer przyznaje oplock ("blokada oportunistyczna", tłum. bezpośrednie), wtedy klient może założyć, że jest jedynym który korzysta z pliku i będzie agresywnie buforował zawarte w nim dane. Przy pewnych typach oplock'ów, klient może nawet buforować operacje otwórz/zamknij na pliku. Może to dać znaczne zyski wydajności.

Gdy ustawisz fake oplocks = yes smbd(8) będzie zawsze przyznawał oplock żądaniom, niezależnie od tego, jak wielu klientów używa pliku.

Generalnie, dużo lepiej jest korzystać z prawdziwego wsparcia dla oplock'ów niż z tego parametru.

Jeśli włączysz tą opcję na współudziałach tylko-odczyt lub tych, o których wiesz, że będą używane tylko przez jednego klienta na raz tak, jak media fizycznie tylko do odczytu (CDROM), zobaczysz dużą poprawę wydajności w wielu operacjach. Jeśli włączysz tą opcję na współudziałach, gdzie wielu klientów może mieć dostęp odczyt-zapis do plików w tym samym momencie, możesz otrzymać uszkodzenie danych. Korzystaj z tej opcji ostrożnie !

Ta opcja jest domyślnie wyłączona.

follow symlinks (S)

Ten parametr pozwala administratorowi Samba zatrzymać smbd(8) przed podążaniem za dowiązaniami symbolicznymi (symbolic link) w konkretnym współudziale. Ustawianie tego parametru na no zapobiega przed wejściem do jakiegokolwiek pliku lub katalogu który jest dowiązaniem symbolicznym (użytkownik otrzyma błąd). Opcja ta jest bardzo użyteczna np. do powstrzymywania użytkowników przed dodawaniem dowiązań symbolicznych do /etc/passwd w ich katalogu domowym. Tym niemniej zwolni ona lekko wyszukiwania nazw plików.

Domyślnie, opcja ta jest włączona (tzn. smbd będzie podążał za dowiązaniami symbolicznymi).

Domyślnie: follow symlinks = yes

force create mode (S)

Ten parametr określa zestaw bitów zezwoleń trybu UNIX który będzie zawsze ustawiany na pliku przez Sambę. Jest to przeprowadzane za pomocą dodawania logicznego (OR) tych bitów z bitami trybu pliku, który jest tworzony lub ma zmieniane zezwolenia. Domyślną wartością tego parametru jest (ósemkowo) 000. Tryby w tym parametrze są bitowo dodawane do trybu pliku po tym, jak ustawiona w parametrze create mask maska jest wprowadzona.

Zobacz też parametr create mask, aby dowiedzieć się szczegółów na temat maskowania bitów trybu na plikach.

Zobacz też parametr inherit permissions.

Domyślnie: force create mode = 000

Przykłąd: force create mode = 0755

wymusiłby, żeby wszystkie utworzone pliki miały zezwolenia do odczytu i wykonania dla "grupy" i "innych", jak również ustawnione bity odczyt/zapis/wykonanie dla "użytkownika".

force directory mode (S)

Ten parametr określa zestaw bitów zezwoleń trybu UNIX który będzie zawsze ustawiany na katalogu tworzonym przez Sambę. Jest to przeprowadzane za pomocą dodawania logicznego (OR) tych bitów z bitami trybu katalogu, który jest tworzony. Domyślną wartością tego parametru jest (ósemkowo) 0000 co nie doda żadnych dodatkowych bitów zezwoleń do tworzonego katalogu. Operacja ta jest wykonana po tym, jak ustawiona w parametrze directory mask maska jest wprowadzona.

Zobacz też parametr directory mask aby dowiedzieć się detali o maskowaniu bitów trybu na tworzonych katalogach.

Zobacz też parametr inherit permissions.

Domyślnie: force directory mode = 000

Przykłąd: force directory mode = 0755

wymusiłby, na wszystkich tworzonych katalogach posiadanie ustawionych dla "grupy" i "innych" bitów zezwoleń do odczytu i wykonania oraz bitów odczyt/zapis/wykonanie dla "użytkownika".

force directory security mode (S)

Ten parametr kontroluje, które bity zezwoleń UNIX mogą być modyfikowane, gdy klient Windows NT manipuluje nimi na katalogu używając rodzimego pola dialogowego NT "security".

Parametr ten jest stosowany jak maska (dodawana logicznie) na zmienione bity zezwoleń, wymuszając w ten sposób włączenie w tej masce jakiegokolwiek bitu, który użytkownik mógł zmodyfikować. Konkretnie, bity w masce mogą być traktowane jak zestaw bitów które, podczas modyfikowania zabezpieczeń na katalogu, użytkownik ma zawsze ustawione na "włączone".

Jeśli nie jest ustawiony wprost, ma wartość 000, co pozwala użytkownikowi modyfikować wszystkie zezwolenia (prawa dostępu) użytkownik/grupa/świat na katalogu, bez ograniczeń.

Zauważ, żę użytkownicy którzy mogą uzyskać dostęp do serwera Samba poprzez inne środki, mogą łatwo obejść tą restrykcję, więc jest ona przede wszystkim użyteczna dla "wolnostojących" systemów. Administratorzy większości zwykłych systemów będą prawdopodobnie chcieli zostawić ustawienie na 0000.

Zobacz też parametry directory security mask, security mask , force security mode .

Domyślnie: force directory security mode = 0

Przykład: force directory security mode = 700

force group (S)

Określa to nazwę grupy UNIX która będzie przypisane jako domyślna główna grupa dla wszystkich użytkowników podłączających się do tej usługi. Jest to przydatne do współdzielenia plików zapewniając, że wszyscy którzy będą mieli dostęp do plików w usłudze, będą używać podanej grupy przy sprawdzaniu zezwoleń. W ten sposób, przypisując zezwolenia do plików i katalogów dla tej grupy w tej usłudze, administrator Samba może uniemożliwić lub pozwolić na współdzielenie tych plików.

W Samba 2.0.5 i nowszych ten parametr ma funkcjonalność rozszerzoną w następujący sposób. Jeśli nazwa grupy wymieniona tutaj ma znak "+" poprzedzający ją, wtedy bieżący użytkownik podłączony do współudziału ma grupę główną przypisaną domyślnie do tej grupy tylko, jeśli już jest jest jej członkiem. Pozwala to administatorowi zdecydować, że tylko użytkownicy którzy już są w konkretnej grupie, będą tworzyć pliki z przynależnością do grupy ustawioną na tą właśnie grupę. Daje to lepsze rozróżnienie przynależności do właściciela. Na przykład, ustawienie force group = +sys oznacza, że tylko użytkownicy którzy już są w grupie sys, będą mieli domyślną grupę główną przypisaną do sys podczas połączenia z tym współudziałem Samba. Wszyscy inni, zachowają ich zwyczajną grupę główną.

Jeśli parametr force user jest również ustawiony, grupa określona w force group unieważni grupę główną ustawioną w force user.

Zobacz też force user

Domyślnie: brak wymuszanej grupy

Przykład: force group = grupa

force security mode (S)

Ten parametr kontroluje, które bity zezwoleń UNIX mogą być modyfikowane, gdy klient Windows NT manipuluje nimi na pliku używając rodzimego pola dialogowego NT "security".

Parametr ten jest stosowany jak maska (dodawana logicznie) na zmienione bity zezwoleń, wymuszając w ten sposób włączenie w tej masce jakiegokolwiek bitu, który użytkownik mógł zmodyfikować. Konkretnie, bity w masce mogą być traktowane jak zestaw bitów które, podczas modyfikowania zabezpieczeń na pliku, użytkownik ma zawsze ustawione na "włączone".

Jeśli nie jest ustawiony wprost, parametr ten jest ustawiany na 0 i umożliwia użytkownikowi modyfikowanie wszystkich zezwoleń użytkownik/grupa/świat na pliku, bez ograniczeń.

Zauważ, żę użytkownicy którzy mogą uzyskać dostęp do serwera Samba poprzez inne środki, mogą łatwo obejść tą restrykcję, więc jest ona przede wszystkim użyteczna dla "wolnostojących, appliance" systemów. Administratorzy większości zwykłych systemów będą prawdopodobnie chcieli pozostawić to ustawione na 0000.

Zobacz też parametry the force directory security mode, directory security mask, security mask.

Domyślnie: force security mode = 0

Przykład: force security mode = 700

force user (S)

Określa nazwę użytkownika UNIX która będzie przypisana jako domyślny użytkownik każdemu, kto podłączy się do tej usługi. Jest to przydatne do współdzielenia plików. Powinieneś także używać tego parametru ostrożnie jako że niepoprawne używanie go może spowodować problemy z bezpieczeństwem.

Ta nazwa użytkownika jest tylko użyta, gdy połączenie zostaje ustanowione. W ten sposób klienci nadal podrzebują połączyć się jako poprawny użytkownik i dostarczyć ważne hasło. Gdy tylko zostaną podłączeni, wszystkie operacje plikowe będą prowadzone jako "wymuszony użytkownik" ("forced user"), bez względu na to, z jaką nazwą użytkownika klient uzyskiwał połączenie. Może to być bardzo użyteczne.

W Samba 2.0.5 i nowszych ten parametr powoduje również użycie głównej grupy wymuszonego użytkownika jako głównej grupy do całej działalności na plikach. Do wersji 2.0.5, główna grupa była pozostawiana jako główna grupa użytkownika który się podłączył (to był błąd).

Zobacz też force group

Domyślnie: brak wymuszonego użytkownika

Przykład: force user = uzytkownik

fstype (S)

Ten parametr pozwala administratorowi skonfigurować łańcuch znakowy określający typ systemu plików którego używa współudział, co jest raportowane przez smbd(8), gdy klient pyta o typ systemu plików dla współudziału. Domyślnym typem jest NTFS dla kompatybilności z Windows NT, ale może to być zmienione na inne, takie jak "Samba" lub "FAT" jeśli jest to wymagane.

Domyślnie: fstype = NTFS

Przyklład: fstype = Samba

getwd cache (G)

Jest to opcja dostosowująca. Gdy jest ona włączona, algorytm buforowania będzie użyty do zredukowania czasu zabieranego przez wywołania getwd(). Może mieć to znaczący wpływ na wydajność szczególnie, gdy parametr wide links jest ustawiony na false.

Domyślnie: getwd cache = yes

group (S)

Synonim dla force group.

guest account (S)

Jest to nazwa użytkownika która będzie użyta do podłączenia się do usług które są określone jako guest ok (zobacz niżej). Prawa które posiada ten użytkownik będą dostępne dla każdego klienta łączącego się z usługą anonimową (guest service). Typowo, użytkownik ten istnieje tylko w pliku haseł, lecz nie ma ważnego konta logowania (konta "shellowego", przyp.tłum.). Konto użytkownika "ftp" jest często dobrym wyborem przy tym parametrze. Jeśli nazwa użytkownika jest określona w konkretnej usłudze, to podana nazwa unieważnia tą.

W niektórych systemach może być tak, że domyślne konto gościa "nobody" nie może drukować. W takim przypadku użyj innego konta. Powinieneś to przetestować próbując zalogować się jako gość (być może korzystając z polecenia su - i próbując drukować używając systemowego polecenia wydruku, jak lpr(1) lub lp(1).

Domyślnie: określone w czasie kompilacji, zazwyczaj "nobody"

Przykład: guest account = ftp

guest ok (S)

Jeśli ten parametr to yes dla usługi, wtedy żadne hasło nie jest wymagane aby podłączyć się do usługi. Uprawnienia będą takie, jak dla guest account.

Zobacz niżej sekcję security aby dowiedzieć się więcej na temat tej opcji.

Domyślnie: guest ok = no

Przykład: guest ok = yes

guest only (S)

Jeśli ten parametr jest ustawiony na yes dla usługi, wtedy tylko połączenia gości do usługi będą dozwolone. Ten parametr nie będzie dawał żadnych efektów, jeśli guest ok lub public nie są ustawione dla usługi.

Zobacz niżej sekcję security aby dowiedzieć się więcej na temat tej opcji.

Domyślnie: guest only = no

hide dot files (S)

Jest to parametr boolowski który kontroluje, czy pliki zaczynające się kropką ukazują się jako pliki ukryte.

Domyślnie: hide dot files = yes

hide files(S)

Jest to lista plików lub katalogów które nie są widoczne, ale jest do nich dostęp. DOS'owy atrybut "ukryty" jest wprowadzany do wszystkich plików lub katalogów które pasują.

Każdy wpis w liście musi być oddzielony przez '/', co pozwala umieszczać w nim spacje. '*' i '?' mogą być użyte do określenia wielu plików lub katalogów tak jak w DOS.

Każdy wpis musi być ścieżką Unix, a nie DOS i nie może zawierać separatora katalogów Unix '/'.

Zauważ, że opcja rozróżniania dużych/małych liter ma zastosowanie do ukrywania plików.

Ustawianie tego parametru ma wpływ na wydajność Samby, ponieważ wymuszone będzie sprawdzanie dopasowania wszystkich plików i katalogów podczas ich skanowania.

Zobacz też hide dot files, veto files i case sensitive.

Domyślnie: żadne plik nie jest ukrywany

Przykład: hide files = /.*/DesktopFolderDB/TrashFor%m/resource.frk/

Powyższy przykład bazuje na plikach które klient Macintosh SMB (DAVE) dostępny na url(bf(Thursby))(http://www.thursby.com) tworzy dla wewnętrznego użytku oraz również ukrywa wszystkie pliki zaczynające sie kropką.

hide local users (G)

Ten parametr przełącza ukrywanie lokalnych użytkowników UNIX (root, wheel, floppy, etc) przed zdalnymi klientami.

Domyślnie: hide local users = no

hide unreadable (S)

Ten parametr zapobiega zobaczeniu przez klientów, plików które nie mogą być czytane. Domyślnie jest wyłączony.

Domyślnie: hide unreadable = no

homedir map (G)

Jeśli nis homedir jest równy true, a smbd(8) funkcjonuje również jako serwer logowania Win95/98, wtedy ten parametr określa mapę NIS (lub YP) z której powinien być pobrany serwer dla katalogu domowego użytkownika. Aktualnie, tylko format mapy Sun'a auto.home jest rozumiany. Forma mapy to:

uzytkownik serwer:/jakis/system/plikow

a program pobierze nazwę serwera sprzed pierwszego ':'. Powinien tu być prawdopodobnie lepszy system parsowania który radzi sobie z różnymi formatami map, w tym również mapami Amd (another automounter).

NOTE :Działający NIS jest wymagany w systemie, aby ta opcja działała.

Zobacz też nis homedir , domain logons .

Domyślnie: homedir map = <pusty łańcuch znakowy>

Przykład: homedir map = amd.homedir

host msdfs (G)

Ten parametr boolowski jest dostępny jedynie wtedy, gdy Samba została skonfigurowana i skompilowana z opcją --with-msdfs . Jeśli zostanie ustawiony na yes , Samba będzie funkcjonować jako serwer Dfs i pozwoli klientom z włączonym Dfs przeglądać drzewa Dfs utrzymywane przez ten serwer.

Zobacz też parametr współudziału msdfs root. Po więcej informacji o ustawianiu drzewa Dfs na Sambie, skieruj się do msdfs_setup.html.

Domyślnie: host msdfs = no

hosts allow (S)

Synonimem dla tego parametru jest allow hosts .

Ten parametr jest rozdzielonym przecinkami, spacjami, lub tabulatorami zestawieniem hostów które mają zezwolenie na dostęp do usługi.

Jeśli określony w sekcji [global], wtedy będzie się stosował do wszystkich usług, niezależnie od tego, czy poszczególne usługi mają inne ustawienia.

Możesz określić hosty przez nazwę lub numer IP. Na przykłąd, mógłbyś ograniczyć dostęp tylko do hostów w podsieci Klasy C przy pomocy czegoś jak allow hosts = 150.203.5.. Pełna składnia listy jest opisana na stronie podręcznika hosts_access(5) . Zwróć uwagę, że ta strona może nie być obecna w twoim systemie, więc krótki opis będzie podany również tutaj.

Zauważ, że adres localhost 127.0.0.1 będzie zawsze miał pozwolenie na dostęp chyba, że będzie specjalnie zabroniony przez opcję hosts deny.

Możesz również określić hosty przez pary sieć/maska i przez nazwy grup sieciowych jeśli twój system wspiera je. Słowo kluczowe EXCEPT może również być użyte do ograniczenia listy wielu możliwości. Następujące przykłady mogą być trochę pomocne:

Przykłąd 1: dopuść wszystkie IP w 150.203.*.* z wyjątkiem jednego

hosts allow = 150.203. EXCEPT 150.203.6.66

Przykład 2: dopuść hosty które pasują do podanej sieci/maski

hosts allow = 150.203.15.0/255.255.255.0

Przykład 3: dopuść kilka hostów

hosts allow = lapland, arvidsjaur

Przykład 4: dopuść tylko hosty w grupie sieciowej NIS "foonet", ale zabroń dostępu z jednego, konkretnego hosta.

hosts allow = @foonet

hosts deny = pirate

Zauważ, że dostęp nadal wymaga odpowiednich haseł poziomu użytkownika.

Zobacz testparm(1) jako sposób na testowanie twojego parametru "host access" aby zobaczyć, czy robi to, czego się spodziewasz.

Domyślnie: nic (tzn. wszystkie hosty mają zezwolenie na dostęp)

Przykład: allow hosts = 150.203.5. myhost.mynet.edu.au

hosts deny (S)

Przeciwieństwo do hosts allow - hosty wymienione tutaj NIE mają zezwolenia na dostęp do usług, chyba że określone usługi mają własne listy, które unieważnią tą. Tam, gdzie listy konfliktują, lista allow ma pierwszeństwo.

Domyślnie: nic (tzn. żadnych hostów specjalnie wykluczonych)

Przykład: hosts deny = 150.203.4. badhost.mynet.edu.au

hosts equiv (G)

Jeśli ten parametr globalny jest niezerowym łańcuchem, określa on nazwę pliku z którego należy odczytywać nazwy hostów i użytkowników, którzy będą mieli zezwolenie na dostęp bez podawania hasła.

Nie należy tego mylić z hosts allow który dotyczy dostępu hostów do usług i jest bardziej użyteczny do usług "dla gości". hosts equiv może być przydatny dla klientów NT którzy nie będą dostarczać Sambie haseł.

UWAGA : Użycie hosts equiv może być dużą dziurą w zabezpieczeniach. Jest tak, ponieważ ufasz, że PC dostarczy poprawną nazwę użytkownika. Bardzo łatwo jest doprowadzić PC do dostarczenia fałszywej nazwy. Zalecam użycie opcji hosts equiv tylko, jeśli naprawdę wiesz co robisz lub, być może, w sieci domowej gdzie ufasz małżonkowi(ce) i dzieciom. I to tylko jeśli naprawdę im ufasz :-).

Domyślnie: Żadnej równoważności hostów

Przykład: hosts equiv = /etc/hosts.equiv

include (G)

To pozwala ci dołączyć jeden plik konfiguracyjny wewnątrz innego. Plik jest dołączony dosłownie, jak wpisany w tym miejscu.

Korzysta on ze standardowych podstawień, z wyjątkiem %u, %P i %S.

Domyślnie: brak dołączanych plików

Przykład: include = /usr/local/samba/lib/admin_smb.conf

inherit permissions (S)

Zezwolenia na nowych plikach i katalogach są normalnie zarządzane przez create mask , directory mask, force create mode i force directory mode, ale boolowski parametr "inherit permissions" unieważnia to.

Nowy katalog dziedziczy tryb katalogu rodzicielskiego, włącznie z bitami takimi, jak setgid.

Nowe pliki dziedziczą ich bity odczyt/zapis z katalogu-rodzica. Ich bity wykonania są nadal determinowane przez map archive, map hidden i map system jak zazwyczaj.

Zauważ, że bit setuid nie jest nigdy ustawiany przez dziedziczenie (kod wyraźnie tego zabrania).

Może to być szczególnie użyteczne w ogromnych systemach z wieloma użytkownikami, być może kilkuset, aby pozwolić elastycznie używać każdemu użytkownikowi pojedynczy współudział [homes].

Zobacz też create mask , directory mask , force create mode i force directory mode.

Domyślnie: inherit permissions = no

interfaces (G)

Ta opcja pozwala ci unieważnić domyślną listę interfejsów sieciowych których Samba użyje do przeglądania, rejestracji nazw i innego ruchu NBT. Domyślnie, Samba zapyta jądro o listę wszystkich aktywnych interfejsów i użyje każdego, z wyjątkiem 127.0.0.1, który jest zdolny do rozgłaszania (broadcast capable).

Opcja pobiera listę łańcuchów znakowych interfejsów. Każdy łańcuch może być w dowolnej z następujących form:

  • nazwa interfejsu sieciowego (jak eth0). Może zawierać dostępne w powłoce znaki "wildcard", zatem eth* będzie pasować do każdego interfejsu zaczynającego się łańcuchem "eth"

  • adres IP. W tym przypadku maska jest determinowana z listy interfejsów uzyskanej od jądra.

  • para IP/maska.

  • para rozgłaszanie/maska.

Parametr "maska" może być albo długością bitową (jak 24 dla sieci klasy C) lub pełną maską sieci w formie dziesiętnej z kropkami.

Parametr "IP" powyżej może być albo pełnym adresem IP dziesiętnym z kropkami, albo nazwą hosta, która będzie wyszukana przez normalne systemowe mechanizmy odwzorowania nazw hostów.

Przykładowo, następująca linia:

interfaces = eth0 192.168.2.10/24 192.168.3.10/255.255.255.0

skonfigurowałby trzy interfejsy sieciowe: odpowiadający urządzeniu eth0 oraz adresom IP 192.168.2.10 i 192.168.3.10. Maski sieciowe dwóch ostatnich interfejsów byłyby ustawione na 255.255.255.0.

Zobacz też bind interfaces only.

invalid users (S)

Jest to lista użytkowników którzy nie powinni mieć pozwolenia na logowanie się do tej usługi. Jest to naprawdę paranoiczne sprawdzenie, żeby absolutnie zapewnić, że niepoprawne ustawienie nie narusza twojego bezpieczeństwa.

Nazwa zaczynająca się od '@' jest najpierw interpretowana jako grupa sieciowa NIS (jeśli twój system wspiera NIS), a potem jako grupa UNIX jeśli nazwa nie została znaleziona w bazie danych grup sieciowych NIS.

Nazwa zaczynająca się od '+' jest interpretowana tylko przez szukanie w bazie danych grup UNIX. Nazwa rozpoczynająca się na tt'&' jest interpretowana tylko przez szukanie w bazie danych grup sieciowych NIS (to wymaga działającego NIS w twoim systemie). Znaki '+' i '&' mogą być użyte jako początek nazwy w dowolnej kolejności, więc wartość +&grupa oznacza sprawdzenia w bazie danych grup UNIX po którym nastąpi sprawdzenie w bazie NIS, a wartość &+grupa" oznacza sprawdzenie bazy grup NIS po którym nastąpi sprawdzenie bazy grup UNIX (tak samo jak dla prefiksu '@').

Nazwa bieżącej usługi jest podstawiana za %S .Jest to przydatne w sekcji [homes].

Zobacz też valid users.

Domyślnie: Żadnych niepoprawnych użytkowników

Przykład: invalid users = root fred admin @wheel

keepalive (G)

Wartość parametru (liczba całkowita) reprezentuje liczbę sekund pomiędzy pakietami keepalive ("utrzymuj przy życiu"). Jeśli ten parametr jest zerem, żadne pakiety "keepalive" nie będą wysłane. Pakiety te, jeśli wysłane, pozwalają serwerowi stwierdzić, czy klient jest nadal obecny i odpowiada.

Generalnie, nie powinny one być potrzebne, jeśli używane gniazdo ma ustawiony atrybut SO_KEEPALIVE (zobacz socket options). W zasadzie powinieneś używać tej opcji tylko, jeśli napotkasz problemy.

Domyślnie: keepalive = 300

Przykład: keepalive = 600

kernel oplocks (G)

Dla UNIXów które wpierają oparte na jądrze oplock'i (obecnie tylko IRIX i jądro Linux 2.4), ten parametr pozwala włączyć lub wyłączyć ich wykorzystanie.

Wsparcie oplock'ów ("blokad oportunistycznych" - tłum. bezpośrednie dalej nazywane po prostu "blokadą", przyp.tłum.) w jądrze pozwala przełamywać blokady Samby, gdy tylko lokalny proces UNIX lub operacja NFS uzyska dostęp do pliku, który smbd(8) zablokował. Umożliwia to pełną spójność danych pomiędzy SMB/CIFS, NFS i lokalnym dostępem do plików (i jest bardzo fajną własnością :-) ).

Ten parametr przyjmuje domyślnie wartość on, lecz jest tłumaczony na no-op (brak operacji) w systemach które nie mają niezbędnego wsparcia w jądrze. Nigdy nie powinieneś potrzebować ruszać tego parametru.

Zobacz też parametry oplocks i level2 oplocks.

lanman auth (G)

Ten parametr określa czy smbd(8) będzie próbował autentykować użytkowników wykorzystując hash hasła LANMAN, czy nie. Jeśli jest wyłączony, tylko klienci którzy wspierają hashe haseł NT (np. klienci Windows NT/2000, smbclient, etc ... ale nie Windows 95/98 lub klient sieciowy MS-DOS) będą w stanie połączyć się z hostem Samba.

Domyślnie: lanman auth = yes

large readwrite (G)

Ten parametr określa czy smbd(8) wspiera nowy wariant strumieniowych 64k żądań SMB do odczytu i zapisu wprowadzonych razem z Windows 2000. Zauważ, że z powodu błędów klienta Windows 2000, wymaga to od Samby działania na 64 bitowym systemie operacyjnym, takim jak IRIX, Solaris lub jądro Linux 2.4. Może to polepszyć wydajność o 10% z klientami Windows 2000. Domyślnie jest wyłączony. Nie jest tak przetestowany jak inne części kodu Samby.

ldap admin dn (G)

Ten parametr jest dostępny tylko jeśli Samba została skonfigurowana z użyciem opcji --with-ldapsam w czasie kompilacji. Opcja ta powinna być uważana za eksperymentalną i aktywnie rozwijaną.

ldap admin dn definiuje "Odróżniającą Nazwę" (Distinguished Name - DN) używaną przez Sambę do skontaktowania się z serwerem ldap (ldap server) przy pobieraniu informacji o koncie użytkownika. ldap admin dn jest używany w połączeniu z hasłem admin dn przechowywanym w pliku private/secrets.tdb. Zobacz stronę smbpasswd(8) aby dowiedzieć się jak to zrobić.

Domyślnie: nic

ldap filter (G)

Ten parametr jest dostępny tylko jeśli Samba została skonfigurowana z użyciem opcji --with-ldapsam w czasie kompilacji. Opcja ta powinna być uważana za eksperymentalną i aktywnie rozwijaną.

Ten parametr określa zgodny z RFC 2254 filtr szukający LDAP. Domyślny ma dopasowywać nazwę logowania z atrybutem uid do wszystkich pasujących obiektów sambaAccount. Zauważ, że ten filtr powinien zwracać tylko jeden wpis.

Domyślnie: ldap filter = (&(uid=%u)(objectclass=sambaAccount))

ldap port (G)

Ten parametr jest dostępny tylko jeśli Samba została skonfigurowana z użyciem opcji --with-ldapsam w czasie kompilacji. Opcja ta powinna być uważana za eksperymentalną i aktywnie rozwijaną.

Ta opcja jest używana do kontroli nad numerem portu tcp użytego do kontaktowania się z serwerem ldap (ldap server). Domyślnie jest używany standardowy port 389.

Domyślnie: ldap port = 389

ldap server (G)

Ten parametr jest dostępny tylko jeśli Samba została skonfigurowana z użyciem opcji --with-ldapsam w czasie kompilacji. Opcja ta powinna być uważana za eksperymentalną i aktywnie rozwijaną.

Ten parametr powinien zawierać FQDN serwera katalogu ldap który powinien być pytany żeby zlokalizować informacje o koncie użytkownika.

Domyślnie: ldap server = localhost

ldap ssl (G)

Ten parametr jest dostępny tylko jeśli Samba została skonfigurowana z użyciem opcji --with-ldapsam w czasie kompilacji. Opcja ta powinna być uważana za eksperymentalną i aktywnie rozwijaną.

Ta opcja używana jest do określenia, czy Samba powinna używać SSL przy podłączaniu się do serwera ldap (ldap server), czy nie. NIE jest to związane ze wsparciem Samba SSL które jest włączane przez podanie opcji --with-ssl skryptowi konfiguracyjnemu configure (zobacz ssl ).

ldap ssl może być ustawiony na jedną z trzech wartości: (a) on - Zawsze używaj SSL przy kontaktowaniu się z serwerem ldap (ldap server), (b) off - Nigdy nie używaj SSL przy odpytywaniu katalogu, (c) start tls - Użyj rozszerzonych operacji LDAPv3 StartTLS (RFC2830) do komunikowania się z serwerem katalogu.

Domyślnie: ldap ssl = off

ldap suffix (G)

Ten parametr jest dostępny tylko jeśli Samba została skonfigurowana z użyciem opcji --with-ldapsam w czasie kompilacji. Opcja ta powinna być uważana za eksperymentalną i aktywnie rozwijaną.

Domyślnie: none

level2 oplocks (S)

Ten parametr kontroluje, czy Samba wspiera blokady (oplocks) poziomu2 (tylko do odczytu) we współudziale.

Blokady poziomu2, lub tylko-do-odczytu pozwalają klientom Windows NT, którzy mają blokadę na pliku, zdegradować ją z blokady odczyt-zapis na blokadę tylko-do-odczytu, jak tylko drugi klient otwiera plik (zamiast zwalniania wszystkich blokad przy drugim otwarciu, tak jak w tradycyjnych, wyłącznych blokadach). Umożliwia to wszystkim otwierającym plik którzy wspierają blokady poziomu2, buforować plik jedynie do odczytu "na wyrost" (read-ahead) (tzn. nie mogą oni buforować zapisów lub żądań blokady). Zwiększa to również wydajność dla wielu dostępów do plików, które nie są powszechnie zapisywane (takie, jak pliki aplikacji .EXE).

Gdy tylko jeden z klientów który ma blokadę tylko-do-odczytu zapisuje do pliku, wszyscy klienci dostają powiadomienia (żadna odpowiedź nie jest potrzebna, ani oczekiwana) i polecenia, aby przerwali swoje blokady i usunęli bufory do odczytu "na wyrost" (read-ahead).

Włączenie tego parametru jest zalecane, aby przyspieszyć dostęp do współdzielonych plików wykonywalnych.

Aby przejrzeć większą dyskusję na temat blokad poziomu2, zobacz specyfikację CIFS.

Obecnie, jeśli kernel oplocks są wspierane, wtedy blokady poziomu2 nie są przyznawane (nawet, jeśli ten parametr jest ustawiony yes). Zauważ również, że parametr oplocks musi być ustawiony na true w tym współudziale, aby ten parametr odnosił efekt.

Zobacz też parametry oplocks i kernel oplocks.

Domyślnie: level2 oplocks = yes

lm announce (G)

Ten parametr określa, czy nmbd(8) będzie produkował rozgłaszania oznajmiające (announce broadcasts) Lanman, które są potrzebne klientom OS/2, aby widzieli serwer Samba w ich listach przeglądania. Ten parametr może mieć trzy wartości: true, false lub auto. Domyślną jest auto. Jeśli jest ustawiony na false, Samba nigdy nie będzie produkować tych rozgłaszań. Jeśli jest ustawiony na true, Samba będzie produkować rozgłaszania oznajmiające Lanman z częstotliwością ustawioną przez parametr lm interval . Jeśli jest ustawiony na auto, Samba nie będzie ich wysyłać domyślnie, ale będzie ich nasłuchiwać. Jeśli usłyszy "na kablu" takie rozgłaszanie, wówczas zacznie wysyłać swoje z częstotliwością ustawioną parametrem lm interval.

Zobacz też lm interval.

Domyślnie: lm announce = auto

Przykład: lm announce = true

lm interval (G)

Jeśli Samba jest ustawiona na produkowanie rozgłoszeń oznajmiających Lanman potrzebnych klientom OS/2 (zobacz parametr lm announce ), wtedy ten parametr definiuje w sekundach częstotliwość z którą będą one tworzone. Jeśli jest on ustawiony na zero, wówczas żadne oznajmiania Lanman nie będą tworzone, pomimo ustawienia parametru lm announce .

Zobacz też lm announce.

Domyślnie: lm interval = 60

Przykład: lm interval = 120

load printers (G)

Zmienna bool'owska która kontroluje, czy wszystkie drukarki w printcap będą domyślnie załadowane do przeglądania. Zobacz sekcję printers aby dowiedzieć się szczegółów.

Domyślnie: load printers = yes

local master (G)

Ta opcja pozwala nmbd(8) spróbować zostać lokalną nadrzędną przeglądarką (local master browser) w podsieci. Jeśli jest ustawiona na false, wtedy nmbd nie będzie próbował zostać nadrzędną przeglądarką w podsieci i będzię również przegrywał we wszystkich elekcjach przeglądania (browsing elections). Domyślnie, ta wartość jest ustawiona na true. Ustawianie jej na true nie oznacza, że Samba zostanie lokalną nadrzędną przeglądarką w podsieci, lecz tylko to że nmbd będzie uczestniczył w elekcjach na przeglądarkę.

Ustawianie tej wartości na false spowoduje, że nmbd nigdy nie zostanie lokalną nadrzędną przeglądarką.

Domyślnie: local master = yes

lock dir (G)

Synonim dla lock directory.

lock directory (G)

Ta opcja określa katalog, w którym umieszczane będą pliki blokad. Pliki blokad są używane do implementowania opcji max connections.

Domyślnie: lock directory = ${prefix}/var/locks

Przykład: lock directory = /var/run/samba/locks

locking (S)

Ten parametr kontroluje, czy blokowanie będzie przeprowadzane przez serwer w odpowiedzi na żądanie blokady od klienta, czy nie.

Jeśli locking = no, wszystkie żądania blokady i odblokowania będą objawiać się jak zakończone sukcesem, a wszystkie zapytania o blokady będą wskazywać, że dana blokada jest czysta.

Jeśli locking = yes, rzeczywiste blokowanie będzie przeprowadzane na serwerze.

Ta opcja może być użyteczna dla systemów plików tylko-do-odczytu które mogą nie potrzebować blokowania (tak jak napędy CDROM, aczkolwiek ustawianie tego parametru na no naprawdę nie jest polecane nawet w tym przypadku.

Bądź ostrożny z wyłączaniem blokowania albo globalnie, albo w danej usłudze, ponieważ brak blokowania może zaowocować uszkodzeniem danych. Nie powinieneś nigdy potrzebować ustawiać tego parametru.

Domyślnie: locking = yes

log file (G)

Ta opcja pozwala ci nadrzędnie (w stosunku do nazwy domyślnej, przyp.tłum.) ustawić nazwę pliku logu Samba (znanego również jako plik debug).

Opcja ta przyjmuje standardowe podstawienia, pozwalając ci na posiadanie odrębnych plików logu dla każdego użytkownika lub maszyny.

Przykład: log file = /usr/local/samba/var/log.%m

log level (G)

Wartość tego parametru (liczba całkowita) pozwala określić poziom debugowania w pliku smb.conf . Daje to większą elastyczność w konfigurowaniu systemu.

Wartość domyślna będzie poziomem podanym w linii poleceń lub poziomem zerowym, jeśli nic nie zostało określone.

Przykład: log level = 3

logon drive (G)

Ten parametr określa lokalną scieżkę do której podłączony będzie katalog domowy (zobacz logon home) i jest używany tylko przez NT Workstation.

Zwróć uwagę, że ta opcja jest przydatna tylko, jeśli Samba jest ustawiona jako serwer logowania (logon server).

Przykład: logon drive = h:

logon home (G)

Ten parametr określa lokalizację katalogu domowego gdy Win95/98 lub NT Workstation loguje się do Samba PDC. Pozwala ci on wykonać

C:\> NET USE H: /HOME

spod promptu poleceń, przykładowo.

Ta opcja przyjmuje standardowe podstawienia, umożliwiając ci posiadanie oddzielnych skryptów logowania (logon script) dla każdego użytkownika lub maszyny.

Parametr ten może być użyty ze stacjami roboczymi Win9x aby upewnić się, że profile wędrującę (roaming profiles) są przechowywane w podkatalogu katalogu domowego użytkownika. Jest to zrobione następująco:

logon home = \\%L\%U\profile

To mówi Sambie, żeby zwrócić powyższy łańcuch, z wykonanymi podstawieniami, gdy klient żąda info; generalnie w żądaniu NetUserGetInfo. Klienci Win9x ucinają info do \\serwer\współudział gdy użytkownik wykonuje net use /home, ale używają całego łańcucha przy kontakcie z profilami.

Zauważ, że w poprzednich wersjach Samba, logon path był zwracany zamiast logon home. To psuło net use /home, lecz zezwalało na profile poza katalogiem domowym. Obecna implementacja jest poprawna i może być użyta dla profili, jeśli wykorzystasz powyższą sztuczkę.

Zauważ, że ta opcja jest przydatna tylko jeśli Samba jest ustawiona jako serwer logowania (logon server).

Domyślnie: logon home = "\\%N\%U"

Przykład: logon home = "\\zdalny_serwer_smb\%U

logon path (G)

Ten parametr określa katalog domowy gdzie profile wędrujące (roaming profiles) (NTuser.dat i tego typu pliki dla Windows NT) są przechowywane. Wbrew poprzednim wersjom tych stron podręcznika, nie ma to nic wspólnego z profilami wędrującymi Win 9X. Aby dowiedzieć się jak obsługiwać profile wędrujące dla systemu Win 9X, zobacz parametr logon home.

Ta opcja przyjmuje standardowe podstawienia, pozwalając ci na posiadanie oddzielnych skryptów logowania (logon scripts) dla każdego użytkownika lub maszyny. Określa on również katalog z którego "Application Data", "Desktop", "Start Menu", "Network Neighborhood" , "Programs" i inne foldery oraz ich zawartość są ładowane i wyświetlane na twoim kliencie Windows NT.

Współudział i ścieżka muszą być odczytywalne przez użytkownika, aby preferencje i katalogi były ładowane na klienta Windows NT. Współudział musi być zapisywalny podczas pierwszego logowania użytkownika, żeby klient Windows NT mógł utworzyć plik NTuser.dat i katalogi.

Następnie, katalogi i cokolwiek z ich zawartości mogą, jeśli to wymagane, być ustawione tylko-do-odczytu. Odradzane jest ustawianie pliku NTuser.dat na tylko-do-odczytu - zmień jego nazwę na NTuser.man żeby osiągnąć pożądany efekt (profil obowiązkowy (MANdatory profile)).

Klienci Windows mogą czasem utrzymywać połączenie ze współudziałem [homes], nawet pomimo żadnego zalogowanego użytkownika. Dlatego też, jest istotnym, żeby ścieżka logowania nie zawierała odniesienia do współudziału homes (tj. ustawianie tego parametru na \\%N\HOMES\sciezka_profilu) będzie powodować problemy.

Opcja ta przyjmuje standardowe podstawienia, pozwalając ci na posiadanie oddzielnych skryptów logowania (logon script) dla każdego użytkownika lub maszyny.

Zauważ, że ta opcja jest przydatna tylko, jeśli Samba jest ustawiona jako serwer logowania (logon server).

Domyślnie: logon path = \\%N\%U\profile

Przykład: logon path = \\SERWERPROFILOW\KAT_DOMOWY\%U\PROFIL

logon script (G)

Ten parametr określa plik wsadowy (.bat) lub plik polecenia NT (.cmd) do pobrania i uruchomienia na maszynie, gdy użytkownik pomyślnie się zaloguje. Plik musi zawierać zakończenia linii CR/LF w stylu DOS. Zalecane jest użycie edytora w stylu DOS do stworzenia tego pliku.

Skrypt musi być scieżką względną do usługi [netlogon]. Jeśli usługa ta specyfikuje ścieżkę /usr/local/samba/netlogon, a logon script = STARTUP.BAT, wtedy plikiem który będzie pobrany jest:

/usr/local/samba/netlogon/STARTUP.BAT

Zawartość pliku wsadowego jest całkowicie twoim wyborem. Sugerowanym poleceniem byłoby dodanie NET TIME \\SERWER /SET /YES, żeby wymusić na każdej maszynie synchronizację zegarów z tym samym (co serwer logowania, przyp.tłum.) serwerem czasu. Kolejnym zastosowaniem byłoby dodanie NET USE U: \\SERWER\UZYTKI dla powszechnie używanych programów użytkowych, lub na przykład NET USE Q: \\SERWER\ISO9001_QA.

Zwróć uwagę, że szczególnie ważnym jest, żeby nie pozwolić na zapis we współudziale [netlogon], lub zapewnić użytkownikom prawo zapisu do plików wsadowych w chronionym środowisku, ponieważ umożliwiłoby to arbitralną modyfikację pliku i naruszenie bezpieczeństwa.

Opcja ta przyjmuje standardowe podstawienia, pozwalając ci na posiadanie oddzielnych skryptów logowania (logon script) dla każdego użytkownika lub maszyny.

Zauważ, że ta opcja jest przydatna tylko, jeśli Samba jest ustawiona jako serwer logowania (logon server).

Przykład: logon script = skrypty\%U.bat

lppause command (S)

Parametr ten określa komendę którą należy wykonać na hoscie serwera, żeby zatrzymać drukowanie lub spooling konkretnego zadania druku.

Komenda ta powinna być programem lub skryptem który pobiera nazwę drukarki i numer zadania, aby wstrzymać zadanie druku. Jeden ze sposobów implementacji to użycie priorytetów zadań, gdzie zadania o zbyt niskim priorytecie nie będą wysyłane do drukarki.

Jeśli podane jest %p, wtedy w to miejsce wstawiana jest nazwa drukarki. %j jest zastępowane numerem zadania (liczba całkowita). W HPUX (zobacz printing=hpux), jeśli dodana jest opcja -p%p do polecenia lpq, zadanie pojawi się z poprawnym statusem, tj. jeśli priorytet zadania jest mniejszy nić ustawiony priorytet graniczny, będzie ono miało status PAUSED, podczas gdy jeśli priorytet jest równy lub większy, będzie miało ono status SPOOLED lub PRINTING

Zwróć uwagę, dobrą praktyką jest wstawianie scieżki bezwzględnej w poleceniu lppause, ponieważ zmienna PATH może nie być dostępna dla serwera.

Zobacz też parametr printing.

Domyślnie: Obecnie, żadna domyślna wartość nie jest nadawana temu łańcuchowi znakowemu, chyba że wartością parametru printing jest SYSV, w którym to przypadku domyślna wartość to:

lp -i %p-%j -H hold

lub jeśli wartością parametru printing jest SOFTQ, wtedy domyślna jest:

qstat -s -j%j -h

Przykład dla HPUX: lppause command = /usr/bin/lpalt %p-%j -p0

lpq cache time (G)

To kontroluje, jak długo będzie cache'owana informacja o kolejce wydruków (lpq info), aby zapobiec zbyt częstemu wywoływaniu polecenia lpq. Oddzielny cache jest utrzymywany dla każdej zmiany polecenia lpq używanej przez system, więc jeśli używasz różnych poleceń lpq dla różnych użytkowników, to nie będą oni współdzielić informacji w cache'u.

Pliki cache są przechowywane w /tmp/lpq.xxxx, gdzie xxxx jest hash'em polecenia lpq będącego w użyciu.

Domyślnią wartością jest 10 sekund co oznacza, że cache'owane rezultaty poprzedniego identycznego polecenia lpq będą użyte, jeśli dane cache'owane są młodsze niż 10 sekund. Duża wartość może być zalecana, jeśli twoje polecenie lpq jest bardzo powolne.

Wartość 0 całkowicie wyłączy cache.

Zobacz też parametr printing.

Domyślnie: lpq cache time = 10

Przykład: lpq cache time = 30

lpq command (S)

Ten parametr określa komendę którą należy wykonać na hoście serwera, żeby uzyskać informację w stylu lpq statusową drukarki.

Komenda ta powinna być programem lub skryptem który pobiera nazwę drukarki jako jedyny parametr, i podaje informację statusową drukarki na wyjściu.

Obecnie, wspieranych jest osiem stylów informacji statusowej drukarki: BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX i SOFTQ. Obejmuje to większość systemów UNIX. Określasz, który typ jest oczekiwany przy użyciu opcji printing =.

Niektórzy klienci (zwłaszcza Windows for Workgroups) mogą niepoprawnie wysyłać numer połączenia dla drukarki, o której żądają informacji statusowej. Aby to obejść, serwer raportuje informacje o pierwszej usłudze drukarkowej podłączonej przez klienta. Ma to miejsce tylko wtedy, gdy wysłany numer połączenia jest niepoprawny.

Jeśli podany jest %p, wtedy nazwa drukarki jest wstawiana w to miejsce. W przeciwnym wypadku, jest on umieszczany na końcu komendy.

Zauważ, dobrą praktyką jest wstawianie scieżki bezwzględnej w poleceniu lpq (lpq command), ponieważ zmienna PATH może nie być dostępna dla serwera.

Zobacz też parametr printing.

Domyślnie: zależnie od ustawienia drukowania (printing =)

Przykład: lpq command = /usr/bin/lpq %p

lpresume command (S)

Ten parametr określa komendę którą należy wykonać na hoscie serwera, żeby zrestartować lub kontynuować druk lub spooling konkretnego zadania wydruku.

Ta komenda powinna być programem lub skryptem który pobiera nazwę drukarki i numer zadania, żeby wznowić zadanie wydruku. Zobacz też parametr lppause command.

Jeśli podany jest %p, wtedy nazwa drukarki jest wstawiana w to miejsce. %j jest zastępowany numerem zadania (liczba całkowita).

Zauważ, dobrą praktyką jest wstawianie scieżki bezwzględnej w poleceniu lpresume (lpresume command), ponieważ zmienna PATH może nie być dostępna dla serwera.

Zobacz też parametr printing.

Domyślnie: Obecnie, żadna domyślna wartość nie jest nadawana temu łańcuchowi znakowemu, chyba że wartością parametru printing jest SYSV, w którym to przypadku domyślna wartość to:

lp -i %p-%j -H resume

lub jeśli wartością parametru printing jest SOFTQ, wtedy domyślna jest:

qstat -s -j%j -r

Przykłąd dla HPUX: lpresume command = /usr/bin/lpalt %p-%j -p2

lprm command (S)

Ten parametr określa komendę którą należy wykonać na hoscie serwera, aby usunąć zadanie wydruku.

Ta komenda powinna być programem lub skryptem który pobiera nazwę drukarki i numer zadania, i usuwa zadanie druku.

Jeśli podany jest %p, wtedy nazwa drukarki jest wstawiana w to miejsce. %j jest zastępowany numerem zadania (liczba całkowita).

Zauważ, dobrą praktyką jest wstawianie scieżki bezwzględnej w poleceniu lprm (lprm command), ponieważ zmienna PATH może nie być dostępna dla serwera.

Zobacz też parametr printing.

Domyślnie: zależnie od ustawienia drukowania printing

Przykład 1: lprm command = /usr/bin/lprm -P%p %j

Przykład 2: lprm command = /usr/bin/cancel %p-%j

machine password timeout (G)

Jeśli serwer Samba jest członkiem Domeny Windows NT (zobacz parametr security=domain, wtedy periodycznie uruchamiany proces smbd(8) będzie próbował zmienić HASŁO KONTA MASZYNY przechowywane w TDB o nazwie private/secrets.tdb, Ten parametr określa, w sekundach, jak często hasło to będzie zmieniane. Domyślnie jest to jeden tydzień (wyrażony w sekundach). Tak samo, jak serwer członkowski Domeny Windows NT.

Zobacz też smbpasswd(8) i parametr security=domain.

Domyślnie: machine password timeout = 604800

magic output (S)

This parameter specifies the name of a file which will contain output created by a magic script (see the parameter below).

Ten parametr określa nazwę pliku który będzie zawierał wyjście (wynik) stworzone przez magiczny skrypt (zobacz niżej parametr magic script).

Ostrzeżenie: Jeśli dwaj klienci używają tego samego magicznego skryptu w tym samym katalogu, zawartość pliku wyjściowego jest nieokreślona.

Domyślnie: magic output = <nazwa magicznego skryptu>.out

Przykład: magic output = mojplik.txt

magic script (S)

Ten parametr określa nazwę pliku który, jeśli zostanie otwarty, będzie wykonany przez serwer, gdy plik zostanie zamknięty. Pozwala to wysłąć skrypt UNIX do hosta Samba i wykonać go w imieniu podłączonego użytkownika.

Skrypty wykonane w ten sposób będą usunięte po zakończeniu.

Jeśli skrypt generuje coś na wyjściu, będzie to wysłane do pliku określonego przez parametr magic output (zobacz wyżej).

Zauważ, że niektóre powłoki nie są w stanie interpretować skryptów zawierających carriage-return-linefeed jako znaczniki końca linii (end-of-line), zamiast carriage-return. Magiczne skrypty muszą być wykonywalne "takie, jakie są" na hoście, co w przypadku niektórych hostów i powłok będzie wymagało filtrowania na końcówce DOS.

Magiczne skrypty są EKSPERYMENTALNE i NIE powinno się na nich za bardzo polegać.

Domyślnie: Żadne. Magiczne skrypty wyłączone.

Przykład: magic script = uzytkownik.csh

mangle case (S)

Zobacz sekcję ZNIEKSZTAŁCANIE NAZW

mangled map (S)

To jest dla tych, którzy chcą bezpośrednio mapować nazwy plików UNIX które nie mogą być reprezentowane w Windows/DOS. Zniekształcanie (mangling) nazw nie zawsze jest tym, co potrzebne. W szczególności możesz mieć dokumenty z rozszerzeniami plików które różnią się pomiędzy DOS'em a UNIX'em. Na przykłąd, po UNIX'em powszechne jest użycie .html dla plików HTML, podczas gdy pod Windows/DOS .htm jest częściej używany.

Aby zatem mapować html na htm użyłbyś:

mangled map = (*.html *.htm)

Bardzo przydatny przypadek to usuwanie irytujących ;1 z końców nazw plików na niektórych CDROM'ach (widoczne tylko pod niektórymi UNIX'ami). Aby to zrobić użyj mapowania (*;1 *).

Domyślnie: żadnej mapy zniekształcania

Example: mangled map = (*;1 *)

mangled names (S)

To kontroluje, czy nie-DOSowe nazwy pod UNIX'em powinny być mapowane do kompatybilnych z DOSem ("zniekształcone" ("mangled")) i uwidocznione, czy powinny być po prostu ignorowane.

Zobacz sekcję ZNIEKSZTAŁCANIE NAZW aby dowiedzieć się szczegółów, jak kontrolować proces zniekształcania.

Jeśli zniekształcanie jest używane, wtedy jego algorytm jest następujący:

  • Pierwsze (najdalej) pięć znaków alfanumerycznych przed najdalszą na prawo kropką w nazwie pliku są zachowane, wymuszane do dużąej litery, i pojawiają się jako pierwsze (najdalej) pięć znaków zniekształconej nazwy.

  • Tylda "~" jest dopisywana do pierwszej części zniekształconej nazwy, za nią następuje dwuznakowa unikalna sekwencja, bazowana na pierwotnej nazwie (tj. pierwotnej nazwie minus jej finalne rozszerzenie). Finalne rozszerzenie jest dołączone w postaci wyliczonego hasha tylko, jeśli zawiera jakieś znaki dużych liter lub jest dłuższe niż trzy znaki.

  • Zauważ, że używany znak może być określony korzystając z opcji mangling char, jeśli nie lubisz '~'.

  • Pierwsze trzy znaki alfanumeryczne z finalnego rozszerzenia są zachowane, wymuszone do dużej litery i pojawiają się jako rozszerzenie zniekształconej nazwy. Finalne rozszerzenie jest definiowane jako część orginalnej nazwy za najdalszą na prawo kropką. Jeśli nie ma kropek w nazwie, zniekształcona nazwa nie będzie miała rozszerzenia (z wyjątkiem "ukrytych plików" ("hidden files") - zobacz niżej).

  • Pliki których nazwa UNIX zaczyna się kropką będą prezentowane jako pliki ukryte DOS. Zniekształcona nazwa będzie stworzona jak dla innych nazw plików, ale z usuniętą początkową kropką i "___" jako rozszerzenie niezależnie od aktualnego oryginalnego rozszerzenia (to są trzy podkreślenia).

Dwucyfrowa wartość hasha składa się ze znaków alfanumerycznych dużych liter.

Ten algorytm może spowodować kolizje nazw tylko, jeśli pliki w katalogu mają pierwszych pięć znaków alfanumerycznych takich samych. Prawdopodobieństwo takiego starcia wynosi 1/1300.

Zniekształcanie nazw (jeśli jest włączone) pozwala kopiować pliki pomiędzy katalogami UNIX z Windows/DOS zachowując długą nazwę (pliku) UNIX. Pliki UNIX mogą mieć zmieniane rozszerzenia pod Windows/DOS i będą zachowywać tą samą nazwę. Zniekształcone nazwy nie zmieniają się miedzy sesjami.

Domyślnie: mangled names = yes

mangling char (S)

To steruje, jaki znak jest użyty jako "magiczny" znak w zniekształcaniu nazw (name mangling). Domyślnie jest to '~', lecz może to kłócić się z niektórym oprogramowaniem. Użyj tej opcji, żeby ustawić to na cokolwiek, co preferujesz.

Domyślnie: mangling char = ~

Przykład: mangling char = ^

mangled stack (G)

Ten parametr kontroluje liczbę zniekształconych nazw które powinny być cache'owane w serwerze Samba smbd(8).

Ten stos jest listą ostatnio użytych zniekształconych nazw bazowych (rozszerzenia są utrzymywane, jeśli są dłuższe niż 3 znaki lub zawierają znaki dużych liter).

Im większa jest ta wartość, tym bardziej prawdopobne jest to, że zniekształcone nazwy mogą być z powodzeniem konwertowane do poprawnych długich nazw UNIX. Tym niemniej, duże rozmiary stosu spowolnią większość dostępów do katalogów. Mniejsze stosy oszczędzają pamięć w serwerze (każdy element stosu kosztuje 256 bajtów).

Niemożliwe jest absolutne zagwarantowanie poprawnych długich nazw plików, więc bądź przygotowany na pewne niespodzianki!

Domyślnie: mangled stack = 50

Przykład: mangled stack = 100

map archive (S)

Ten parametr kontroluje, czy artybut archiwalny DOS powinien być mapowany na bit wykonania dla właściciela UNIX. Bit archiwalny DOS jest ustawiony, gdy od jego ostatniej archiwizacji, plik zostaje zmodyfikowany. Motywem powstania tej opcji jest powstrzymanie Samby/twojego PC przed ustawieniem każdego pliku, którego dotknie, na wykonywalny pod UNIX'em. Może to być całkiem irytujące w przypadku współdzielonego kodu źródłowego, dokumentów, itp.

Zauważ, że wymaga to ustawienia parametru create mask tak, że bit wykonania nie jest "wymaskowany" (tzn. musi zawierać 100). Zobacz parametr create mask aby dowiedzieć się szczegółów.

Domyślnie: map archive = yes

map hidden (S)

To kontroluje, czy pliki ukryte w stylu DOS powinny być mapowane na bit wykonania UNIX.

Zauważ, że wymaga to ustawienia create mask tak, żeby bit wykonania dla "świata" nie był "wymaskowany" (tj. musi on zawierać 001). Zobacz parametr create mask żeby dowiedzieć się szczegółów.

Domyślnie: map hidden = no

map system (S)

To kontroluje, czy pliki systemowe w stylu DOS powinny byź mapowane na bit wykonania dla grupy UNIX.

Zauważ, że wymaga to ustawienia create mask tak, że bit wykonania dla grupy nie jest "wymaskowany" (tj. musi zawierać 010). Zobacz parametr create mask aby dowiedzieć się szczegółów.

Domyślnie: map system = no

Przykład: map system = yes

map to guest (G)

Ten parametr jest przydatny tylko w trybach zabezpieczeń (security) innych, niż security = share - tzn. user, server, domain (odpowiednio: użytkownik, serwer, domena).

Może on przyjmować trzy różne wartości które mówią smbd, co robić z żądaniami logowania użytkownika, który w jakiś sposób nie pasuje do poprawnego użytkownika UNIX.

Trzy ustawienia to:

  • Never - Oznacza, że żądania logowania z niepoprawnym hasłem są odrzucane. Tak jest domyślnie.

  • Bad User - Oznacza, że logowania użytkownika z niepoprawnym hasłem są odrzucane, chyba że nazwa użytkownika nie istnieje. W takim przypadku jest to traktowane jak logowanie gościa (guest login) i mapowane na guest account ("konto gościa").

  • Bad Password - Oznacza, że logowania użytkownika z niepoprawnym hasłem są traktowane jako logowanie gościa i mapowane na guest account. Zauważ, że może to powodować problemy, ponieważ oznacza, że każdy użytkownik wpisujący swoje hasło niepoprawnie będzie po cichu logowany jako "guest" - nie będzie wiedział dlaczego nie może uzyskać dostępu do plików, do których powinien - nie będzie dostawał żadnego komunikatu, że ma niepoprawne hasło. Usługi Helpdesk znienawidzą cię, jeśli ustawisz parametr map to guest w ten sposób :-).

Zauważ, że ten parametr jest potrzebny do utworzenia współdzielonych usług "Guest", gdy używany jest tryb security inny, niż share. Jest tak, ponieważ w tych trybach nazwa zasobu który jest żądany, nie jest wysyłana do serwera, aż do pomyślnego zakończenia autentykacji klienta przez serwer. Zatem serwer nie może podjąć decyzji o autentykacji w odpowiednim czasie (podłączania do współudziału) dla współudziałów "Guest".

Dla osób zaznajomionych ze starszymi wydaniami Samby, ten parametr mapuje w czasie kompilacji (compile-time) do starego ustawienia wartości GUEST_SESSETUP w local.h.

Domyślnie: map to guest = Never

Przykład: map to guest = Bad User

max connections (S)

Ta opcja pozwala limitować liczbę jednoczesnych połączeń do usługi. Jeśli max connections jest większe od 0, wtedy nowe połączenia do usługi będą odrzucane jeśli ta ich liczba jest już otwarta. Wartość zero oznacza, że liczba połączeń które mogą być wykonane nie jest limitowana.

Pliki blokad są używane do implementowania tej własności. Będą one przechowywane w katalogu określonym przez opcję lock directory.

Domyślnie: max connections = 0

Przykład: max connections = 10

max disk size (G)

To opcja umożliwia ci postawienie górnego limitu na widocznym rozmiarze dysków. Jeśli ustawisz tą opcję na 100, wtedy wszystkie współudziały będą się pokazywały jako nie większe niż 100MB.

Zauważ, że ta opcja nie limituje ilości danych które możesz umieścić na dysku. W powyższym przypadku mógłbyś nadal przechowywać na dysku dużo więcej niż 100MB, lecz za każdym razem gdy klient spyta o ilość wolnego miejsca lub całkowity rozmiar dysku, wtedy wynik będzie ograniczony przez ilość podaną w max disk size.

Ta opcja jest przede wszystkim przydatna żeby obejść błędy w niektórych programach które nie obsługują bardzo dużych dysków, w szczególności dysków o pojemności powyżej 1GB.

"max disk size" równy 0 oznacza brak limitów.

Domyślnie: max disk size = 0

Przykład: max disk size = 1000

max log size (G)

Ta opcja (liczba całkowita w kilobajtach) określa maksymalny rozmiar do jakiego może rozrosnąć się plik logu. Samba periodycznie sprawdza ten rozmiar i jeśli jest przekroczony, zmieni nazwę pliku dodając rozszerzenie .old.

Rozmiar równy 0 oznacza brak limitu.

Domyślnie: max log size = 5000

Przykład: max log size = 1000

max mux (G)

Ta opcja kontroluje podawaną klientowi, maksymalną liczbę zaległych jednoczesnych operacji SMB na którą Samba zezwoli. Nie powinieneś nigdy potrzebować ustawiać tego parametru.

Domyślnie: max mux = 50

max open files (G)

Ten parametr ogranicza maksymalną liczbę otwartych plików, które jeden proces smbd(8) udzielający ich, może mieć jednocześnie otwartych dla jednego klienta. Domyślnie, wartość tego parametru jest ustawiona na bardzo dużą (10 000), ponieważ Samba używa tylko jednego bitu na nieotwarty plik.

Limit liczby otwartych plików jest z reguły ustawiony przez UNIX'owy limit deskryptorów plików w przeliczeniu na proces, zamiast przez ten parametr. Nie powinieneś więc nigdy potrzebować dotykać tego parametru.

Domyślnie: max open files = 10000

max print jobs (S)

Ten parametr limituje maksymalną liczbę zadań wydruku dozwoloną w kolejce wydruku Samba w każdej chwili. Jeśli ta liczba jest przekroczona, smbd(8) będzie "nie mieć miejsca" zdalnie, z punktu widzenia klienta. Zobacz total print jobs.

Domyślnie: max print jobs = 1000

Przykład: max print jobs = 5000

max protocol (G)

Wartość tego parametru (łańcuch znakowy) jest najwyższym poziomem protokołu który będzie wspierany przez serwer.

Możliwe wartości to:

  • CORE: Najwcześniejsza wersja. Brak koncepcji nazw użytkowników.

  • COREPLUS: Niewielkie wydajnościowe ulepszenia w CORE.

  • LANMAN1: Pierwsza nowoczesna wersja protokołu. Wsparcie długich nazw plików.

  • LANMAN2: Uaktualnienia w protokole Lanman1.

  • NT1: Obecna aktualna wersja protokołu. Używana przez Windows NT. Znana jako CIFS.

Normalnie, ta opcja nie powinna być ustawiana, ponieważ faza automatycznej negocjacji w protokole SMB zajmuje się wyborem odpowiedniego protokołu.

Zobacz też min protocol

Domyślnie: max protocol = NT1

Przykład: max protocol = LANMAN1

max smbd processes (G)

Ten parametr limituje maksymalną liczbę procesów smbd(8) działających jednocześnie w systemie. Jest wprowadzony jako "limitujący pułap" zapobiegający pogorszeniu się usług dla klientów w przypadku, gdy serwer ma niewystarczające zasoby żeby obsłużyć więcej niż tą liczbę połączeń. Pamiętaj, że w normalnych warunkach każdy użytkownik będzie miał przypisany do niego lub niej proces smbd, aby obsługiwać połączenia z danego hosta do wszystkich współudziałów.

Domyślnie: max smbd processes = 0 ## brak ograniczeń

Przykład: max smbd processes = 1000

max ttl (G)

Ta opcja mówi nmbd(8), jaki powinien być domyślny "czas życia" nazw NetBIOS, gdy nmbd(8) żąda nazwy wykorzystując albo pakiet rozgłaszający, albo serwer WINS. Nie powinieneś nigdy potrzebować zmieniać tego parametru. Domyślnią wartością są 3 dni.

Domyślnie: max ttl = 259200

max wins ttl (G)

Ta opcja mówi nmbd(8) , gdy funkcjonuje jako serwer WINS (wins support=yes ), jaki jest maksymalny "czas życia" nazw NetBIOS, który nmbd przyzna (w sekundach). Nie powinieneś nigdy potrzebować zmienić tego parametru. Domyślną wartością jest 6 dni (518400 sekund).

Zobacz też parametr min wins ttl.

Domyślnie: max wins ttl = 518400

max xmit (G)

Ta opcja kontroluje maksymalny rozmiar pakietu który będzie negocjowany przez Sambę. Domyślną wartością jest 65535, co jest maksimum. W niektórych przypadkach możesz zauważyć, że uzyskasz lepszą wydajność z mniejszą wartością. Poniżej 2048 prawdopodobnie spowoduje problemy.

Domyślnie: max xmit = 65535

Przykład: max xmit = 8192

message command (G)

To określa, jakie polecenie uruchomić, gdy serwer otrzyma wiadomość WinPopup.

Będzię to na ogół komenda, która dostarczy w jakiś sposób wiadomość. To, jak ma to być zrobione, należy już do twojej wyobraźni.

Przykładem jest:

message command = csh -c 'xedit %s;rm %s' &

To dostarcza wiadomość korzystając z bf(xedit), potem ją usuwa. ZWRÓĆ UWAGĘ, ŻE BARDZO WAŻNE JEST TO, ŻE TA KOMENDA NATYCHMIAST WRACA. Dlatego na końcu mam '&'. Jeśli nie wraca natychmiast, wtedy twoje PC-ty mogą zawieszać się przy wysyłaniu komunikatów (powinny dojść do siebie po 30 sekundach... prawdopodobnie).

Wszystkie wiadomości są dostarczane jako globalny użytkownik gość. Komenda przyjmuje standardowe podstawienia, chociaż %u nie będzie działać (%U może być lepsze w tym przypadku).

Oprócz standardowych podstawień, działają niektóre dodatkowe. W szczególności:

  • %s = nazwa pliku zawierającego wiadomość.

  • %t = przeznaczenie do którego wiadomość została wysłana (prawdopodobnie nazwa serwera).

  • %f = od kogo jest wiadomość

Mógłbyś wysyłać tą komendą pocztę lub cokolwiek na co masz ochotę. Daj nam znać o każdym naprawdę interesującym pomyśle, który masz.

Tu jest sposób na wysyłanie wiadomości jako poczty do root'a:

message command = /bin/mail -s 'wiadomosc od %f na %m' root < %s; rm %s

Jeśli nie masz komendy wiadomości (message command), wtedy wiadomość nie będzie dostarczona i Samba powie nadawcy, że nastąpił błąd. Niestety, WfWg kompletnie ignoruje kod błędu i kontynuuje nie zwracając na niego uwagi i mówiąc, że wiadomość została dostarczona.

Jeśli chcesz ją po cichu usunąć, spróbuj:

message command = rm %s

Domyślnie: żadnej komendy wiadomości

Przykład: message command = csh -c 'xedit %s;rm %s' &

min passwd length (G)

Synonim dla min password length.

min password length (G)

Ta opcja ustawia minimalną długość (w znakach) hasła w czystym tekście, którą smbd zaakceptuje podczas przeprowadzania zmiany hasła UNIX.

Zobacz też unix password sync, passwd program i passwd chat debug.

Domyślnie: min password length = 5

min print space (S)

Ten parametr ustawia minimalną ilość wolnej przestrzeni dyskowej która musi być dostępna zanim użytkownik będzie mógł wysłać zadanie druku. Jest określona w kilobajtach. Domyślnie jest 0, co oznacza że użytkownik może zawsze wysłać zadanie druku.

Zobacz też parametr printing.

Domyślnie: min print space = 0

Przykład: min print space = 2000

min protocol (G)

Wartość parametru (łańcuch znakowy) jest najniższym dialektem protokołu SMB który Samba będzie wspierać. Zajrzyj do parametru max protocol aby zobaczyć listę poprawnych nazw protokołów i krótki opis każdego z nich. Możesz też chcieć obejrzeć kod źródłowy C w pliku source/smbd/negprot.c aby zobaczyć listing znanych dialektów wspieranych przez klientów

Jeśli patrzysz na ten parametr jako miarę bezpieczeństwa, powinieneś zajrzeć do parametru lanman auth. W przeciwnym wypadku, tego parametru nie powninieneś nigdy potrzebować zmieniać.

Domyślnie: min protocol = CORE

Przykład: min protocol = NT1

min wins ttl (G)

Ta opcja mówi nmbd(8) , gdy funkcjonuje jako serwer WINS (wins support = yes ), jaki jest minimalny "czas życia" nazw NetBIOS, który nmbd przyzna (w sekundach). Nie powinieneś nigdy potrzebować zmienić tego parametru. Domyślną wartością jest 6 godzin (21600 sekund).

Domyślnie: min protocol = 21600

msdfs root (S)

Ten parametr boolowski jest dostępny tylko, jeśli Samba jest skonfigurowana i skompilowana z opcją --with-msdfs . Jeśli ustawiony jest na yes, Samba traktuje współudział jako korzeń (root) Dfs i umożliwia klientom przeglądanie drzewa rozproszonego systemu plików zakorzenionego w katalogu współudziału. Łącza Dfs są podane w katalogu współudziału jako dowiązania symboliczne (symbolic links) w formacie msdfs:serwerA\wspoludzialA,serwerB\wspoludzialB itd. Aby dowiedzieć się więcej o ustawianiu drzewa Dfs na Sambie, zajrzyj do msdfs_setup.html.

Zobacz też host msdfs

Domyślnie: msdfs root = no

name resolve order (G)

Ta opcja jest używana przez programy w pakiecie Samba, do określania jakich używać usług nazewnictwa i w jakiej kolejności do odwzorowania nazw hostów na adresy IP. Ta opcja przyjmuje oddzielone spacjami łańcuchy tekstowe opcji odwzorowań nazw.

Opcjami są: "lmhosts", "host", "wins" i "bcast". Powodują, że nazwy są odwzorowywane następująco:

  • lmhosts : Szukaj adresu IP w pliku Samba lmhosts. Jeśli linia w lmhosts nie ma typu nazwy dołączonego do nazwy NetBIOS (zobacz lmhosts(5) aby dowiedzieć się szczegółów), wtedy pasuje każdy szukany typ.

  • host : Wykonaj standardowe odwzorowanie nazwy hosta na adres IP, przy użyciu przeszukiwania systemowego pliku /etc/hosts, szukania NIS lub DNS. Ta metoda odwzorowania nazwy jest zależna od systemu operacyjnego. Przykładowo, w systemie IRIX lub Solaris może to być kontrolowane przez plik /etc/nsswitch.conf. Zauważ, że ta metoda jest używana tylko, jeśli typ nazwy NetBIOS o którą jest pytanie, jest typem 0x20 (serwer). W przeciwnym wypadku metoda ta jest ignorowana.

  • wins : Zapytaj o nazwę pod adresem IP wymienionym w parametrze wins server. Jeśli żaden serwer WINS nie został tam określony, ta metoda zostanie zignorowana.

  • bcast : Wykonaj rozgłaszanie na każdym ze znanych lokalnych interfejsów wymienionych w parametrze interfaces Jest to najmniej skuteczna spośród wszystkich metoda odwzorowania nazw, jako że zależy od tego, czy docelowy host jest w lokalnie podłączonej podsieci.

Domyślnie: name resolve order = lmhosts wins host bcast

Przykład: name resolve order = lmhosts bcast host

To spowoduje, że lokalny plik lmhosts będzie sprawdzony najpierw, potem nastąpi próba rozgłaszania, a potem normalne systemowe szukanie nazwy hosta.

netbios aliases (G)

To jest lista nazw NetBIOS którą nmbd(8) ogłosi jako dodatkowe nazwy pod którymi serwer Samba jest znany. To pozwala jednej maszynie ukazywać się w listach przeglądania (browse lists) pod wieloma nazwami. Jeśli maszyna funkcjonuje jako serwer przeglądania (browse server) lub serwer logowania (logon server), żadna z tych nazw nie będzie ogłoszona ani jako serwer przeglądania, ani jako serwer logowania. Tylko główna nazwa maszyny będzie dysponowała takmi możliwościami.

Zobacz też netbios name.

Domyślnie: pusty łańcuch (żadnych dodatkowych nazw)

Przykład: netbios aliases = TEST TEST1 TEST2

netbios name (G)

To ustawia nazwę NetBIOS pod którą serwer Samba jest znany. Domyślnie jest ona taka sama, jak pierwszy komponent nazwy DNS hosta. Jeśli maszyna jest serwerem przeglądania (browse server) lub serwerem logowania (logon server), ta nazwa (lub pierwszy komponent nazwy DNS hosta) będzie nazwą pod którą te usługi będą ogłoszone.

Zobacz też netbios aliases.

Domyślnie: nazwa DNS maszyny.

Przykład: netbios name = MOJANAZWA

netbios scope (G)

To ustawia zakres NetBIOS pod którym Samba będzie działać. Nie powinno to być ustawiane chyba, że każda maszyna w twoim LAN'ie również ma tak ustawioną tą wartość.

nis homedir (G)

Weź serwer współudziału home z mapy NIS. Dla systemów UNIX które używają automontera, katalog domowy (home directory) użytkownika będzie często montowany na stacji roboczej na żądanie ze zdalnego serwera.

Gdy serwer logowania Samba nie jest rzeczywistym serwerem katalogu domowego, lecz montuje te katalogi poprzez NFS, wtedy dwa "przeskoki" sieciowe (network hops) byłyby wymagane aby uzyskać dostęp do katalogów domowych użytkowników, jeśli serwer logowania powiedział klientowi, żeby użyć jego samego jako serwera SMB dla katalogów domowych (jeden poprzez SMB i jeden przez NFS). Może to być bardzo powolne.

Ta opcja pozwala Sambie zwrócić współudział home jako będący na innym serwerze nić serwer logowania i tak długo, jak demon Samba działa na serwerze katalogu domowego, będzie on montowany u klienta Samby bezpośrednio z tego serwera katalogu. Gdy Samba będzie zwracać współudział home do klienta, będzie konsultować to z mapą NIS określoną w homedir map i zwracać wymieniony tam serwer.

Zauważ, że aby ta opcja działała, musi istnieć działający system NIS, a serwer Samba z tą opcją musi być również serwerem logowania (logon server).

Domyślnie: nis homedir = false

Przykład: nis homedir = true

nt acl support (S)

Ten parametr boolowski kontroluje, czy smbd(8) będzie próbował mapować zezwolenia UNIX na listy kontroli dostępu Windows NT. Ten parametr był poprzednio parametrem globalnym, aż do wydania 2.2.2.

Domyślnie: nt acl support = yes

nt pipe support (G)

Ten parametr boolowski kontroluje, czy smbd(8) będzie pozwalał klientom Windows NT podłączać się do specyficznych dla NT SMB łącz (pipes) IPC$. Jest to opcja debugująca dla developerów i można ją zostawić w spokoju.

Domyślnie: nt pipe support = yes

nt smb support (G)

Ten parametr boolowski kontroluje, czy smbd(8) będzie negocjował specyficzne dla NT wsparcie SMB z klientami Windows NT. Aczkolwiek jest to opcja debugująca dla developerów i powinna być zostawiona w spokoju, to testowanie osiągów (benchmarking) odkryło, że klienci Windows NT mają lepsze osiągi z tą opcją ustawioną na no. Jest to wciąż badane. Jeśli ta opcja jest ustawiona na no , wtedy Samba oferuje dokładnie te same wywołania SMB, co wersje poprzedzające wersję Samba2.0. Ta informacja może mieć zastosowanie, jeśli jacyś użytkownicy mają problemy ze wsparciem NT SMB.

Domyślnie: nt support = yes

null passwords (G)

Pozwól klientom lub nie, na dostęp do kont które mają puste (zerowe) hasła.

Zobacz też smbpasswd(5) .

Domyślnie: null passwords = no

obey pam restrictions (G)

Gdy Samba 2.2 jest skonfigurowana z włączonym wsparciem PAM (tj. --with-pam), ten parametr kontroluje czy Samba powinna być posłuszna dyrektywom zarządzania kontem i sesją w PAM. Domyślnym zachowaniem jest użycie PAM tylko do autentykacji w czystym tekście i ignorowanie jakiegokolwiek zarządzania kontem i sesją. Zwróć uwagę, że Samba zawsze ignoruje PAM w kwestii autentykacji w przypadku gdy encrypt passwords = yes . Powodem jest to, że moduły PAM nie mogą wspierać mechanizmu autentykacji wyzwanie/odpowiedź (challenge/response) potrzebnego w aktualnym kodowaniu haseł SMB.

Domyślnie: obey pam restrictions = no

only guest (S)

Synonim dla guest only .

only user (S)

Jest to boolowska opcja która kontroluje, czy połączenia z nazwami użytkowników nie będącymi na liście user , będą dozwolone. Domyślnie, ta opcja jest wyłączona, więc klient może dostarczyć nazwę użytkownika którą serwer ma użyć. Włączenie tego parametru wymusi na serwerze użycie tylko nazw logowania (login names) z listy user i jest tak naprawdę użyteczne tylko na w zabezpieczeniach na poziomie współudziału (share level security).

Zauważ, że oznacza to również, że Samba nie będzie próbować dedukowania nazw użytkowników na podstawie nazwy usługi. Może to być denerwujące w sekcji [homes]. Aby to obejść, mogłbyś użyć user = %S co oznacza, że twoja lista user będzie tylko nazwą usługi, co dla katalogów domowych jest nazwą użytkownika.

Zobacz też parametr user.

Domyślnie: only user = no

oplock break wait time (G)

Jest to parametr dostrajający dodany z powodu błędów zarówno w Windows 9x jak i WinNT. Jeśli Samba odpowiada klientowi zbyt szybko, gdy klient wysyła SMB który powoduje żądanie przerwania blokady oplock (oplock break request), wtedy przekierowanie u klienta może zawieść i nie odpowie on na żądanie przerwania (break request). Ten parametr dostrajający (który jest ustawiany w milisekundach) jest czasem który Samba zaczeka, przed wysłaniem żądania przerwania blokady do takiego (popsutego) klienta.

NIE ZMIENIAJ TEGO PARAMETRU CHYBA, ŻE PRZECZYTAŁEŚ I ROZUMIESZ KOD SAMBA OPLOCK.

Domyślnie: oplock break wait time = 0

oplock contention limit (S)

Jest to bardzo zaawansowana opcja dostrajająca smbd(8) żeby zwiększyć wydajność przyznawania oplock'ów przy rywalizacji wielu klientów dla tego samego pliku.

W skrócie, określa ona liczbę która powoduje, że smbd nie przyznaje oplock'a nawet na żądanie, jeśli przybliżona liczba klientów rywalizujących o oplock na tym samym pliku przekracza ten limit. To powoduje, że smbd zachowuje się podobnie do Windows NT.

NIE ZMIENIAJ TEGO PARAMETRU CHYBA, ŻE PRZECZYTAŁEŚ I ROZUMIESZ KOD SAMBA OPLOCK.

Default: oplock contention limit = 2

oplocks (S)

Ta opcja boolowska mówi smbd czy wydawać oplock'i (blokady oportunistyczne) do żądania otwarcia pliku w tym współudziale. Kod oplock'owania może dramatycznie (w przybliżeniu 30% lub więcej) zwiększyć prędkość dostępu do plików na serwerach Samba. Pozwala klientom agresywnie cache'ować pliki lokalnie i możesz chcieć wyłączyć tą opcję dla zawodnych środowisk sieciowych (jest ona wyłączona domyślnie w Windows NT Server). Po więcej informacji zajrzyj do pliku Speed.txt w katalogu Samba docs/.

Oplock'i mogą być selektywnie wyłączane na podstawie pliku lub współudziału. Zobacz parametr veto oplock files. W niektórych systemach, oplock'i są rozpoznawane przez właściwy (sam, bez pomocy dodatkowego oprogramowania, przyp.tłum.) system. Pozwala to na synchronizację danych pomiędzy wszystkimi dostępami do oplock'owanych plików, czy to przez Sambę czy NFS, czy lokalny process UNIX. Zobacz parametr kernel oplocks aby dowiedzieć się szczegółów.

Zobacz też parametry kernel oplocks i level2 oplocks

Domyślnie: oplocks = yes

os level (G)

Ta wartość całkowita kontroluje poziom pod którym Samba ogłasza siebie w elekcjach przeglądania. Wartość tego parametru determinuje, czy nmbd(8) ma szansę na zostanie lokalną nadrzędną przeglądarką dla GRUPY ROBOCZEJ (WORKGROUP) w lokalnym obszarze rozgłaszania.

Uwaga :Domyślnie, Samba wygra elekcję lokalnej nadrzędnej przeglądarki (local master browser) z wszystkimi systemami operacyjnymi Microsoft, oprócz Kontrolera Domeny Windows NT 4.0/2000. Oznacza to, że źle skonfigurowany host Samba może skutecznie izolować podsieć przed przeglądaniem. Zobacz plik BROWSING.txt w katalogu Samba docs/ aby dowiedzieć się szczegółów.

Domyślnie: os level = 20

Przykład: os level = 65

os2 driver map (G)

Parametr używany do definiowania bezwzględnej ścieżki do pliku zawierającego mapowanie nazw sterowników drukarek Windows NT na nazwy sterowników OS/2. Format to:

<nazwa sterownika nt> = <nazwa sterownika os2> .<nazwa urządzenia>

Na przykład, poprawny wpis dla sterownika drukarki HP LaserJet 5 wyglądałby jak HP LaserJet 5L = LASERJET.HP LaserJet 5L.

Plik jest potrzebny z powodu problemu z "przestrzenią nazw" (namespace) opisanego w Samba Printing HOWTO. Aby dowiedzieć się więcej szczegółów o klientach OS/2, zajrzyj do OS2-Client-HOWTO zawartego w dokumentacji Samba.

Domyślnie: os2 driver map = <pusty łańcuch znakowy>

pam password change (G)

Wraz z dodaniem lepszego wsparcia PAM w Samba 2.2, ten parametr umożliwia wykorzystanie w Sambie flagi kontroli zmiany hasła z PAM. Jeśli jest włączony, wtedy PAM będzie użyty do zmieniania hasłą gdy zażąda tego klient SMB, zamiast programu wymienionego w passwd program. Powinno być możliwe włączenie go bez zmieniania twojego parametru passwd chat w większości przypadków.

Domyśnie: pam password change = no

panic action (G)

Jest to opcja developera Samba która pozwala n wywołanie polecenia systemowego, gdy albo smbd(8), albo nmbd(8) ulega awarii. Jest to zazwyczaj używane żeby zwrócić uwagę na fakt wystąpienia problemu.

Domyślnie: panic action = <empty string>

passwd chat (G)

Ten łańcuch znakowy kontroluje konwersjację "chat" która ma miejsce pomiędzy smbd(8) i lokalnym programem do zmiany haseł w celu zmiany haseł użytkowników. Łańcuch opisuje sekwencję par odpowiedź-odbiór której smbd(8) używa do określenia, co wysłać do programu passwd i czego oczekiwać z powrotem. Jeśli oczekiwany wynik nie jest odebrany, wtedy hasło nie jest zmienione.

Ta sekwencja jest często całkowicie specyficzna dla miejsca, zależnie od tego, jakie lokalne metody są używane do sterowania hasłami (takie jak NIS, itp.).

Zwróć uwagę, że ten parametr jest używany tylko jeśli parametr unix password sync jest ustawiony na yes. Sekwencja ta jest wówczas wywoływana JAKO ROOT, gdy hasło SMB w pliku smbpasswd jest zmieniane, bez dostępu do starego hasła w otwartym tekście. Oznacza to, że root musi być w stanie zresetować hasło użytkownika bez znajomości tekstu poprzedniego hasła. Przy obecności NIS/YP oznacza to, że passwd program musi być wykonany na NIS master.

Łańcuch może zawierać makro %n które jest zastępowane nowym hasłem. Sekwencja "chat" może też zawierać standardowe makra \n, \r, \t , \s dla następnej-linii (line-feed), powrotu-karetki (carriage-return), tabulatora (tab) i spacji (space). Łańcuch sekwencji "chat" może również zawierać znak '*' który pasuje do każdej sekwencji znaków. Cudzysłowy mogą być użyte do zbierania łańcuchów ze spacjami wewnątrz w łańcuch pojedynczy.

Jeśli wysyłany łańcuch w którejkolwiek części sekwencji chat jest "pełnym stopem" (fullstop) "." wtedy żaden łańcuch nie jest wysyłany. Podobnie, jeśli oczekiwany łańcuch jest "pełnym stopem" wtedy żaden łańcuch nie jest oczekiwany.

Zauważ, że jeśli parametr unix password sync jest ustawiony na true, wtedy ta sekwencja jest wywoływana JAKO ROOT gdy hasło SMB w pliku smbpasswd jest zmieniane, bez dostępu do starego hasła w czystym tekście. W tym przypadku, tekst starego hasła jest ustawiany na "" (pusty łańcuch znakowy).

Jeśli parametr pam password change jest ustawiony na true, pary konwersacyjne mogą być dopasowane w dowolnej kolejności, a sukces jest determinowany przez rezultat PAM, a nie przez jakiś inny. Makro \n jest ignorowane w konwersacjach PAM.

Zobacz też unix password sync, passwd program i passwd chat debug .

Domyślnie: passwd chat = *new*password* %n\n *new*password* %n\n *changed*

Przykład: passwd chat = "*Wprowadź STARE hasło*" %o\n "*Wprowadź NOWE hasło*" %n\n "*Wprowadź ponownie NOWE hasło*" %n\n "*Hasło zmienione*"

passwd chat debug (G)

Ten parametr boolowski określa, czy parametr "passwd chat script" jest uruchamiany w trybie debug. W tym trybie, łańcuchy znaków wysyłane do i odbierane z chat'u są zapisywane w logu smbd(8) z poziomem debugowania (debug level) ustawionym na 100. Jest to niebezpieczna opcja, jako że będzie umożliwiała oglądanie haseł w czystym tekście w logu smbd(8). Jest to dostępne żeby pomóc administratorom Samba debugować ich skrypty passwd chat podczas wywoływania programu passwd (passwd program ) i powinno być wyłączone po skończeniu. Ten parametr jest domyślnie wyłączony.

Zobacz też passwd chat, passwd program.

Domyślnie: passwd chat debug = no

passwd program (G)

Jest to nazwa programu który może być użyty do ustawiania haseł użytkowników UNIX. Każde wystąpienie %u będzie zastąpione nazwą użytkownika. Przed wywołaniem programu zmieniającego hasła, użytkownik ten jest sprawdzany, czy istnieje.

Zauważ też, że wiele programów passwd nalega na rozsądne hasłą, takie jak minimalnej długości lub zawierające znaki mieszanej wielkości i cyfry. To może stanowić problem, ponieważ niektórzy klienci (tacy jak Windows for Workgroups) przetwarzają hasła do dużej litery przed ich wysłaniem.

Zauważ, że jeśli parametr unix password sync jest ustawiony na True, wtedy ten program jest wywoływany JAKO ROOT przed zmianą hasła SMB w pliku smbpasswd(5) . Jeśli taka zmiana hasła UNIX nie powiedzie się, wtedy smbd(8) nie zmieni również hasła SMB (tak jest to zaprojektowane).

Jeśli parametr unix password sync jest ustawiony, ten parametr MUSI KORZYSTAĆ Z BEZWZGLĘDNYCH ŚCIEŻEK dla WSZYSTKICH wywoływanych programów i musi być sprawdzony pod względem bezpieczeństwa. Zauważ, że domyślnie unix password sync jest ustawiony na False.

Zobacz też unix password sync.

Domyślnie: passwd program = /bin/passwd

Przykład: passwd program = /sbin/passwd %u

password level (G)

Niektóre kombinacje klient/serwer mają trudności z hasłami ze znakami "mieszanej wielkości". Jednym z takich klientów jest Windows for Workgroups który z jakichś powodów wymusza hasła dużą literą podczas korzystania z protokołu LANMAN1, lecz zostawia je w spokoju gdy używa COREPLUS!

Ten parametr definiuje maksymalną liczbę znaków w haśle, które mogą być dużymi literami.

Na przykład, powiedzmy, że podane było hasło "FRED". Jeśli password level jest ustawiony na 1, następujące kombinacje byłyby wypróbowane, gdyby "FRED" zawiodła:

"Fred", "fred", "fRed", "frEd", "freD"

Gdyby password level był ustawiony na 2, następujące kombinacje byłyby również wypróbowane:

"FRed", "FrEd", "FreD", "fREd", "fReD", "frED", ..

I tak dalej.

Im większa jest ustawiona wartośc tego parametru, tym bardziej prawdopodobne jest to, że hasło z "mieszanych wielkości" znaków będzie pasowało do hasła o "pojedynczej wielkości" znaków (małych, albo dużych liter, przyp. tłum.). Tym niemniej, powinieneś być świadom, że użycie tego parametru zmniejsza bezpieczeństwo i zwiększa czas zabierany na przetworzenie nowego połączenia.

Wartość zerowa spowoduje, że wykonywane będą tylko dwie próby - hasło takie, jakie jest i hało w całości w małymi literami.

Domyślnie: password level = 0

Example: password level = 4

password server (G)

Przez podawanie w tej opcji nazwy innego serwera SMB (takiego, jak WinNT), i używając security = domain lub security = server możesz przeprowadzać w Sambie całą walidację użytkownik/hasło poprzez zdalny serwer.

Ta opcja ustawia nazwę wykorzystywanego serwera haseł. Musi to być nazwa NetBIOS, więc jeśli nazwa NetBIOS maszyny jest inna niż jej nazwa internetowa, wówczas możesz być zmuszony dodać jego nazwę NetBIOS do pliku lmhosts który jest przechowywany w tym samym katalogu, co plik smb.conf.

Nazwa serwera haseł jest wyszukiwana używając parametru name resolve order i może być odwzorowana przez którąkolwiek z metod, w dowolnej kolejności opisanej w tym parametrze.

Serwer haseł musi być maszyną która może używać protokołu "LM1.2X002" lub "LM NT 0.12" i musi być zabezpieczana poziomie użytkownika (user level security).

ZAUWAŻ: Używanie serwera haseł oznacza, że twóje system UNIX (na którym działa Samba) jest tylko tak bezpieczny, jak twój serwer haseł. NIE WYBIERAJ SERWERA HASEł KTÓREMU NIE UFASZ CAŁKOWICIE.

Nigdy nie wskazuj serwera serwera haseł Samba jako samego siebie. To spowoduje zapętlenie i może zablokować twój serwer Samba!

Nazwa serwera haseł przyjmuje standardowe podstawienia, lecz prawdopodobnie jedynym użytecznym jest %m co oznacza, że serwer Samba użyje "nadchodzącego" klienta jako serwera haseł. Jeśli użyjesz tego podstawienia, to lepiej ufaj swoim klientom i lepiej ogranicz ich przy pomocy hosts allow!

Jeśli parametr security jest ustawiony na domain, wtedy lista maszyn w tej opcji musi być listą Głównych (Primary) lub Zapasowych kontrolerów Domeny (Backup Domain Controller) dla Domeny lub znakiem '*', ponieważ serwer Samba jest kryptograficznie w tej domenie i będzie używał kryptograficznie autentykowanych wywołań RPC, aby autentykować logującego się użytkownika. Zaletą użycia security = domain jest to, że jeśli wymieniasz kilka hostów w opcji password server, wtedy smbd(8) spróbuje po kolei każdego, aż znajdzie taki, który odpowie. Jest to przydatne w przypadku, gdy twój główny serwer jest wyłączany.

Jeśli opcja password server jest ustawiona znakiem '*', wtedy Samba spróbuje auto-lokalizować Główny lub Zapasowe kontrolery Domeny aby dokonać autentykacji poprzez zapytanie o nazwę GRUPAROBOCZA<1C>, a potem przez kontaktowanie się z każdym serwerem zwróconym na liście adresów IP z źródła odwzorowania nazw.

Jeśli parametr security jest ustawiony na server, wtedy obowiązują inne restrykcje na których wolny jest security = domain:

  • Możesz wymienić kilka serwerów haseł w parametrze password server tym niemniej, jeśli smbd nawiązuje połączenie z serwerem haseł, a potem serwer ten zawiedzie (np. zepsuje się, przyp.tłum), żadni użytkownicy nie będą już mogli być autentykowani z tego smbd. Jest to ograniczenie protokołu SMB/CIFS w trybie security=server i nie może być poprawione w Sambie.

  • Jeśli używasz serwera Windows NT jako serwera haseł, wtedy będziesz musiał się upewnić, że twoi użytkownicy są w stanie zalogować się z serwera Samba, ponieważ w trybie security = server logowanie sieciowe (network logon) będzie widoczne tak, jakby nadeszło z niego, a nie ze stacji roboczych użytkowników.

Zobacz też parametr security.

Domyślnie: password server = <pusty łańcuch znakowy>

Przykład: password server = NT-PDC, NT-BDC1, NT-BDC2

Przykład: password server = *

path (S)

Ten parametr określa katalog do którego użytkownik usługi ma otrzymać dostęp. W przypadku usług drukowalnych, jest to miejsce gdzie dane wydruku będą kolejkowane przed wysłaniem do hosta w celu wydrukowania.

Dla usług drukowalnych oferujących dostęp anonimowy (guest access), usługa powinna być tylko do odczytu, a ścieżka dostępu powinna być zapisywalna dla wszystkich (world-writeable) i mieć ustawiony bit "sticky". Nie jest to oczywiście obowiązkowe, lecz prawdopodobnie nie uzyskasz rezultatów których oczekujesz, jeśli zrobisz inaczej.

Każde wystąpienie %u w ścieżce, będzie zastąpione nazwą użytkownika UNIX której używa klient w tym połączeniu. Każde wystąpienie %m będzie zastąpione nazwą NetBIOS maszyny z której się on podłącza. Te podstawienia są bardzo przydatne przy zakładaniu pseudo domowych katalogów dla użytkowników.

Zauważ, że ta ścieżka będzie oparta na root dir jeśli został określony.

Domyślnie: żadna

Przykład: path = /home/fred

posix locking (S)

Demon smbd(8) utrzymuje bazę danych blokad plików uzyskanych przez klientów SMB. Domyślnym zachowaniem, jest mapowanie tej wewnętrznej bazy na blokady POSIX. Oznacza to, że blokady plików uzyskane przez klientów SMB są spójne z tymi, które są widziane przez zgodne z POSIX aplikacjami które korzystają z plików metodami innymi niż SMB (np. NFS lub lokalny dostęp do plików). Nie powinieneś nigdy potrzebować wyłączać tego parametru.

Domyślnie: posix locking = yes

postexec (S)

Ta opcja określa komendę do wykonania za każdym razem gdy usługa jest odłączana. Przyjmuje ona zwykłe podstawienia. Komenda może być uruchomiona jako root, w niektórych systemach.

Interesującym przykładem może być wykonanie odmontowania (unmount) zasobów serwera:

postexec = /etc/umount /cdrom

Zobacz też preexec.

Domyślnie: żadna (żadna komenda nie jest wykonywana

Przykład: postexec = echo \"%u odłączony od %S z %m (%I)\" >> /tmp/log

postscript (S)

Ten parametr wymusza na drukarce interpretowanie plików wydruku jako postscriptu. Jest to wykonywane przez dodawanie %! na początek wydruku.

Jest to najbardziej przydatne, gdy masz mnóstwo PC-tów które uparcie wstawiają control-D na początku zadań wydruku, co potem myli twoją drukarkę.

Domyślnie: postscript = no

preexec (S)

Ta opcja określa polecenie to wykonania za każdym razem, gdy do usługi ktoś się podłącza. Przyjmuje ona zwykłe podstawienia.

Interesującym przykładem jest wysyłanie użytkownikom komunikatu powitalnego za każdym razem, gdy się logują. Może sentencja dnia (message of the day) ? Tutaj jest przykład:

preexec = csh -c 'echo \"Witaj w %S!\" | \ /usr/local/samba/bin/smbclient -M %m -I %I' &

Oczywiście, po chwili mogłoby się to zrobić irytujące :-)

Zobacz też preexec close i postexec.

Domyślnie: żadna (żadna komenda nie jest wykonywana

Przykład: preexec = echo \"%u podłączony do %S z %m (%I)\" >> /tmp/log

preexec close (S)

Ta opcja boolowska kontroluje, czy niezerowy kod wyjścia z preexec powinien zamknąć połączenie z usługą.

Domyślnie: preexec close = no

preferred master (G)

Ten parametr boolowski kontroluje, czy nmbd(8) jest preferowaną nadrzędną przeglądarką dla jego grupy roboczej.

Jeśli jest to ustawione na true, przy starcie, nmbd(8) wymusi elekcję i będzie miał niewielką przewagę przy w wygrywaniu. Zalecane jest, aby ten parametr był używany w połączeniu z domain master = yes tak, że nmbd może zagwarantować, że zostanie nadrzędną przeglądarką domeny.

Używaj tej opcji z uwagą, ponieważ jeśli będzie kilka hostów (czy to serwery Samba, Windows 95, czy NT) które są preferowanymi nadrzędnymi przeglądarkami w tej samej podsieci, będą one periodycznie i przez cały czas próbowały zostać lokalną nadrzędną przeglądarką. To zaowocuje niepotrzebnym ruchem rozgłaszającym (broadcast traffic) i zredukowanymi zdolnościami przeglądania.

Zobacz też os level.

Domyślnie: preferred master = no

prefered master (G)

Synonim preferred master dla ludzi którzy nie mogą tego przeliterować :-).

preload (S)

Jest to lista usług które chcesz mieć automatycznie dodane do list przeglądania. Jest to najbardziej przydatne dla usług "homes" i "printers" które mogłyby w przeciwnym wypadku być niewidoczne.

Zauważ, że jeśli po prostu chcesz ładować wszystkie drukarki z twojego pliku printcap, wtedy opcja load printers jest łatwiejsza.

Domyślnie: żadnych pre-ładowanych usług

Przykład: preload = fred lp kolorlp

preserve case (S)

To kontroluje, czy nowe nazwy plików są tworzone z małymi/dużymi literami które przekazuje klient, czy są wymuszane do "domyślnej" postaci.

Domyślnie: preserve case = yes

Zobacz sekcję "ZNIEKSZTAŁCANIE NAZW" aby przeczytać obszerniejszą dyskusję.

print command (S)

Gdy zadania wydruku zostaną skolejkowane w usłudze, to polecenie będzie użyte poprzez wywołanie system() żeby przetworzyć skolejkowany plik. Typowo, podane polecenie wyśle plik do podsystemu druku hosta, lecz nie ma w tutaj żadnych wymagań. Serwer nie usunie pliku, więc cokolwiek tu podasz, powinno to usuwać plik gdy zostanie przetworzony. W przeciwnym wypadku będziesz potrzebował ręcznie usuwać stare pliki z kolejki.

Polecenie wydruku jest po prostu łańcuchem znakowym. Będzie on użyty w podanej postaci, z dwoma wyjątkami: Wszystkie wystąpienia %s i %f będą zastąpione przez nazwę odpowiedniego pliku wydruku, a wszystkie wystąpienia %p będą zastąpione przez nazwę odpowiedniej drukarki. Nazwa pliku wydruku jest generowana automatycznie przez serwer, nazwa drukarki jest omówiona poniżej.

Polecenie wydruku MUSI zawierać przynajmniej jedno wystąpienie %s lub %f - %p jest opcjonalne. W momencie, gdy zadanie jest wysyłane, jeśli żadna nazwa drukarki nie jest dostarczona, %p będzie po cichu usunięte z polecenia drukarki.

Jeśli jest określone w sekcji [global], podane tam polecenie wydruku będzie użyte dla każdej usługi drukowalnej, która nie ma podanego własnego polecenia.

Jeśli nie ma określonego polecenia wydruku ani dla usługi drukowalnej, ani globalnego, pliki wydruku będą tworzone, ale nie będą przetwarzane i (najważniejsze) usuwane.

Zauważ, że drukowanie z konta nobody może zakończyć się niepowodzeniem w niektórych UNIX'ach. Jeśli tak się dzieje, to utwórz alternatywne konto gościa, które może drukować i ustaw guest account w sekcji [global].

Możesz formułować całkiem złożone polecenia wydruku uzmysławiając sobie, że są one po prostu przekazywane do powłoki. Na przykład, następujące polecenie będzie rejestrować w logu zadanie druku, wydrukuje plik, i potem go usunie. Zauważ, że ';' jest zazwyczaj separatorem poleceń w skryptach powłoki.

print command = echo Drukowanie %s >> /tmp/wydruki.log; lpr -P %p %s; rm %s

Możesz potrzebować zmienić to polecenie zależnie od tego, jak normalnie drukujesz pliki w twoim systemie. Domyśne polecenie różni się zależnie od ustawienia parametru printing.

Domyślnie: Dla printing= BSD, AIX, QNX, LPRNG lub PLP : print command = lpr -r -P%p %s

Dla printing= SYSV lub HPUX : print command = lp -c -d%p %s; rm %s

Dla printing= SOFTQ : print command = lp -d%p -s %s; rm %s

Przykład: print command = /usr/local/samba/bin/mojskryptdruku %p %s

print ok (S)

Synonim dla printable.

printable (S)

Jeśli ten parametr jest ustawiony na yes , wtedy klienci mogą otwierać, zapisywać do i wysyłać pliki wydruku do katalogu określonego dla usługi.

Zauważ, że usługi drukowalne będą ZAWSZE pozwalać na zapis do ścieżki dostępu usługi (zgodnie z uprawnieniami użytkownika) poprzez kolejkowanie danych do wydruku. Parametr writeable kontroluje tylko nie-drukowalny dostęp do zasobu.

Domyślnie: printable = no

printcap (G)

Synonim dla printcapname.

printcap name (G)

Ten parametr może być użyty do unieważnienia domyślnej, wkompilowanej nazwy printcap używanej przez serwer (zazwyczaj /etc/printcap). Zobacz wyżej omówienie sekcji [printers], aby poznać powody dla których mógłbyś chcieć to zrobić.

W systemach System V które używają lpstat aby otrzymać listę dostępnych drukarek, możesz użyć printcap name = lpstat żeby automatycznie uzyskać listy dostępnych drukarek. Jest tak domyślnie w systemach, które definiują SYSV w czasie konfiguracji Sambie (obejmuje to większość systemów opartych na System V). Jeśli printcap name jest ustawiony na lpstat w tych systemach, to Samba uruchomi lpstat -v i spróbuje sparsować wyjście, aby uzyskać listę drukarek.

Minimalny plik printcap wyglądałby mniej więcej tak:

		druk1|Moja Drukarka 1
		druk2|Moja Drukarka 2
		druk3|Moja Drukarka 3
		druk4|Moja Drukarka 4
		druk5|Moja Drukarka 5
	    

gdzie '|' oddziela aliasy drukarki. Fakt, że drugi alias zawiera spację, daje Sambie podpowiedź że jest to komentarz.

ZAUWAŻ: W AIX domyślną nazwą printcap jest /etc/qconfig. Samba założy, że plik jest w formacie AIX qconfig, jeśli łańcuch znakowy qconfig pojawi się z nazwie pliku printcap.

Domyślnie: printcap name = /etc/printcap

Przykład: printcap name = /etc/mojprintcap

printer admin (S)

To jest lista użytkowników którzy mogą zrobić wszystko z drukarkami poprzez zdalne interfejsy administracyjne oferowane przez MS-RPC (zwykle korzystając z stacji roboczej NT). Zauważ, że użytkownik root zawsze ma prawa admina.

Domyślnie: printer admin = <pusty łańcuch znakowy>

Example: printer admin = admin, @personel

printer driver (S)

Uwaga :To jest wycofany parametr i będzie usunięty w następnym głównym wydaniu po wersji 2.2. Zobacz instrukcje w PRINTER_DRIVER2.txt w katalogu docs dystrybucji Samba, aby uzyskać więcej informacji na temat nowej metody ładowania sterowników drukarek do serwera Samba.

Ta opcja pozwala ci kontrolować łańcuch znakowy jaki klienci odbiorą, gdy spytają serwer o sterownik drukarki przypisany do jakiejś drukarki. Jeśli używasz Windows95 lub WindowsNT, możesz tego użyć do automatyzacji ustawiania drukarek w twoim systemie.

Musisz ustawić ten parametr na dokładnie taki łańcuch (duże/małe litery są rozpoznawane), który opisuje odpowiedni sterownik drukarki dla twojego systemu. Jeśli nie znasz go dokładnie, powinieneś najpierw spróbować bez ustawionej opcją printer driver . Klient poda ci listę sterowników. Odpowiednie łańcuchy znakowe są pokazane na liście po tym, gdy wybierzesz producenta drukarki.

Zobacz też printer driver file.

Przykład: printer driver = HP LaserJet 4L

printer driver file (G)

Uwaga :To jest wycofany parametr i będzie usunięty w następnym głównym wydaniu po wersji 2.2. Zobacz instrukcje w PRINTER_DRIVER2.txt w katalogu docs dystrybucji Samba, aby uzyskać więcej informacji na temat nowej metody ładowania sterowników drukarek do serwera Samba.

Ten parametr mówi Sambie, gdzie znaleźć plik definicji sterownika drukarki używany podczas wysyłania sterowników klientom Windows 95. Jeśli nie jest ustawiony, domyślną wartością jest:

KATALOG_ZAINSTALOWANIA_SAMBY /lib/printers.def

Ten plik jest tworzony na podstawie plików Windows 95 msprint.def znalezionych w systemie Windows 95 klienta. Aby dowiedzieć się więcej szczegółów na temat ustawiania, wysyłania sterowników drukarek do klientów Windows 95, zajrzyj do pliku dokumentacji w katalogu docs/, PRINTER_DRIVER.txt.

Domyślnie: Żaden (ustawione w kompilacji).

Przykład: printer driver file = /usr/local/samba/drukarki/sterowniki.def

printer driver location (S)

Uwaga :To jest wycofany parametr i będzie usunięty w następnym głównym wydaniu po wersji 2.2. Zobacz instrukcje w PRINTER_DRIVER2.txt w katalogu docs dystrybucji Samba, aby uzyskać więcej informacji na temat nowej metody ładowania sterowników drukarek do serwera Samba.

Ten parametr mówi klientom konkretnego współudziału drukarki, gdzie znaleźć sterownik drukarki do automatycznej instalacji sterowników na maszynach Windows 95. Jeśli Samba jest ustawiona tak, żeby wysyłać sterowniki do maszyn Windows 95, powinno to być ustawione na

\\MASZYNA\DRUKARKA$

Gdzie MASZYNA jest nazwą NetBIOS twojego serwera Samba, a DRUKARKA$ jest współudziałem który zakładasz, żeby wysyłać pliki sterownika drukarki. Aby dowiedzieć się więcej szczegółów na temat ustawiania tego mechanizmu, zajrzyj do pliku dokumentacji w katalogu docs/, PRINTER_DRIVER.txt.

Domyślnie: Żaden

Przykład: printer driver location = \\MASZYNA\DRUKARKA$

printer name (S)

Ten parametr określa nazwę drukarki do której wysyłane będą zadania druku kolejkowane poprzez usługę drukowalną.

Jeśli jest określona w sekcji [global], podana tam nazwa drukarki będzie użyta dla każdej usługi drukowalnej, która nie ma określonej własnej nazwy drukarki.

Domyślnie: żadna (lecz może być lp w wielu systemach)

Przykład: printer name = laserwriter

printer (S)

Synonim dla printer name.

printing (S)

Ten parametr kontroluje sposób, w jaki informacje o statusie drukarki są interpretowane w twoim systemie. Wpływa on również na domyślne wartości parametrów print command, lpq command, lppause command, lpresume command, i lprm command jeśi jest podany w sekcji [global.

Obecnie, wspieranych jest dziewięć stylów drukowania. Są to BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX, SOFTQ i CUPS.

Aby zobaczyć, jakie są wartości domyślne dla innych poleceń druku podczas używania różnych opcji, użyj programu testparm(1).

Ta opcja może być ustawiona osobno dla każdej drukarki.

Zobacz również dyskusję w sekcji [printers].

protocol (G)

Synonim dla max protocol.

public (S)

Synonim dla guest ok.

queuepause command (S)

Ten parametr określa polecenie do wykonania na hoscie serwera w celu zatrzymania kolejki drukarki.

To polecenie powinno być programem lub skryptem który pobiera nazwę drukarki jako jedyny parametr i zatrzymuje kolejkę drukarki tak, że zadania druku nie są już do niej wysyłane.

To polecenie nie jest wspierane przez Windows for Workgroups, lecz może być wydane z okna drukarki pod Windows 95 & NT.

Jeśli podane jest %p, wtedy w tym miejscu wstawiona jest nazwa drukarki. W przeciwnym wypadku jest umieszczona na końcu.

Zauważ, że dobrą praktyką jest wstawianie bezwzględnej ścieżki dostępu w poleceniu, jako że zmienna PATH może nie być dostępna dla serwera.

Domyślnie: zależy od ustawienia printing

Przykład: queuepause command = zatrzymaj %p

queueresume command (S)

Ten parametr określa polecenie które ma być wykonane na hoscie serwera, żeby wznowić kolejkę drukarki. Jest to polecenie cofnięcia zachowania wywołanego przez poprzedni parametr (queuepause command).

To polecenie powinno być programem lub skryptem który pobiera nazwę drukarki jako jedyny parametr i wznawia kolejkę drukarki tak, że zadania druku są ponownie do niej wysyłane.

To polecenie nie jest wspierane przez Windows for Workgroups, lecz może być wydane z okna drukarki pod Windows 95 & NT.

Jeśli podane jest %p, wtedy w tym miejscu wstawiona jest nazwa drukarki. W przeciwnym wypadku jest umieszczona na końcu.

Zauważ, że dobrą praktyką jest wstawianie bezwzględnej ścieżki dostępu w poleceniu, jako że zmienna PATH może nie być dostępna dla serwera.

Domyślnie: zależy od ustawienia printing

Example: queuepause command = wznow %p

read bmpx (G)

Ten paramater boolowski kontroluje, czy smbd(8) będzie wspierać "Read Block Multiplex" SMB. Jest to teraz rzadko używane i domyślnie ma wartość no. Nie powinieneś nigdy potrzebować ustawiać tego parametru.

Domyślnie: read bmpx = no

read list (S)

To jest lista użytkowników którzy dostają dostęp tylko do odczytu do usługi. Jeśli podłączający się użytkownik jest na tej liście, wtedy nie dostanie on dostępu do zapisu, bez znaczenia jak ustawiona jest opcja writeable. Lista ta może zawierać nazwy grup korzystając ze składni opisanej w parametrze invalid users.

Zobacz też parametr write list i invalid users.

Domyślnie: read list = <pusty łańcuch znakowy>

Przykład: read list = maria, @studenci

read only (S)

Zwróć uwagę, że jest to odwrócony synonim (czyli po prostu antonim, przyp.tłum.) dla writeable.

read raw (G)

Ten parametr kontroluje czy serwer będzie wspierał żądania "surowego" odczytu SMB (raw read SMB request) podczas transferowania danych do klientów, czy nie.

Jeśli włączony, surowe odczyty pozwalają pobierać 65535 bajtów w jednym pakiecie. W typowych warunkach daje to znaczący wzrost osiągów.

Niemniej jednak, niektórzy klienci albo negocjują dozwolony rozmiar bloku niepoprawnie, albo nie są w stanie wspierać większych rozmiarów, i dla tych klientów możesz potrzebować wyłączyć surowe odczyty.

Generalnie, ten parametr powinien być widziany jako narzędzie dostrajające system i zostawione w spokoju. Zobacz też write raw.

Domyślnie: read raw = yes

read size (G)

Opcja read size wpływa na pokrywanie się odczytów/zapisów na dysku przy odczytach/zapisach sieciowych. Jeśli ilość przesyłanych danych w kilku poleceniach SMB (obecnie SMBwrite, SMBwriteX i SMBreadbraw) jest większa niż ta wartość, wtedy serwer zaczyna zapis danych zanim odbierze cały pakiet z sieci lub, w przypadku SMBreadbraw, zaczyna zapis do sieci zanim wszystkie dane zostaną odczytane z dysku.

To pokrywanie się działa najlepiej, gdy szybkości dostępu do dysku i do sieci są podobne, a odnosi niewielki efekt gdy jedna z szybkości jest dużo większa, niż druga.

Domyślna wartość to 16384, ale niewiele eksperymentów zostało dotąd przeprowadzonych, aby określić wartość optymalną. Prawdopodobnie najlepsza będzie się różnić znacznie pomiędzy systemami. Wartość ponad 65536 jest bezcelowa i będzie powodować niepotrzebne zajmowanie pamięci.

Domyślnie: read size = 16384

Przykład: read size = 8192

remote announce (G)

Ta opcja pozwala ci ustawić nmbd(8) tak, żeby periodycznie ogłaszał siebie pod arbitralnymi adresami IP z arbitralną nazwą grupy roboczej (workgroup).

Jest to przydatne, gdy chcesz żeby twój serwer Samba pojawiał się w zdalnej grupie roboczej dla której normalne reguły propagacji przeglądania nie działają. Zdalna grupa robocza może być gdziekolwiek, gdzie możesz wysłać pakiety IP.

Na przykład:

remote announce = 192.168.2.255/SERWERY 192.168.4.255/PERSONEL)

powyższa linia spowodowałaby, że nmbd ogłosiłby siebie pod dwoma podanymi adresami IP używając podanych nazw grup roboczych. Jeśli opuścisz nazwę grupy wtedy użyta będzie ta podana w parametrze workgroup.

Adresy IP które wybierzesz, normalnie będą adresami rozgłaszania zdalnych sieci, mogą jednak być adresami IP znanych nadrzędnych przeglądarek (browse masters), jeśli konfiguracja twojej sieci jest na tyle stabilna.

Zobacz plik dokumentacji BROWSING.txt w katalogu docs/.

Domyślnie: remote announce = <pusty łańcuch znakowy>

Przykład: remote announce = 192.168.2.255/SERWERY 192.168.4.255/PERSONEL

remote browse sync (G)

Ta opcja pozwala ci ustawić nmbd(8) żeby periodycznie żądał synchronizacji list przeglądania z nadrzędną przeglądarką serwera Samba który jest w odległym segmencie. Ta opcja umożliwi ci pozyskanie list przeglądania dla wielu grup, poprzez rutowane sieci. Jest to przeprowadzane w sposób, który nie działa z serwerami innymi niż Samba.

Jest to użyteczne jeśli chcesz żeby twój serwer Samba i wszyscy lokalni klienci pojawili się w odległej grupie roboczej dla której normalna propagacja przeglądania nie działa. Odległa grupa może być gdziekolwiek, gdzie możesz wysłać pakiety IP.

Na przykład:

remote browse sync = 192.168.2.255 192.168.4.255

powyższa linia spowodowałaby, że nmbd(8) zażądałby od nadrzędnych przeglądarek w określonych podsieciach lub adresach, synchronizacji list przeglądania z lokalnym serwerem.

Adresy IP które wybierzesz będą zazwyczaj adresami rozgłaszania odległych sieci, jednak mogą być również adresami IP znanych nadrzędnych przeglądarek jeśli konfiguracja twojej sieci jest tak stabilna. Jeśli podany jest adres IP maszyny, Samba nie podejmuje ŻADNYCH prób żeby sprawdzić czy zdalna maszyna jest dostępna, czy słucha, ani czy rzeczywiście jest nadrzędną przeglądarką w jej segmencie.

Domyślnie: remote browse sync = <pusty łańcuch znakowy>

restrict anonymous (G)

Jest to parametr boolowski. Jeśli jest ustawiony na true, wtedy dostęp anonimowy do serwera będzie ograniczony w przypadku, gdy serwer bezskutecznie oczekuje na wysłanie nazwy użytkownika przez klienta. Ustawianie go na true spowoduje, że te anonimowe połączenia będą zabronione, a od klienta będzie zawsze wymagane dostarczenie nazwy użytkownika i hasła podczas podłączania się. Korzystanie z tego parametru jest zalecane tylko w homogenicznych środowiskach klientów NT.

Parametr ten korzysta z makr które opierają się na nazwie użytkownika (%U, %G, etc). NT 4.0 lubi używać połączeń anonimowych podczas odświeżania listy współudziałów, a to jest sposób na obejście tego problemu.

Gdy parametr "restrict anonymous" jest prawdziwy, wszystkie połączenia anonimowe są zabronione bez względu na to, do czego miało być to połączenie. Może to wpływać na zdolność maszyny do uzyskiwania dostępu do Głównego Kontrolera Domeny (PDC) samba, aby dokonać walidacji jej konta po tym, jak ktoś inny zalogował się na kliencie interaktywnie. Klient NT wyświetli komunikat, że konto maszyny w domenie nie istnieje lub jej hasło jest złe. Najlepszym sposobem żeby sobie z tym radzić jest restartowanie maszyn klientów NT pomiędzy interaktywnymi logowaniami używając "Shutdown and Restart", zamiast "Close all programs and logon as a different user"

Domyślnie: restrict anonymous = no

root (G)

Synonim dla root directory.

root dir (G)

Synonim dla root directory.

root directory (G)

Serwer wykona chroot() (tj. Zmieni swój katalog główny) do tego katalogu podczas startu. Nie jest to absolutnie niezbędne dla bezpiecznego działania. Nawet bez tego, serwer zabroni dostępu do plików będących poza wejściami usług. Może on również wykryć, i zabronić dostępu do symbolicznych dowiązań do innych części systemu plików lub wykryć próby użycia ".." w nazwach plików, aby uzyskać dostęp do innych katalogów (zależnie od ustawienia parametru wide links.

Ustawienie wpisu root directory innego niż "/" nadaje dodatkowy poziom bezpieczeństwa, lecz ma swoją cenę. Absolutnie zapewnia, że żaden dostęp nie jest dawany do plików poza poddrzewem określonym w opcji root directory, *włącznie* z pewnymi plikami potrzebnymi do pełnego działania serwera. Aby utrzymać pełną operatywność serwera, będziesz potrzebował kopiować ("mirrorować" ;-), przyp.tłum.) niektóre pliki systemowe do drzewa root directory. W szczegółności, będziesz potrzebował kopiować /etc/passwd (lub jego fragment) i wszystkie binaria lub pliki konfiguracyjne potrzebne do drukowania (jeśli jest to wymagane). Zbiór plików które muszą być kopiowane jest zależny od systemu operacyjnego.

Domyślnie: root directory = /

Przykład: root directory = /homes/smb

root postexec (S)

To jest to samo, co parametr postexec z tym wyjątkiem, że to polecenie jest uruchamiane jako root. Jest to przydatne do odmontowywania systemów plików (takich jak cdrom) gdy połączenie jest zamykane.

Zobacz też postexec.

root preexec (S)

To jest to samo, co parametr preexec z tym wyjątkiem, że to polecenie jest uruchamiane jako root. Jest to przydatne do montowywania systemów plików (takich jak cdrom) zanim połączenie jest finalizowane.

Zobacz też preexec i root preexec close.

root preexec close (S)

To jest to samo, co parametr preexec close z tym wyjątkiem, że polecenie jest uruchamiane jako root.

Zobacz też preexec, preexec close.

security (G)

Ta opcja ta wpływa na sposób w jaki klienci odpowiadają Sambie i jest ona jednym z najważniejszych ustawień w pliku smb.conf(5).

Opcja ta ustawia "bit trybu zabezpieczenia" ("security mode bit") w odpowiedziach na negocjowanie protokołu z smbd(8), aby włączyć lub wyłączyć zabezpieczanie na poziomie współudziałów. Na podstawie tego bitu klienci decydują, czy (i jak) przesyłać informacje o użytkowniku i haśle do serwera.

Domyślną wartością jest security = user, ponieważ jest to najczęstsze ustawienie potrzebne podczas rozmowy z Windows 98 i Windows NT.

Alternatywami są security = share, security = server lub security = domain.

W wersjach Samby poprzedzających 2.0, domyślną wartością było security = share głównie dlatego, że była to jedyna opcja na tym etapie.

W WfWg jest błąd który ma znaczenie dla tego ustawienia. W trybie zapezpieczeń na poziomie użytkownika (user level security) lub serwera (server level security) klient WfWg kompletnie zignoruje hasło które wpiszesz w polu dialogowym "connect drive". To bardzo utrudnia (jeśli nie uniemożliwia) podłączenie się do usługi Samba jako ktokolwiek poza użytkownikiem jako który jesteś zalogowany do WfWg.

Jeśli twoje pecety używają nazw użytkowników które są takie same, jak ich (odpowiednie, przyp.tłum.) nazwy w maszynie UNIX, wtedy będziesz chciał użyć security = user. Jeśli w większości używasz nazw użytkowników którzy nie istnieją w maszynie UNIX, wtedy użyj security = share.

Powinieneś również użyć security = share jeśli chcesz przede wszystkim utworzyć współudziały bez hasła (współudziały anonimowe - guest shares). Jest to najczęściej używane dla współdzielonego serwera drukarki. Trudniej jest utworzyć współudziały gościa razem z security = user. Zobacz parametr map to guest aby dowiedzieć się szczegółów.

Możliwe jest używanie smbd(8) w trybie hybrydowym gdzie oferuje on zarówno poziom użytkownika jak i współudziału pod różnymi aliasami NetBIOS.

Różne ustawienia będą teraz wyjaśnione.

SECURITY = SHARE

Gdy klienci łączą się z serwerem zabezpieczonym na poziomie współudziału, wtedy nie muszą się na serwerze logować z ważną nazwą użytkownika i hasłem przed próbą podłączenia się do współdzielonego zasobu (chociaż nowsi klienci tacy, jak Windows 95/98 i Windows NT wyślą żądanie logowania z nazwą użytkownika, lecz bez hasła podczas rozmowy z serwerem security = share. Zamiast tego, klienci wysyłają informacje autentykacyjne (hasła) na podstawie współudziału (per-share) w chwili, gdy próbują się do niego podłączyć.

Zauważ, że smbd(8) ZAWSZE używa ważnego (tzn. aktualnego, przyp.tłum.) użytkownika którego ma reprezentować, nawet na poziomie zabezpieczeń security = share.

Ponieważ od klientów nie jest wymagane wysłanie nazwy użytkownika do serwera zabezpieczonego na poziomie współudziału, smbd(8) wykorzystuje kilka technik do określania poprawnego użytkownika UNIX do użycia w imieniu klienta.

Lista możliwych nazw użytkowników UNIX do dopasowania do podanego hasła klienta jest konstruowana korzystając z następujących metod :

  • Jeśli parametr guest only jest ustawiony, wtedy wszystkie następne etapy są pomijane i tylko nazwa użytkownika guest account jest sprawdzana.

  • Jeśli nazwa użytkownika jest wysłana z żądaniem połączenia ze współudziałem, wtedy ta nazwa (po mapowaniu - zobacz username map) jest dodana jako potencjalna nazwa użytkownika.

  • Jeśli klient wykonał poprzednio żądanie logowania (wywołanie SMB SessionSetup) wtedy nazwa użytkownika wysłana w tym SMB będzie dodana jako potencjalna nazwa użytkownika.

  • Nazwa usługi której klient zażądał jest dodana jako potencjalna nazwa użytkownika.

  • Nazwa NetBIOS klienta jest dodana do listy jako potencjalna nazwa użytkownika.

  • Każdy użytkownik na liscie user jest dodany jako potencjalna nazwa użytkownika.

Jeśli parametr guest only nie jest ustawiony, wtedy lista ta jest wypróbowana z dostarczonym hasłem. Pierwszy użytkownik dla którego hasło pasuje będzie użyty jako użytkownik UNIX.

Jeśli parametr guest only jest ustawiony lub żadna nazwa użytkownika nie może być określona, wtedy jeśli współudział jest zaznaczony jako dostępny dla "konta gościa" ("guest account"), użytkownik ten będzie użyty. W przeciwnym razie dostęp będzie zabroniony.

Zauważ, że na poziomie współudziału może być bardzo mylącą kwestią, który użytkownik UNIX będzie koniec końców użyty w przyznawaniu dostępu.

Zobacz również sekcję "NOTATKA O WALIDACJI NAZWAUŻYTKOWNIKA/HASŁO"

SECURITY= USER

Jest to domyślne ustawienie zabezpieczenia w Samba 2.2. W zabezpieczeniach na poziomie użytkownika klient musi najpierw "zalogować się" ważną nazwą użytkownika i hasłem (które mogą być mapowane przy użyciu parametru username map). Kodowane hasła (zobacz parametr encrypted passwords) mogą również być wykorzystane w tym trybie zabezpieczeń. Parametry takie, jak user i guest only, jeśli ustawione, są wtedy wprowadzane i mogą zmienić użytkownika UNIX do użycia w tym połączeniu, lecz tylko po pomyślnej autentykacji użytkownika.

Zauważ, że nazwa żądanego zasobu nie jest wysyłana do serwera aż do momentu, gdy serwer pomyślnie autentykuje klienta. Dlatego współudziały gościnne nie działają w serwerach zabezpieczonych na poziomie użytkownika, bez umożliwienia serwerowi automatycznego mapowania nieznanych użytkowników na konto gościa ("guest account"). Zobacz parametr map to guest aby dowiedzieć się szczegółów, jak to przeprowadzać.

Zobacz również sekcję "NOTATKA O WALIDACJI NAZWAUŻYTKOWNIKA/HASŁO"

SECURITY = SERVER

W tym trybie Samba spróbuje dokonać walidacji użytkownik/hasło poprzez przekazanie jej do innego serwera SMB, takiego jak NT. Jeśli to zawiedzie, spróbuje wrócić do security = user, lecz zwróć uwagę, że jeśli kodowane hasła były wynegocjowane, wtedy Samba nie może powrócić do sprawdzania pliku haseł UNIX. Musi mieć ważny plik smbpasswd względem którego ma sprawdzić użytkowników. Zobacz plik dokumentacji ENCRYPTION.txt w katalogu docs/ aby dowiedzieć się szczegółów, jak to ustawiać.

Zauważ, że z punktu widzenia klientów security = server jest tym samym co security = user. Wpływa to tylko na to, jak serwer radzi sobie z autentykacją. W żaden sposób nie wpływa to na to, co klient widzi.

Zauważ, że nazwa żądanego zasobu nie jest wysyłana do serwera aż do momentu, gdy serwer pomyślnie autentykuje klienta. Dlatego współudziały gościnne nie działają w serwerach zabezpieczonych na poziomie serwera, bez umożliwienia serwerowi automatycznego mapowania nieznanych użytkowników na konto gościa ("guest account"). Zobacz parametr map to guest aby dowiedzieć się szczegółów, jak to przeprowadzać.

Zobacz również sekcję "NOTATKA O WALIDACJI NAZWAUŻYTKOWNIKA/HASŁO"

Zobacz też parametr password server i parametr encrypted passwords.

SECURITY = DOMAIN

Ten tryb będzie działał poprawnie tylko, jeśli smbpasswd(8) został użyty żeby dodać tą maszynę do Domeny Windows NT. Oczekuje on, że parametr encrypted passwords będzie ustawiony na true. W tym trybie Samba będzie próbować dokonać walidacji użytkownik/hasło przez przekazywanie jej do Głównego lub Zapasowego Kontrolera Domeny Windows NT, w dokładnie taki sam sposób, jak zrobiłby to Windows NT Server.

Zauważ, że ważny użytkownik UNIX musi w dalszym ciągu istnieć tak samo, jak konto w Kontrolerze Domeny aby umożliwić Sambie poprawne mapowanie na konto UNIX, które będzie miało dostęp do plików.

Zauważ, że z punktu widzenia klientów security = domain jest tym samym co security = user. Wpływa to tylko na to, jak serwer radzi sobie z autentykacją. W żaden sposób nie wpływa to na to, co klient widzi.

Zauważ, że nazwa żądanego zasobu nie jest wysyłana do serwera aż do momentu, gdy serwer pomyślnie autentykuje klienta. Dlatego współudziały anonimowe nie działają w serwerach zabezpieczonych na poziomie domeny, bez umożliwienia serwerowi automatycznego mapowania nieznanych użytkowników na konto gościa ("guest account"). Zobacz parametr map to guest aby dowiedzieć się szczegółów, jak to przeprowadzać.

BŁĄD: Obecnie jest błąd w implementacji security = domain odnośnie wielobajtowych zestawów znaków w nazwach użytkowników. Komunikacja z Kontrolerem Domeny musi być przeprowadzona w UNIKODZIE, a Samba obecnie nie rozszerza poprawnie wielobajtowych nazw użytkowników do UNIKODU. W ten sposób wielobajtowe nazwy nie będą rozpoznawane poprawnie w Kontrolerze Domeny. Ta sprawa będzie rozwiązana w przyszłym wydaniu.

Zobacz również sekcję "NOTATKA O WALIDACJI NAZWAUŻYTKOWNIKA/HASŁO"

Zobacz też parametr password server i parametr encrypted passwords.

Domyślnie: security = USER

Przykład: security = DOMAIN

security mask (S)

Ten parametr kontroluje bity zezwoleń UNIX które mogą być modyfikowane gdy klient Windows NT manipuluje nimi na pliku, używając rodzimego pola dialogowego "security" w NT.

Ten parametr jest wprowadzany jako maska (mnożona logicznie) na zmienione bity zezwoleń, w ten sposób zapobiegając modyfikacji którychkolwiek bitów które nie są w masce. Konkretnie, bity zerowe w tej masce mogą być traktowane jako zestaw bitów których użytkownik nie może zmieniać.

Jeśli nie jest ustawiony wprost, parametr ten przyjmuje taką samą wartość jak parametr create mask. Aby zezwolić użytkownikowi na modyfikację wszystkich praw użytkownik/grupa/świat na pliku, ustaw ten parametr na 0777.

Zauważ, że użytkownicy którzy mogą uzyskać dostęp do serwera Samba innymi środkami, mogą łatwo obejść to ograniczenie, więc jest to przydatne przede wszystkim w wolnostojących systemach ("appliance"). Administratorzy większości normalnych systemów prawdopodobnie będą chcieli ustawić to na 0777.

Zobacz też parametry force directory security mode, directory security mask, force security mode parameters.

Domyślnie: security mask = <to samo co create mask>

Przykład: security mask = 0777

server string (G)

Ten parametr kontroluje łańcuch znakowy jaki pokaże się w polu komentarza drukarki w menedżeże wydruku oraz obok połączenia do IPC w net view. Może to być dowolny łańcuch który chcesz pokazywać swoim użytkownikom.

Ustawia on również to, co pojawi się na liście przeglądania obok nazwy maszyny.

%v będzie zastąpione numerem wersji Samby.

%h będzie zastąpione nazwą hosta

Domyślnie: server string = Samba %v

Przykład: server string = Uniwersystet Serwerów GNU Samba

set directory (S)

Jeśli set directory = no, wtedy użytkownicy usługi nie mogą używać polecenia setdir aby zmienić katalog.

Polecenie setdir jest zaimplementowane tylko w kliencie Digital Pathworks. Zobacz dokumentację Pathworks aby dowiedzieć się szczegółów.

Domyślnie: set directory = no

Przykład: set directory = yes

short preserve case (S)

Ten parametr boolowski kontroluje, czy nowe pliki które spełniają składnią 8.3, tj. są pisane dużymi literami i są odpowiedniej długości, są tworzone dużymi literami, czy są sprowadzane do domyślnej wielkości. Ta opcja może być użyta razem z preserve case = yes , aby pozwolić na pozostawienie małych/dużych liter w długich nazwach plików, podczas gdy krótkie nazwy będą sprowadzane do małych liter.

Zobacz sekcję ZNIEKSZTAŁCANIE NAZW.

Domyślnie: short preserve case = yes

show add printer wizard (G)

Wraz z wprowadzeniem w Samba 2.2 wsparcia dla drukowania opartergo na MS-RPC dla klientów Windows NT/2000, w folderze "Printers..." (lub "Drukarki..." w polskiej wersji, przyp.tłum.) wyświetlanym na liście współudziałów, dostępna jest teraz również ikona Kreatora Dodawania Drukarki (The MS Add Printer Wizard - APW). Tym niemniej, możliwe jest wyłączenie tej cechy niezależnie od poziomu uprzywilejowania podłączonego użytkownika.

W normalnych warunkach, klient Windows NT/2000 otworzy uchwyt (handle) do serwera drukarki za pomocą OpenPrinterEx() prosząc o przywileje Administratora. Jeśli użytkownik nie ma administracyjnego dostępu do serwera drukarki (np. nie jest root'em lub członkiem grupy printer admin), wywołanie OpenPrinterEx() zakończy się niepowodzeniem, a klient wykona następne wywołanie otwierające z żądaniem niższego poziomu przywilejów. To powinno się udać, tym niemniej ikona APW nie będzie wyświetlona.

Wyłączenie parametru show add printer wizard będzie zawsze powodowało zakończenie OpenPrinterEx() porażką. Przez to ikona APW nigdy nie będzie wyświetlana. Uwaga :To nie zapobiega posiadaniu przez tego samego użytkownika przywilejów administracyjych na innej drukarce.

Zobacz też add printer command, delete printer command , printer admin

Domyślnie: show add printer wizard = yes

shutdown script (G)

Ten parametr istnieje tylko w odgałęzieniu cvs HEAD

Jest to pełna ścieżka dostępu do skryptu wywoływanego przez smbd(8) który powinien rozpocząć procedurę wyłączania (shutdown procedure).

To polecenie będzie wykonane jako użytkownik podłączony do serwera.

Parametry %m %t %r %f są rozwijane.

  • %m będzie zastąpiony przez komunikat wysłany do serwera.

  • %t będzie zastąpiony przez liczbę sekund oczekiwania przed właściwym rozpoczęciem procedury wyłączania

  • %r będzie zastąpiony przełącznikiem -r. Dla NT oznacza to reboot ("przeładowanie systemu") po wyłączeniu.

  • %f będzie zastąpiony przełącznikiem -f. Dla NT oznacza to wymuszenie wyłączenia, nawet jesśli aplikacje nie odpowiadają.

Domyślnie: Brak skryptu

Przykład: shutdown script = /usr/local/samba/sbin/shutdown %m %t %r %f

Przykład skryptu wyłączającego:

          #!/bin/bash

          $time=0
          let "time/60"
          let "time++"

          /sbin/shutdown $3 $4 +$time $1 &
	  

Wyłączanie (shutdown) nie powraca więc musimy uruchomić je w tle.

Zobacz też abort shutdown script.

smb passwd file (G)

This option sets the path to the encrypted smbpasswd file. By default the path to the smbpasswd file is compiled into Samba.

Ta opcja ustawia ścieżkę dostępu do pliku kodowanych haseł smb. Domyślnie, ścieżka do pliku smbpasswd jest wkompilowywana w Sambę.

Domyślnie: smb passwd file = ${prefix}/private/ smbpasswd

Example: smb passwd file = /etc/samba/smbpasswd

socket address (G)

Ta opcja pozwala ci kontrolować adres na jakim Samba będzie nasłuchiwać połączeń. Jest to używane aby wspierać wiele wirtualnych interfejsów na jednym serwerze, każdy z inną konfiguracją.

Domyślnie, samba zaakceptuje połączenie na każdym adresie.

Przykład: socket address = 192.168.2.20

socket options (G)

Ta opcja pozwala ci ustawić opcje gniazda używane podczas rozmowy z klientem.

Opcje gniazda są kontrolkami warstwy sieciowej systemów operacyjnych które pozwalają dostrajać połączenie.

Ta opcja będzie typowo użyta do dostrojenia serwera Samba do optymalnych osiągów w twojej sieci lokalnej. Nie ma żadnego sposobu w który Samba może dowiedzieć się jakie są optymalne parametry dla twojej sieci, więc musisz poeksperymentować i wybrać je samodzielnie. Bardzo polecamy ci przeczytanie najpierw odpowiedniej dokumentacji dla twojego systemu operacyjnego (być może pomocne będzię man setsockopt).

Możesz zauważyć, że w niektórych systemach Samba powie "Unknown socket option" ("Nieznana opcja gniazda", przyp.tłum.) gdy jakąś zaaplikujesz. To oznacza, że albo ją niepoprawnie wpisałeś, albo musisz dodać dla twojego systemu plik nagłówkowy do includes.h. Jeśli jest to ten drugi przypadek, wyślij proszę łatę do samba@samba.org.

Każda ze wspieranych opcji gniazda może być łączona w każdy sposób który chcesz tak długo, jak twój system na to pozwala.

To jest lista opcji gniazda które można obecnie ustawiać, korzystając z tej opcji:

  • SO_KEEPALIVE

  • SO_REUSEADDR

  • SO_BROADCAST

  • TCP_NODELAY

  • IPTOS_LOWDELAY

  • IPTOS_THROUGHPUT

  • SO_SNDBUF *

  • SO_RCVBUF *

  • SO_SNDLOWAT *

  • SO_RCVLOWAT *

Te, które są zaznaczone '*' pobierają argument w postaci liczby całkowitej. Inne mogą opcjonalnie pobierać jako argument 1 lub 0, aby włączyć lub wyłączyć opcję. Domyślnie będą włączone, jeśli nie określisz 1 ani 0.

Aby określić argument, użyj sładni JAKAS_OPCJA=WARTOSC, przykładowo SO_SNDBUF=8192. Zauważ, że nie wolno wstawiać żadnych spacji przed, ani po znaku '=' .

Jeśli jesteś w sieci lokalnej, wtedy rozsądnymi opcjami mogłyby być

socket options = IPTOS_LOWDELAY

Jeśli masz taką sieć, to możesz spróbować:

socket options = IPTOS_LOWDELAY TCP_NODELAY

Jeśli jesteś w sieci rozległej (WAN), wtedy może spróbuj ustawić IPTOS_THROUGHPUT.

Zauważ, że szereg opcji może spowodować, że twój serwer Samba padnie kompletnie. Używaj ich ostrożnie !

Domyślnie: socket options = TCP_NODELAY

Przykład: socket options = IPTOS_LOWDELAY

source environment (G)

Ten parametr powoduje, że Samba ustawia zmienne środowiskowe według zawartości wymienionego tu pliku.

Jeśli wartość tego parametru zaczyna się znakiem "|", wtedy Samba potraktuje tą wartość jako polecenie potokowe (pipeline) i ustawi zmienne środowiskowe na podstawie wyjścia potoku. To polecenie nie może być zapisywalne dla wszystkich i musi znajdować się w katalogu, który nie jest zapisywalny dla wszystkich.

Zawartość pliku lub wyjścia potoku powinna być formatowana jak wyjście standardowego polecenia Unix env(1). Jest to w formie:

Przykładowy wpis środowiska:

SAMBA_NETBIOS_NAME=mojanazwahosta

Domyślnie: Brak domyślnej wartości

Przykład: source environment = |/etc/smb.conf.sh

Przykład: source environment = /usr/local/zm_srod_smb

ssl (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Ta zmienna włącza lub wyłącza cały tryb SSL. Jeśli jest ustawiona na no, samba z SSL zachowuje się dokładnie tak, jak samba bez SSL. Jeśli jest ustawiona na yes, od zmiennych ssl hosts i ssl hosts resign zależy, czy połączenie SSL będzie wymagane.

Domyślnie: ssl = no

ssl CA certDir (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Ta zmienna określa, gdzie szukać Jednostek Certyfikujących (Certification Authorities). Podany katalog powinien zawierać jeden plik na każdą jednostkę CA, której samba będzie ufać. Nazwa pliku musi być wartością hash z "Wyróżnionej Nazwy" ("Distinguished Name") jednostki CA. To, jak ten katalog jest założony, jest wyjaśnione dalej w tym dokumencie. Wszystkie pliki w tym katalogu, które nie pasują do tego schematu nazewnictwa, są ignorowane. Nie potrzebujesz tej zmiennej, jeśli nie weryfikujesz certyfikatów klientów.

Domyślnie: ssl CA certDir = /usr/local/ssl/certs

ssl CA certFile (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Ta zmienna jest drugim sposobem na określenie zaufanych jednostek CA. Certyfikaty zaufanych jednostek są zbierane w jeden duży plik, a ta zmienna wskazuje na ten plik. Prawdopodobnie skorzystasz z jednego z tych dwóch sposobów określenia twojej jednostki CA. Pierwszy wybór jest preferowany jeśli masz wiele takich jednostek lub chcesz być elastyczny, drugi jest preferowany jeśli masz tylko jedną CA i chcesz zachować prostotę (nie będziesz potrzebował tworzyć hash'owanych nazw plików). Niepotrzebna ci ta zmienna jeśli nie weryfikujesz certyfikatów klientów.

Domyślnie: ssl CA certFile = /usr/local/ssl/certs/trustedCAs.pem

ssl ciphers (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Ta zmienna określa szyfry które powinny być zaoferowane podczas negocjacji SSL. Nie powinieneś ustawiać tej zmiennej chyba, że wiesz co robisz.

ssl client cert (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Certyfikat w tym pliku jest używany przez smbclient(1) jeśli istnieje. Jest potrzebny, jeśli serwer wymaga certyfikatu klienta.

Domyślnie: ssl client cert = /usr/local/ssl/certs/smbclient.pem

ssl client key (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

To jest klucz prywatny dla smbclient(1) . Jest potrzebny tylko, jeśli klient powinien mieć certyfikat.

Domyślnie: ssl client key = /usr/local/ssl/private/smbclient.pem

ssl compatibility (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Ta zmienna definiuje, czy OpenSSL powinno być skonfigurowane dla kompatybilności z innymi implementacjami SSL. Nie jest to prawdopodobnie pożądane, ponieważ obecnie nie istnieją żadni klienci z inną, niż OpenSSL, implementacją.

Domyślnie: ssl compatibility = no

ssl egd socket (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Ta opcja jest używana do zdefiniowania lokalizacji gniazda komunikacyjnego demona EGD lub PRNGD, z którego może być pobrana entropia. Opcja ta może być użyta zamiast dyrektywy ssl entropy file lub razem z nią. Z demona pobrane zostanie 255 bajtów entropii.

Domyślnie: none

ssl entropy bytes (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Ten parametr jest używany do określenia ilości bajtów które powinny zostać odczytane z ssl entropy file. Jeśli podane zostanie -1, wtedy cały plik będzie odczytany.

Domyślnie: ssl entropy bytes = 255

ssl entropy file (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Ten parametr jest używany do określenia pliku z którego procesy będą odczytywać "losowe bajty" przy starcie. Aby zasilić wewnętrzny generator liczb pseudolosowych, musi być dostarczona entropia. W systemach z plikiem urządzenia /dev/urandom procesy pobiorą swoją entropię z jądra. W systemach bez wsparcia entropii na poziomie jądra można dostarczyć plik, który będzie odczytany przy starcie i będzie użyty do zasilenia PRNG.

Domyślnie: none

ssl hosts (G)

Zobacz ssl hosts resign.

ssl hosts resign (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Te dwie zmienne określają czy samba wejdzie w tryb SSL, czy nie. Jeśli żadna z nich nie jest zdefiniowana, samba dopuści tylko połączenia SSL. Jeśli zmienna ssl hosts wymienia hosty (wg adresu IP, zakresu adresów IP, grupy sieciowej lub nazwy), tylko te hosty będą wymuszone do trybu SSL. Jeśli zmienna ssl hosts resign wymienia hosty, tylko te hosty NIE będą wymuszane do trybu SSL. Składnia tych dwóch zmiennych jest taka sama, jak dla pary zmiennych hosts allow i hosts deny, tyle że decyzja jest inna. Nie jest to prawo dostępu, tylko to, czy SSL jest użyty, czy nie. Zobacz parametr allow hosts aby dowiedzieć się szczegółów.

Przykład poniżej wymaga połączeń SSL dla wszystkich hostów poza siecią lokalną (którą jest 192.168.*.*).

Domyślnie: ssl hosts = <pusty łańcuch znakowy>

ssl hosts resign = <pusty łańcuch znakowy>

Przykład: ssl hosts resign = 192.168.

ssl require clientcert (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Jeśli ta zmienna jest ustawiona na yes, serwer nie będzie tolerował połączeń od klientów którzy nie mają ważnego certyfikatu. Podany w ssl CA certDir i ssl CA certFile katalog/plik będzie wykorzystany do wyszukania CA, która wydała certyfikat klienta. Jeśli certyfikat nie może być pozytywnie zweryfikowany, połączenie będzie zakończone. Jeśli zmienna ta jest ustawiona na no, klienci nie potrzebują certyfikatów. W przeciwieństwie do aplikacji webowych naprawdę powinieneś wymagać certyfikatów klientów. W środowisku webowym dane klienta są poufne (numery kart kredytowych), a serwer musi dowieść, że jest godny zaufania. W środowisku serwera plików dane na serwerze będą poufne i to klient musi dowieść, że jest godny zaufania.

Domyślnie: ssl require clientcert = no

ssl require servercert (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Jeśli ta zmienna jest ustawiona na yes, smbclient(1) będzie żądał certyfikatu od serwera. Jest to to samo, co ssl require clientcert dla serwera.

Domyślnie: ssl require servercert = no

ssl server cert (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Jest to plik zawierający certyfikat serwera. Musi on mieć certyfikat. Plik może również zawierać klucz prywatny serwera. Zobacz dalej, jak tworzone są certyfikaty i klucze prywatne.

Domyślnie: ssl server cert = <pusty łańcuch znakowy>

ssl server key (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Plik ten zawiera klucz prywatny serwera. Jeśli ta zmienna nie jest zdefiniowana, klucz jest szukany w pliku certyfikaty (może być dopisany do certyfikatu). Serwer musi mieć klucz prywatny, a certyfikat musi pasować do tego klucza.

Default: ssl server key = <pusty łańcuch znakowy>

ssl version (G)

Ta zmienna jest częścią Samby z włączonym SSL. Jest ona dostępna tylko, gdy biblioteki SSL zostały skompilowane w twoim systemie, a opcja konfiguracyjna --with-ssl została podana w trakcie konfiguracji.

Zmienna ta definiuje wersje protokołu SSL które będą użyte. ssl2or3 umożliwia dynamiczną negocjację SSL v2 lub v3, ssl2 daje SSL v2, ssl3 daje SSL v3, a tls1 daje TLS v1. TLS (Transport Layer Security - Zabezpieczenie Warstwy Transportowej) jest nowym standardem dla SSL.

Domyślnie: ssl version = "ssl2or3"

stat cache (G)

Ten parametr określa, czy smbd(8) będzie używał cache'a aby przyspieszyć mapowanie nazw niewrażliwe na duże/małe litery. Nie powinieneś nigdy potrzebować zmieniać tego parametru.

Domyślnie: stat cache = yes

stat cache size (G)

Ten parametr określa liczbę wejść w stat cache. Nie powinieneś nigdy potrzebować zmieniać tego parametru.

Domyślnie: stat cache size = 50

status (G)

Włącza lub wyłącza logowanie (rejestrowanie) połączeń w pliku statusu który smbstatus(1) może czytać.

Z tym parametrem wyłączonym smbstatus(1) nie będzie mógł powiedzieć ci, które połączenia są aktywne. Nie powinieneś nigdy potrzebować zmieniać tego parametru.

Domyślnie: status = yes

strict allocate (S)

Jest to parametr boolowski który kontroluje obsługę alokacji przestrzeni dyskowej w serwerze. Gdy jest ustawiony na yes, serwer zmieni swoje zachowanie z UNIX'owego, przy którym serwer nie potwierdza rzeczywistej ilości (zajmowanych) bloków dyskowych gdy plik jest rozszerzany, na Windows'owe, w którym wymusza na systemie dyskowym alokację rzeczywistej ilości bloków, gdy plik jest tworzony lub rozszerzany do określonego rozmiaru. W terminologii UNIX oznacza to, że Samba przestanie tworzyć pliki "sparse". Może to być powolne w niektórych systemach.

Gdy strict allocate jest ustawione na no, serwer wykonuje "rzadką" (sparse) alokację bloków dyskowych, gdy plik jest rozszerzany.

Ustawianie go na yes może pomóc Sambie zwracać komunikaty quota w systemach które ograniczają przestrzeń dyskową użytkownikom (za pomocą quoty).

Domyślnie: strict allocate = no

strict locking (S)

To jest parametr boolowski który kontroluje przechwytywanie blokowania pliku w serwerze. Gdy jest ustawiony na yes serwer będzie przy każdym odczycie lub zapisie sprawdzał czy plik ma blokady i zabroni dostępu jeśli tak będzie. Może to być powolne w niektórych systemach.

Gdy "strict locking" jest ustawione na no, serwer sprawdza blokadę pliku tylko gdy klient zapyta go o to wprost.

Grzeczni klienci zawsze proszą o sprawdzenie blokady gdy jest to ważne, więc w zdecydowanej większości przypadków strict locking = no jest preferowane.

Domyślnie: strict locking = no

strict sync (S)

Wiele aplikacji Windows (włączając w to powłokę eksploratora Windows 98) wydaje się mylić wysyłanie zawartości bufora na dysk (flushing) z przeprowadzaniem synchronizacji z dyskiem (sync). Pod UNIX'em, wywołanie sync wymusza zawieszenie procesu aż do momentu, gdy jądro upewni się, że wszystkie zalegające dane w buforach dyskowych jądra zostały bezpiecznie przechowane na stabilnym nośniku. Jest to bardzo powolne i powinno być przeprowadzane rzadko. Ustawianie tego parametru na no (domyślne) oznacza, że smbd ignoruje żądania aplikacji Windows wykonania wywołania sync. Możliwość utraty danych jest tylko wtedy, gdy sam system operacyjny (na którym działa Samba) padnie. Niebezpieczeństwo przy ustawianiu tej domyślnej wartości jest zatem niewielkie. Dodatkowo, załatwia to wiele problemów z wydajnością przy kopiowaniu plików w nowym eksploratorze Windows 98, które ludzie raportowali.

Zobacz też parametr sync always.

Domyślnie: strict sync = no

strip dot (G)

Jest to parametr boolowski który kontroluje, czy zdejmować końcowe kropki z UNIX'owych nazw plików. Pomaga pomaga przy niektórych CDROM'ach które mają nazwy plików kończące się pojedynczą kropką.

Domyślnie: strip dot = no

sync always (S)

Jest to parametr boolowski który kontroluje, czy zapisy będą zawsze zapisywane na stabilnym nośniku przed powrotem z wywołania write. Jeśli jest to fałsz, wtedy serwer będzie prowadzony przez żądanie klienta przy każdym wywłołaniu zapisu (klienci mogą ustawić bit wskazujący, że konkretny zapis powinien być synchroniczny). Jeśli jest to prawda, wtedy po każdym zapisie będzie następowało wywołanie fsync(), aby zapewnić że dane są zapisane na dysku. Zauważ, że parametr strict sync musi być ustawiony na yes aby ten parametr wywoływał jakiś efekt.

Zobacz też parametr strict sync.

Domyślnie: sync always = no

syslog (G)

Ten parametr odwzorowuje sposób w jaki komunikaty debugowe Samby są rejestrowane w systemowych poziomach rejestrowania syslog'u. Zerowy poziom debugowania w Sambie jest mapowany na LOG_ERR, poziom pierwszy na LOG_WARNING, poziom drugi na LOG_NOTICE, poziom trzeci na LOG_INFO. Wszystkie wyższe poziomy są mapowane na LOG_DEBUG.

Ten parametr ustawia próg dla wysyłania komunikatów do syslog'u. Tylko te z poziomem debugowania mniejszym niż jego wartość będą wysłane do syslog'u.

Domyślnie: syslog = 1

syslog only (G)

Jeśli ten parametr jest ustawiony, wtedy komunikaty debugowe Samby są rejestrowane tylko w systemowym syslog'u, a nie w plikach logu.

Domyślnie: syslog only = no

template homedir (G)

Podczas wypełniania informacji użytkownika dla użytkownika Windows NT, demon winbindd(8) używa tego parametru do wpisywania katalogu domowego dla tego użytkownika. Jeśli łańcuch znakowy %D jest obecny, jest zastąpiony nazwą domeny Windows NT. Jeśli obecny jest %U, jest zastąpiony nazwą użytkownika Windows NT dla tego użytkownika.

Domyślnie: template homedir = /home/%D/%U

template shell (G)

Podczas wypełniania informacji użytkownika dla użytkownika Windows NT, demon winbindd(8) używa tego parametru do wpisania powłoki logowania dla tego użytkownika.

Domyślnie: template shell = /bin/false

time offset (G)

Ten parametr jest ustawieniem w minutach do dodania do normalnego czasu GMT dla konwersji czasu lokalnego. Jest to przydatne jeśli obsługujesz mnóstwo pecetów które mają niepoprawnie ustawioną obsługę wiosennej i jesiennej zmiany czasu.

Domyślnie: time offset = 0

Przykład: time offset = 60

time server (G)

Ten parametr określa, czy nmbd(8) ogłasza siebie jako serwer czasu dla klientów Windows.

Domyślnie: time server = no

timestamp logs (G)

Synonim dla debug timestamp.

total print jobs (G)

Ten parametr akceptuje wartość całkowitą która definiuje limit maksymalnej liczby zadań druku które będą akceptowane w całym systemie w dowolnej chwili. Jeśli zadanie jest wysłane przez klienta który przekroczy tą liczbę, wówczas smbd zwróci błąd wskazujący, że na serwerze nie ma miejsca. Wartość 0 (zero) oznacza, że żaden taki limit nie istnieje. Ten parametr może być użyty żeby zapobiec przekroczeniu pojemności serwera i jest zaprojektowany jako "przepustnica drukowania". Zobacz też max print jobs .

Domyślnie: total print jobs = 0

Przykład: total print jobs = 5000

unix password sync (G)

Ten boolowski parametr określa, czy Samba będzie próbować synchronizować hasło UNIX z hasłem SMB, gdy kodowane hasło SMB w pliku smbpasswd będzie zmieniane. Jeśli jest ustawiony na true, program określony w parametrze passwd program jest wywoływany JAKO ROOT - aby umożliwić ustawienie nowego hasła UNIX bez dostępu do starego hasła UNIX (ponieważ kod zmieniający hasło SMB nie ma dostępu do starego hasła w czystym tekście, tylko do nowego).

Zobacz też passwd program, passwd chat.

Domyślnie: unix password sync = no

update encrypted (G)

Ten parametr boolowski umożliwia użytkownikowi logującemu się hasłem w czystym tekście, automatyczne uaktualnienie jego zakodowanego (hashowanego) hasła w pliku smbpasswd w chwili zalogowania. Ta opcja pozwala sieci na migrację z autentykacji hasłem w czystym tekście (użytkownicy autentykują się "po przewodach" takim hasłem i są sprawdzani względem bazy danych kont UNIX) do autentykacji kodowanym hasłem (mechanizm SMB wyzwania/odpowiedzi) bez zmuszania wszystkich użytkowników do ponownego wprowadzania ich haseł przez smbpasswd w momencie, gdy następuje ta zmiana. Jest to wygodna opcja, żeby umożliwić wszystkim użytkownikom zmianę na kodowane hasła w dłuższym okresie czasu. Gdy tylko wszyscy użytkownicy będą mieli zakodowaną reprezentację ich haseł w pliku smbpasswd, ten parametr powinien być ustawiony na no.

Aby ten parametr działał prawidłowo, parametr encrypt passwords musi być ustawiony na no, gdy ten parametr jest ustawiony na yes.

Zauważ, że nawet gdy ten parametr jest ustawiony, użytkownik autentykujący się w smbd musi nadal wprowadzić poprawne hasło żeby się prawidłowo podłączyć i zaktualizować swoje hashowane (smbpasswd) hasło.

Domyślnie: update encrypted = no

use mmap (G)

Ten parametr globalny determinuje, czy wewnętrzne mechanizmy tdb Samby mogą być zależne od poprawnie działającego mmap w systemie. Samba wymaga spójnego cache'u systemowego mmap/odczyt-zapis (mmap/read-write). Obecnie tylko HPUX nie ma takiego, więc ten parametr jest domyślnie ustawiany na false w HPUX. We wszystkich innych systemach powinien być zostawiony w spokoju. Parametr ten jest dostarczony żeby pomóc developerom Samby w wyśledzeniu problemów z wewnętrznym kodem tdb.

Domyślnie: use mmap = yes

use rhosts (G)

Jeśli ten parametr globalny jest ustawiony na true, określa, że plik .rhosts użytkowników UNIX w ich katalogu domowym będzie przeczytany, żeby znaleźć nazwy hostów i użytkowników którzy będą mieli pozwolenie na dostęp bez podawania hasła.

UWAGA: Wykorzystanie use rhosts może być główną dziurą w bezpieczeństwie. Jest tak ponieważ ufasz komputerowi, że dostarczy poprawną nazwę użytkownika. Jest bardzo łatwo spowodować, że komputer dostarczy fałszywą nazwę użytkownika. Zalecam użycie opcji use rhosts tylko, jeśli naprawdę wiesz co robisz.

Domyślnie: use rhosts = no

use client driver

Parametr ten dotyczy tylko klientów Windows NT/2000. Nie ma wpływu na klientów Windows 95/98/ME. Przy udzielaniu drukarki dla klientów Windows NT/2000 bez zainstalowania, początkowo, poprawnego sterownika drukarki na hoście Samba, klient będzie musiał zainstalować lokalny sterownik drukarki. Od tego momentu, klient będzie traktował drukarkę jak lokalną, a nie sieciową. Jest to zachowanie bardzo podobne do tego, które wystąpi gdy disable spoolss = yes .

Czynnikiem różniącym jest to, że w normalnych warunkach, klient Windows NT/2000 będzie próbował otworzyć drukarkę sieciową przy użyciu MS-RPC. Problem w tym, że ponieważ klient uważa drukarkę za lokalną, będzie próbował wysłać wywołanie OpenPrinterEx() żądające praw dostępu przypisanych zalogowanemu użytkownikowi. Jeśli użytkownik posiada prawa lokalnego administratora, ale nie posiada przywilejów root'a na hoście Samba (częsty przypadek), wywołanie OpenPrinterEx() zakończy się niepowodzeniem. Rezultat jest taki, że klient wyświetli komunikat "Brak Dostępu; Nie można się podłączyć" w oknie kolejki wydruku (nawet pomimo tego, że zadania wydruku mogą być bez problemu realizowane).

Jeśli ten parametr jest włączony dla drukarki, wtedy każda próba otworzenia drukarki z prawem PRINTER_ACCESS_ADMINISTER będzie zamiast tego mapowana na PRINTER_ACCESS_USE, pozwalając w ten sposób na pomyślne wykonanie wywołania OpenPrinterEx(). Ten parametr NIE MOŻE być włączony we współudziale drukarki który ma zainstalowany poprawny sterownik drukarki na serwerze Samba.

Zobacz też disable spoolss

Domyślnie: use client driver = no

user (S)

Synonim dla username.

users (S)

Synonim dla username.

username (S)

Na liście rozdzielanej przecinkami można wyspecyfikować wielu użytkowników. W takim przypadku, dostarczone hasło będzie testowane z każdą nazwą użytkownika po kolei (od lewej do prawej).

Linia username jest potrzebna tylko, gdy komputer nie może dostarczyć własnej nazwy użytkownika. Jest tak w przypadku protokołu COREPLUS lub gdy twoi użytkownicy mają inne nazwy użytkowników WfWg niż UNIX. W obydwu tych przypadkach możesz również wykorzystać składnię \\serwer\wspoludzial%uzytkownik zamiast tego rozwiązania.

Linia username nie jest rewelacyjnym rozwiązaniem w wielu przypadkach ponieważ to oznacza, że Samba spróbuje walidacji dostarczonego hasła z każdą z nazw użytkowników w linii username, po kolei. Jest to powolne i jest złym pomysłem przy mnóstwie użytkowników z duplikowanymi hasłami. Możesz mieć "timeout'y" lub załamania bezpieczeństwa używając tego parametru nierozsądnie.

Samba polega na zabezpieczeniu UNIX'a. Ten parametr nie ogranicza kto może się logować, on tylko oferuje podpowiedź serwerowi Samba jakie nazwy użytkowników mogą odpowiadać dostarczonemu hasłu. Użytkownicy mogą logować się jako ktokolwiek i nie będą w stanie zrobić więcej szkód, niż gdyby włączali sesję telnet. Demon działa jako użytkownik który się do niego zalogował, więc nie może zrobić nic ponad to, co może ten użytkownik.

Aby ograniczyć jakąś usługę to konretnego zbioru użytkowników, możesz użyć parametru valid users=.

Jeśli jakaś z nazw zaczyna się na '@', wtedy będzie ona najpierw szukana na liście grup sieciowych (netgroup) yp (jeśli Samba jest skompilowana ze wsparciem grup sieciowych), a potem w bazie danych grup UNIX, i bedzie rozwinięta do listy wszystkich użytkowników w grupie o takiej nazwie.

Jeśli jakaś z nazw zaczyna się na '+', wtedy będzie ona szukana tylko w bazie danych grup UNIX i będzie rozwinięta do listy wszystkich użytkowników w grupie o tej nazwie.

Jeśli jakaś z nazw zaczyna się na '&', wtedy będzie ona szukana tylko w bazie danych grup sieciowych yp (jeśli Samba jest skompilowana z wsparciem dla grup sieciowych) i będzie rozwinięta do listy wszystkich użytkowników w grupie sieciowej o tej nazwie.

Zauważ, że przeszukiwanie bazy danych grup może trochę trwać i niektórym klientom może skończyć się czas (time out) podczas tego przeszukiwania.

Zobacz sekcję NOTATKA O WALIDACJI NAZWAUŻYTKOWNIKA/HASŁO aby uzyskać więcej informacji o tym, jak ten parametr determinuje dostęp do usługi.

Domyślnie: Konto gościa w przypadku usługi anonimowej (guest service), albo <pusty łańcuch znakowy >.

Przykłady: username = fred, maria, jacek, janka, @uzytkownicy, @pcgrupa

username level (G)

Ta opcja pomaga Sambie spróbować "zgadnąć" rzeczywistą nazwę użytkownika UNIX ponieważ wielu klientów DOS wysyła nazwy w dużych literach. Domyślnie, Samba wypróbowuje wszystkie nazwy z małej litery, potem z pierwszą dużą literą i poddaje się, jeśli nazwa nie zostanie znaleziona na maszynie UNIX.

Jeśli ten parametr jest ustawiony na wartość niezerową, zachowanie się zmienia. Jest on numerem który określa liczbę kombinacji z dużych liter do wypróbowania, przy próbach określenia nazwy użytkownika UNIX. Im większa jest ta liczba, tym więcej kombinacji będzie wypróbowanych, lecz wykrywanie nazw będzie wolniejsze. Użyj tego parametru gdy masz dziwne nazwy użytkowników (takie jak JakisdziwnyUzytkownik ) na swojej maszynie UNIX'owej.

Domyślnie: username level = 0

Przykład: username level = 5

username map (G)

Ta opcja pozwala ci określić plik zawierający odwzorowanie nazw użytkowników z klientów na serwer. Może to być wykorzystane z kilku powodów. Najczęstszym jest mapowanie (odwzorowanie) nazw których użytkownicy używają na maszynach DOS lub Windows na te, których używa maszyna UNIX. Innym jest mapowanie wielu użytkowników na pojedynczą nazwę, dzięki czemu mogą oni łatwiej współdzielić pliki.

Plik mapujący jest parsowany linia po linii. Każda linia powinna zawierać pojedynczą nazwę UNIX z lewej, potem '=' po którym następuje lista nazw z prawej strony. Lista nazw użytkowników z prawej może zawierać nazwy w formie @grupa, w którym to przypadku będą pasować do każdej nazwy użytkownika UNIX w tej grupie. Specjalna nazwa klienta '*' jest "jokerem" (wildcard) i pasuje do dowolnej nazwy. Każda linia w pliku mapującym może mieć długość do 1023 znaków.

Plik jest przetwarzany w każdej linii przez pobieranie dostarczonej nazwy użytkownika i porównywanie jej do każdej nazwy z prawej strony znaków '='. Jeśli dostarczona nazwa pasuje do którejkolwiek nazwy z prawej strony, wtedy jest zastępowana nazwą z lewej. Przetwarzanie jest wtedy kontynuowane w następną linii.

Jeśli jakaś linia zaczyna się znakiem '#' lub ';', wtedy jest ignorowana.

Jeśli jakaś linia zaczyna się na '!', wtedy przetwarzanie zatrzyma się po niej, jeśli mapowanie było przeprowadzone w tej linii. W przeciwnym wypadku mapowanie jest kontynuowane z przetwarzaniem każdej linii. Użycie '!' jest najbardziej przydatne gdy masz dalej w pliku linię mapującą wszystko.

Na przykład, aby mapować nazwę admin lub administrator na UNIX'ową nazwę root użyłbyś:

root = admin administrator

albo, żeby mapować każdego w UNIX'owej grupie system na nazwę sys użyłbyś:

sys = @system

W pliku mapującym możesz mieć tyle odwzorowań, ile chcesz.

Jeśli twój system wspiera opcję GRUP SIECIOWYCH NIS, wtedy baza danych tych grup jest sprawdzana przed bazą /etc/group.

Możesz mapować nazwy użytkowników Windows które zawierają spacje korzystając z cudzysłowów wokół nazwy. Przykładowo:

tridge = "Andrew Tridgell"

odwzorowałoby nazwę windows "Andrew Tridgell" na nazwę unix tridge.

The following example would map mary and fred to the unix user sys, and map the rest to guest. Note the use of the '!' to tell Samba to stop processing if it gets a match on that line.

Następujący przykład odwzorowałby marię i freda na unix'owego użytkownika sys, a pozostałych na gościa. Zwróć uwagę na wykorzystanie '!' mówiące Sambie żeby zatrzymać przetwarzanie, gdy znajdzie pasujące mapoweanie w tej linii.

	    !sys = maria fred
            gosc = *
	      

Zauważ, że przemapowanie jest wprowadzane przy wszystkich pojawieniach się nazw użytkowników. W ten sposób, jeśli podłączysz się do \\serwer\fred i fred jest przemapowany na maria, wtedy będziesz tak naprawdę podłączony do \\serwer\maria i będziesz musiał dostarczyć hasło odpowiednie dla maria, a nie fred. Jedynym wyjątkiem jest nazwa przekazana do serwera haseł ("password server") (jeśli masz taki). Serwer haseł odbierze dowolną nazwę którą dostarczy klient, bez modyfikacji.

Zauważ też, że żadne odwrotne mapowanie nie jest przeprowadzane. Główny efekt ma to przy drukowaniu. Użytkownicy którzy byli mapowani mogą mieć kłopoty z usuwaniem zadań druku ponieważ Menedżer Wyruku (PrintManager) pod WfWg będzie myślał, że nie są właścicielami tego zadania.

Domyślnie: żadnego mapowania nazw użytkowników

Przykład: username map = /usr/local/samba/lib/users.map

utmp (G)

Ten parametr boolowski jest dostępny tylko, jeśli Samba została skonfigurowana i skompilowana z opcją --with-utmp. Jeśli jest ustawiony na True, wtedy Samba spróbuje dodawać rekordy utmp lub utmpx (zależnie od systemu UNIX) za każdym razem, gdy zrobione zostanie połączenie z serwerem Samba. Sieci mogą używać tego to rejestrowania użytkownika podłączającego się do współudziału Samba.

Zobacz też parametr utmp directory.

Domyślnie: utmp = no

utmp directory(G)

Ten parametr jest dostępny tylko, jeśli Samba została skonfigurowana i skompilowana z opcją --with-utmp. Określa ścieżkę dostępu do katalogu który jest używany do przechowywania plików utmp lub utmpx (zależnie od systemu UNIX), które rejestrują połączenia z serwerem Samba. Zobacz też parametr utmp. Domyślnie nie jest on ustawiony, co oznacza że system użyje dowolnego pliku utmp który jest ustawiony w systemie (zazwyczaj /var/run/utmp dla Linux'a).

Domyślnie: żadnego katalogu utmp

valid chars (G)

Ta opcja pozwala ci określić dodatkowe znaki które powinny być w nazwach plików uważane przez serwer za poprawne. Jest to szczególnie użyteczne w narodowych zestawach znaków, takich jak dodających u-umlaut lub a-ring.

Opcja pobiera listę znaków w albo liczbowej, albo znakowej formie ze spacjami pomiędzy nimi. Jeśli podasz dwa znaki z dwukropkiem pomiędzy nimi, wtedy będzie to pobrane jako para małalitera:dużalitera.

Jeśli masz edytor który może wprowadzać te znaki w pliku konfiguracyjnym, to prawdopodobnie najłatwiej jest użyć tej metody. W przeciwnym wypadku możesz określić znaki w formie ósemkowej, dziesiętnej lub szesnastkowej wykorzystując zwykłą notację C.

Na przykład, żeby dodać pojedynczy znak 'Z' do zestawu znaków (co jest bezsensowną rzeczą, bo on już tam jest) mógłbyś zrobić jedno z następujących

		valid chars = Z
		valid chars = z:Z
		valid chars = 0132:0172
	    

Dwa ostatnie powyższe przykłady właściwie dodają dwa znaki i modyfikują odpowiednie mapowania dużej i małej litery.

Zauważ, że MUSISZ określić ten parametr po parametrze client code page jeśli ustawiłeś obydwa. Jeśli client code page jest ustawiony po parametrze valid chars , ustawienia valid chars będą nadpisane.

Zobacz też parametr client code page.

Domyślnie: Samba domyślnie używa zestawu poprawnych znaków dla systemów angielskich.

Przykład: valid chars = 0345:0305 0366:0326 0344:0304

Powyższy przykład pozwala nazwom plików mieć szwedzkie znaki.

UWAGA: Jest właściwie całkiem trudno poprawnie wyprodukować linię valid chars dla konkretnego systemu. Aby zautomatyzować ten proces tino@augsburg.net napisał pakiet o nazwie validchars, który automatycznie wyprodukuje kompletną linię valid chars dla podanego systemu klienta. Zajrzyj do podkatalogu examples/validchars/ twojej dystrybucji kodu źródłowego Samba, żeby znaleźć ten pakiet.

valid users (S)

Jest to lista użytkowników którzy powinni mieć zazwolenie na logowanie się do tej usługi. Nazwy zaczynające się od '@', '+' i '&' są interpretowane przy użyciu tych samych reguł, co opisane w parametrze invalid users.

Jeśli jest pusta (domyślnie), wtedy każdy użytkownik może się logować. Jeśli nazwa użytkownika jest zarówno na tej liście jak i invalid users, wtedy dostęp jest dla tego użytkownika zabroniony.

Bieżąca nazwa usługi jest podstawiana za %S . Jest to przydatne w sekcji [homes].

Zobacz też parametr invalid users.

Domyślnie: Brak listy poprawnych użytkowników (każdy może się logować)

Przykład: valid users = grzes, @uzytkownicy

veto files (S)

Jest to lista plików i katalogów które nie są ani widoczne, ani osiągalne. Każdy wpis na liście musi być separowany przez '/', co pozwala na zawieranie spacji we wpisie. '*' i '?' mogą być użyte do określenia wielu plików lub katalogów jak w "jokerach" (wildcards) DOS'owych.

Każdy wpis musi być ścieżką dostępu unix, nie DOS i nie może zawierać unix'owego separatora katalogu '/'.

Zauważ, że opcja case sensitive stosuje się przy wetowaniu plików.

Jedną z własności parametru veto files której należy być świadomym, jest zachowanie Samby przy przy próbie skasowania katalogu. Jeśli katalog który ma być usunięty nie zawiera nic innego niż pliki veto, ta operacja zakończy się niepowodzeniem, chyba że ustawisz również parametr delete veto files na yes .

Ustawianie tego parametru będzie miało wpływ na osiągi Samby, ponieważ to wymusi sprawdzanie wszystkich plików i katalogów podczas gdy są one skanowane.

Zobacz też parametry hide files i case sensitive .

Domyślnie: Żadne pliki ani katalogi nie są wetowane.

Przykłady:
		; Wetuj wszystkie pliki zawierające słowo Zabezpieczenia,
		; wszystkie kończące się na .tmp i wszystkie katalogi
		; zawierające słowo root.
		veto files = /*Zabezpieczenia*/*.tmp/*root*/

		; Wetuj specyficzne dla Apple pliki które tworzy serwer
		; NetAtalk.
		veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
	    

veto oplock files (S)

Ten parametr jest ważny tylko gdy parametr oplocks jest włączony dla współudziału. Pozwala on administratorowi Samba selektywnie wyłączać przyznawanie oplock'ów na wybranych plikach które pasują do listy wielokrotnej (wildcarded list) używanej w parametrze veto files.

Domyślnie: Żadne pliki nie są wetowane dla przyznawania oplock'ów

Mógłbyć chcieć zrobić to na plikach co do których wiesz, że będą przedmiotem silnej rywalizacji klientów. Dobry tego przykład jest w programie testującym SMB NetBench który powoduje ostrą rywalizację dla plików kończących się na .SEM. Aby spowodować, że Samba nie przyzna oplock'ów na te pliki, użyłbyś linii (albo w sekcji [global] albo w sekcji dla konkretnego współudziału NetBench):

veto oplock files = /*.SEM/

vfs object (S)

Ten parametr określa współdzielony plik obiektowy który jest używany do operacji Samba VFS I/O. Domyślnie używane są normalne dyskowe operacje I/O, lecz mogą być "przeciążane" (termin zaczerpnięty z C++, przyp.tłum.) za pomocą obiektu VFS. Warstwa VFS jest nowością w Sambie 2.2 i musi być włączona w czasie kompilacji opcją --with-vfs .

Domyślnie: brak wartości

vfs options (S)

Ten parametr pozwala na przekazanie parametrów do warstwy vfs w czasie inicjalizacji. Warstwa VFS jest nowością w Sambie 2.2 i musi być włączona w czasie kompilacji opcją --with-vfs. Zobacz też vfs object .

Domyślnie: brak wartości

volume (S)

To pozwala ci unieważnić etykietę wolumenu zwróconą dla współudziału. Przydatne dla CDROM'ów z programami instalacyjnymi które nalegają na jakąś szczególną etykietę wolumenu.

Domyślnie: nazwa współudziału.

wide links (S)

Ten parametr kontroluje, czy serwer ma podążać za dowiązaniami (links) w UNIX'owym systemie plików, czy nie. Dowiązania które wskazują na obszary wewnątrz drzewa katalogu eksportowanego przez serwer są zawsze dozwolone; ten parametr kontroluje tylko dostęp do obszarów które są poza drzewem katalogu które jest eksportowane.

Zauważ, że ustawianie tego parametru może mieć negatywny efekt na osiągi twojego serwera z powodu dodatkowych wywołań systemowych które Samba musi wykonać, aby dokonać sprawdzenia dowiązania.

Domyślnie: wide links = yes

winbind cache time (G)

Ten parametr określa liczbę sekund przez którą demon winbindd(8) będzie buforował informacje o użytkowniku i grupie, zanim ponownie zapyta serwer Windows NT.

Domyślnie: winbind cache type = 15

winbind enum users (G)

Przy ogromnych instalacjach korzystających z winbindd(8) niezbędne może być wstrzymanie enumeracji użytkowników poprzez grupę wywołań systemowych setpwent(), getpwent() , endpwent(). Jeśli parametr winbind enum users jest ustawiony na false, wywołania getpwent() nie zwrócą żadnych danych.

Uwaga: Wyłączenie enumeracji użytkowników może spowodować dziwne zachowanie niektórych programów. Przykładowo, program finger jest zależny od posiadania dostępu do pełnej listy użytkowników podczas szukania pasujących nazw.

Domyślnie: winbind enum users = yes

winbind enum groups

Przy ogromnych instalacjach korzystających z winbindd(8) niezbędne może być wstrzymanie enumeracji grup poprzez grupę wywołań systemowych setgrent(), getgrent() , endgrent(). Jeśli parametr winbind enum users jest ustawiony na false, wywołania getgrent() nie zwrócą żadnych danych.

Uwaga: Wyłączenie enumeracji grup może spowodować dziwne zachowanie niektórych programów.

Domyślnie: winbind enum users = yes

winbind gid (G)

Parametr winbind gid określa zakres id grup które są alokowane przez demona winbindd(8). Zakres ten nie powinien wewnątrz zawierać żadnych istniejących grup lokalnych lub nis, bo w przeciwnym wypadku mogą wystąpić dziwne konflikty.

Domyślnie: winbind gid = <pusty łańcuch znakowy>

Przykład: winbind gid = 10000-20000

winbind separator (G)

Pozwala on adminowi zdefiniować znak używany przy wymienianiu nazwy użytkownika w formie DOMENA \uzytkownik. Ten parametr stosuje się tylko przy korzystaniu z modułów UNIX'owych pam_winbind.so i nss_winbind.so

Przykład: winbind separator = \

Przykład: winbind separator = +

winbind uid (G)

Parametr winbind uid określa zakres id użytkowników które są alokowane przez demona winbindd(8). Zakres ten nie powinien wewnątrz zawierać żadnych istniejących użytkowników lokalnych lub nis, bo w przeciwnym wypadku mogą wystąpić dziwne konflikty.

Default: winbind uid = <empty string>

Example: winbind uid = 10000-20000

wins hook (G)

Gdy Samba działa jako serwer WINS, to pozwala ci wywołać zewnętrzny program przy wszystkich zmianach w bazie danych WINS. Głównym zastosowaniem tej opcji jest umożliwienie dynamicznej aktualizacji zewnętrznych baz danych odwzorowania nazw, takich jak dynamiczny DNS.

Parametr wins hook określa nazwę skryptu lub programu wykonywalnego który będzie wywołany następująco:

wins_hook operacja nazwa typnazwy ttl lista_IP

  • Pierwszy argument jest operacją i jest to jedno z "add", "delete" lub "refresh". W większości przypadków operacja może być zignorowana jako że reszta parametrów dostarcza wystarczającej informacji. Zauważ, że odświeżenie (refresh) może czasem być wywołany, gdy nazwa nie była poprzednio dodana. W takim przypadku powinno to być potraktowane jako dodanie.

  • Drugi argument jest nazwą netbios. Jeśli nazwa nie jest legalną nazwą, wtedy wins hook nie jest wywoływany. Legalne nazwy zawierają tylko litery, cyfry, kreski, podkreślenia i kropki.

  • Trzeci argument jest typem nazwy netbios podanym jako 2-cyfrowa liczba szesnastkowa.

  • Czwarty argument to TTL (czas życia) nazwy w sekundach.

  • Piąty i kolejne argumenty są adresami IP obecnie zarejestrowanymi dla tej nazwy. Jeśli ta lista jest pusta, wtedy nazwa powinna być usunięta.

Przykładowy skrypt nsupdate który wywołuje program dynamicznej aktualizacji BIND'a jest dostarczony w katalogu przykładów w kodzie źródłowym Samba.

wins proxy (G)

Jest to wartość boolowska która kontroluje, czy nmbd(8) odpowie w imieniu innych hostów na rozgłaszane pytania o nazwę. Możesz potrzebować ustawić to na yes dla niektórych starszych klientów.

Domyślnie: wins proxy = no

wins server (G)

To określa adres IP (lub nazwę DNS: adres IP dla preferencji) serwera WINS u którego nmbd(8) powinien się zarejestrować. Jeśli masz serwer WINS w sieci, wtedy powinieneś ustawić to na IP tego serwera.

Powinieneś wskazać w ten sposób serwer WINS jeśli masz sieć o wielu podsieciach.

ZWRÓĆ UWAGĘ. Potrzebujesz ustawić Sambę tak, żeby wskazać serwer WINS, jeśli masz wiele podsieci i chcesz, żeby przeglądanie skrośne (cross-subnet browsing) działało prawidłowo.

Zobacz plik dokumentacji BROWSING.txt w katalogu docs/ twojej dystrybucji kodu źródłowego Samba.

Domyślnie: nie włączone

Przykład: wins server = 192.9.200.1

wins support (G)

Ten parametr boolowski kontroluje czy proces nmbd(8) w Sambie będzie funkcjonował jako serwer WINS. Nie powinieneś ustawiać tego na true, chyba że masz sieć zbudowaną z wielu podsieci i chciałbyś żeby jakiś konkretny nmbd(8) być twoim serwerem WINS. Zauważ, że NIGDY nie powinieneś ustawiać tego na true na więcej niż jednej maszynie w sieci.

Domyślnie: wins support = no

workgroup (G)

Ten parametr określa w jakiej grupie roboczej (workgroup) pojawi się twój serwer gdy będzie pytany przez klientów. Zauważ, że ten parametr kontroluje również nazwę Domeny używaną przy ustawieniu security = domain.

Domyślnie: ustawione w czasie kompilacji na WORKGROUP

Przykład: workgroup = MOJAGRUPA

writable (S)

Synonim dla writeable dla ludzi, którzy nie mogą tego wymówić :-).

write cache size (S)

Jeśli ten parametr całkowity jest ustawiony na niezerową wartość, powoduje że Samba tworzy w pamięci cache dla każdego blokowanego (oplock) pliku (nie robi tego tego dla nieblokowanych plików). Wszystkie te zapisy w których klient nie wymaga bezpośredniego wysłania danych na dysk, będą przechowane w miarę możliwości w tym cache'u. Jest on opróżniany gdy nadchodzi taki zapis, w którym offset nie zmieściłby się w tym cache'u albo gdy plik jest zamykany przez klienta. Odczyty z pliku są również obsługiwane z tego cache'u jeśli dane są w nim przechowywane.

Cache ten pozwala Sambie zbierać zapisy wsadowo do bardziej wydajnego rozmiaru dla dysków RAID (tzn. zapisy mogą być dostrojone do rozmiaru pasma (stripe) RAID) i może polepszyć osiągi w systemach gdzie podsystem dyskowy jest wąskim gardłem, lecz pamięć dla programów z przestrzeni użytkownika jest wolna.

Parametr ten w postaci liczby całkowitej określa rozmiar cache'a (przypadający na blokowany plik) w bajtach.

Domyślnie: write cache size = 0

Przykład: write cache size = 262144

dla 256k rozmiaru cache'a na plik.

write list (S)

To jest lista użytkowników którzy mają nadane prawo dostępu odczyt-zapis do usługi. Jeśli podłączający się użytkownik jest na tej liście, wtedy otrzyma on prawo zapisu bez względu na to, czy opcja writeable jest ustawiona. Lista może zawierać nazwy grup korzystając ze składni @grupa.

Zauważ, że jeśli użytkownik jest zarówno na liście read list jak i write list wtedy otrzyma dostęp z prawem zapisu.

Zobacz też opcję read list

Domyślnie: write list = <pusty łańcuch znakowy>

Przykład: write list = admin, root, @ekipa

write ok (S)

Synonim dla writeable.

write raw (G)

Ten parametr określa, czy serwer będzie wspierał SMB surowych zapisów (raw writes SMB's) podczas transferowania danych od klientów. Nie powinieneś nigdy potrzebować zmienić tego parametru.

Domyślnie: write raw = yes

writeable (S)

Odwróconym synonimem (czyli antonimem, przyp.tłum) jest read only.

Jeśli ten parametr jest ustawiony na no, wtedy użytkownicy usługi nie mogą tworzyć lub modyfikować plików w jej katalogu.

Zwróć uwagę, że usługa drukowalna (printable = yes ) będzie ZAWSZE pozwalać na zapis do katalogu (zgodnie z prawami dostępu użytkownika), ale tylko poprzez operacje kolejkowania (druku, przyp.tłum.).

Domyślnie: writeable = no

OSTRZEŻENIA

Mimo, że plik konfiguracyjny pozwala na spacje w nazwach usług, oprogramowanie twojego klienta może nie pozwalać. Spacje będą tak, czy inaczej ignorowane w porównaniach, więc nie powinien to być problem - bądź jednak świadom takiej możliwości.

W podobny sposób, wielu klientów - szczególnie DOSowych - limituje nazwy usług do ośmiu znaków. smbd(8) nie ma takiego ograniczenia, lecz próby podłączenia się z takich klientów skończą się niepowodzeniem, jeśli skracają oni nazwy usług. Z tego powodu prawdopodobnie powinieneś utrzymywać swoje nazwy usług na poziomie ośmiu znaków długości.

Użycie specjalnych sekcji [homes] i [printers] ułatwia życie administratora, lecz różne kombinacje domyślnych atrybutów mogą być skomplikowane. Bardzo uważaj przy projektowaniu tych sekcji. W szczególności upewnij się, że zezwolenia na katalogach kolejkujących (spool directories) są poprawne.

WERSJA

Ta strona podręcznika jest poprawna dla wersji 2.2 pakietu Samba.

ZOBACZ TEŻ

samba(7), smbpasswd(8), swat(8), smbd(8), nmbd(8), smbclient(1), nmblookup(1), testparm(1), testprns(1)

AUTOR

Pierwotnie, Samba i związane z nią oprogramowanie były stworzone przez Andrew Tridgella. Samba jest teraz rozwijana przez Zespół Samba jako projekt Open Source podobnie, jak jądro Linux.

Pierwotnie, strony podręcznika Samba zostały napisane przez Karla Auera. Kody źrodłowe tych stron zostały przekonwertowane do formatu YODL (kolejny świetny kawałek oprogramowania Open Source dostępny na ftp://ftp.icce.rug.nl/pub/unix/) i zaktualizowane do wydania 2.0 samby przez Jeremy Allisona. Konwersja do DocBook dla Samba 2.2 została wykonana przez Geralda Cartera. Tłumaczenie na język polski i konwersję polskiej wersji do DocBook wykonał Rafał Szcześniak.