V rytmu Samby 2

V rytmu Samby 2


Tématem tohoto dílu seriálu o Sambě bude nástroj, který se jmenuje SWAT

tucnak_button.gif

 

3. SWAT - Samba Web Administration Tool (a konfigurace xinetd)
Popravdě řečeno, SWAT je velmi příjemný nástroj pro konfiguraci Samba serveru. V podstatě se jedná o démona, který je spouštěn pomocí superserveru xinetd (ano, superserver xinetd tedy musí být po startu Linuxu aktivní - máme na mysli ten počítač, který funguje jako Samba server, nezapomínejte na to). Klidně zařaďte xinetd do runlevels, ovšem pozor na jeho konfigurační soubor xinetd.conf, který se nachází v adresáři /etc. Ujistěte se, že bude vypadat nějak takto:

Soubor /etc/xinetd.conf
#
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
}

includedir /etc/xinetd.d

Důležitá je poznámka o tom, kde se nacházejí konfigurační soubory pro jednotlivé služby, spouštěné pomocí superserveru xinetd. V posledním řádku souboru /etc/xinetd.conf jsme se dočetli, že se nacházejí v adresáři /etc/xinetd.d

Výpis souborů v tomto adresáři může vypadat následovně:
ls -l
celkem 60
-rw-r--r-- 1 root root 295 čec 14 12:23 daytime
-rw-r--r-- 1 root root 319 čec 14 12:23 daytime-udp
-rw-r--r-- 1 root root 287 čec 14 12:23 echo
-rw-r--r-- 1 root root 310 čec 14 12:23 echo-udp
-rw-r--r-- 1 root root 317 čec 14 12:23 finger
-rw-r--r-- 1 root root 295 čec 14 12:23 chargen
-rw-r--r-- 1 root root 319 čec 14 12:23 chargen-udp
-rw-r--r-- 1 root root 343 čec 14 12:23 linuxconf-web
-rw-r--r-- 1 root root 257 čec 14 12:23 ntalk
-rw-r--r-- 1 root root 317 čec 14 12:23 rsync
-rw-r--r-- 1 root root 380 čec 14 12:23 swat
-rw-r--r-- 1 root root 245 čec 14 12:23 talk
-rw-r--r-- 1 root root 303 čec 14 12:23 telnet
-rw-r--r-- 1 root root 319 čec 14 12:23 time
-rw-r--r-- 1 root root 315 čec 14 12:23 time-udp

Nelekejte se. To, že se zde nachází konfigurační soubor pro nějakou službu, ještě neznamená, že je tato služba povolena. Ukážeme si to na příkladu telnetu:

Soubor /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
Konec souboru

Vzhledem k tomu, že zde vidíme parametr disable = yes, je zřejmé, že telnet povolen není.

A teď swat
Soubor /etc/xinetd.d/swat
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
# to configure your Samba server. To use SWAT, \
# connect to port 901 with your favorite web browser.
service swat
{
disable = no
port = 901
socket_type = stream
wait = no
only_from = 127.0.0.1 10.10.10.30 10.10.10.32
user = root
server = /usr/sbin/swat
log_on_failure += USERID
}
Konec souboru

Nemusím snad zdůrazňovat, že povoleny jsou pouze věci skutečně potřebné a služby jako finger, či telnet určitě nepotřebujete. Alespoň pro běh Samby určitě ne. Zvažte sami, co milému xinetd dovolíte.

Poznámka:
Jistě jste se setkali s výrazem inetd. Ano, je to předchozí verze superserveru xinetd a jeho konfigurační soubor naleznete v /etc/inetd.conf.

A nesmíme zapomenout na soubor /etc/services, kde musí být tato řádka:

swat 901/tcp # Samba Web Administration Tool

Příslušnou řádečku by do souboru /etc/services měl zařadit sám systém a to při instalaci Samby. Ovšem, není na škodu se o tom přesvědčit.

Poté, co jsme změnili konfigurační soubory, musíme démona xinetd restartovat. Vzhledem k tomu, že jeho "inicializační" skript v /etc/init.d se jmenuje stejně jako samotný démon (tedy xinetd) bude lépe, když skript zavoláme s plnou cestou a tak předejdeme omylu. Tedy:

