1. NFSAko prvé tu máme NFS - netowork file system. Je to prokolol pre zdielanie adresárov v počítačovej sieti. Na strane serveru je nutné nainštalovať balík nfs-kernel-server. Súbor, v ktorom sa konfigurícia nachádza je /etc/exports. Syntax:
/cesta/k/priečinku 192.168.150.0/24 (parametre zdielania)Uvedená adresa siete alebo zariadenia je oprávnená na zdielanie.
Parametre, ktoré môžeme nastaviť:
- rw - čianie a zápis
- ro - iba čítanie
- no_root_squash - ak sa na klientovi prihlásí root, bude rootom aj na serveri
- sync - NFS bude zapisovat na disk okamžite - nebude čakať na odpoveď (rychlejšie)
- crossmnt - pokiaľ zdielaný adresár je podadresárom již zdielaného, musíme nastaviť možnosť crossmnt
- fsid=0 - definícia korenového adresára
- no_subtree_check - kontroluje, za je súbor stále dostupný v exportovanom strome - odporúčam nepouživať
Príklad zdielania:
/srv/data 192.168.10.0/24 (rw, crossmnt, sync, fsid=0, no_root_squash)
/srv/data/home 192.168.10.2 (ro, fsid=1, sync, no_root_squash)
Dočasné pripojenie: mount -t nfs xxx.xxx.xxx.xxx:/sdielany/priečinok /môj/priečinok
Je dôležité myslieť aj na to, že výsledné oprávnenie je prienik oprávnenia v súbore "exports" a oprávnení samotného adresára
2. SAMBA standaloneSamba - implementácia protokolu SMB (server message block). Umožňuje zdielanie súborov a tlačiarní medzi windows a unix.
Role samby:
- Standalone - samostatný server
- AD-DC - Domain controller
- Member - člen AD Domény
- Backup AD-DC - Záložný domain controller
Služby samby:
- smbd- zdilanie súborov a tlačiarní
- nmbd - služby NetBIOS - mapovanie NetBIOS men na IP adresy
Balík sa menuje jednoducho "samba"
Konfigurácia sekcie GLOBALSúbor, ktorý editujeme je "/etc/samba/smb.conf". Pred zmenami odporúčám súbor zálohovať.
V súboru budeme editovať čásť [GLOBAL]
Nastavujeme zde roli serveru.
Ako ďalšie nastavujeme:
- Pracovnú skupinu/doménu - workgroup = WORKGROUP
- komentár, ktorý sa objaví u môjho mena pri zdielaní - server string = %h server
- interface / sieť - zde bude samba odpovedať - interfaces = xxx.xxx.xxx.xxx/xx - a nebo napr. enp0s3. musím preto nastaviť aj "bind interfaces only = yes"
Konfigurácia zdielaniaPríklad s vysvetlivkami:
[ZDIELANIE] - názov zdielania
comment = Môj adresár - komentár zdielania
path = /môj/adresár - cesta ku zdieľanému adresáru
browsable = yes - nastavenie, či bude adresár viditeľný
read only = no - nastavenie, či bude adresár iba pre čitanie
writable = yes - súvisí s "read only"
valid users = mato juro @rodina - oprávnení používatelia a skupiny (skupina zapisujeme ako "@názov-skupiny")
read list = juro peter - použivatelia, ktorý môžu iba čítať
write list = matus - puživatelia, ktorý môžu aj zapisovať
invalid users = root - zakázaní používatelia
guest ok = nocreate mask = 0777 - práva pre nové súbory
directory mask - 0777 - práva pre nové adresáre
po úprave reštarovať
smbd a
nmbdPoužívateliaMusíme vytvoriť aj používateľa samby - podmienka: musí existovať aj ako klasický unix user
Príkaz: smbpasswd -a používateľ
Na strane klientaNainštalujeme smbclient a cifs-utils (common internet file system)
Prohliženie adresárov: smbclient -L adresa-serveru
Pripojenie adresára: mount -t //server/meno-zdielania /kam/chcem/namountovať
Trvalé pripojenie: //server/meno-zdielania /kam/chcem/mountovat cifs guest, uid=nobody, iocharset=utf8, noperm 0 0
Aj tu je dôležité pamätať na správné oprávnenie na adresároch.
3. Samba AD-DCPonúká tie isté funkcie ako Windows Server
Konfigurácia: Pomenujeme náš server aj s domenovym menom v súbore /etc/hostname - napr. server.domena.lan
V súbore /etc/hosts nastavíme náš preklad severa na našu ip adresu, napr.
192.168.1.100 server.domena.lan
a rebootneme
Nainštalujeme baliky samba krb5-config a winbind
Konfigurácia kerberosu:
Default kerberos version 5 realm: DOMENA.LAN
Kerberos servers for your realm: server.domena.lan
Administrative server for your realm: server.domena.lan
Ak sme urobili chybu pri konfigurácii: sudo apt autoremove --purge krb5
Povýšenie samby na AD DCPremenujeme pôvodný súbor samby - mv /etc/samba/smb.conf /etc/samba/smb.orig
Povýšíme sambu na domain controller: samba-tool domain provision
Tlačime stale ENTER, u DNS forwarder nastavujeme 8.8.8.8 (typicky)
Na konci sa nás to opýtá na adminstratorske heslo (je tu zasade pre silné heslo), takže pre testovanie možme nastaviť napr. Admin1234 a stlačíme enter
Ako ďaľšie zakážeme isté služby:
Zkopírujeme kerberos config do /etc -
cp /var/lib/samba/private/krb5.config /etc/Zastavíme služby, ktoré by vadily domain controlleru
systemctl stop smbd nmbd winbind systemd-resolvedsystemctl disable smbd nmbd winbind systemd-resolvedMusíme odstraniť link na resolv.conf
ll /etc/resolv.confunlink /etc/resolv.confUpravíme súbor resolv.conf
nano /etc/resolv.confDo súboru vložíme:
domain domena.lan
nameserver 127.0.0.1Naštartujeme služba samba-ad-dc
systemctl unmask samba-ad-dc
systemctl start samba-ad-dc
systemctl enable samba-ad-dcSkontrolujeme domenu:
samba-tool domain level showKontrolu konfiguračného súbaru samby môžme skontrolovať pomocou príkazu
testparmAk je všetko v poriadku, počítač s OS windows sa môže pripojiť do domeny
Práce s použivateľmiPracujeme s príkazom samba-tool user ...
- zoznam použivateľov - samba-tool user list
- pridanie použivateľa: samba-tool user add username
Parametre:
- --must-change-at-next-login - pri prvom prihlásení musí použivateľ zmeniť heslo
- --surname - priezvisko
- --given-name - meno
- --script-path - prihlasovací skript
- --home-drive - písmeno domovskej jednotky
- --home-directory - sieťová cesta k domovskému adresáru
zmena hesla: samba-tool user setpassword "meno použivateľa"
Príklad pridania použivateľa: samba-tool user add matus --must-change-at-next-login --surname Horvath --given-name Matúš --script-path logon.bat --home-drive Z: --home-directory \\\\server\\matus (u sieťovej cesty musíme zadať vždy jedno extra lomítko - windows - \\server\matus, pri pridavani použivateľa: \\\\server\\matus)
Práca s použivateľmiPracujeme s príkazom pdbedit
- pdbedit -L - výpis objektov v Active Directory
- pdbedit -L -v - výpis objektov v AD s podrobnosťami
- pdbedit -L -v matus - informacie o použivateľovi matus
- pdbedit -h - nápoveda
Príklady: pridanie logon scriptu -
pdbedit -u matus - S logon.bat, pridanie domovskeho adresara:
pdbedit -u matus -D "Z" -h "\\\\server\\matus"Práca zo skupinami- samba-tool group add "skupina"
- samba-tool group addmembers "skupina" "použivateľ"
- samba-tool group listmembers "Názov skupiny"
Vytvorenie zdielaných adresárovTakmer isté ako pri standalone, ale pri nastavení práv dáváme skupina "users"
Príklad:
mkdir /srv/data, chown :users /srv/data, chmod 770 /srv/dataV konfiguračnom súbore:
[data]
comment = adresár
path = /srv/data
browsable = yes
guest ok = no
Logon skriptyadresár: /var/lib/samba/sysvol/názov-domény/scripts/menoskriptu.bat
Skript musí mať oprávnenie 750, skupina - users
Syntaxia skritpu je istá ako vo Windowse
Home adresárbudeme vytvárať v zložke /srv/domov
Príklad:
mkdir /srv/domov/matus, chown :users /srv/domov/matus, chmod 770 /srv/domov/matusV konfigu:
[%U]
browsable = no
path = /srv/domov/%U
valid users = %U
write list = %U
4. SSH (Secure shell)Protokol pre vzdialený zabezpečený prístup
Potrebný balíček: openssh-server
Konfiguračné súbory: /etc/ssh, log: /var/log/auth.log
Serverový konfiguračný súbor: /etc/ssh/sshd_config
Je zde možnosť zmeniť port - riadok: Port 22
Povolení a zakázaní použivateľiaDenyUsers - nemôžu sa príhlásiť cez SSH
AllowUsers - môžu sa prihlásiť cez SSH
DenyGroups - skupiny, která se nemôžu prihásiť cez SSH
AllowGroups - skupiny, ktoré sá môžu prihlášiť cez SSH
TCP Wrappery"ACL" v ktorom nastavujeme, kto kam môže a nemôže
Súbory: /etc/hosts.allow a /etc/hosts.deny
hosts.allow má prednosť pred hosts.deny
syntax: deamon: ip adresa pc alebo siete
príklad: sshd: 192.168.10.1, 192.168.10.2
Kľúčecesta: /home/použivateľ/.ssh/autohrized_keys
Zadáváme verejnú čásť kľúča
Vygenerujeme cez program puttygen
Po vygenerování zadáme passphrasi (heslo ku kľúču)
Môj odporúčaný postup:
- Pripojíme se cez SSH z windowsu na server
- Skopírujeme verejný kľúč, ktorý vidíme v hornom okýnku v programu puttygen
- Vložíme ho do súboru authorized_keys (pravým tlačítkom myši)
- Súbor uložíme
- Nastavíme oprávnenia na súbor (600ä a zložku .ssh(700) kvôli striknému modu SSH
Z puttygenu si uložím do PC súkromný kľúč, na boku v programu putty záložka SSH -> auth -> credentials. Vložíme zde náš privátný kľúč. V záložke data vyplníme auto-login username. Klikneme na session, vyplníme IP adresu a port, session pomenujeme a uložíme tlačidlom"SAVE". Keď kliknem na uloženú session, budeme sa prihlasovať pomocou kľúča. Odpočúčám v configu vypnut prihlasovanie heslom (PasswordAuthentication no)
5. Apache 2Apache 2 je webový server. Potrebujeme nainšalovať balík s názvom apache2
Virtual hostNa jednom serveri môže byť viac virtualnych hostov (stránok)
Pro vytvorenie použijeme defaultnu šablonu a vytvoríme hosta s názvom prvý
Príkaz:
cp 000-default.conf prvy.confUpravíme zde parameter:
ServerName (doména, kde je stránka), v nasom pripade prva.lan -
ServerName www.prva.lanDocumentRoot /var/www/html- zde sa nachádzá stránka fyzicky, nastavíme na
DocumentRoot /var/www/prvy CustomLog ${APACHE_LOG_DIR}/access.log combined - zde sa logujú prístupy na stránku, nastavíme na
CustomLog${APACHE_LOG_DIR}/prvy.log combinedPo konfigurácii musíme stránku spustiť - príkaz
a2ensite a menu konfiguračného súboru, v našom prípade
a2ensite prvy.conf a reloadnout apache -
systemctl reload apache2Pretože pracujeme s variantou, že nemáme v sieti stále DNS server, musíme nastaviť preklad ručne vo Windowse. Ako prvé spustíme notepad ako administrátor, poté si otvoríme zložku c:\Windows\System32\drivers\etc, musíme dať vo volbách zobraziť všetky súbory, a poté si otvoríme súbar hosts. Pridáme riadok s adresou serveru a domenou. Napr. 192.168.1.100
www.prva.lanOdporúčam vždy pri testování napísať v prehlidači ako prvé "http://" napr. "
http://www.prva.lan", pretože niektoré prehliadače s tým majú problémy.
RedirectNiektorý použivateľia sú zvyknutý písať "www" a druhý nie. Preto je dôležité, aby fungovali obi dve možnosti. Využijeme apache mód rewrite - aktuvujeme pomocou príkazu
a2enmod rewrite. Poté je dôležité celý server reštartovať -
systemctl restart apache2. Urobíme dalšieho virtualhosta, ktorý sa bude volať druha.conf. Bude istý istý ako ten predošlý, ale ServerName bude
www.druha.lan, Pod tento riadok napíšeme
ServerAlias druha.lan. Nakonfigurujeme rewrite modul:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^pokus.lan$
RewriteRule (.*) http://www.pokus.lan$1 [R=301]
Pri zadání pokus.lan nás apache presmeruje na
www.pokus.lanPo tomto opäť napíšeme DocumentRoot /var/www/druha
Opäť zapíšeme do súboru hosts.
Zmena portuApache umožnuje, aby stránka bola aj na inom portu ako je 80
Na prvom riadku je: <VirtualHost *:80>, já chcem, aby stránka bola na porte 8080. Riadok upravím na <VirtualHost *:8080>.
Je tiež dôležité, aby server počúval na portu 8080. Pôjdeme do súboru /etc/apache2/ports, a napíšeme: Listen 8080
Zabezpečenie stránkyAk chcem, abych pri prístupu na stránku overoval meno a heslo, využijem moduly dav a dav_fs -
a2enmod dav dav_fs. Po zpustení modulu musím vždy reštarovať server. Do configu stránky, ktorú chcem zabezpečiť napíšem:
<Location />
DAV On
AuthType Basic
AuthName "domena.lan"
AuthUserFile /etc/apache2/názov.súboru, napr. passwd.treti
Require valid-user
</Location>
Súbor s uživateľmiVytvorenie: htpasswd -c /etc/apache2/passwd.lan username
"-c" - vytvorý súbor. Pokiaľ je již vytvorený, a chcem pridať použivateľa, vynechám parameter "-c"
6. DHCP ServerJo dobré, aby v sieti bol centrálný DHCP server.
Naištalujeme balíček isc-dhcp-server
Konfiguračný súbor: /etc/dhcp/dhcpd.conf
V súboru nastavíme, na akom interfacu beží server, napr. INTERFACESv4="enp0s8"
Nastavíme aj parametre, ktoré sú dôležité pre správné fungovanie:
option domain-name "moja.domena";
option domain-name-server "server.moja.domena";
Konfigurácia pre sieť napr. 192.168.100.0/24
subnet 192.168.100.0 netmask 255.255.255.0{
range 192.168.100.1 192.168.100.50;
option routers 192.168.100.254;
option domain-name-servers 192.168.1.100, 8.8.8.8;
option domain-name: "moja.domena";
}
Rezervácia IP adres:
host mojhost{
hardware ethernet 08:08:08:aa:aa:aa;
fixed-address 192.168.10.250;
}
Obecne: po zmene konfiguračného súboru musíme službu reloadnout, po spustení apache modu musíme apache reštartovať.
systemctl reload služba, systemctl restart služba - overenie: systemctl status služba
Verím, že tento jednoduchý návod pomôže začínajucim administrátorom, alebo linuxovým začiatočníkom pri nastavovaní domácej siete.
V budúcnu doplním aj DNS server Bind9
[/list]