0.SPIS TRESCI | 8. DODATKOWE KONSOLE
SAMBA – czyli jak postawisz, tak zatańczysz!
Zawsze przyjdzie taki czas dla administratora, kiedy będzie musiał swoją sieć wzbogacić. J
Mając do dyspozycji duży dysk – dlaczego, by nie udostępnić zbirów przechowywanych na serwerze
lub zrobić z prawdziwego zdarzenia otoczenie sieciowe.
W tym celu instalujemy pakiet Samby.
Przechodzimy do poldka:
# poldek
i instalujemy pakiet
# install samba
Po chwili nasza samba jest zainstalowana w katalogu:
/usr/local/samba
Oczywiście można zainstalować Sambę ze źródeł. Udajemy się na stronę http://www.samba.org.
Pobieramy
dostępna wersję np. samba-2.2.4.tar.gz.
Następnie wykonujemy szereg poniższych czynności:
- rozpakowujemy ściągnięty plik
# tar
zxvf samba-2.2.4.tar.gz
- przechodzi do katalogu zawierającego
# cd
samba-2.2.4/source/
- wydajemy polecenie
#
./configure
- kompilujemy sambę:
# make
- oraz instalujemy
# make
install
Głównym plikiem konfiguracyjnym Samby jest plik smb.conf w katalogu:
/usr/local/samba/lib/
[Należy też sprawdzić czy
podczas instalacji nie został dodany
katalog konfiguracyjny w /etc/samba]
Dobrze jest zrobić sobie symboliczne dowiązanie:
ln –s /usr/local/samba/lib/smb.conf /etc/smb.conf
No to zabieramy się do pracy!
Nasza Samba będzie pracowała jako otoczenie sieciowe, nie będziemy tworzyli serwera domen.
Edytujemy plik smb.conf i piszemy:
--------------------------------------------------------------------------------------------------------------------------
[global] #zmienne globalne
# polskie fonty
character set = ISO8859-2
client code page = 852
workgroup = BIEDA # to jest nazwa grupy roboczej
netbios name = GANDZIA # nazwa naszego komputerka
server string = Serwer # opis naszego komputerka
hosts allow = 192.168.0.0/255.255.255.240 127.0.0.1 # dostęp do samby ma tylko sieć LAN
guest account = samba # dodajemy gościa o nazwie samba (może być dowolny np. „lolek”)
log file = /usr/local/samba/var/log.%m # nasze logi będą w podanym katalogu
max log size = 50
security = share # ustawienie zabezpieczeń na poziomie zasobów
dns proxy = no
encrypt passwords = yes # hasła szyfrowne
smb passwd file = /etc/smbpasswd # przechowywane w pliku …
[homes] # dostęp do domowych katalogów
comment = Home Directories # opis
browseable = no # ścieżka (katalog) niewidzialna dla innych
writable = yes # możliwość zapisu
valid users = %S # dostęp do zasobów ma określony user – ten co się loguje
[rozrywka] # udostępniamy wybrany zasób (katalog) – widziany w otoczeniu sieciowym jako rozrywka
comment = Dysk do wymiany danych # opis
path = /home/samba/wasze # ścieżka dostępu
create mask = 0777 # pliki będą tworzone z takimi prawami
directory mask = 0777 # katalogi będą tworzone z takimi prawami
users = samba # zapisywane pliki i katalogi będą miały takiego właściciela
group = samba # zapisywane pliki i katalogi będą należały do takiej grupy
browseable = yes # ścieżka (katalog) widziana dla innych
writable = yes # możliwość zapisu
guest ok = yes # do zasobu ma dostęp gość
[privat] # dostęp do zasobów na hasło
comment = Prywatne dane # opis
path = /home/moje # ścieżka dostępu
browseable = no # ścieżka niewidzialna dla innych
valid users = jurek # dostęp do tego zasobu ma tylko użytkownik „jurek”
writable = yes # możliwość zapisu
public = no #
create mask = 0744 # pliki będą tworzone z takimi prawami
direktory mask = 0744 # katalogi będą tworzone z takimi prawami
---------------------------------------------------------------------------------------------------------------------------
Poprawność naszego pliku konfiguracyjnego sprawdzimy
narzędziem testparm:
# /usr/local/samba/bin/testparm smb.conf
To na tyle jeśli chodzi o konfigurację pliku smb.conf. Oczywiści ustawień samby jest o wiele więcej.
Może ona udostępniać drukarki, działać jako serwer WINS itd. My pokażemy jak udostępnić wybrany katalog na serwerze.
W tym celu tworzymy nowy katalog tak jak wskazaliśmy w zasobie „rozrywka”:
# mkdir /home/smaba
# mkdir /home/samba/wasze
Oczywiście musimy zmienić prawa, aby inni mieli dostęp do naszego katalogu
# chmod 777 wasze
W części global w pliku smb.conf zdefiniowaliśmy gościa „samba” (guest account = samba)
To samo musimy zrobić w systemie. Dodajemy nowego użytkownika:
# useradd samba
Dodajemy grupę samba – będzie nam to potrzebne do quoty (ale to w kolejnym rozdziale J)
# groupadd samba
Nasz użytkownik „samba” nie ma mieć dostępu do shella i nie ma mieć katalogu domowegoJ.
W tym celu przechodzimy do pliku /etc/passwd i odnajdujemy wpis samba i zmieniamy go:
samba:x:501:1000:Serwer
SAMBA:/dev/null:/bin/null
Zmieniamy jeszcze właściciela i grupę katalogu wasze:
# chown samba:samba wasze
Jeżeli mamy te wszystkie powyższe rzeczy zrobione to możemy włączyć naszą Sambę
- uruchamiamy demona smbd:
/usr/local/samba/bin/smbd
-D
- uruchamiamy demona nmbd:
/usr/local/samba/bin/nmbd
–D
Możemy oczywiście napisać sobie skrypty, które będą uruchamiały i zatrzymywały naszą Sambę
Pozostało jeszcze dodanie użytkowników Samby
Służy do tego polecenie smbpasswd:
#
smbpasswd –a jurek - tworzy
nowego użytkownika „jurek”
#
smbpasswd –d jurek - blokuje
użytkownika
#
smbpasswd –e jurek - usuwa
blokadę
#
smbpasswd –x jurek - usuwa
użytkownika
# smbpasswd jurek - zmienia hasło
# smbpasswd - zmienia hasło dla aktualnie zalogowanego
[Konta
gościa – „samba” nie musimy dodawać!]
Teraz spróbujemy się zalogować na nasze udostępnione zasoby. Wykorzystamy do tego smbclient
Wydajemy polecenie:
# /usr/local/samba/bin/smbclient //gandzia/rozrywka (lub //localhost/rozrywka)
Zostaniemy poroszeni o hasło – klikamy enter, gdyż zasób jest dostępny dla gościa (bez hasła).
Wygląd to tak:
[jurek@gandzia /]# smbclient //localhost/rozrywka
added interface ip=192.168.0.3 bcast=192.168.0.15 nmask=255.255.255.240
Password:
Domain=[BIEDA] OS=[Unix] Server=[Samba 2.2.12]
smb: \> quit
[jurek@gandzia /]#
Aby uzyskać pomoc o dostępnych opcjach w trybie klienta samby wpisz help J
Następnie spróbujemy zalogować się na zasób „jurka” który jest chroniony hasłem.
# /usr/local/samba/bin/smbclient //localhost/privat
Tu już musimy podać hasło (te które zakładaliśmy przy smbpasswd jurek)
Jeżeli udało nam się zalogować oznacz, że nasza samba jest poprawnie skonfigurowana.
Samba posiada jeszcze jedno przydatne narzędzie: findsmb. Za jego pomocą możemy wyszukać dostępnych
zasobów w naszej sieci.
[jurek@gandzia sysconfig]# findsmb
*=DMB
+=LMB
IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION
---------------------------------------------------------------------
192.168.0.3 GANDZIA +[BIEDA] [Unix] [Samba 2.2.12]
192.168.0.11 SPEED +[BIEDA] [Windows 5.1] [Windows 2000 LAN Manager]
[jurek@gandzia sysconfig]#
Wyświetli nam się informacja o komputerach, ale nie o tym jakie katalogi udostępniają.
Jeżeli chcemy wiedzieć co dany host udostępnia wystarczy wydać polecenie:
# /usr/local/samba/bin/smbclient -L speed
gdzie speed – to nazwa hosta.
Możemy również zalogować się na zasób udostępniany przez Windowsa.
# /usr/local/samba/bin/smbclient //speed/mp3
Większość użytkowników używa Windowsów. Po tych wszystkich czynnościach nasz zasób
powinien być widziany w otoczeniu sieciowym Windy. Ale jak to zwykle bywa rzeczywistość
jest innaJ. Możemy sobie pomóc mapując dyski sieciowe w Windowsie.
Przechodzimy do linii poleceń (tryb MSDOS) i wydajemy komendę:
C:\Documents and Settings> net view
Nazwa serwera Uwaga
-------------------------------------------------------------------------------
\\GANDZIA Serwer
\\PRZEMO
\\SPEED
Polecenie zostało wykonane pomyślnie.
C:\Documents and Settings>
Widzimy, że nasz serwer GANDZIA jest dostępny. (to już połowa sukcesu J)
Teraz klepiemy polecenie:
net use Z: \\gandzia\rozrywka
[Nie
jest istotna wielkość liter]
Zasób powinien być zmapowany na dysk Z!
Aby zmapować nasz katalog zabezpieczony hasłem wydajemy polecenie tak jak wyżej:
net use P: \\gandzia\privat
dodatkowo będziemy musieli podać nazwę użytkownika i hasło (w naszym przypadku user: jurek; hasło:....?)J
Temat nie został wyczerpany! Dodatkowe informacje i wskazówki znajdziecie na pewno na stronie:
http://linio.terramail.pl/samba.html
lub możecie pobrać stąd: ABCsamby