Syntax highlighting of Archiv/Administrace Unixu

{{Předmět|Administrace Unixu|Leo Galamboš|SWI106}}

= Odkazy =
*[http://kocour.ms.mff.cuni.cz/~galambos/swi106/ Stránka předmětu]
*[http://urtax.ms.mff.cuni.cz/~mikulas/VI.TXT Ovládání editoru VI]
*[http://openbsd.org/faq/index.html OpenBSD FAQ]
*[http://deja-vix.sk/sysadmin Príručka systémového administrátora]
Prihlasovani do administrace
*[https://potemkin.ms.mff.cuni.cz/vm/gsxmgr Potemkin]
*[https://bogatyr.ms.mff.cuni.cz/vm/gsxmgr Bogatyr]
*[https://gromoboj.ms.mff.cuni.cz/vm/gsxmgr Gromoboj]

= Přednášky=
* jednou za 2 týdny 
==1. cvičení ==
*přihlášení na VMware a vytvoření strojů (rozhraní na adrese <nowiki>https://</nowiki>''server''.ms.mff.cuni.cz/vm/gsxmgr)
Je potreba nainštalovať si VPC (Virtual PC). Galamboš odporúča OpenBSD, ja som si zvolil [[Gentoo]].
*instalace OpenBSD (celkem bez problémů až na chybu ''broken mbr'' - při vytváření oblasti je nutné zapsat MBR kód (příkaz ''u'' v fdisku)
==2. cvičení ==
* zprovoznění routování a BINDu
==Tipy a triky==
* Myš v OpenBSD: v /etc/rc.conf nastavte
 wsmoused_flags=""
* VMware klient v linux labu potřebuje mít nastavenou proměnnou ''DISPLAY'', proto spusťte klienta takto:
 DISPLAY=localhost:0 vmware-server-console
* SSH tunel do [[Rotunda (lab)|ms labu]]:
** na virtuálním stroji pusťte:
 ssh -R 3000:localhost:22 ''login''@u1-1.ms.mff.cuni.cz cat -
** na zadaném počítači (u1-1.…) se připojíte ke stroji na VMwaru pomocí:
 ssh -p 3000 root@localhost
** když se Vám konzola bude zdát málo barevná (ls, vim, ...), tak si nastavte stejný terminál i na u1-1.… (např. <tt>TERM=wsvt25</tt>)
* Barevný terminál v OpenBSD
 TERM=wsvt25
* Barevný ls (nutno nainstalovat colorls)
 colorls -GCF
* Nastaveni bash jako defaultni shell pro uzivatele root (bash je ale nutne nejdriv nainstalovat)
 usermod -s `which bash` root

==Uzitecne balicky==
 mount /dev/cd0a /mnt
 cd /mnt/3.9/packages/i386
 pkg_add <balicek>
* bash
* colorls
* wget
* mc
* vim (vim-6.4.6p1-no_x11.tgz)
* mutt (mutt-1.5.11p3.tgz) alebo pine (pine-4.64p1.tgz)
* postfix (postfix-2.2.8p1.tgz)

==Skriptik na RCS==
* "/usr/local/bin/bash" pripadne zmente na `which bash`
* ked si ho pomenujete edit, tak sa pouziva nasledovne
** edit subor.txt (checkoutne RCS, varuje pred prepisanim, po edite commitne a lockne subor)
** edit (po zavreti editoru si vypyta meno suboru a potom ho commitne)

 #! /usr/local/bin/bash
 
 # create missing RCS directory
 if [ ! -d "RCS" ]; then
   mkdir "RCS"
 fi 
 
 if [ $# -gt 0 ]; then
   # if exists
   if [ -f "$1" ]; then
     # check out last version
     if ! co -l "$1"; then
       # take under version controll
       ci -l "-t${1}" "$1"
     fi
   fi
   # open in editor
   $EDITOR "$1"
   # check in (commit) after edit
   ci -u "$1"
 else
   # open editor
   $EDITOR
   # read the filename
   read -p "Filename : " filename
   # if not empty commit
   if [ -n "$filename" ]; then
     ci -u "-t${filename}" "$filename"
   fi
 fi

==Staticke routovani==
* Pridani routy - do souboru /etc/hostname.pcn0 (pcn1) pridat napr.
 !/sbin/route add -net 192.168.21.0/24 192.168.20.102
* prvni IP adresa = cilova sit, druha = pres ktery stroj se tam dostaneme
* routa se pridava do souboru sitovky ( hostname.pcn0, hostname.pcn1 ), ktera je ve stejne siti se strojem, pres ktery se routuje.

==Postfix==
* Instalace
 mount /dev/cd0a /mnt
 cd /mnt/3.9/packages/i386
 pkg_add postfix-2.2.8p1
* You still need to edit myorigin/mydestination/mynetworks parameter settings in /etc/postfix/main.cf.
* BTW: Check your /etc/aliases file and be sure to set up aliases that send mail for root and postmaster to a real person, then run /usr/local/sbin/newaliases.
 cp /etc/mail/aliases /etc/aliases
alebo
 cp /etc/postfix/aliases /etc/aliases

 newaliases
* Urobit
 echo 'syslogd_flags="-a /var/spool/postfix/dev/log"' >> /etc/rc.conf.local
a restartovat syslogd.
* Prepisat sendmail postfixom
 /usr/local/sbin/postfix-enable
* Vyhodit sendmailove vyprazdnovanie fronty
 crontab -e
zakomentovat alebo zmazat riadky
 # sendmail clientmqueue runner
 */30   *       *       *       *       /usr/sbin/sendmail -L sm-msp-queue -Ac -q

===Zadani ukolu===
# smazat (DISCARD) zpravy, ktere obsahuji .exe
# odmitat (REJECT) emaily od cronu
# odmitat sifrovane emaily
# odmitnout email, kdyz neobsahuje subject

==Firewall==
* sit by mela vypadat nejak tak, jako dole na obrazku. Vedle jsou uvedene veci, ktere se maji ve firewallu na danych strojich maji povolit.
    *50            A(lfa)  - keep state
     |             B(eta)  - IN, keep state
     D             G(amma) - YP,DNS,NFS,portmap,SMTP
     |             D(elta) - NAT, RDR
 G--*20   *21      D'(pro ty, co se nudi) - RDR + table + spamd
   /   \ /   \
  G     B     A

* pravidla se nastavuji (pro OBSD) v souboru /etc/pf.conf

===Alfa===
* pro Alfu by nastavovani probihalo takto:

* do pf.conf:
 set skip on lo
 scrub in
 # dovnitr nepustime nic
 block in log 
 # ven pustime vse, zachovame stav, aby nam mohli odpovidat
 # u TCP se drzi stav, u UDP casove okno, u ICMP take neco
 pass out log on pcn0 keep state

* Flushneme nastaveni firewallu, povolime firewall
 pfctl -F all -f /etc/pf.conf
 pfctl -e

* Pro zobrazeni statistik a podobnych veci:
 pfctl -s rules
 pfctl -s stat
 pfctl -s nat ...
 pfctl -s states  # tabulka stavu

* Reload pravidel, ktery potom obnovi stavy
 pfctl -F rules -f /etc/pf.conf 

* Zobrazeni logu:
 tcpdump -e -ttt -n -r /var/log/pflog | more

* Pro nahozeni firewallu pri startu nastavime v /etc/rc.conf.local
 pf=YES
 pf_logd_flags=""

===Beta:===
 pass out all
 pass in on pcn0 from any to pcn1:network
 pass in on pcn1 from pcn1:network to !(pcn1:network)
 # vzdy lze pripsat za "to" "keep state", ztratime tim ale trochu vykonu

===Gamma (tady si nejsem moc jisty, brat s rezervou):===
 block all

* podivat se do pflog(u), co beha po siti a to, co se nam libi, povolit v pf.conf, potom flush
 pfctl -F rules -F states -f /etc/pf.conf

* netstat:
<pre>
 netstat -an

 SMTP tcp from * to ctv:25
 DNS(M) tcp,udp 
        from *(:53) to ctverecek:53
        from S:53   to ctverecek:53
 DNS(S) udp
        from * to ctverecek:53
 Portmap (tcp/udp)?
        from * to ctverecek:111 
                block all
        from *:
</pre>

==Sledovani site==
pri instalovani mrtg je potreba mit par X-kovych veci, staci rozbalit do / baliky xbase a xfont z CD.

= Zkoušky =
== 30.1.2007 ==
Galambos na zacatku nakresil maly schematko: 
 1 
 | 
 * ----2 
 | 
 3 
 | 
 * 
 | 
 4 

Takze * jsou huby, cislicka kompy, uloha byla nasledujici: 
* na 1 zprovoznit master DNS nejake domeny 
* na 2 oddelegovat nejakou subdomenu 
* na 3 zprovoznit sekundar k oddelegovane subdomene 
* na 4 yp/nfs server s exportem map uzivatelu, bez uzivatele root 
* 1,2,3 meli byt klienti yp, pripadne si neco mountit pres to nfs 
* "oplechovat" komp 4 co nejlip to jde 

Bylo na to neco malo pres dve hodiny.  
Hodi se mit ty kompy uz nejak pripravene a +/- rozchozene ( routovani , dns, ... ) a nestavet to na "zelene louce". Na druhou stranu pokud mate pripravenou sit k zapoctu tak je dobre to odevzdat pred zkouskou ( a ziskat zapocet ) abyste ji potom v prubehu zkousky mohli "narychlo" a bez obav predelat.