/etc/init.d/xinetd reload
(pokud xinetd dosud neběžel, použijte parametr start)

A nyní již může přistoupit ke kapitole nazvané:

3.1 Jak spustit SWAT
Popravdě řečeno, není to nic světoborného. Vezměte váš www prohlížeč, zadejte mu IP adresu Samba serveru (řekněme, že to pro náš případ bude 10.10.10.32 a přidejte ještě :901. Celý řádek bude tedy vypadat takto: 10.10.10.32:901
Ano, 901 je číslo portu, na kterém "čeká" náš drahoušek SWAT.

Mělo by se vám objevit následující okénko:

 

samba1.gif
Obrázek 1: Zadání uživatele a hesla pro SWAT.

 

Při prvním spuštění nejspíše nebudete mít nadefinovány žádné uživatele a tak směle zadejte systémového uživatele root a jeho heslo.

Jakmile tak učiníte, objeví se již samotný SWAT:

 

samba2.gif
Obrázek 2: SWAT.

 

3.2 Jednotlivá menu SWATu
Jak je vidět na předchozím obrázku, nabízí se nám hned několik základních menu. Konkrétně jsou to HOME, GLOBALS, SHARES, PRINTERS, STATUS, VIEW a PASSWORD. Mimochodem, pokud uděláte nějaké změny, nezapomeňte si je uložit pomocí volby "Commit Changes". Volba "Reset Values" obvykle nastaví zpět původní, předdefinované hodnoty a pomocí volby Advanced View může nastavit řadu dalších (méně používaných) parametrů.

 

Obrázek 3: Status SAMBY:

samba3.gif

 

 

4. Soubor smb.conf
Tento soubor se nachází v adresáři /etc/samba a může vypadat třeba takto:
# Samba config file created using SWAT # from 10.10.10.30 (10.10.10.30) # Date: # Global parameters !COMPILER-ERROR-TAG-NOT-FOUND-global! workgroup = SAMBA netbios name = SAMBA server string = Samba Server encrypt passwords = Yes log file = /var/log/samba/log.%m max log size = 50 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 character set = ISO8859-2 client code page = 852 os level = 65 preferred master = Yes domain master = Yes dns proxy = No # allow hosts = #
Pro zjednoduseni není parametr "allow hosts" použit.
!COMPILER-ERROR-TAG-NOT-FOUND-homes! comment = Home Directories read only = No browseable = No !COMPILER-ERROR-TAG-NOT-FOUND-printers! comment = All Printers path = /var/spool/samba print ok = Yes browseable = No !COMPILER-ERROR-TAG-NOT-FOUND-ALLROOT! path = / valid users = @samba admin users = @root write list = @samba read only = No # allow hosts = !COMPILER-ERROR-TAG-NOT-FOUND-DISKA! path = /diska read only = No.

 

Pro jednoduchost jsem zvolil ten nejjednodušší příklad. Tedy, zjednodušující podmínky jsou tyto:

  1. SAMBA nemá žádná omezení ohledně IP adres koncových stanic. Parametr "allow hosts" tedy není použit.
  2. Uživatelé ve skupině root nemají žádná omezení (mohou všechno) a to na sdílených svazcích ALLROOT a DISKA. Jinými slovy, administrátoři.
  3. Uživatelé ve skupině samba jsou platnými uživateli pro Sambu a mají pro ALLROOT a DISKA právo zápisu.
  4. V předchozím textu jsem se nezmínil o odstavci !COMPILER-ERROR-TAG-NOT-FOUND-homes!. Tedy vězte, že SAMBA umí zpřístupnit jednotlivým uživatelům jejich "domovské" adresáře. Nastavení těchto adresářů si pochopitelně "přečte" v parametrech operačního systému. Pro každého uživatele (pokud ovšem nezakouzlíte jinak) se tedy jedná právě o ten home adresář, který mu Linux přidělí po úspěšném zahlášení do systému.

 

Příště se dozvíme o tom, jak lze vlastně spustit onen tanec se sambou Sambu.

Michal Vymazal
www.linuxservices.cz