Opis modułu SAMBA-KLIENT dla
Mandrake
8.1 jest
tutaj.
Klienty pod
Win9x niestety nie pracują zbyt stabilnie w
sieci skonfigurowanej pod TCP/IP . W OTOCZENIU SIECIOWYM klienta
windowsowego teoretycznie (przy standardowych ustawieniach) powinny
pokazać się inne klienty windowsowe, komputer z Sambą-Serwerem itd.
Napisałem powinny... Co robić w razie problemów? Recept jest wiele:
od karkołomnego pomysłu (podrzuconego mi od anonomowego
internauty), który polega na maksymalnym pododawaniu (w kliencie
robiacym problemy) usług i protokołów , po... radykalne
rozwiązanie: czyli rozłączenie CAŁEJ sieci (poprzez wyjęcie wtyczek
z gniazdek w kartach sieciowych), wyłączeniu WSZYSTKICH komputerów
w sieci (łącznie z serwerem dhcpd) i... ponownym zainstalowaniu
Win9x. Po podłaczeniu kabelków, uruchomieniu serwera dhcpd - sieć
potrafi już chodzić :) Tak nawiasem mówiąc - konfigurowanie
klientów Win9x w sieci pod kontrolą TCP/IP to osobna opowieść -
czasami toretycznie poprawne ustawienia dają rezultaty, czasami
nie. Linux Mandrake jako klient spisuje się bez zarzutów.
Pamiętaj, że w
Win9x należy montować rzeczywiste katalogi, a nie skróty do nich. W szczególności
chodzi o katalog Moje Dokumenty na Pulpicie, który należy udostępniać eksplorując katalog C:\Windows (a nie udostępniać bezpośrednio z Pulpitu).
Klienty pod WinXP to jeszcze gorsza mordęga - trzeba
podobno coś zmienić w ich rejestrach, by prawidłowo pracowały w
sieci nadzorowanej przez Sambę.
Pamiętaj, że źle skonfigurowany firewall potrafi zablokować
pracę Samby-Serwera.
Zanim zabierzesz się za SAMBĘ, osadzoną na
Linuksie Mandrake 9.x, połączonym z Internetem poprzez
SDI-HIS, musisz zdać sobie sprawę z kilku ważnych rzeczy:
-
Masz serwer Mandrake 9.x z demonami np. SAMBĄ,
SSHD, APACHE, PROFTPD pracujący w następującym schemacie sieci:
NET-------ppp0-[LINUX]-eth0------[klienty]
Oznacza to, że musiałeś podczas konfiguracji
SDI-HISa wpisać: domyślny DNS z netu 194.204.159.1 oraz
194.204.152.34 , search sdi.tpnet.pl , przykładową
domenę pd125.wroclaw.sdi.tpnet.pl czy też BRAMĘ (nr IP od
TPSA). Nie będę się rozpisywał, bo ustawienia te wprowadziłeś
świadomie podczas standardowej instalacji, opisanej na sąsiednich
stronach www. Jednak jaki wniosek płynie z tych danych? Domena i
DNS mają odniesienie do serwera TPSA w Internecie, więc... niektóre
demony (np. SAMBA-serwer) mogą nie zadziałać w sieci, która
straciła łączność z netem. Trochę to uciążliwe, ale jeżeli Linux
udostępnia Internet dla domowej sieci całodobowo, to wszystko w
porzadku. Pamiętaj jednak, by w przypadku złej pracy demonów
sprawdzić, czy działa połączenie z Internetem.
Powyższa sytuacja nie jest bezpieczna i należy
jasno sobie powiedzieć czy mamy dostateczną wiedzę, aby
zabezpieczyć Linuksa przed włamaniami. Jeżeli nie, to wskazane jest
zrezygnować z SAMBY, a już szczególnie z SERWERA-SAMBY udającego
Windows NT. Istnieje exploit sambal.c, który pozwala przejąć uprawnienia roota. To
pokazuje, że admin poza wiedzą powinien posiadać także odrobinę
instynktu samozachowawczego i nie instalować serwera Samby na
komputerze dostępowym.
-
Można zainstalować Linuksa imitujacego Windows NT
nie podłączonego bezpośrednio do Internetu (poprzez modem SDI-HIS),
a poprzez kartę sieciową współpracującą z routerkiem sprzętowym lub
osadzonym na np. fresco. Schemat sieci bedzie wówczas nieco
inny:
NET-------ppp0-[fresco]-eth0---------[LINUX}-eth1-----------[klienty]
Oznacza to, że na naszym dużym Linuksie (tu opisujemy Mandrake 9.x)
możemy zrezygnować z domeny internetowej, DNSy możemy wstawić
własne (wewnętrzne), a demony typu SAMBA-SERWER oraz SAMBA-KLIENT
nie będą stwarzały problemów przy wyłączonym połączeniu z
Internetem. Łatwiej też będzie zadbać o bezpieczeństwo domowej
sieci.
-
Jednak najlepiej uczyć się SAMBY na serwerze
odciętym od Internetu, pracującym wg takiego schematu:
[LINUX]-eth0---------[klienty]
W takim przypadku musimy zainstalować Mandrake 9.x wg nieco innych
reguł niż opisane na moich sąsiednich stronach www. Nie będę tego
opisywać, gdyż uważam, że osoba zabierająca się za SAMBĘ zna
pojęcia sieciowe i jest w stanie sama to zrobić. Podczas
instalacji pamiętać jedynie należy o wyborze pakietów: SERWERY,
DNS, zrezygnować z firewalla. W punkcie KONFIGURACJA SIECI wpisać:
NAZWA - pimpek.homenet.pl, DNS - 192.168.0.1, BRAMA - 192.168.0.1
(przypominam, że bramę musimy podać, gdyż instalator nie puści nas
dalej). Po instalacji nie zapomnij o plikach /etc/hosts,
/etc/hosts.allow , wpisie do configa apacha (nameserver) i
włączeniu dhcpd (czynności podobne jak przy udostępnianiu
Internetu).
UDOSTĘPNIANIE WINDOWSOWYCH KATALOGÓW
DLA
LINUXOWEGO SERWERA.
Posiadasz linuksowy serwer (pod Mandrake 9.x),
domową sieć pracującą na Windows ch i mały problem - jak przeglądać
udostępnione katalogi na klienckich komputerach. Z pomocą przyjdzie
SAMBA-klient. Podczas pierwszej instalacji mogłeś wybrać potrzebne
moduły klikając: -STACJA ROBOCZA- KOMPUTER SIECIOWY (KLIENT) -
SAMBA-KLIENT, natomiast na pracującym już systemie wykonaj w
okienkach KDE: MANDRAKE CONTROL CENTER- PUNKTY MONTOWANIA (Samba).
Instalator sam pobierze potrzebne moduły. Proste nie? ;) GOTOWE.
Jeżeli interesuje Ciebie lista plików instalacyjnych to podaję:
samba-client plus pliki libacl1, libattr1 (te
dwa ostatnie są także potrzebne w przypadku instalacji
SAMIBA-SERWER). Restartuj system. Dopilnuj, aby komputery-klienty z
udostępnionymi dyskami windowsowymi były włączone. Kliknij w
-MANDRAKE CONTROL CENTER- PUNKTY MONTOWANIA- PUNKTY MONTOWANIA
SAMBY- SERWERY WYSZUKIWANIA- wskaż na właściwy (udostępniony)
katalog w klienckim komputerze. PUNKT MONTOWANIA- OK- OPCJE-
ZAAWANSOWANE- wybierz USER, NOAUTO, NOSUID, PASSWORD -OK- MONTUJ-
TAK (dla zapisu w pliku /etc/fstab) GOTOWE.
Niestety instalator Mandrake lubi robić
niespodzianki i... czasami trzeba mu pomóc ;) . Jeżeli po
restarcie, w MANDRAKE CONTROL CENTER- PUNKTY MONTOWANIA- PUNKTY
MONTOWANIA SAMBY nie widzisz udostępnionych katalogów komputerów
windoswowych (a teoretycznie powinieneś), to wykonaj:
-
Uzupełnij wpis w pliku
/etc/hosts . Umieść tam dane komputerów pracujących w sieci
z udostępnionymi folderami. Jak zdobyć dane tych komputerów?
Sposobów jest wiele, np. po wydaniu polecenia arp zobaczysz
namiary wszystkich obecnie aktywnych komputerów w sieci. Potem
sprawdź, czy wszystkie dane są rzetelne poleceniem ping IP.
Wiesz o czym piszę, gdyż przeczytałeś stronkę o udostępnianiu. Tutaj
jedynie przypomnę, że chodzi mi o wpis do pliku /etc/hosts
typu:
192.168.0.2
bociek.pd132.wroclaw.sdi.tpnet.pl bociek
-
Ponieważ na odległym, windowsowym komputerze
bociek czekają udostępnione foldery AAA, PHOTO,
DOKUMENTY proponuję, aby montować je pod podobną nazwą, jako
osobne urządzenia w katalogu /mnt . Utwórz więc katalog
BOCIEKAAA w /mnt (poleceniem md BOCIEKAAA lub
mkdir BOCIEKAAA) i nadaj mu prawa 755 root.root
(poleceniem chmod 755 BOCIEKAAA oraz chown root.root
BOCIEKAAA )
-
Uzupełnij plik /etc/fstab
danymi o odległym komputerze (powinno się to co prawda
automatycznie wpisać pod MANDRAKE CONTROL CENTER- PUNKTY
MONROWANIA, ale niestety czasami KDE źle działa :( Przykładowy wpis dodatkowych wierszy
w pliku /etc/fstab (inny przykład fstab)
(zwróć uwagę na wielkość liter):
//bociek/AAA /mnt/BOCIEKAAA smbfs username=% 0 0
Uwaga. Jeżeli coś namieszasz w pliku /etc/fstab to nie
uruchomisz więcej systemu :( Bądź uważny. W razie problemów
zapraszam na stronę o Linuksach ratunkowych.
Wydaj jako root polecenie mount
/mnt/BOCIEKAAA i jeżeli uda się zamontować choć jeden odległy
katalog - poprzez MANDRAKE CONTROL CENTER- PUNKTY MONTOWANIA-
PUNKTY MONTOWANIA SAMBY dokończysz pracę bez problemów. Na pewno
już zobaczysz wszystkie udostępnione w sieci katalogi.
Czy można jako zwykły użytkownik przeglądać zdalne
katalogi po zalogowaniu się do Linuksa? NIE. I jeszcze raz NIE. Ze
względów bezpieczeństwa tylko root powinien mieć prawo montowania
katalogów i tylko root powinien mieć prawo do przeglądania
zawartości /mnt . Jest to ważne zwłaszcza na serwerze
łączącym się z Internetem! Jeżeli jednak jesteś uparty jak osioł i
chcesz umożliwić pracę na SAMBIE zwykłym użytkownikom Linuksa
to:
Od tej chwili (po zamontowaniu jako root)
pozwoliłeś KAŻDEMU zalogowanemu na Linuksie
przegladać i kopiować zawartość odległych, udostępnionych,
windowsowych folderów.
Oczywiście możesz też wykonać skrót na
pulpicie:
-
kliknij prawym przyciskiem myszy w Desktop
-
wybierz UTWÓRZ NOWE, URZĄDZENIA, TWARDY DYSK
-
wybierz z pola combi //bociek/AAA
(/mnt/BOCIEKAAA ) przez co uzyskasz wpisy -
//bociek/AAA z punktem podmontowania
/mnt/BOCIEKAAA
-
w panelu OGÓLNE wrzuć nazwę skrótu i wybierz ładną
ikonkę.
Można zamontować pod Linuksem odległy, udostępniony katalog
windowsowy bez wypełniania pliku /etc/fstab za pomocą
zlecenia:
mkdir /mnt/win1
oraz
mount -t smbfs -o lfs
//IPkomputera/udostepnionykatalog /mnt/min1
co oznacza utworzenie katalogu win1 i zamontowanie w nim odległego
udostępnionego, windowsowego katalogu.
Ponieważ Mandrake 9.x zabezpiecza system tzw.
POZIOMAMI BEZPIECZEŃSTWA, pewnego dnia możesz obudzić się ze...
zmienionymi na bardziej restrykcyjne prawami do katalogu
/mnt lub /home/public . Więcej szczegółów o tym i
innym aspekcie POZIOMÓW BEZPIECZEŃSTWA tutaj.
UDOSTĘPNIANIE LINUXOWYCH KATALOGÓW
DLA
WINDOWSOWYCH KLIENTÓW.
Nadszedł czas na trudniejszą rzecz: udostępnimy dla
klientów windowsowych dane znajdujące się na linuksowym serwerze. Do
tego będzie potrzebny pakiet SAMBA-serwer.
Pamiętaj, że źle skonfigurowany firewall potrafi zablokować
Sambę-Serwer.
W czasie instalacji systemu lub poprzez MANDRAKE
CONTROL CENTER- ZARZĄDZANIE OPROGRAMOWANIEM- INSTALACJA
OPROGRAMOWANIA- SERWER- SERWER SIECIOWY- doinstaluj
SAMBA-serwer, na który składają się następujące pakiety: libacl1, libattr1, samba-common, samba-serwer.
Zawierają one szereg programów, z których dwa są szczególne:
smdb (lub SMB) oraz nmdb (lub NMB). Pierwszy (SMB) to
demon zapewniający (lub blokujący) windowsowym klientom dostęp do
współdzielonych plikówi drukarek. Przeprowadza także
uwierzytelnianie użytkowników. Drugi (NMB) to serwer nazw. Wskazane
jest, aby razem je uruchamiać, restartować, zatrzymywać. Nie
instaluj innych narzędzi np. VEBMIN lub takich, które mają w nazwie
słowo SAMBA np. samba-winbind. Nie ma potrzeby mącić sobie w
głowie druidami "ułatwiającymi" konfigurację. Zrobimy wszystko
ręcznie edytując plik /etc/samba/smb.conf ;)
Serwer SAMBA można restartować na minimum dwa
sposoby:
-
w KDE: MANDRAKE CONTROL CENTER- SYSTEM- USŁUGI-
SAMBA
-
w powłoce tekstowej: /etc/rc.d/init.d/smb
restart (lub start, stop).
W Mandrake 9.x skrypty restartujące SAMBĘ same
pilnują, aby jednocześnie zostały uruchamione (ew. wyłączone)
wspomniane powyżej demony SMB i NMB.
Składnię plików konfiguracyjnych testujemy zleceniem:
testparm . Nie wystrasz się ilością opcji ;)
Miejsca położenia plików SAMBY:
-
/etc/samba/* (pliki konfiguracyjne, w tym najważniejszy
dla nas: smb.conf)
-
/usr/share/samba/scripts/* (scrypty)
-
/usr/bin/smb* (miejsce zainstalowania SAMBY - wszystkie
11 plików ma ma nazwy zaczynające się od przedrostka
smb...)
-
/var/log/samba/* (logi z pracy demona)
Test poprawności instalacji SAMBY.
Masz zainstalowany SAMBA-serwer. Czas na
test. Na początku zabezpiecz cały katalog /etc/samba
kopiujac jego zawartość do np. /archiwim . Następnie wyedytuj plik
/etc/samba/smb.conf i umieść w nim taką treść:
# testowy wpis
[global]
workgroup = MDKGROUP
netbios name = SERWEREK
server string = Mój serwer
linuksowy
security = share
Wyjaśnienia:
-
Plik smb.conf jest zwykłym plikiem tekstowym
podzielonym na sekcje oznaczane nagłówkami umieszczonymi w
nawiasach klamrowych [ ]. Jeżeli wiersz zaczyna się od znaku #
(hasz) lub ; (średnik), to oznacza, że mamy do czynienia z
komentarzem.
-
Usuń (a najlepiej przenieś do archiwum) plik
/etc/samba/smb-winbind.conf . Jest on plikiem
konfiguracyjnym demona samba-winbind, którego nie
zainstalowałeś.
-
Powyższy, testowy wpis w smb.conf wykonałeś
po to, aby sprawdzić prawidłowość instalacji serwera SAMBA. Po
restarcie Linuksa (i klienta windowsowego) zobaczysz w windowsowym
OTOCZENIU SIECIOWYM ikonkę nowej grupy MDKGROUP, a w niej
komputerek linuksowy. Na razie nic nie udostępnia.
Jeżeli klient windowsowy nie widzi serwerka (lub udostępnionych
na nim katalogów), to daj
START -->URUCHOM -->
\\nazwa_lub_IP_kompa_sieciowego
lub wpisz w pliku konfiguracyjnym, w wierszu netbios name =
192.168.0.1 (czyli nr IP serwera, zamiast słowa
SERWEREK).
Jeżeli klient Win9x nie widzi komputerów w Otoczeniu Sieciowym,
to wyedytuj plik c:\windows\lmhosts.sam . Daj w nim taki
wpis:
adres ip kompa [pare spacji] nazwa kompa [pare
spacji] #PRE
czyli
192.168.0.2 SERWEREK #PRE
Wówczas nie tyle zobaczysz komputery w Otoczeniu Sieciowym, ale gdy
dasz ZNAJDŹ KOMPUTER (Właściwości Otoczenia Sieciowego) i podasz
nazwę SERWEREK, to znajdziesz go
bez problemu.
Przyjmuję za oczywiste, że ustawiłeś firewalla (ipchains lub
iptables) w opcji maskowania i firewall nie blokuje Samby.
Opis poszczególnych pozycji:
# testowy wpis
komentarz, czyli tekst który można skasować (wiersz
musi się zaczynać od znaku # zwanego hasz)
[global]
sekcja zawierająca ogólne parametry SAMBY
workgroup
nazwa grupy roboczej
netbios name
nazwa komputera linuksowego, pod jaką pojawi się w
windowsowym OTOCZENIU SIECIOWYM
serwer string
opis komputera linuksowego
security
ustala sposób zabezpieczenia: tu na poziomie
zasobów (share). Teoretycznie może też być na poziomie
użytkowników (user).
Teraz nauczysz się udostępnić zawartość wybranego
katalogu na serwerze linuksowym dla klientów windowsowych.
Będzie to dostęp dla każdego użytkownika z pełnią
praw (do czytania, modyfikowania, kasowania).
-
Utwórz katalog /home/public1 o prawach
0777 root.root (poleceniem md /home/public1 lub
mkdir /home/public1 oraz chmod 777 /home/public1 oraz
chown root.root /home/public1). Jeżeli byłeś zapobiegliwy w
trakcie dzielenia dysku (podczas instalacji Linuksa), to umieścisz
ten katalog na osobnej partycji z punktem montowania /home/public.
Za jakiś czas zamontujesz go bardzo restrykcyjnie,
zabezpieczając się przed przepełnieniem konta oraz (co ważniejsze)
zapewniając bezpieczeństwo danych. Najlepszym rozwiązaniem będzie
jednak zakup drugiego, niewielkiego dysku z punktem montowania
/home/public. Nie lekceważ tego zagadnienia. Jeżeli uda się komu
umieścic exploita sambowego w takim katalogu, to grozi przejęcie
praw roota. Dlatego należy zadbać o bezpieczeństwo na wielu
poziomach: montowanie partycji bez prawa odpalenia programu (noexec
plus nosuid, nodev itd), zabezpieczenie całego systemu poprzez
montowanie partycji /usr w trybie ro (tylko do odczytu) itd. Więcej
o BHP tutaj.
-
Wpisz następujące dane do pliku
/etc/samba/smb.conf . Przypominam, że po każdej zmianie
należy jako root zlecić testparm w celu weryfikacji
poprawności.
[global]
workgroup = WORKGROUP
netbios name = SERWEREK
server string = Mój serwer
linuksowy
security = share
character set = ISO8859-2
client code page = 852
[sekretariat]
comment = Dokumenty działu
SEKRETARIAT
path = /home/public1
create mask = 0777
directory mask = 0777
browsable = yes
writable = yes
guest ok = yes
Uwaga:
parametr create mask może być zastąpiony
wpisem create mode (jest to synonim)
parametr directory mask może być zastąpiony
wpisem directory mode (jest to synonim)
parametr browsable może być zastąpiony
wpisem browseable (jest to synonim)
parametr writable może być zastąpiony wpisem
writeable (jest to synonim).
O przeciwnym znaczeniu do writable jest read
only
parametr guest ok może być zastąpiony wpisem
public (jest to synonim)
parametr charakter set może być zastąpiony
wpisem coding system (jest to synonim)
Opis poszczególnych pozycji:
[global]
sekcja zawierająca ogólne parametry SAMBY
workgroup
nazwa grupy roboczej
netbios name
nazwa serwera jaką zobaczysz w windowsowym
OTOCZENIU SIECIOWYM. Jeżeli klient windowsowy nie widzi serwerka
(lub udostępnionych na nim katalogów), to daj START -
URUCHOM --> \\nazwa_lub_IP_kompa_sieciowego lub
wpisz w pliku konfiguracyjnym, w wierszu netbios name = 192.168.0.1 (czyli nr IP serwera, zamiast słowa
SERWEREK). Przyjmuję za oczywiste, że
ustawiłeś firewalla (ipchains lub iptables) w opcji maskowania i
firewall nie blokuje Samby.
serwer string
opis komputera linuksowego
security
ustala sposób zabezpieczenia: tu na poziomie
zasobów (share). Teoretycznie może też być na poziomie
użytkowników (user). My jednak zajmujemy się tutaj wersją
share.
character set
ustala kodowanie znaków (czcionek) na serwerze
linuksowym.
Międzynarodowa strona kodowa języka polskiego to:
ISO8859-2
client code page
ustala kodowanie znaków (czcionek) u klientów
windowsowych. Windowsowe kodowanie polskich czcionek to:
852
[sekretariat]
nagłówek nowej sekcji będący jednocześnie nazwą
udostępnionego katalogu w windowsowym OTOCZENIU SIECIOWYM.
comment
opis udostępnionego katalogu
path
rzeczywista ścieżka dostępu do udostępnionego
katalogu
create mask
czyli create mode - definiuje prawa jakie
zostaną automatycznie narzucone wobec nowoutworzonych plików. Maska
0777 daje wszystkim użytkownikom całość praw (do czytania,
modyfikowania, uruchomienia i usunięcia)
directory mask
czyli directory mode - definiuje prawa jakie
zostaną automatycznie narzucone wobec nowoutworzonych katalogów.
Maska 0777 daje wszystkim użytkownikom całość praw (do czytania,
modyfikowania i usunięcia)
browsable
parametr określający czy dany zasób ma być widoczny
dla windowsowych użytkowników (oczywiście domyślnie jest
yes)
writable
dodatkowa opcja zezwalająca (lub nie) na tworzenie
oraz modyfikowanie istniejących plików i katalogów. Synonimem jest
writeable lub o przeciwnym znaczeniu read only.
guest ok
czyli public - parametr zezwalający na
dostęp do zasobów bez podawania hasła.
Jeżeli klienty windowsowe pracują na bardzo małych
dyskach twardych i każdy w sieci ma do siebie zaufanie, to powyższa
propozycja jest wprost wymarzonym rozwiązaniem. Niestety czasami
trzeba ograniczyć dostęp do zasobów poprzez wprowadzenie
haseł...
Podziękowania dla autora witryny: http://linio.terramail.pl/samba.phpl
.