{{Předmět|Administrace Unixu|Leo Galamboš|SWI106}}
[Category:Informatika](Category:Informatika)

## Odkazy ##

*[Stránka předmětu](http://www.egothor.org/%7Egalambos/mff/swi106/)
*[Ovládání editoru VI](http://urtax.ms.mff.cuni.cz/%7Emikulas/VI.TXT)

*[Príručka systémového administrátora](http://deja-vix.sk/sysadmin)
Přihlašování do administrace

*[Potemkin](https://potemkin.ms.mff.cuni.cz/vm/gsxmgr)
*[Bogatyr](https://bogatyr.ms.mff.cuni.cz/vm/gsxmgr)

*[Gromoboj](https://gromoboj.ms.mff.cuni.cz/vm/gsxmgr)
*[Navarin](https://navarin.ms.mff.cuni.cz/vm/gsxmgr)

## Přednášky ##

* jednou týdně

## Cvičení LS 2007/2008 ##

Budem sa snazit v priebehu semestra poskytovat info o cvikach + pripadne postupy, ktore nemusia byt vzdy spravne.

### 1. cviko ###

##### Instalacia OBSD #####

V tomto bode je asi najlepsie naraz nainstalovat jeden zo setov servrov t.j. kazdy server v danom sete. <BR>
Sety:

* 23, 23x22, 22, 22x51, 51
* 50, 50x20, 20, 20x21, 21
* 56, 56x26, 26, 26x27, 27
* 25, 25x24, 24, 24x55, 55

Pre rychlu instalaciu nedoporucujem konfigurovat siet hned pri instalacii ale za po instalacii v /etc/hostname.rozhranie (/etc/hostname.pcn0)

Pokial neexistuje treba vytvorit subor s timto nazvom.

* pre konfiguraciu ako DHCP klient

 dhcp NONE NONE NONE

* Alebo ako staticka IP

 # x.x.x.x - IP stroja
 # y.y.y.y - maska

 # z.z.z.z - broadcast
 inet x.x.x.x y.y.y.y z.z.z.z

Instalacia pomerne jednoducha naviac na strankach predmetu je podrobny navod. (1. prednaska)

Just do me a favor and keep writing such trenchant analyess, OK?

### 2. cviko ###

* Hovorilo sa o starte BSD a o patricnych rc.* filesoch. 
* Pomerne cele cviko sa nieslo v duchu revizii ci/co, rci/rco, RCS, CVS.

* Ulohou bolo napisat verziovaci skript vid cvika z minuleho roku.

* Za zmienku stoji zmena prav pre konkretny subor ulozeny pod verzovanim. Prava sa **ne**menia priamo na konkretnom subore (xxx) ale v adresari RCS na joho "mirrore" (xxx,v).
* dalsou ulohou bolo implementovat "linuxovske" init.d v /usr/local/etc/init.d
    * vytvorit skript pre start, stop, restart a status sshd demona
    * umiestnit do /usr/local/etc/init.d
    * vytvorit /usr/local/etc/init.d/rc.3 a umiestnit sem symlinky K00sshd a S00sshd na sshd skript
    * implementovat FOR pre spustanie (S*) a zastavovanie (K*) demonov v rc.local

Extremely hpelufl article, please write more.

### 4. cviko ###

### 5. cviko ###

### 6. cviko ###

(streda, u tej slecny... :-))

**Siet**:
stroj{ZZZ} 51) ---- 51x22 ---- (22 stroj{ROUTER}, stroj{MAIL}

**Nastavenie**:

1. vypnut NAT => ip forwarding
1. MAIL - sekundarny DNS
1. ROUTER - proxy DNS
1. vytvorit novu zonu pre stroje z 51 a pridat ich dio zaznamov DNS serverov
1. ZZZ - cache DNS

MAIL,ROUTER,ZZZ - sami sebe ako DNS (resolv.conf)

**Potom**:

vypneme primarny DNS

* sekundarny   ... v
* proxy  ... x
* cache v ... x (udrzovanie cache ... 3 min)

### 7. cviko ###

1. nainstalovat postfix
1. zapnut logovanie ( /etc/rc.conf.local pridat >>> syslogd_flags="-a /var/spool/postfix/dev/log" <<<
    * restart syslogd (HUP)
1. konfiguracia postfixu (/etc/postfix/main.cf) - nastavit (je tam napoveda ;-)):
    * myhostname
    * mydomain
    * myorigin
    * mydestination
1. logovanie mailu
    * /etc/syslogd.conf
        * + mail.err /dev/console
        * + mail.debug /var/log/maillog
    * ... restart syslogd

#sendmail nahradime postfixom

* mkdir /etc/aliases; newaliases
* /etc/rc.conf.local += >>> sendmail_flags="-bd" <<<
* z cronu root-a odstranime riadok (pod) "sendmail clientmqueue runner"
    * crontab -u root -e
* /usr/local/sbin/postfix-enable
* /usr/local/sbin/sendmail -bd

1. postfix check; postfix start (mozno netreba)
1. upravit DNS zaznamy
    * pridat zaznam >>> IN MX 10 stroj <<< (resp. "MX 10 stroj" ?)
    * restartovat named
1. testy....
    * telnet localhost 25 :-)
    * mail root@<nazov_stroja>
    * mail root@<nazov_domeny>   ....dorucenie podla MX zaznamu =)

### 8. cviko ###

NFS+YP/NIS

...filtrovanie posty bude neskor :-)

#### NFS ####

* /etc/exports

***Server*:

1. Zapneme:
    * portmap
    * nfs_server (.../etc/rc.conf.local **portmap=YES** + **nfs_server=YES**)
1. mkdir /test
1. /etc/exports: **/test -alldirs -ro -network=192.168.26 -mask=255.255.255.0**
1. nakoniec:
    * /usr/sbin/portmap
    * echo -n >/var/db/mounttab
    * /sbin/mountd
    * /sbin/nfsd -tun 4

***Klient*:

1. mount -t nfs stroj:/test /mnt/dir
    * alebo: /etc/fstab stroj:/test /mnt nfs ro 0 0

* rpcinfo -p stroj
* restart serveru: **kill -HUP .....**

#### YP/NIS ####

1. NFS server -> YP/NIS server (master)
1. +ostatni klienti
1. klienti si nacitaju mapy zo servera

AMD...

### 9. cviko ###

* nejake ukoly :o)
    1. zakazat ssh login pre roota (nie je ale zla vec mat nejakeho usera v groupe 'wheel' ;o))
    1. rozchodit ssh pripojenie bez hesla (ssh-key...)
    1. ftp server (=zalozit usera 'ftp', nazdielat kopiu suboru /etc/passwd)
    1. zalohovanie /var/log/messages (cron: 1/hod - vyrobit .tz a poslat na iny stroj)

* CARP - zalohovanie, no more info :-)

