Linux jako serwer Windows


6. Praca z grupami

Linux jako serwer Windows

Gdy tylko prawidłowo ustawisz uprawnienia dostępu w systemie plików Linuksa, skończą się kłopoty z prawami dostępu do wspólnego katalogu.

W większej sieci ręczne dodawanie użytkowników z prawem dostępu za słowem kluczowym valid users szybko staje się kłopotliwe. Z tego właśnie powodu Samba obsługuje jako parametr również grupy. Aby udostępnić folder wszystkim członkom grupy wspolnygrp, zmień wiersz jak poniżej:

valid users = +wspolnygrp

Teraz musisz tylko założyć odpowiednią linuksową grupę użytkowników i umieścić w niej odpowiednie konta (listing 5).

Zwróć przy tym uwagę, aby w drugim poleceniu rzeczywiście wpisać G, a nie g jako parametr, gdyż w przeciwnym razie użytkownik nie zostałby dodany do nowej grupy, lecz zmieniona zostałaby jego grupa podstawowa. Opcja -g 10000 przy groupadd ma taki skutek, że grupa wspolnygrp jest opatrzona numerem 10000. Technicznie nie ma to żadnych dalszy konsekwencji, jednak gdy łączysz grupy użytkowników należących do danej aplikacji pod własnym zakresem numerów, całość jest bardziej przejrzysta.

Listing 5

> groupadd -g 10000 wspolnygrp

> usermod -G wspolnygrp testuser

7. Porady, sztuczki i wydajność

Samba zwykle ma bardzo dobre ustawienia domyślne do większości systemów, ale jest jeszcze kilka śrubek, które można dokręcić, żeby serwer był nieco bardziej wydajny. Szczególne znaczenie mają tu opcje dotyczące komunikacji TCP/IP. Za ich ustawienia odpowiada słowo kluczowe socket options w sekcji globalnej pliku konfiguracyjnego. Zazwyczaj to dobry wybór (listing 6).

Listing 6

socket options = TCP_NODELAY IPTOS_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 SO_KEEPALIVE

Takie ustawienie powoduje, że Samba pracuje z możliwie małą tolerancją w trakcie transmisji, używa względnie dużych buforów do przesyłania danych, a pakiety keepalive zapobiegają przypadkowemu wylogowaniu klientów.

Podczas eksperymentów z ustawieniami konfiguracji zdarza się, że Samba pracuje inaczej niż oczekujesz, a modyfikowanie poszczególnych parametrów niczego nie zmienia. Najczęstszą przyczyną jest to, że dana opcja nie została wyłączona, a pozornie usunięta z konfiguracji poprzedzającym ją znakiem komentarza. Równie dobrze jednak powodem może być właściwość Samby polegająca na stosowaniu wartości standardowych do nieistniejących opcji (listing 7).

Listing 7

# aktywacja statusu tylko do odczytu dla zasobów

# nieprawidłowo:

# read only = no

# prawidłowo:

read only = yes

Podstawowa zasada pracy z plikiem konfiguracyjnym brzmi zatem: lepiej ustawić jednoznaczną, żądaną wartość opcji. W razie wątpliwości można odczytać aktualne ustawienie opcji, wywołując program testparm z opcją -v:

testparm -v | grep <opcja>

Kolejny problem napotkają użytkownicy, którzy obszernie dokumentują swoją konfigurację, aby później łatwiej się w niej odnaleźć. Samba obsługuje wprawdzie komentarze w pliku konfiguracyjnym, jednak tylko wtedy, gdy znak komentarza # jest rzeczywiście pierwszym zajętym znakiem wiersza. Gdy wpiszesz komentarz po jakiejś opcji, Samba zinterpretuje go jako parametr (listing 8).

Listing 8

# powinno być tak:

# określanie dozwolonych użytkowników

valid users = testuser, newuser

# ale nie tak:

valid users = testuser, newuser # dozwoleni użytkownicy

8. Podsumowanie

Przedstawione tu informacji powinny wystarczyć do postawienia wydajnego serwera plików do małych i średnich sieci. W części poświęconej rozszerzonej konfiguracji Samby informujemy, jak zintegrować serwer z domeną lub zrobić z niego podstawowy kontroler domeny, jak alternatywnie zastosować bazy danych do przechowywania informacji o kontach użytkowników oraz poprawić kompatybilność z serwerami Windows.

Oddzielną część poświęcamy udostępnianiu drukarek podłączonych do serwera Samba. Dowiesz się nie tylko, jak udostępnić drukarkę w sieci, ale także co trzeba zrobić, żeby klient znalazł na serwerze Samba potrzebne sterowniki.