Samba server na linuxe - súborový server

Úloha

Nainštalujte a nastavte zdieľanie linux servera so stanicami windows. Vytvorete nasledovné zdieľané adresáre
  1. diskO - tento adresár má byť určený pre zápis a čítanie pre všetkých
  2. diskP - tento adresár má byť určený iba na čítanie pre všetkých
  3. www - tento adresár má byť určený pre manipulovanie s obsahom www stránky servera
  4. Pre anonymné ukladanie dát vytvorte systémového užívateľa smbuser
  5. Vytvorte si vo windowse na svojom disku h: povelový súbor diskyMojaSamba.cmd Vložte tam príkazy pomocou ktorých namapujete disky O: P: R: zo svojho samba servera.

Teoria

Táto úloha bola v prevažnej miere vytvorená podľa tohoto videa

V prípade že máte problém so syntaxou konfiguračného súboru - samba server nejde spustiť. použite nasledovný príkaz analýzu a validaáciu konfiguračného súboru.

samba-tool testparm

Postup

  1. Nainstalovanie samba balíka
    apt install samba
  2. Kontrola či samba démon beží
    systemctl status smbd
  3. Pohľad na konfiguračné súbory. Všimnite si meno hlavného konfiguračného súboru.
    cd /etc/samba ls
  4. Pohľad do konfiguračného súboru
    mcview smb.conf
  5. Toto bude náš vzorový súbor pre vytvorenie našej vlastnej konfigurácie. Preto si tento súbor premenujemena na smb.conf.example
    mv smb.conf smb.conf.example ls
  6. Zastavíme samba server keďže momentálne nexistuje žiadny konfiguračný súbor
    systemctl stop smbd systemctl status smbd
  7. Vytvorenie vlastného konfiguračného súboru v ktorom si nadefinujeme
    mcedit smb.conf
  8. Vložte do konfiguračného súboru nasledovné dve sekcie. Je potrebné vedieť čo ktorá sekcia definuje a prečo. Sekcia global Sekcia diskO
    [global] server string = Vitajte na serveri %h workgroup = WORKGROUP security = user map to guest = bad user name resolve order = bcast host log file = /var/log/samba/log.%m log level = 5 [diskO] path = /var/samba/diskO force user = smbuser force group = smbuser create mask = 0664 force create mode = 0664 directory mask = 0775 force directory mode = 0775 public = yes writable = yes
  9. Spustite samba démona
    systemctl start smbd
  10. Otvorte si okno windows prieskumníka a zadajte sieťovú cestu k serveru \\ip adresa servera. Mali by ste vidieť zdielaný prostriedok diskO Ak sa však k nemu pokúsite pristúpiť zistíte že to nie je možné.
  11. Nechajte si zobraziť logy týkajúce sa samby sa zistite v čom je problém
    journalctl -u smbd
  12. Ako vidíte z logov problém je že nie je možné vstúpiť do adresára /var/samba/diskO. To je predsa jasné že tento adresár neexistuje pretože ho zatiaľ nikto nevytvoril. Na to je ale ľahká pomoc Vytvoríme adresár /var/samba/diskO.
    mkdir -p /var/samba/diskO
    Otázka na preskúšanie je prečo je tam ten parameter -p A ako by sa to dalo urobiť bez toho parametra.
  13. Opätovne vo windows sa pokúste dostať na diskO. Stále sa tam nedá dostať ale problé sú teraz práva.
  14. Kontrola oprávnení na zdielaný adresár
    root@debian-VM-xx:/var/log# ls -l /var/samba celkom 4 drwxr-xr-x 2 root root 4096 mar 12 13:07 video
    Z výpisu je zrejmé že máme nesprávne nastaveného vlastníka súborov
  15. Pridajte systémového užívateľa smbuser. Užívateľovi nastavte aby sa nemohol prihlásiť ako bežný užívateľ - zneprístupnite mu shell
    useradd --system -s /bin/false smbuser cat /etc/passwd cat /etc/group cat /etc/shadow
  16. Opätovne vo windows sa pokúste dostať na diskO. Už sa tam dá teraz dostať a je to zatiaľ prázdne. Skúsme tam vytvoriť adresár z windows prieskumníka. Toto skončí s chybou
  17. Skusme tam vyrobiť adresár video pomocou vzdialeného prístupu
    mkdir /var/samba/diskO/video
    Akonáhle súbor vytvoríme, tak by sa mal objaviť aj v okne prieskuníka. Ale opäť tu nejde nič vytvárať ani mazať. V úlohe však je požadované aby na diskO mohol zapisovať každý.
  18. Zmena vlastníka na užívateľa smbuser
    root@debian-VM-xx:/var/log# chown -R smbuser:smbuser /var/samba
    Po tomto administačnom zásahu sa už na diskO musí dať vytvoriť adresár alebo súbor aj pomocou windows explorerom. A dokonca sa musí dať aj mazať. Prvú úlohu máme teda úspešne dokončenú.
  19. Na základe predošlých krokov by ste mali vedieť urobiť aj úlohu č. 2 Teda vytvoriť zdieľaný diskP ktorý bude pre užívateľov prístupný iba na čítanie. Obsah tam teda musí vkladať správca unixovského servera.
  20. Rovnako sa dá postupovať aj pri tvorbe zdieľaného adresára k HTML stránke servera.