Gosh, I wish I would have had that information elairer!

### Zapoctova uloha ###

*az to bude hotove, poslat maila s cislom uctu a heslami na roota na stroje...

zadanie: 4 stroje ( \[51] dns, mail ) -- \[51x22] server -- ( \[22] ext

* dns: primarny DNS pre domenu 51 (lubovolny nazov domeny) + YP/NIS klient
* server: YP/NIS server
* mail: mail server pre domenu 51 + YP/NIS klient
* ext: dostupny z 51

## Cvičení ##

* [OpenBSD](OpenBSD)
* [Gentoo](Gentoo)

Pozor: některé postupy uvedené dále jsou také jen pro OpenBSD, takže by měly být přesunuty na stránku [OpenBSD](OpenBSD).

### 1. cvičení ###

*přihlášení na VMware a vytvoření strojů (rozhraní na adrese `https://`*server*.ms.mff.cuni.cz/vm/gsxmgr)

Je potreba nainštalovať si VPC (Virtual PC). Galamboš odporúča [OpenBSD](OpenBSD), ja som si zvolil [Gentoo](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 ##

* 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 [ms labu](Rotunda%20%28lab%29):
    * 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ř. `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

* Pokud chcete, aby vim zobrazoval ve status baru aktuální mód (např.: --INSERT-- ) použijte příkaz:

 set showcmd

* Dotazování OBSD3.9 na typ terminálu lze zarazit zakomentováním následujících řádků v souboru `/root/.profile`:

 if \[ -x /usr/bin/tset ]; then
    eval `/usr/bin/tset -sQ \?$TERM`

 fi

## 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

## 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 ###

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

No complaints on this end, smilpy a good piece.

## 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.

## 5. 6. 2007 ##

Takže zadanie bolo asi takéto:

[Image:UnixAdminExam.png](Image:UnixAdminExam.png)

Napísať skript, ktorý na servri (S) založí uživateľa, tento uživateľ sa bude môcť na klientovi C*N* prihlásiť a poslať mail inému uživateľovi, vytvorenom pomocou toho istého scriptu.

## 24. 1. 2008 ##

