Category Archives: Články

How to reinstall Grub 2 to master boot record

How to reinstall Grub 2 to master boot record

https://answers.launchpad.net/me-tv/+question/79735

GRUB

Using Ubuntu livecd

Here assuming the Ubuntu partition is sda7 and /boot partition is sda6 (if you have a separate /boot partition).

Boot up ubuntu from the livecd, open terminal and run:

sudo -i
mount /dev/sda7 /mnt
mount /dev/sda6 /mnt/boot  #skip this one if not have a separate /boot partition
grub-install --root-directory=/mnt/ /dev/sda

If you miss grub.cfg file,use following to recreate:

mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt update-grub
umount /mnt/sys
umount /mnt/dev
umount /mnt/proc
exit

Using the cd/usb boot up with GRUB

Boot up the CD/USB, press “c” in grub menu. Type:

find /boot/grub/core.img
root (hdx,y)   (previous command will output the x,y)
kernel /boot/grub/core.img
boot

After the boot command,you’ll go into GRUB 2 menu. Select to boot up Ubuntu and run this command to restore GRUB:

sudo grub-install /dev/sda

How to add Vista/Windows 7 partition to Grub 2

http://erickoo.wordpress.com/2009/06/14/how-to-add-vista-partition-to-grub-2-ubuntu-9-10-karmic-koala/

sudo fdisk -l /dev/sda

According to this my Windows partition is hda1. To continue with my plan to add Windows boot option I typed in the following line:

sudo nano /etc/grub.d/11_Windows

This created a new a new file. I then added the following lines:

#! /bin/sh -e
echo "Adding Windows" >&2
cat << EOF
menuentry "Windows 7" {
set root=(hd0,1)
chainloader +1
}
EOF

Now save the 11_Windows file.

Bare in mind that in earlier version of GRUB, if your Windows was installed on first partition then you need to give root=(hd0,0). Thats how GRUB used to number partitions. Starting from GRUB 2, you need to give root=(hd0,1), if your Windows is installed on first partition. So under GRUB 2 it looks like this:

First partition (/dev/sda1): root=(hd0,1)

Next type the following command:

sudo chmod a+x /etc/grub.d/11_Windows

Next type in the following command:

sudo update-grub

You should be able to see something like this:

# sudo update-grub
Generating grub.cfg
Found linux image: /boot/vmlinuz-2.6.30-9-generic
Found initrd image: /boot/initrd.img-2.6.30-9-generic
Found linux image: /boot/vmlinuz-2.6.30-8-generic
Found initrd image: /boot/initrd.img-2.6.30-8-generic
Adding Windows
Found memtest86+ image: /boot/memtest86+.bin
done

Now close all the open programs and type in the following command to your terminal:

sudo reboot

If all went well you should see Windows 7 option in your GRUB2.

Securing a New Linux Installation

http://linuxgazette.net/105/odonovan.html

Linux Internet Server Security and Configuration Tutorial
http://www.yolinux.com/TUTORIALS/LinuxTutorialInternetSecurity.html

Install basic security tools

aptitude install portsentry fail2ban denyhosts logwatch rkhunter

Configure basic security tools

OSSEC

http://www.ossec.net/main/manual/manual-installation
http://dcid.me/texts/my-ossec-setup-manual.php

apt-get install gcc make libc-dev
wget http://www.ossec.net/files/ossec-hids-2.6.tar.gz
tar zxvf ossec-hids-2.6.tar.gz
cd ossec-hids-2.6
sudo ./install.sh
Select: local (if you only have one system to monitor), root@localhost, enable active response [n]
ln -s /var/ossec/bin/ossec-logtest /var/ossec/ossec-logtest

Find what is running and what type of logs are available.
lsof | grep log

Compare with what OSSEC added automatically
cat /var/ossec/etc/ossec.conf |grep "/"

Add manually the logs that are missing using the util.sh tool that comes with OSSEC:
(Get util.sh, run hg clone https://bitbucket.org/dcid/ossec-hids, find it in contrib directory)

/var/ossec/bin/util.sh addfile /var/log/httpd/site4.access.log

  • Tests the logs
  • cat /var/log/syslog | /var/ossec/bin/ossec-logtest -a

  • Add monitoring of important files or directories
  • /var/ossec/etc/ossec.conf
    /var/www
    or ignore often changed files

    /etc/motd
    

  • To start/stop OSSEC HIDS
  • /var/ossec/bin/ossec-control

    Fail2ban

    http://www.fail2ban.org/wiki/index.php/Whitelist

    /etc/fail2ban/jail.local

    action = %(action_mw)s
    

    /etc/fail2ban/fail2ban.conf

    ignoreip = 127.0.0.1 192.168.1.0/24
    

    http://linux.m2osw.com/zmeu-attack

    [apache-badbots]
    enabled = true
    port = http,https
    filter = apache-badbots
    logpath = /var/log/apache*/*access.log
    maxretry = 3
    findtime = 5
    bantime = 14400
    
    [webmin-auth]
    enabled = true
    port = 10000
    filter = webmin-auth
    logpath = /var/webmin/miniserv.log
    maxretry = 3
    findtime = 5
    bantime = 14400

    /etc/fail2ban/filter.d/apache-badbots.conf

    [Definition]
    badbotsmy = admin|phpmyadmin|phpMyAdmin|pma|PMA|forum|board|guestbook|scripts|db|web|sql|php|mysql|
    
    failregex = ^ -.*"(GET|POST).*HTTP.*"(?:%(badbots)s|%(badbotscustom)s)"$
    ^ -.*"(GET|POST).*(?:%(badbotsmy)s).*HTTP.*"$

    /etc/init.d/fail2ban restart

    RK Hunter

    /etc/default/rkhunter

    CRON_DAILY_RUN="true"
    CRON_DB_UPDATE="true"

    /etc/cron.daily/rkhunter change parameter

    --report-warnings-only
    
    to
    --no-mail-on-warning
    

    Logwatch

    /etc/logwatch/conf/logwatch.conf

    LogDir = /var/log
    TmpDir = /var/cache/logwatch
    Output = stdout
    Format = text
    Encode = none
    MailTo = root
    MailFrom = Logwatch
    Range = yesterday
    Detail = High
    Service = All
    Service = "-eximstats"
    mailer = "/usr/sbin/sendmail -t"

    mkdir /var/cache/logwatch

    Denyhosts

    /etc/denyhosts.conf

    ADMIN_EMAIL =
    

    Prey for notebooks

    http://preyproject.com

    aptitude install curl
    wget http://preyproject.com/releases/0.5.3/prey-0.5.3-linux.zip
    unzip prey-0.5.3-linux.zip
    mv prey /usr/share
    rm -f unzip prey-0.5.3-linux.zip
    touch /var/log/prey.log
    touch /tmp/prey-curl-headers.txt

    /usr/share/prey/config

    # you can get both of these from Prey's web service
    api_key='xyz'
    device_key='xyz'
    # mailbox to send the report
    mail_to='jan@faix.cz'
    # the password is now stored base64 encrypted
    # if you wish to generate it by hand, run
    # $ echo -n "password" | openssl enc -base64
    smtp_server='mail.faix.cz:25'
    smtp_username='jan@faix.cz'
    smtp_password='cHJkZWw='

    (sudo crontab -l | grep -v prey; echo "*/20 * * * * /usr/share/prey/prey.sh &gt; /var/log/prey.log") | sudo crontab -

    Tripwire

    is obsolete, use OSSEC instead!!!

    Aptitude

    Záloha a obnova nainstalovaných balíčků

    Pokud budete zálohovat Debian nebo na něm založenou distribuci, budete asi chtít zálohovat spíše seznam explicitně nainstalovaných balíčků než seznam všech nainstalovaných balíčků.

    Pokud používáte nástroj Aptitude, pak víte, že tento nástroj si zapamatuje, co bylo nainstalováno jen jako závislost, a pokud pak odinstalujete původní balíček, Aptitude vám nabídne k odstranění i ty balíčky, které byly nainstalovány jako závislosti. To je velice užitečná funkce z hlediska údržby systému. Pokud byste zálohovali seznam všech balíčků, zahrnuli byste do toho i ony závislosti a po obnově systému (nebo při jeho migraci jinam) by váš Aptitude tuto svou funkci ztratil. Naštěstí není problém nechat si vypsat explicitně nainstalované balíčky:

    aptitude -F %p search "?and(?installed,?not(?automatic))" > pkglist.txt

    A posléze je nainstalovat do nového systému:

    xargs aptitude --schedule-only install < pkglist.txt && aptitude install

    Upgrade na nový release Ubuntu se provede příkazem: do-release-upgrade

    Instalace klíče k novému repozitáři

    V záhlaví PPA’s stránky najdete podpisový klíč “Signing key”. Bude vypadat přibližně takto:
    1024R/72D340A3

    Zkopírujte část následující za lomítkem, např.: 72D340A3

    Nyní je třeba přidat klíč do vašeho systému, aby Ubuntu mohlo ověřit balíčky z PPA repozitáře.

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 72D340A3

    Nastavení automatických aktualizací pomocí anacron

    apt-get install unattended-upgrades
    /etc/apt/apt.conf.d/10periodic

    APT::Periodic::Enable "1";
    APT::Periodic::Update-Package-Lists "1";
    APT::Periodic::Download-Upgradeable-Packages "1";
    APT::Periodic::AutocleanInterval "5";
    APT::Periodic::Unattended-Upgrade "1";
    APT::Periodic::RandomSleep "1800";

    /etc/apt/apt.conf.d/50unattended-upgrades

    Ubuntu

    // Automatically upgrade packages from these (origin, archive) pairs
    Unattended-Upgrade::Allowed-Origins {
    // ${distro_id} and ${distro_codename} will be automatically expanded
    "${distro_id} stable";
    "${distro_id} ${distro_codename}-security";
    "${distro_id} ${distro_codename}-updates";
    };

    Debian

    Unattended-Upgrade::Origins-Pattern {
    "o=Debian,a=testing";
    "o=Debian,a=testing-updates";
    "o=Debian,a=proposed-updates";
    "origin=Debian,archive=${distro_codename},label=Debian-Security";
    };
    
    Unattended-Upgrade::Package-Blacklist {};
    Unattended-Upgrade::Mail "root";
    Unattended-Upgrade::MailOnlyOnError "true";

    Test you configuration

    unattended-upgrades --dry-run
    unattended-upgrades --debug

    and check the log:
    cat /var/log/unattended-upgrades/unattended-upgrades.log

    HTPC a NAS configuration

    Aktuální HW konfigurace – položky:

    skříň: Cooler Master Elite 361
    základní deska: ASUS P8H61-M PRO (rev 3.0)
    CPU: Intel Pentium G630T
    RAM: Kingston 4GB KIT DDR3 1600MHz CL9 HyperX blu Edition
    SSD: ADATA Premier SP800 32GB
    HDD: Western Digital Green 2000GB 64MB cache (2x)
    NIC: AXAGO PCEE-GR
    Zdroj: Chieftec GPS-450A
    Chladič: Zalman CNPS8900 quiet
    Monitor: 42″ LG 42LS5600

    Cooler Master Elite 361

    Parametry a specifikace:

    Obecné:
    Barva: černá
    Materiál: SECC konstrukce / části z ABS plastu
    Formát skříně: Mini Tower
    Pro základní desky: Micro ATX, ATX

    Pozice:
    1x 5,25″ externí
    1x 3,5″ externí
    4x 3,5“ interní

    Konektory na externím panelu:
    2x USB 2.0
    1x výstup na sluchátka
    1x vstup pro mikrofon

    Systém chlazení:
    1x přední 80 mm pozice
    2x zadní 80 mm pozice
    1x vrchní 120 mm ventilátor
    1x boční 80/90/120 mm pozice

    Rozšiřující sloty:
    7x

    Zdroj:
    Skříň je dodávána bez zdroje (standardní ATX pozice)

    Ostatní:
    Speciální design umožňuje horizontální i vertikální instalaci
    Bezšroubková instalace komponent
    Max. výška CPU chladiče: 122 mm
    Max. délka grafické karty (s HDD / bez) : 227 / 312 mm

    Provedení:
    Rozměry: 150 x 368 x 464 mm
    Hmotnost: 4,8 kg
    Parametry a specifikace:
    Určení Kancelářské PC, Stylové PC, HTPC
    Velikost Mini Tower
    Barva Černá
    Formát základní desky ATX, mATX
    Počet interních 5,25″ slotů 0×
    Počet interních 3,5″ slotů 4×
    Pozice zdroje Jiná
    Další vybavení Cable management, Bezšroubková instalace
    Vnější uspořádání
    Externí 5,25″ pozice 1×
    Externí 3,5″ pozice 1×
    Umístění předního panelu Zepředu
    Konektory předního panelu USB 2.0, Sluchátka, Mikrofon
    Chlazení
    Velikost předního ventilátoru 80 mm
    Velikost zadního ventilátoru 80 mm
    Počet pozic pro ventilátory 5×
    Rozměry
    Šířka 150 mm (15 cm)
    Výška 368 mm (36,8 cm)
    Hloubka 464 mm (46,4 cm)
    Hmotnost přesně 4,8 kg

    ASUS P8H61-M PRO (rev 3.0)

    Parametry a specifikace:
    Socket Intel Socket 1155
    Formát mATX (Micro ATX)
    Základní funkce Integrovaná grafická karta, Integrovaná síťová karta, Integrovaná zvuková karta, UEFI BIOS, USB 3.0
    Externí DVI, HDMI, VGA (D-Sub), Jack, Optical out, PS/2, USB 2.0, USB 3.0, RJ-45 (LAN)
    Interní USB 2.0 bracket, Serial ATA II, S/PDIF bracket
    PCI Express x16 2×
    PCI Express x8 0×
    PCI Express x1 2×
    USB 2.0 10×
    USB 3.0 2×
    Serial ATA II 4×
    Serial ATA III 0×
    AGP 0×
    Operační paměť
    Typ paměti DDR3
    Počet slotů RAM 2×
    Režim zapojení Dual-channel
    Maximální frekvence 1 333 MHz
    Pokročilé parametry
    Čipset Intel H61
    Typ zvukové karty Realtek ALC887
    Počet kanálů zvukové karty 7.1

    Intel Pentium G630T

    Parametry a specifikace:
    Typ integrované grafické karty Intel HD Graphics
    Frekvence 850 MHz
    Rodina procesoru Sandy Bridge
    Socket Intel Socket 1155
    Řada procesoru Intel Pentium
    Počet jader
    Počet jader procesoru 2×
    Frekvence
    Frekvence procesoru 2 300 MHz (2,3 GHz)
    Maximální frekvence 2 300 MHz (2,3 GHz)
    Pokročilé parametry
    Funkce Virtualizace, Snížená spotřeba, Integrované GPU, Chladič v balení
    TDP procesoru 35 W
    Výrobní technologie 32 nm
    L2 cache 0,5 MB
    L3 cache 3 MB

    Kingston 4GB KIT DDR3 1600MHz CL9 HyperX blu Edition

    Parametry a specifikace:
    Určení Pro počítač
    Typ paměti DDR3
    Kapacita paměti 4 GB
    Počet modulů v balení 2 ks
    Kit vhodný pro Dual-channel
    Frekvence a časování
    Frekvence paměti 1 600 MHz
    Časování CL9
    Pokročilé parametry
    Další vlastnosti Pasivní chladič

    ADATA Premier SP800 32GB

    Parametry a specifikace:
    Použití Do počítače, Do notebooku
    Typ úložiště SSD
    Kapacita disku 32 GB (0,03 TB)
    Formát 2,5″
    Barva Černá
    Pokročilé parametry
    Rozhraní interní Serial ATA II
    Rychlost čtení 280 MB/s
    Rychlost zápisu 260 MB/s
    Řadič SandForce
    Speciální funkce TRIM, RAID
    Rozměry
    Šířka 69,85 mm (6,99 cm)
    Hloubka 100 mm
    Výška 9,5 mm (0,95 cm)
    Hmotnost
    Hmotnost přesně 68 g (0,07 kg)
    Spotřeba
    Typická spotřeba 0,7 W
    Stand-by spotřeba 0,5 W (500 mW)

    Western Digital Green 2000GB 64MB cache

    Typ úložiště HDD
    Kapacita disku 2 000 GB (2 TB)
    Formát 3,5″
    Rozhraní interní Serial ATA III
    Rychlost zápisu 3 Gb/s
    Vyrovnávací paměť 64 MB
    Rychlost otáček HDD 7 200 ot/min
    Rozměry
    Šířka 102 mm (10,2 cm)
    Výška 26 mm (2,6 cm)
    Hmotnost
    Hmotnost přesně 730 g (0,73 kg)
    Spotřeba
    Typická spotřeba 6 W
    Stand-by spotřeba 0,8 W (800 mW)

    AXAGO PCEE-GR

    Vstupní rozhraní:
    PCI-Express

    Porty:
    1x RJ45 LAN port

    Přenosová rychlost:
    10/100/1000 Mbps

    Vstupní rozhraní:
    Kompatibilní s 1-Lane (x1) PCI-Express s propustností 2.5 Gb/s.
    Vyhovuje PCI Express Base specifikaci revize 1.1.
    Plná podpora Plug and Play.

    Vlastnosti:
    10/100/1000Base-T Ethernet LAN adapter.
    1x RJ-45 konektor pro připojení UTP nebo STP kabelem.
    Kompatibilní se stávající CAT-5 UTP kabeláží.
    Podporované specifikace IEEE 802.3 10Base-T, IEEE 802.3u 100Base-TX, IEEE 802.3ab 1000Base.
    Podpora Full Duplex Flow Control (IEEE 802.3x).
    10/100/1000 Mbit/s autodetekce.
    Crossover detekce a autokorekce.
    Podpora pair swap/polarity/skew korekce.
    Podpora IEEE 802.1P Layer 2 priority encoding.
    Podpora IEEE 802.1Q VLAN tagging.
    Podpora IEEE 802.3az Draft 3.0 (EEE) Energy Efficient Ethernet – sní?žení spotřeby v klidovém stavu.
    Podpora Power Management offload (ARP & NS).
    Dvě LED diody pro indikaci aktivity a připojení k síti.
    Použit čipset Realtek RTL8111E.

    Podporované operační systémy:
    Linux kernel 2.4.x / 2.6.x / 3.x

    Chieftec GPS-450A

    Napájení 450 W, 100 – 240 V 45 – 63 Hz, 4/8 A
    Výstupy +5V/+3.3V/+12V1/+12V2/-12V/+5VSB
    Ochrany:Overload, Over current, Over voltage, Short circuit, Under voltage
    Hlučnost 24.4 dB
    Rozměry 150 x 140 x 87 mm
    Barva bílá

    Zalman CNPS8900 quiet

    Maximální rychlost 1 500 ot/min
    Maximální hlučnost 25 dB
    AMD Socket AMD Socket AM3
    Intel Socket Intel Socket 775, Intel Socket 1366
    Šířka 120 mm (12 cm)
    Výška 60 mm (6 cm)
    Hloubka 120 mm (12 cm)

    21.5″ Packard Bell Maestro223DXLAbid

    Parametry a specifikace:
    Úhlopříčka displeje 21,5″
    Určení Hry, Filmy
    Rozlišení displeje FullHD (1920×1080)
    Odezva 5 ms
    Technologie obrazu TN
    Barva
    Barva Černá
    Výbava
    Výbava LED podsvícení
    Vstupy/Výstupy
    Grafické vstupy DVI, HDMI

    32″ LG 32LH3000

    Parametry a specifikace:

    Speciální vlastnosti:
    Full HD 1920 x 1080p
    Smart Energy Saving 3. Picture Wizard
    Invisible Speaker Laděné Markem Levinsonem

    Vlastnosti:
    Velikost uhlopříčky: 32″
    Velikost uhlopříčky: 82 cm
    Rozlišení: 1920 x 1080
    Jas: 500 cd/m2
    Dynamický kontrastní poměr: 50000:1
    Pozorovací úhel: 178/178
    Čas odezvy: 5 m/s
    WCC (Wide Color Control)
    Životnost panelu: 60 000 hod
    Doporučená sledovací vzdálenost 1,5 – 2 m

    Systém TV příjmu:
    Analogové
    DVB-T

    Obraz:
    Obrazový procesor: (XD Engine)
    Poměr stran: 16:9
    Nastavení teploty barev: Chladná/Střední/Teplá
    Nastavení poměru stran: 16:9/Just scan/Original/4:3/14:9/Zoom/ Cinema Zoom/full wide
    AV Režim: (Kino/Hra/Sport) Vivid/Standard/Natural/Cinema/Sport/Game
    Nastavení obrazu pro pokročilé
    24p Real Cinema

    Zvuk:
    Výkon reproduktorů (W): 10 W + 10 W
    Čistý hlas (Clear Voice)
    Zvukové režimy 5 (Standardní/Hudba/Kino/Sport/Hra)
    Režim prostorového zvuku SRS Trusurround

    Speciální funkce:
    EPG (SI): 8 dní
    Podopora signálu: 1080P HDMI 60p/50p/30p/24p, komponentní 60p/50p
    SIMPLINK (HDMI – CEC)

    Teletext:
    Teletext / počet stran: 1000p

    Časové nastavení:
    Hodiny
    Budík
    Časovač vypnutí
    Automatické vypnutí

    Vstupy a výstupy – boční panel:
    1x Výstup na sluchátka
    1x AV vstup
    1x HDMI vstup

    Vstupy a výstupy – zadní panel:
    1x RF vstup
    1x Plný Scart (TV výstup)
    1x Poloviční Scart (MNT/DTV výstup)
    1x Digitální optický audio výstup (optický)
    1x Komponentní vstup + Audio (480i/480p/576i/576p/720p/1080i/1080p) – 1080p : 60p/50p
    1x RGB vstup (D-Sub 15pin)
    1x HDMI / HDCP vstup (480p/576p/720p/1080i/1080p) – 1 Port PC Mode
    1x PC Audio vstup
    1x RS-232C (Control / SVC)
    1x USB (SVC) (servisní)

    Vzhled:
    Stříbrný dekorativní lem na spodní liště
    Vysoce lesklý povrch
    Reproduktory Skryté reproduktory
    Otočný stojan
    VESA kompatibilní

    Elektrické vlastnosti:
    Spotřeba (příkon): 150 W
    Pohotovostní režim: 1 W

    Další vlastnosti:
    Menu České a slovenské menu

    Hmotost:
    Hmotnost: bez stojanu 10,6 kg
    Hmotnost: se stojanem 11,7 kg

    Rozměry:
    Rozměry bez stojanu: 805 x 531 x 79,9 mm
    Rozměry se stojanem: 805 x 583 x 224 mm

    22″ LG 22LH2000

    Parametry a specifikace:

    Obrazovka:
    Úhlopříčka: 22″ (56 cm)
    Rozlišení: 1366 x 768 bodů
    Jas: 350 cd/m2
    Dynamický kontrastní poměr: 8000:1
    Pozorovací úhel: 170o/ 160o
    Čas odezvy: 5 ms
    Životnost panelu: 60 000 hod (udáno pro hodnotu jasu)
    Doporučená sledovací vzdálenost: 1,5 m

    Televizní tuner:
    Analogový
    Digitální (DVB-T, MPEG2/ MPEG4)
    Teletext s pamětí 1000 stran
    EPG na 8 dní

    Nastavení obrazu:
    Obrazový procesor (XD Engine)
    Poměr stran 16:9, HD Ready
    Nastavení teploty barev (Chladná/ Střední/ Teplá)
    Nastavení poměru stran (16:9/ Just scan/ Original/ 4:3/ 14:9/ Zoom/ Cinema Zoom/ full wide)
    AV Režimy (Standardní/Hudba/Kino/Sport/Hra)
    Nastavení obrazu pro pokročilé
    24p Real Cinema
    Menu v českém jazyce

    Audio:
    Výkon reproduktorů: 3 W + 3 W
    Zvukové režimy (Standardní/ Hudba/ Kino/ Sport/ Hra)
    Režim prostorového zvuku SRS Trusurround

    Časové funkce:
    Hodiny, budík
    Časovač vypnutí
    Automatické vypnutí

    Vstupy a výstupy:
    1 x Výstup na sluchátka
    1 x AV vstup
    1 x RF vstup
    1 x Plný SCART
    1 x Poloviční SCART
    1 x Digitální optický audio výstup
    1 x Komponentní vstup + Audio
    1 x RGB vstup (D-Sub 15pin)
    1 x HDMI
    1 x PC Audio vstup
    1 x RS-232C (pro servisní účely)
    1 x USB (pro servisní účely)

    Instalace:
    Kompatibilní s držákem VESA

    Spotřeba:
    Spotřeba během provozu: 55 W
    Pohotovostní režim: 1 W

    Rozměry:
    Bez stojanu: 533,4 x 351,7 x 65 mm
    Se stojanem: 533,4 x 397 x 171 mm

    Hmotnost:
    Bez stojanu: 4,6 kg
    Se stojanem: 4,8 kg

    42″ LG 42LS5600

    Parametry a Specifikace:

    Vlastnosti displeje:
    Úhlopříčka obrazovky: 42“ (107 cm)
    Rozlišení: 1920 x 1080 bodů
    Typ panelu: LCD
    Podsvícení: LED
    Zobrazovací frekvence: 100 Hz – Motion Clarity Index – dynamický
    Další: Triple XD Engine

    Příjem TV signálu:
    Analogový tuner
    DVB-T tuner pro příjem digitálního pozemního vysílání / HD DVB-T tuner pro příjem digitálního pozemního vysílání ve vysokém rozlišení (MPEG-4)
    DVB-C tuner pro příjem kabelové televize / HD DVB-C tuner pro příjem kabelové televize ve vysokém rozlišení (MPEG-4)

    Video vstupy a výstupy:
    3x HDMI (2x na zadním panelu + 1x na boku)
    1x VGA (D-SUB)
    1x Komponentní vstup
    1x SCART

    Zvukové vstupy a výstupy:
    Výstup na sluchátka (Na boku)
    Digitální optický výstup
    Vstup PC audia

    Další výbava:
    1x USB 2.0 (Dolby Digital/EAC3/HAAC/AAC/MPEG/MP3/LPCM/DivX HD/JPEG)
    Slot pro karty CI (Common Interface)
    Ethernetový vstup (Podporuje DLNA)
    Světelný senzor (LG Intelligent Sensor)

    Ozvučení:
    Výkon reproduktorů 2x 10 W
    Technologie: Infinite Surround (prostorový zvuk), Clear Voice
    5 režimů (Standard/Music/Cinema/Sport/Game)

    Další technologie:
    EPG a Teletext / e-manuál / zámek kláves / Simplink (HDMI CEC) / technologie Smart energy saving PLUS (možnost vypnout obraz) / průvodce obrazovým nastavením – Picture Wizard II, ideální AV nastavení obrazu pro 5 režimů / dětská pojistka / budík / časovač vypnutí / automatické vypnutí

    Údaje o spotřebě:
    Typická spotřeba: 60 W
    Spotřeba ve Stand-by: 0,3 W

    Provedení televizoru:
    Barva: černá
    Rozměry (Se stojanem): 979 x 660 x 269 mm (Š x V x H mm)
    Rozměry (Bez stojanu): 979 x 593 x 35,5 mm (Š x V x H mm)
    Hmotnost: (Se stojanem): 15,1 Kg
    Hmotnost: (Bez stojanu): 12,7 Kg
    Otočný podstavec
    VESA uchycení: 400 x 400 mm

    Reproduktory

    Microlab Solo7c, 2 ks satelitních reproduktorů, celkový výkon setu RMS 110 W, přenosová frekvence 55 Hz-20 kHz, odstup signál / šum 85 dB, magnetické stínění, regulace hlasitosti, ovládač, barva hnědá (http://www.k24.cz)
    Gembird WCS-049HQ 2.0 černo-hnědé (reproduktory 2.0, třípásmové, dřevěné, výkon 100W RMS, 20Hz až 20kHz)

    Apache2 security – mod_rewrite, mod_security

    Enable mod_rewrite in Apache2

    http://www.grosseosterhues.com/2011/07/enabling-mod-security-protection-in-apache2-on-ubuntu/
    http://www.linuxlog.org/?p=135

    a2enmod rewrite

    /etc/apache2/sites-available/000-default

    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    allow from all

    /etc/init.d/apache2 restart

    .htaccess

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    Enable mod_evasive and mod_security in Apache2

    aptitude install libapache-mod-security libapache2-mod-evasive

    a2enmod mod-security mod-evasive

    ln -s /usr/sbin/sendmail /bin/mail
    mkdir /var/log/mod_evasive
    chown www-data:www-data /var/log/mod_evasive/

    /etc/apache2/conf.d/modevasive

    <ifmodule mod_evasive20.c>
    DOSHashTableSize 3097
    DOSPageCount 2
    DOSSiteCount 50
    DOSPageInterval 1
    DOSSiteInterval 1
    DOSBlockingPeriod 10
    DOSLogDir /var/log/mod_evasive
    DOSEmailNotify jan.faix@gmail.com
    DOSWhitelist 127.0.0.1
    </ifmodule>

    Check if /etc/apache2/apache2.conf contain:

    # Include generic snippets of statements
    Include /etc/apache2/conf.d/[^.#]*

    mkdir /etc/apache2/mod_security_rules
    chown -R root:root /etc/apache2/mod_security_rules
    sed '/^$/d; /^#/d;' /usr/share/doc/mod-security-common/examples/rules/*conf >> /etc/apache2/mod_security_rules/modsecurity_crs_10_config_global.conf
    cp /usr/share/doc/mod-security-common/examples/rules/base_rules/* /etc/apache2/mod_security_rules/
    touch /var/log/apache2/modsec_audit.log /var/log/apache2/modsec_debug.log
    chown www-data:www-data /var/log/apache2/modsec_audit.log /var/log/apache2/modsec_debug.log

    /etc/apache2/mod_security_rules/modsecurity_crs_10_config_global.conf

    SecAuditLog /var/log/apache2/modsec_audit.log
    SecDebugLog /var/log/apache2/modsec_debug.log

    /etc/apache2/conf.d/mod_security

    <IfModule security2_module>
    Include /etc/apache2/mod_security_rules/*.conf
    </IfModule>

    cd /etc/apache2/mod_security_rules/
    mv modsecurity_crs_41_phpids_filters.conf modsecurity_crs_41_phpids_filters.conf.disabled

    /etc/init.d/apache2 restart

    Test mod_security

    /var/www/test.php

    <?php
    $secret_file = $_GET['secret_file'];
    include ( $secret_file);
    ?>

    http://yourserver.tld/test.php?secret_file=/etc/passwd

    Correct response is “403 Forbidden” error message.

    rm -f /var/www/test.php

    Test mod_evasive

    Run from another box than your server, change domain to your web server.
    Correct response is HTTP/1.1 404 Not Found.

    ~/test.pl

    #!/usr/bin/perl
    # test.pl: small script to test mod_dosevasive’s effectiveness
    use IO::Socket;
    use strict;
    for(0..100) {
    my($response);
    my($SOCKET) = new IO::Socket::INET( Proto => "tcp",PeerAddr=> "faix.homelinux.net:80");
    if (! defined $SOCKET) { die $!; }
    print $SOCKET "GET /?$_ HTTP/1.0\n\n";
    $response = <$SOCKET>;
    print $response;
    close($SOCKET);
    }

    rm -r ~/test.pl

    SSH Port Forwarding (SSH Tunneling)

    http://www.linuxhorizon.ro/ssh-tunnel.html

    Syntax:
    ssh -L localport:host:hostport user@ssh_server -N
    where:

    -L – port forwarding parameters (see below)
    localport – local port (chose a port that is not in use by other service)
    host – server that has the port (hostport) that you want to forward
    hostport – remote port

    -N – do not execute a remote command, (you will not have the shell, see below)
    user – user that have ssh access to the ssh server (computer)
    ssh_server – the ssh server that will be used for forwarding/tunneling

    Without the -N option you will have not only the forwarding port but also the remote shell. Try with and without it to see the difference.

    Note:
    1. Privileged ports (localport lower then 1024) can only be forwarded by root.
    2. In the ssh line you can use multiple -L like in the example…
    3. Of course, you must have ssh user access on secure_computer and moreover
    the secure computer must have access to host:hostport
    4. Some ssh servers do not allow port forwarding (tunneling). See the sshd man
    pages for more about port forwarding (the AllowTcpForwarding keyword is set to
    NO in sshd_config file, by default is set to YES)…

    Example:
    ssh -L 4443:10.0.0.138:80 user@example.org -N
    ssh -L 8888:www.linuxhorizon.ro:80 user@computer -N
    ssh -L 8888:www.linuxhorizon.ro:80 -L 110:mail.linuxhorizon.ro:110 25:mail.linuxhorizon.ro:25 user@computer -N

    The second example (see above) show you how to setup your ssh tunnel for web, pop3
    and smtp. It is useful to recive/send your e-mails when you don’t have direct access
    to the mail server.

    For the ASCII art and lynx browser fans here is illustrated the first example:

       +----------+<--port 22-->+----------+<--port 80-->o-----------+ 
       |SSH Client|-------------|ssh_server|-------------|   host    | 
       +----------+             +----------+             o-----------+ 
      localhost:8888              computer      www.linuxhorizon.ro:80 
    

    Open your browser and go to http://localhost:8888 to see if your tunnel is working.

    Installing WordPress on Ubuntu

    http://www.ubuntugeek.com/installing-wordpress-3-0-on-ubuntu-10-04-lucid-lynx.html

    Installation
    apt-get install apache2 libapache2-mod-php5 mysql-server php5-mysql php5-curl php5-gd libssh2-php

    cd /var/www/
    wget http://wordpress.org/latest.tar.gz
    tar -zxvf latest.tar.gz
    ls -la
    chown -R www-data:www-data wordpress
    rm -f latest.zip

    Apache
    /etc/apache2/sites-available/wordpress.conf

    <VirtualHost *:80>
            ServerAdmin my@email.com
            ServerName www.example.org
            ServerAlias example.org
            DocumentRoot /var/www/wordpress
    
            Redirect permanent / https://www.example.org/
    
            ErrorLog /var/log/apache2/example.org-error.log
    
            # Possible values include: debug, info, notice, warn, error, crit,
            # alert, emerg.
            LogLevel warn
    
            CustomLog /var/log/apache2/example.org-access.log combined
    </VirtualHost>

    /etc/apache2/sites-available/wordpress-ssl.conf

    <VirtualHost *:443>
            ServerAdmin my@email.com
            ServerName www.example.org
            ServerAlias example.org
            DocumentRoot /var/www/wordpress/
    
            <Directory /var/www/wordpress>
                    Options -Indexes +FollowSymLinks +MultiViews
                    AllowOverride All
                    Order allow,deny
                    allow from all
                    DirectoryIndex index.php
            </Directory>
    
            Alias /wordpress /var/www/wordpress
    
            ErrorLog /var/log/apache2/example.org-ssl-error.log
    
            # Possible values include: debug, info, notice, warn, error, crit,
            # alert, emerg.
            LogLevel warn
    
            CustomLog /var/log/apache2/example.org-ssl-access.log combined
    
            SSLEngine on
            SSLProtocol all -SSLv2
            SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
            SSLCertificateFile /etc/ssl/example.org.cer
            SSLCertificateKeyFile /etc/ssl/private/example.org.key
            SSLCertificateChainFile /etc/ssl/startssl.sub2.ca.pem
            SSLCACertificateFile /etc/ssl/startssl.root.cs.pem
            SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
    
            CustomLog /var/log/apache2/example.org-ssl-request.log \
             "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    </VirtualHost>

    /var/www/wordpress/.htaccess

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    Activate both new sites and modules:

    a2ensite wordpress wordpress-ssl
    a2enmod ssl rewrite headers

    MySQL

    mysql -u root -p
    SHOW DATABASES;
    SELECT User FROM mysql.user;
    DROP DATABASE drupal6;
    DELETE FROM mysql.user WHERE User=`drupal6`;
    CREATE DATABASE `wp_db`;
    CREATE USER `wp_user`;
    SET PASSWORD FOR 'wp_user' = PASSWORD('mysecretpassword');
    GRANT ALL PRIVILEGES ON `wp_db`.* TO 'wp_user'@'localhost' IDENTIFIED BY 'mysecretpassword';
    FLUSH PRIVILEGES;
    EXIT
    rm -f ~/.mysql_history

    service mysql restart

    Configuration

    cd /var/www/wordpress
    cp wp-config-sample.php wp-config.php
    chown www-data:www-data wp-config.php

    /var/www/wordpress/wp-config.php

        DB_NAME: Database Name used by WordPress
        DB_USER: Username used to access Database
        DB_PASSWORD: Password used by Username to access Database
        DB_HOST: The hostname of your Database Server

    https://api.wordpress.org/secret-key/1.1/salt/

        AUTH_KEY
        SECURE_AUTH_KEY
        LOGGED_IN_KEY
        NONCE_KEY

    service apache2 restart

    http://your.domain/wp-admin/install.php

    Linux counter client

    http://linuxcounter.net
    http://linuxcounter.net/user/207256.html

    Register new machine and get LiCo “Machine ID” and “Update key”.

    1. Login to your profile.

    userid 207256
    password xyz

    2. Add user cron to launch Linux counter update script.
    useradd -m cron

    3. Install lico-update.sh script.

    cd /usr/local/bin
    wget -N --no-cache https://github.com/alexloehner/linuxcounter-update-examples/raw/master/_official/lico-update.sh
    chown root:root /usr/local/bin/lico-update.sh
    chmod 755 /usr/local/bin/lico-update.sh

    4. Install cron.d job.
    /etc/cron.d/linuxcounter

    00 21 * * 0 cron /usr/local/bin/lico-update.sh -m >> /var/log/lico-update 2>&1
    30 21 1 * * root /usr/local/bin/lico-update.sh -update && chmod 755 /usr/local/bin/lico-update.sh>> /var/log/lico-update 2>&1

    chown root:root /etc/cron.d/linuxcounter
    chmod 644 /etc/cron.d/linuxcounter
    touch /var/log/lico-update
    chown root:cron /var/log/lico-update
    chmod 664 /var/log/lico-update
    mkdir /root/.linuxcounter/
    ln -s /home/cron/.linuxcounter/$(hostname) /root/.linuxcounter/
    

    5. Register new machine, choose option [1] Create a new machine in your linuxcounter account.

    su cron -
    /usr/local/bin/lico-update.sh -i
    cat /home/cron/.linuxcounter/$(hostname)
    /usr/local/bin/lico-update.sh -m
    

    Upgrade from version 0.3.20 to 0.0.4 😉

    Proceed with steps 3. and 4. above.
    Copy your ApiKey from your Profile.

    su - cron

    Keep your “update_key” and “machine_number” from already registered machine.
    grep 'update_key\|machine_number' /home/cron/.linuxcounter/$(hostname)

    /usr/local/bin/lico-update.sh -i

    Choose option [3] Rescan the system and replace the current configuration with the scanned data.

    Open your favorite editor:
    vi /home/cron/.linuxcounter/$(hostname)

    Use your “update_key” and “machine_number” you got above:

    update_key='xxxxxxxxx'
    machine_number='nnnnnn'

    And paste values in new variables “machine_updatekey” and “machine_id”.

    machine_updatekey=""
    machine_id=""

    Send new data to server:
    /usr/local/bin/lico-update.sh -m

    As user #root try script update function:
    /usr/local/bin/lico-update.sh -update && chmod 755 /usr/local/bin/lico-update.sh

    DynDNS Linux client

    http://www.dyndns.com
    janfai / moc]tod[liamgnull]ta[xiaf.naj

    Linux Update Client
    http://dyn.com/support/clients/linux/

    Update Client Configurator
    http://www.dyndns.com/support/tools/clientconfig.html

  • hosts:
  • faix.homelinux.net
    94.230.149.155
    zviretnik.dyndns.info
    94.143.171.101

    wget -N --no-cache http://cdn.dyndns.com/ddclient.tar.gz
    tar -zxvf ddclient.tar.gz
    cd ddclient-3.7.3
    
    cp ddclient /usr/local/bin/
    chown root:root /usr/local/bin/ddclient
    chmod 750 /usr/local/bin/ddclient
    
    mkdir /etc/ddclient

    /etc/ddclient/ddclient.conf

    daemon=600
    syslog=yes
    cache=/tmp/ddclient.cache
    mail-failure=jan.faix@gmail.com
    pid=/var/run/ddclient.pid
    use=web, web=checkip.dyndns.com/, web-skip='IP Address'
    login=janfai
    password=xxxxxxx
    protocol=dyndns2
    server=members.dyndns.org
    faix.homelinux.net

    chown root:root /etc/ddclient/ddclient.conf
    chmod 600 /etc/ddclient/ddclient.conf
    cp sample-etc_rc.d_init.d_ddclient.ubuntu /etc/init.d/ddclient

    /etc/init.d/ddclient

    DDCLIENT=/usr/local/bin/ddclient
    CONF=/etc/ddclient/ddclient.conf

    chown root:root /etc/init.d/ddclient
    chmod 755 /etc/init.d/ddclient
    update-rc.d ddclient defaults

  • test:
  • ddclient -daemon=0 -debug -verbose -noquiet
    /etc/init.d/ddclient start

    Linux mini-howto

    # Linux je operační systém s monolitickým jádrem.
    Moduly jsou objektové soubory, dynamické části jádra. Umožňují rozšířit
    za běhu funkce stávajícího jádra (LKM = Linux Loadable Kernel Module).

    # daemons basic operations
    /etc/init.d/apache status
    /etc/init.d/apache restart

    # filter file content
    cat /var/log/… | grep (192.168….) -v 9190 | grep 192.168…. | more
    tail -f /var/log/… | grep -v “FW-IN”
    grep 192.168.1.100 string
    grep “test string” -R /dir/*

    # network info
    netstat -an | more
    netstat -rn … show gateway
    netstat -tapn … show listening ports

    # DNS client configuration
    /etc/resololv.conf
    search mydomain.local
    nameserver 192.168.1.101
    nameserver 192.168.1.102

    # query DNS server
    dig www.nixcraft.com
    nslookup www.nixcraft.com

    # memory info
    top
    vmstat
    free

    # create file
    touch

    # chroot
    chroot /directory
    před chroot udělat:
    mount -o bind /proc /chroot/proc; chroot /chroot
    mount -t proc none /proc
    nebo
    for f in proc sys dev dev/pts run ; do mount –bind /$f /mnt/$f ; done

    # mv … move (rename) files
    if move error message Argument list too long, because move too much files do:
    ls -1 | xargs -n 10 -i mv {} /home/app/opt/app/log

    # ln … make links between files
    ln -s /home/app/opt/application/ application

    # copy file to remote
    scp file user@server:/home/dir

    # rsync – synchronizace / kopirovani slozek
    rsync -ave ssh server:/dir/ /mnt/dir/
    rsync -r -t -p -o -g -v –progress –delete –ignore-existing -l -H -D -s /mnt/linuxold/ /mnt/linuxnew

    # create iso
    mkisofs -o /home/user/data/office /home/user/data/office_en

    # directory size
    du -s
    du -ch | grep total

    # mount (samba)
    mount -o loop -t iso9660 /home/user/data/office /mnt/iso
    mount -t cifs -o username=administrator,password=password //server/data /mnt/server
    mount server:/share /mnt/share
    mount -t cifs -o username=admin,workgroup=cybercity //192.168.1.100/home/user /mnt/user

    # ntfs-3g – mount ntfs partition
    mount -t ntfs /dev/xxx /mnt/windows -o ro
    ntfs-3g /mnt/sda1 /mnt/windows

    # sshfs
    sshfs 001]tod[1]tod[861]tod[291null]ta[resu:/ /mnt/backup

    # nfs
    Souborový systém NFS
    – CIFS ve windows ~ NFS v unixu
    v3- „standard“, podporován všude
    v4- zabezpečení, ale problémy s výkonem
    NFS není vhodné pro veřejné sdílení na Internetu
    Umožňuje sdílet celý OS (boot from net)
    Je třeba řešit synchronizaci UID/GID (LDAP, NIS)
    Konfigurace:
    /etc/exports:
    /data *(rw,no_root_squash)
    # exportfs -r
    – znovu načtení změněné konfigurace
    # rpcinfo -p server
    – informace o RPC službách přes portmapper
    # showmount -e server
    – zobrazí sdílené adresáře
    # nfsstat – list NFS statistics
    # nfswatch – monitor an NFS server

    vi /etc/exports
    /files 192.168.1.100/24(rw,no_root_squash,async)
    /etc/init.d/nfs-kernel-server restart
    exportfs -a
    /etc/init.d/portmap restart
    mount 192.168.1.100:/data /data

    # package manager
    smart –gui (http://www.labix.org/smart)

    # YaSt – instalace balíčů z příkazové řádky SuSE
    zypper in sysstat

    Souborový systém:
    /etc/fstab
    – ext3:
    nodiratime
    errors=remount-ro
    acl,user_xattr
    noexec, nosuid, nodev
    – lsattr, chattr
    chattr +i soubor
    – setfacl, getfacl
    setfacl -m u:username:r /var/log/httpd/acces.log
    – sparse files

    # fstab example
    server:/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr
    //user at server/share_name /mount_point smbfs rw,-N
    //server/Data /mnt/server cifs username=administrator,password=password,us er,ro 0 0
    //1.1.1.1/Myfolder /mnt/mysharedfolder cifs
    username=user,password=pass,workgroup=workgroup,us er,ro 0 0
    //servername/sharename /smbshare smbfs
    ip=192.168.x.x,username=test,workgroup=domainname,password=password,noauto 0 0

    # nagios
    server:/var/spool/nagios

    # allow any traffic
    iptables -I FORWARD -s 192.168.x.x -j ACCEPT

    # NAT
    # test communication as another IP address
    telnet 192.168.1.100 80
    iptables -t nat -I POSTROUTING -d 192.168.1.100 -j SNAT –to 192.168.2.200
    telnet 192.168.1.100
    tcpdump -n -i any host 192.168.2.200

    # reset root password
    boot with grub, hit e, select kernel line, as parameters add: quiet single init=/bin/bash, press enter and than b
    mount -o remount,rw /

    # monitor ip traffic
    tcpdump -n -i vlan99 host 192.168.1.0
    tcpdump -i eth1 -n port 8888 or port 7777 and host 192.168.x.x
    tcpdump -n -i any host 192.168.1.100 or host 192.168.1.200 and not port 22
    tcpdump -n -i any host 192.168.1.100 or host 192.168.1.200 and not port 22 and not net 192.168.3.100/26
    tcpdump -n -i any host 192.168.1.100 or host 192.168.1.200 and not port 22 and not net 192.168.3.100/26 and not host 192.168.1.1 and not host 192.168.2.1 and not port 1215 and not port 1212
    tcpdump -n -i any -s 1500 -w test_dump_file.dump host 192.168.1.100 or host 192.168.1.200 and not port 22 and not net 192.168.3.100/26 and not host 192.168.1.1 and not host 192.168.2.1 and not port 1215 and not port 1212

    # ifconfig
    ifconfig eth0 192.168.1.14
    ifconfig eth0 netmask 255.255.255.128
    ifconfig eth0 broadcast 192.168.1.127

    # routing
    route -n … show gateway / genmask
    route add default gw 192.168.4.126
    route add -net 10.0.1.0 netmask 255.255.255.0 gw 10.10.0.1 dev eth1
    route add -net 10.0.2.0 netmask 255.255.255.0 gw 10.9.0.1
    arping -i vlan99 192.168.1.200
    ip route get IP
    ip route show … show gateway
    traceroute -I eth2 www.google.com

    # better traceroute
    mtr IP

    # who is logged on now / last login
    users
    who -a
    last (last -f /var/log/wtmp)
    w

    # display linux tasks
    top

    # Midnight Commander (mc)
    cd /#sh:user@machine/
    cd /#ftp:server
    cd ftp://[!][user[:pass]@]machine[:port][remote-dir]

    # gzip, gunzip
    gzip -r somedir Zip all files in the somedir directory.
    gunzip -r somedir Unzip all files in the somedir directory.

    gunzip something.tar.gz
    tar xvf something.tar

    tar czf – . | ssh server ‘(cd /muj/novy/adresar; tar xzf -)’

    gunzip -c something.tar.gz | tar xvf –

    # zip, unzip
    zip -r file.zip /directory
    unzip file.zip -d /directory

    # bzip2
    bunzip2 filename.txt.bz2
    bzip2 filename.txt

    #bzip untar
    tar xvfj file.tar.bz2

    #untar / tar
    tar -zxvf [filename with all extensions]
    tar -cvf mystuff.tar mystuff/

    tar cvzf foo.tar.gz foo/
    tar cv foo/ | gzip -9 > foo.tar.gz

    # tar / untar with gzip and same owner
    tar –acls –same-owner -cvpzf /tmp/app.tar.gz /opt/app
    tar –acls –same-owner -zxvpf app.tar.gz

    * -p – zajistí, že práva zustanou zachována
    * –same-owner -zajistí, že vlastníci zustanou zachováni
    * -P – neodstraouje úvodní lomítko z názvu
    * -owner uzivatel – zminí vlastníka souboru na uzivatel.
    * -mode opravneni – zminí oprávniní souboru na opravneni

    Old versions of the tar and dump commands do not backup ACLs.
    # star utility is similar to the tar utility in that it can be used to generate archives of files.

    star -xattr -H=exustar -acl -c -v -z -p -f=/tmp/test.star /dir
    star -x -v -p -z -acl -f=test.star

    star -xattr -H=exustar -acl -c -v -z -p -f=myarchive `cat /tmp/file_list`

    # umask, chmod, chown
    umask -S
    chmod ug=rw+ -R /folder
    chmod 700 /folder

    drwxrwxrwx 1 username users 2525 Feb 18 09:17 index.htm
    ^ / / / / /
    | V V V ”|”’ ‘|’
    | | | | | `– group the file belongs to
    | | | | `– user who owns the file
    | | | |
    | | | `– others (users who are neither you or in the group)
    | | `– group (people in the group)
    | `– user (you)
    |
    `– d=directory, -=file, l=link, etc

    0 = — = no access
    1 = –x = execute
    2 = -w- = write
    3 = -wx = write and execute
    4 = r– = read
    5 = r-x = read and execute
    6 = rw- = read and write
    7 = rwx = read write execute (full access)

    chown “root:domain users” file

    # OS version
    uname -a
    cat /etc/*-release

    # time and date settings
    date set=”STRING”
    date -s “25 AUG 2008 15:55:00”
    date [MMDDhhmm[[SS]RR][.ss]]
    hwclock –systohc, hwclock –hctosys
    ntpdate server
    stratum … vrstvy serveru pri casove synchronizaci

    # password policy
    chage
    deactive account (set expire in past day):
    chage -E 2008-09-23 username
    password expire in 1 year from today:
    chage -d 2008-08-01 -I -1 -m 0 -M 365 -E -1 username

    For example, set new data to 2 Oct 2006 18:00:00.

    # accounts info
    passwd -S “user”

    # hard kill proc
    killall -9 “licsrv” (proces se pise jeho jmenem)
    klidne 2x 3x pokud se neobjevi hlaseni:
    licsrv: no process killed

    # network readresace
    /etc/network/interfaces
    auto eth0
    iface eth0 inet dhcp
    iface eth0 inet static
    address 192.168.1.156
    netmask 255.255.255.192
    network 192.168.1.128
    gateway 192.168.1.190
    dns-nameservers 192.168.1.1 192.168.1.2

    /etc/init.d/network restart

    # network change hostname
    hostname=
    /etc/sysconfig/network
    /etc/sysconfig/network-scripts/ifcfg-eth0
    /etc/hosts

    # dhcp konfigurace
    dhclient

    # pridani noveho uzivatele a nove skupiny
    useradd uzivatel
    groupadd -g 50x skupina
    useradd -G skupina uzivatel

    # pridani existujiciho uzivatele do existujici skupiny
    usermod -a -G skupina uzivatel

    # overeni clenstvi uzivatele ve skupinach
    id uzivatel

    # pridani existujiciho uzivatele do existujici skupiny
    usermod -a -G skupina uzivatel

    # instalace a pouziti yum
    export http_proxy=http://192.168.1.129:8080
    /etc/yum.conf
    proxy=http://192.168.1.129:8080
    /etc/yum.repos.d/install.repo
    [os]
    name=Red Hat $releasever – $basearch – Base
    baseurl = http://192.168.122.30/mrepo/rhel4es-i386/RPMS.updates
    baseurl=http://192.168.122.30/mrepo/rhel4.6es-$basearch/RPMS.os
    baseurl=http://192.168.122.30/mrepo/rhel5.1-x86_64/RPMS.os
    enabled=1
    gpgcheck=0
    /etc/yum.conf
    [main]
    cachedir=/var/cache/yum
    keepcache=0
    debuglevel=2
    logfile=/var/log/yum.log
    pkgpolicy=newest
    distroverpkg=redhat-release
    tolerant=1
    exactarch=1
    obsoletes=1
    gpgcheck=1
    plugins=1
    metadata_expire=1800
    proxy=http://proxy:8080

    yum makecache
    yum list all
    yum update

    # Red Hat registration
    rhn_register

    # gentoo – emerge
    emerge -k
    emerge –sync … synchronizace portage stromu s mirrorem gentoo
    emerge portage … aktualizace baliku portage
    etc-update … aktualizace etc skriptu po instalaci

    python-updater

    # konfigurační soubor /etc/sudoers
    # pridani uzivatele ci skupiny do sudoers
    visudo – pouzit POUZE tento editor nikoliv vi
    %skupina ALL= NOPASSWD: /usr/bin/rootsh

    %chpass ALL = (root) /usr/bin/passwd [[:alnum:]_-]+, !/usr/bin/passwd root
    %mailadmin ALL = (root) NOPASSWD:/usr/sbin/rpm
    Použití aliasů :
    User_Alias WEBMASTERI = foo, bar
    Host_Alias VNITRNISIT = 192.168.10.0/16
    Cmnd_Alias WEBMASTER = (apache) ALL, (root) /usr/bin/su apache

    # LVM Logical Volume Management
    vgscan -> rozeznani LV
    lvs -> informace o logickych svazcich
    pvs -> informace o fyzickych svazcích
    pvdisplay -> informace o fyzickych svazcich
    vgdisplay -> informace o logickych svazcich
    lvdisplay -> informace o vlastnostech logickych svazcich
    vgchange -a y vg01 -> aktivace logickych svazku
    vgchange -a n vg01 -> deaktivace logickych svazku

    dmsetup – low level logical volume management

    parted /dev/sdX
    mklabel gpt
    mkpart primary 0 4096G

    umount /opt
    fsck -f /dev/VolGroup00/LogVol03
    resize2fs /dev/VolGroup00/LogVol03 3G
    lvreduce /dev/VolGroup00/LogVol03 -L 3G
    mount /opt

    vgchange VolGroup00 -a y

    lvscan -> File descriptor 3 left open:
    ACTIVE ‘/dev/VolGroup00/LogVol00’ [15.62 GB] inherit
    ACTIVE ‘/dev/VolGroup00/LogVol02’ [14.62 GB] inherit
    ACTIVE ‘/dev/VolGroup00/LogVol03’ [3.00 GB] inherit
    ACTIVE ‘/dev/VolGroup00/LogVol01’ [11.72 GB] inherit

    for root / use gparted live CD

    for swap partition use:
    swapoff -v /dev/VolGroup00/LogVol01
    lvm lvreduce /dev/VolGroup00/LogVol01 -L -512M
    mkswap /dev/VolGroup00/LogVol01
    swapon -va
    cat /proc/swaps # free

    # parted
    Label disk as msdos:
    parted /dev/sdx mklabel msdos
    Create primary ext4 partition:
    parted /dev/sdx mkpart primary ext4 0GB 100%
    Mark partition as LVM:
    parted /dev/sdx set 2 lvm on
    Mark paritition bootable:
    parted /dev/sdx toggle 1 boot
    Print free space:
    parted /dev/sdx print free
    Create swap:
    parted /dev/sdx mkpart primary linux-swap 14GB 16GB

    Format partition:
    Ext4: mkfs -t ext4 /dev/vg01/lv_name
    Swap: mkswap /dev/sda2

    # mdadm – manage MD devices aka Linux Software Raid.
    – kompletni sprava software raidu
    – v SW raidu je nutne zapsat grub na oba mirrorovane disky
    – pri pouziti fdisku oznacit partition jako typ fd (Linux raid auto)

    # VMWare Tools
    VMWare Console – Install VMWare Tools
    cd /media/cdrom

    cp VMwareTools-[version].tar.gz /root
    cd /root
    umount /mnt/cdrom
    tar zxf VMwareTools-[version].tar.gz
    cd /root/vmware-tools-distrib
    ./vmware-install.pl

    # install package
    # query insalled package
    rpm -qa | grep package_name

    rpm -ivh packagename
    upgrade a package
    rpm -Uvh packagename

    create a tar file
    tar -cvf myfiles.tar mydir/
    (add z if you are dealing with or creating .tgz (.tar.gz) files)

    standard install from source
    tar -xvzf Apackage.tar.gz
    cd Apackage
    ./configure
    make
    make install

    # FSArchiver
    # zalohovani dat linux systemu
    SystemRescueCD – Live Rescue CD obsahujici FSArchiver
    mount -t vfat /dev/sdb1 /mnt/usb
    fsarchiver savefs /mnt/backup/linuxsystem.fsa /dev/sda1 /dev/sda2 /dev/VolGroup00/LogVol00 /dev/VolGroup00/LogVol01
    fsarchiver archinfo /mnt/backup/gentoo-rootfs.fsa
    fsarchiver restfs /mnt/backup/home/user/archive.fsa id=0,dest=/dev/sda1 id=1,dest=/dev/sda2 id=2,dest=/dev/sda3
    fsarchiver probe simple

    # vytvoreni file systemu na USB disku
    mkfs.ext3 /dev/sda1
    e2label /dev/sda1 usb-backup

    # locate – nalezeni souboru
    locate vzor

    # find – nalezeni souboru a jeho obsahu
    find /adresar -name hledany_soubor -print
    find . -name ‘*2006*’
    find ~ -atime +365 -print
    find /home -user uzivatel
    find . | xargs grep ‘string’
    find /tmp -name ‘*.*~’ -print0 | xargs -0 rm
    grep ‘string’ ~/*
    find -print0 (ošetří zobrazení slepých znaků)
    -exec, jméno souboru {}
    find /tmp -name ‘*.*~’ -exec rm {} ;
    {} nahrazení jednoho daného nalezeného souboru
    ; expanduje daný znak shellu, escapovaní např. * napsat *

    # list all subdirectories
    ls -al | grep ‘^d’
    ls /etc/[Ss]* vypise vsechny soubory zacinajici pismeny Ss
    ls -dla /home/* | wc -l

    # delete / remove files and folders
    rm -rf *

    # man
    man -K aplikace … hledani aplikacniho manualu
    man vyuziva prikazu less pro prohlizeni man stranek
    /pattern * Search forward for (N-th) matching line.
    ?pattern * Search backward for (N-th) matching line.
    n * Repeat previous search (for N-th occurrence).
    N * Repeat previous search in reverse direction.

    # installed shells
    cat /etc/shells

    # vi
    (M meta klavesa je Alt)
    C-b presun o jeden znak vlevo
    C-f pres. o jeden znak vpravo
    C-a presun na zacatek radku
    C-e pres. na konec radku
    M-f pres. o jedn. slo. dopredu
    M-b jedn. slovo dozadu
    C-l smazani obrazovky
    C-u mazani radky
    C-k smazani znaku od kurzoru do konce radku
    C-y vlozeni smazaneho textu zpet
    C-d vlozeni znaku konce souboru
    C-h smazani znaku od kurzoru vlevo
    C-s pozastavení výpisu
    C-q pokračování výpisu
    C- ukončení procesu SIGQUIT
    C-d konec vstupu
    C-z suspend procesu
    C-j Enter
    yy Copy line
    P Paste above current line
    p Paste below current line
    dw Delete word
    cw Change word
    x Delete text at cursor
    X Delete (backspace) text at cursor
    a Insert text after cursor
    A Append text at line end
    0 Go to beginning of line
    $ Go to end of line
    h j k l Move left, down, up, right
    w b Scroll by word f/b
    ( ) Scroll by sentence f/b
    ?string Search backward for string
    /string Find next string

    # shell commands
    # expanzní znaky – přehled speciálních znaků
    | roura (pipe)
    ; ukončení na pozadí
    && spuštění při nulovém návratovém kódu předcházejícího příkazu
    || spuštění při nenulovém návratovém kódu předcházejícího
    – oznaceni itervalu napr a-z, 0-9
    * ? [] expanze názvů souborů
    ” potlačení všech spec. znaků uvnitř
    “” potlačení spec. znaků uvnitř mimo , $ a ”
    zástupný znak pro nový řádek
    < přesměrování std. výstupu >přesměrování std. vstupu
    ! negace
    # komentáře
    & spusteni na pozadi
    $ přístup k proměnným
    ; oddeleni prikazu
    () spusteni v kopii shellu

    # test – check file types and compare values
    test -f /etc/passwd && echo “Je to ono!” || echo “Smula”

    export prom=rodic2potomek
    echo ${prom}_neco

    Shell – kombinace příkazů
    cmd1 | cmd2
    cmd1 && cmd2 || cmd 3 – podmíněné spuštění
    {cmd1; cmd2} – skupina příkazů
    (cmd1; cmd2) – skupina příkazů v subshellu

    # history … zobrazeni historie prikazu
    !5 provede spusteni pateho prikazu v historii
    !-5 provede spusteni pateho prikazu v historii od konce
    !! provede posledni prikaz
    !cd hleda prikaz v historii zacinajici retezcem cd
    !?usr? hleda prikaz v historii obsahujici retezec usr
    C-r interaktivni hledani zpetne
    M-p neinteraktivni hledani zpetne historie prikazu
    M-n neinteraktivni hledani dopredne

    # cut, paste
    – remove sections from each line of files
    – paste – merge lines of files

    # aliasy
    alias zobrazeni nastaveni aliasu
    unalias zruseni alisau
    alias “cd+”=”moutn -t iso9660 /dev/hdd /mnt/cdrom”
    alias “cd-“=”umount /mnt/cdrom”

    # promenne prostredi (environment variables)
    hostname, term, shell, histsize, user, username, mail, path, lang, home … write UPPERCASE
    # nastaveni promenne
    A=”ahoj”
    B=$A
    zruseni promenne
    unset B
    export A nebo export A=ahoj … nastaveni promenne pro dalsi instance shellu
    set nebo env … zobrazeni promennych
    HISTSIZE pocet prikazu ulozenych v historii
    export PATH=$PATH:. pridani aktualniho adresare do promenne PATH

    # nastaveni globalnich promennych
    /etc/profile – je urcen pouze pro login shell (nebude vsak fungovat napr. v MC)
    /etc/bashrc – je urcen pro vsechny shelly
    . /etc/profile – znovu nacte profile nebo bashrc (. = prikaz source)

    # uzivatelske
    ~/.bash_profile
    ~/.bashrc
    ~/.bash_logout
    ~/.bash_history

    # Shell – proměnné prostředí
    PS1 – shell uživatele
    PS2 – login prompt
    TERM – typ terminálu (dobré použít s příkazem screen -T vt220)
    IFS – oddělovač polí (středník může být např. dvojtečkou)
    PATH – adresáře s programy
    SHELL – supštěný shell
    LOGNAME – login uživatele
    HOME domácí adresář uživatele

    # colors
    BLACK=”[33[0;30m]”
    BLUE=”[33[0;34m]”
    GREEN=”[33[0;32m]”
    CYAN=”[33[0;36m]”
    RED=”[33[0;31m]”
    PURPLE=”[33[0;35m]”
    BROWN=”[33[0;33m]”
    GRAY=”[33[0;37m]”
    # light colors
    LBLACK=”[33[1;30m]”
    LBLUE=”[33[1;34m]”
    LGREEN=”[33[1;32m]”
    LCYAN=”[33[1;36m]”
    LRED=”[33[1;31m]”
    LPURPLE=”[33[1;35m]”
    LBROWN=”[33[1;33m]”
    LGRAY=”[33[1;37m]”

    # set a fancy prompt
    if [ “$TERM” == “dumb” ]
    then
    PS1=’u@h:w$ ‘
    else
    PS1=$GREEN’u’$LBLUE’@’$LRED’h’$LCYAN’:’$LPURPLE’w’$LBLACK’$ ‘$RED
    fi
    # nebo zelena ?
    export PS1=”[e[36;1m]u@[e[32;1m]h:w> [e[0m]”

    # standardni vstup, výstup a chybový vystup
    STDIN … 0
    STDOUT … 1
    STDERR … 2
    viz /dev/fd, /dev/stdin, /dev/stdout, /dev/stderr

    # přesměrování std. vstupu ze souboru
    cat < vypis.txt ls /etc > vypis.txt 2>chyby.txt
    ls /bin > vypis.txt 2>&1
    ls /bin &>vypis.txt … přesměrování obou výstupů do jednoho souboru
    # nepojmenované roury (pipes)
    ls /etc | more
    ls -qa | grep “^k” | wc -l
    # pojmenované roury jsou specialni soubory
    mkfifo(1) /tmp/roura
    cat /tmp/roura
    echo ahoj | cat
    ahoj

    # processes
    pstree
    yes … vypisuje “y” na terminal
    C-z pozastavi beh programu
    C-c zastavi beh programu
    jobs … zobrazi procesy terminalu
    fg %1 … pokracovani pozastaveneho procesu – prevedeni procesu na popredi
    bg %1 … prevedeni procesu na popredi
    yes > /dev/null
    kill %1
    nohup yes > /dev/null … run a command immune to hangups, with output to a non-tty
    disown %1 … jobs is removed from the table of active jobs
    # stavy procesu (z pohledu planovace uloh)
    ps aux

    VSZ pocet alokovanych stranek virtualnich
    RSS pocet alokovanych stranek realne vyuzitych
    STAT stav procesu z pohledu scheduleru
    START datum vytvoreni procesu

    R … bezici uloha nebo uloha naplanovana k behu
    S … stav prerusitelneho cekani (sleeping)
    D … stav neprerusitelneho cekani
    T … pozastavena uloha
    Z … zombie

    Vytvoření procesu
    * fork () – vytvoří kopii rodičovskoého procesu
    * exec () – nahradí adresní prostor procesu nově spouštěným programem
    * wait () – rodič čeká na konec potomka
    * exit () – potomek končí a aktivuje rodiče

    ttyN – terminaly N, virtualni konzole /dev/ttyN
    pts/N – pseudo terminaly, dynamicky vytvarene terminaly /dev/pts/N
    echo “Nas novy terminal” > /dev/pts/4
    tty vypise virtuální zařízení terminálu připojeného na standardní vstup

    Prehled signalu (man 7 signal)
    signal value action comment
    SIGHUP 1 A hangup detected on controlling terminal
    SIGINIT 2 A interrupt from keyboard
    SIGQUIT 3 C quit from keyboard
    SIGKILL 9 AEF kill signal
    SIGTERM 15 A Terminal signal

    trap ‘rm -f /$TMPFILE > /dev/null 2>&1; exit’ 0 1 2 3 15
    – odchytí signál např. v bash skriptu při stisknutí Ctrl+C a provede daný příkaz

    kill [-n] PID [default n value 15 SIGTERM]
    killall [-n] process name
    pgrep, pkill – look up or signal processes based on name and other attributes
    pkill -u euid,… only match processes whose effective user ID is listed
    pgrep bash – vypise seznam vsech PID procesu bash

    top – klavesa 1 prepina mezi vice CPU
    load average: prumerny pocet procesu ve stavu R za 1, 10 a 15 min.
    PR priority schedulleru
    NI nice value (negative nice value means higher priority, whereas a positive nice value means lower priority)

    Priorita procesu PR je cislo n>0. Je neustale prepocitavana, uzivatel nemuze tuto hodnotu menit.
    Je mozno menit hodnotu NICE <-20,19>, PRI=f (NICE,…,…0
    Udava jak je proces “hodny” na ostatni (-20 je nejvice zly)
    Vyssi priorita zpusobi pridelovani vetsiho casoveho kvanta procesu.
    nice -n -20 yes> /dev/null&
    renice 19 PID

    # show RAM
    -m (megabajty), b,k,g,-h spravny rozmer -i obsazenost inodu
    free
    df

    # /etc/inittab
    id:runlevels:action:process
    unikátní seznam úrovní jaká akce proces, který
    identifikátor běhu, kterých se má provést se má spustit
    1-4 znaky se akce týká initdefault, sysinit,
    respawn, wait, once, …

    si::sysinit:/etc/rc.d/rc.sysinit … vola konfiguraci pro vsechny urovne

    mingetty … spousti terminaly tty 1-6
    ttyS0 … terminal na seriovem portu

    /etc/rc.d/init.d … obsahuje vsechny spousteci skripty
    /etc/rc.d/rcX.d … obsahuje symbolicke linky na vlastni ovladaci skripty

    Snn … skritpt start
    Knn … skript stop

    runlevel … zobrazi spustenou uroven behu systemu
    ln -s ../init.d/httpd S60httpd … vytvoreni sym. linku na spusteni httpd napr v runlevel 5
    chkconfig –list sshd … sprava startovacich skriptu
    upstart … nova nahrada initd napr. Ubuntu

    # atd … jednorazove spusteni ulohy
    atq … list que
    atrm … delete jobs

    # crond … periodicke planovani uloh
    /etc/crontab
    * * * * * příkaz
    0-59 0-23 1-31 1-12 0-6
    minuta hodina den měsíc den v týdnu
    0 … neděle
    0 20 * * * každý den ve 20:00 hodin
    0,30 20 * * * každý den ve 20:00 a 20:30 hodin
    0-30 20 * * * každý den ve 20:00-20:30 s krokem 1 minuta
    0-30/5 20 * * * každý den ve 20:00-20:30 s krokem 5 minut
    0 20 1-7 * 1 každé první pondělí v měsíci ve 20:00 hodin

    odkazuje na /etc/cron.xxxx, kam je mozne vlozit pozadovane skripty, ktere
    jsou spousteny programem run-parts

    # run-parts
    01 * * * * root run-parts /etc/cron.hourly
    02 4 * * * root run-parts /etc/cron.daily
    22 4 * * 0 root run-parts /etc/cron.weekly
    42 4 1 * * root run-parts /etc/cron.monthly

    ./crontab -e (edit) -l (list) … uzivatelsky crontab (/var/spool/cron/)
    0 20 * * * /bin/echo “je prave 20 hodin”
    povoleni ci zakazani pouzivani cronu uzivatelum
    /etc/cron.allow
    /etc/cron.deny

    # Logy
    Logování „do syslogu“ vs. logování do souboru
    Syslog daemon:
    Různé zdroje logů: /dev/log, síť
    Logování na vzdálený logserver přes síť
    Různé implementace služby syslog
    syslog
    rsyslog
    syslog-ng
    Aplikace mívají možnost výběru zda logovat do souboru nebo syslogu
    logger – program pro logování z shellu
    vlastní program pro logování (např pro apache)

    # syslogd, klogd (data z kernelu)
    /dev/log … socket
    FACILITY (oblast sběru) :
    AUTH
    AUTHPRIV
    CRON
    DAEMON
    FTP
    KERN
    LOCAL0 – LOCAL7
    LPR
    MAIL
    NEWS
    SYSLOG
    USER
    UUCP

    LEVEL (stupeň důležitosti) :
    EMERG
    ALERT
    CRIT
    ERR
    WARNING
    NOTICE
    INFO
    DEBUG

    logger -p facility.level “Text zprávy” … uložení zprávy na vstup syslogu
    logger -p mail.info “Ctvrtecni zprava do logu”

    /etc/syslog.conf
    Jednotlivé řádky ve tvaru … selector (podminka) action
    selector = facility.level
    pokud logova zprava vyhovi vice podminkam, je provedeno vice akci
    none = tyto zpravy nebudou do logu zapsany napr. kern ma vlastni log a nebude v adm/critical

    *.=crit;kern.none /var/adm/critical
    kern.* /var/adm/kernel
    kern.crit @finlandia
    kern.crit /dev/console
    kern.info;kern.!err /var/adm/kernel-info
    mail.=info /dev/tty12
    mail.*;mail.!=info /var/adm/mail
    *.=info;*.=notice;mail.none /var/log/messages

    *.emerg * … rozeslani zpravy na vsechny terminaly
    *.alert * … zasilani zpravy po siti
    @finlandia (nebo IP) … zasilani zprav z klienta syslog po siti jinemu syslog serveru
    -r … spusteni syslogd aby prijimal zpravy ze site
    nahrada za syslog je rsyslog nebo syslog-ng

    # Logy – správa logů
    Rotace logů
    nutnost dát signál aplikaci aby logy uvolnila
    logrotate- spouštěné z cronu každý den, rotace logů, komprese, mazání starých logů
    Dohled nad logy
    logcheck – kontrola zda se v logu nenachází něco podezřelého (detekce např. útoku)
    rkhunter – rootkit hunter

    # Logserver – konfigurace
    Logovací server (syslog-ng):
    options {
    sync (0);
    time_reopen (10);
    log_fifo_size (1000);
    use_dns (yes);
    dns_cache (yes);
    use_fqdn (no);
    create_dirs (no);
    dns_cache_expire (120);
    use_fqdn (no);
    keep_hostname (yes);
    log_fifo_size(4096);
    stats(3600);
    bad_hostname(“gconfd”);
    };
    source s_net {
    udp(ip(192.168.1.10) port(514));
    };
    destination d_net{
    file(
    “/export/data/logs/$HOST/$YEAR/$MONTH/$DAY/$FACILITY”
    perm(0640)
    dir_perm(0710)
    create_dirs(yes)
    template(“$ISODATE <$FACILITY.$PRIORITY> $HOST $MSGn”)
    template_escape(no)
    );
    };
    log {
    source(s_net);
    destination(d_net);
    };

    # Klient (syslog):
    *.*@loghost

    # Logy – logger
    Logování z Apache do logserveru
    – nutnost použít syslog-ng na straně webserveru – nevkládá hlášky o opakování zprávy
    – konfigurace v httpd.conf:
    ErrorLog syslog:local5
    SetEnvIf Request_URI “^/checkha.txt$” dontlog
    CustomLog “|/usr/local/sbin/apache_log webserver1” combined env=!dontlog

    Skript /usr/local/sbin/apache_log:
    #!/usr/bin/perl
    use Sys::Syslog;
    $SERVER_NAME = shift || ‘www’;
    $FACILITY = ‘local1’;
    $PRIORITY = ‘info’;
    Sys::Syslog::setlogsock(‘unix’);
    openlog ($SERVER_NAME,’ndelay’,$FACILITY);
    while (<>) {
    chomp;
    syslog($PRIORITY,$_);
    }
    closelog;

    # logrotate … rotování logů, spoustene aplikaci cron
    /etc/logrotate.conf, /etc/logrotate.d/

    # swatch, logcheck, logwatch, … analýza systémových logů
    /usr/share/logwatch/ … copy to …/etc/logwatch/conf/logwatch.conf
    Service = All … jake logy jsou analyzovany

    # quota … souborový systém připojen s podporou kvót : /etc/fstab
    /dev/hda1 / ext3 defaults,usrquota,grpquota 1 1
    uživatelská skupinová
    kvóta kvóta

    quotacheck -uvgamc … vytvoření a kontrola databáze kvót

    V kořeni každého sledovaného adresáře:
    quota.user, quota.group (verze 1)
    aquota.user, aquota.group (verze 2)
    mount -o remount / … pri zmene fstab premountovani rootu

    quotaon -uvga, quotaoff -uvga … zapnutí, vypnutí systémů kvót :
    repquota -uvga … zobrazení stavu kvót

    Nastavení kvót:
    setquota [-u|-g] user|group block-softlimit block-hardlimit
    edquota user inode-softlimit inode-hardlimit filesystem

    setquota -u pepa 0 10000 0 0 /
    su – pepa
    quota
    yes > soubor.txt

    tune2fs … nastaveni parametru filesystemu
    -m reserved-blocks-percentage … set the percentage of reserved filesystem blocks
    dumpe2fs -h /dev/hda1 … zobrazeni parametru filesystemu

    POSIX ACL
    tradicni model prav – lze vytvaret smostatne skupiny uzivatelu pro jemnejsi pridelovani
    prav k souborum, ale je to nesystemove reseni
    POSIX 1003.1e/1003.2c
    jedna se o bezpecnostni dodatek standardu POSIX ktery mimo jine definuje pristupove seznamy
    k souborum, ktery bohuzel nebyl nikdy schvalen, jedna se odraft;
    * pristupovy seznam ACL umoznuje definovat libovolne dlouhe seznamy opravneni pro dany soubor,
    vlastni pristupva prava rwx zustavaji nezmenena
    * ruzni uzivatele tak mohou mit k souboru nastavena ruzna pristupova prava
    * Linux implementuje ACL jiz dlouhou dobu a lze je pouzivat pro soborove systemy ext2,3, jfs, xfs, reiserfs
    * pro ruzne soborove systemy muze mit implementace ACL jista omezeni, jedna se zejmena o omezeni pozcu zaznamu v ACL
    Struktura seznamu ACL:
    * pristupova prava souboru jsou urcena jednim seznamem rizeni pristupu ACL
    * seznam obsahuje libovoly pocet zaznamu
    * kazdy zaznam nese specifickou informaci o pristupovych pravech pro konkretni kategorii uzivatelu
    * nektere zaznamy jsou v ACL povinne
    * lze definovat implicitni zaznamy pro adresare, ktere ovlivni nasstaveni prav nove vytvarenym souborum podobne jako
    maska umask u tradicniho modelu

    getfacl soubor … zobrazeni pristupovych prav
    # file: soubor.txt
    # owner: root
    # group: root
    user::rw-
    user:pepa:rw-
    user:franta:rwx
    group::r–
    group:adm:rwx
    mask::rwx
    other::r–

    setfacl -akce zaznam soubor .. zmena pristupovych prav
    setfacl -m u:pepa:rw soubor.txt
    setfacl -m u:franta:rwx soubor.txt
    setfacl -m g:adm:rwx soubor.txt

    # změna přístupových práv
    Sticky bit – není soubor odstraněn z paměti a jeho spuštění bylo v dřevních dobách rychlejší
    Pro adresář je sticky bit užitečný, pokud má adresář právo x, může z něj každý smazat soubory, pokud je však nastaven sticky bit, může soubory vymazat pouze vlastník.
    SetUID on exec
    SetGid on exec
    Proces převezme práva vlastníka (binárního) souboru. Platí pouze pro binární soubory.
    Proces má dvě pole euid (efektivní) ruid (reálný uživatel), pokud je nastaven sticky bit, je efektivní
    uživatel změněn na vlastníka souboru a proces je spuštěn s jeho právy (reálný uživatel zůstává).

    chmod u+s … set the permissions to “-rwsr-xr-x”, or similar (note the “s” replacing the usual “x”). That means that you can run certain commands with the permissions of a different user (typically root).

    mask::rwx
    regular file 666
    directory 777
    777 – 111
    101

    022 101=5
    /
    644 755

    mkdir adr
    chmod 2755 adr
    mkdir adr2
    drwxr-sr-x 2 root root 4096 Sep 18 14:20 adr2

    setfacl -m d:u:pepa:rw ./adresar
    setfacl -m d:g:franta:rwx ./adresar

    # file … determine file type
    – zjisteni typu souboru

    # LKM = Linux Loadable Kernel Module
    lsmod (/proc/modules) … výpis modulů zavedených v jádře

    Umístění modulů : /lib/modules/`uname -r`/
    jednotlive moduly maji priponu .ko (kernel object)

    Zavedení modulu : insmod msdos.o (2.4), insmod msdos.ko (2.6)
    insmod ne.o io=0x300,irq=11
    Inteligentní zavedení modulu: modprobe msdos
    Informace o modulu : modinfo ne
    Odstranění modulu : rmmod msdos
    Soubory : /proc/ksyms (2.4), /proc/kallsyms (2.6) – exportované symboly jádra

    # automatické zavádění modulů
    /etc/modprobe.preload, /etc/modprobe.preload.d/, /etc/modprobe.conf, /etc/modprobe.d/
    alias sound-slot-0 snd-intel8x0
    alias eth0 eepro100
    alias net-pf-31 bluez
    alias bt-proto-0 l2cap
    alias bt-proto-2 sco

    /etc/modprobe.d/modprobe.conf.dist … seznam vsech aliasu hw možných instalovat do systému

    # lspci … identifikace hardware
    lspci -vm

    # dmesg … cteni zprav jadra (kernelu)

    # zálohování
    není nutné zálohovat /sys, /proc, /dev

    # dump [-dump_level] [-b velikost_bloku] [-B pocet_bloku] [-f soubor] [-u] adresář
    -dump_level úroveň zálohy (0-9, 0 – plná záloha)
    -b velikost bloku velikost bloku v bytech
    -B počet bloků počet bloků
    -f soubor soubor kam se má záloha uložit (většinou device /dev/nst0)
    -u uchová informace o záloze v souboru /etc/dumpdates, nutné
    v případě inkrementální zálohy
    adresář adresář nebo blokové zařízení (/dev/sda2), které chceme
    zálohovat
    -j compress_level komprese bzip2
    -z compress_level komprese gzip

    dump -0 -u -f /backup.hdb1.0 /dev/hdb1
    dump -3 -u -f /backup.hdb1.3 /dev/hdb1
    dump -0 -u -j 9 /home | dd bs=1024 of=/dev/rmt0

    # restore -mód_obnovy [další parametry]
    -r plná neinteraktivní obnova
    -i interaktivní obnova
    -R pokračování v přerušené obnově
    -C porovnání zálohy se současným stavem
    Použití nástroje restore :
    restore -rf /backup.hdb1.0
    Provede neinteraktivní obnovení zálohy do aktuálního adresáře.

    Použití nástroje restore v interaktivním režimu :
    restore -if /backup.hdb1.0

    # vytvořeni loop zařízení přes soubor a namontování jako disku
    dd if=/dev/zero of=disk.img bs=1024k count=150
    losetup /dev/loop0 /root/disk.img
    mkfs -t ext3 /dev/loop0
    mount /dev/loop0 /mnt/disk

    pro zapisovani
    /dev/full – reprezentuje plny disk
    pro cteni
    /dev/zero – stale generuje 0
    /dev/random – pro cteni nahodnych cisel
    /dev/urandom – stejne pro generovani pro pseudonahodnych cisel

    # PartImage
    rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
    yum install partimage
    partimage -z1 -o -d save /dev/loop1 ~/backup.img
    partimage restore /dev/loop1 /root/backup.img.000

    # dev – vytvoreni zarizeni
    mknod /dev/loop8 b 7 8
    block device – blokove zarizeni
    charakter device – znakove zarizeni

    # rsync [volby] zdroj cíl
    -a vytvoření archivu (parametry -rlptgoD)
    -v upovídaný režim
    –exclude nezahrnovat příslušné soubory do zálohy
    –delete odstraní z cílové složky soubory, které neexistují ve zdrojové
    složce
    rsync -av /home /mnt/backup/home
    rsync -av –exclude=”*c” /home /mnt/backup/home
    Pozn.: Pozor na zápis adresářů ve zdrojích. V případě, že za jméno adresáře
    napíšeme lomítko, je přenesen jeho obsah, nikoliv adresář samotný.

    Příklad vzdálené zálohy přes scp :
    rsync -ave ssh -delete –progress /home user@remotehost:/mnt/backup/
    rsync -ave ssh -delete –progress user@remotehost:/mnt/backup /home/
    Pozn.: Pozor na zápis adresářů ve zdrojích. V případě, že za jméno adresáře
    napíšeme lomítko, je přenesen jeho obsah, nikoliv adresář samotný.

    Místo scp může být použita metoda rcp klient / server.

    mirrordir – obdobný nástroj pro Unix

    # vipw, vigr – edit the password or group files

    #su … umožňuje spustit shell pod jiným uživatelským UID a skupinovým GID
    su [volby] [uživatel [argument]]
    -, -l spustí jako login shell
    -c=příkaz předá shellu příkaz
    -m nebude měnit proměnné prostředí
    -s=shell spustí zadaný shell (musí být uveden v /etc/shells)

    #Jazyky pro popis tiskové stránky :
    – PostScript (Adobe)
    – PCL Print Control Language (Hewlett-Packard)
    – ESC/P (Epson)
    – GDI (Microsoft)
    Před vytisknutím na rastrové tiskárně je třeba PostScript převést na rastr.
    Tento proces se nazývá Raster Imaging Process – RIP.
    PostScriptové tiskárny obsahují hardwarový RIP, některé velké profesionální
    tiskárny mají RIP softwarový implementovaný na rychlém počítači.
    PostScript je navržen jako nezávislý na výstupním zařízení !!!
    GhostScript je volně šířený interpret jazyka PostScript, softwarový RIP.
    Dokáže transformovat PostScript do různých formátů : různé formáty
    bitmapových souborů BMP, PCX, TIFF, jazyk PCL, …

    GhostScript používá systém filtrů, které popisují jakým způsobem má
    transformovat PostScript.
    Filtry : GimpPrint
    HPIJS
    HPLIP
    eplaser-jp
    ……….
    Popis specializovaných funkcí závislých na zařízení zajišťuje soubor
    PPD – PostScript Printer Description.
    Původně pouze pro PostScriptové tiskárny, dnes možnost použití
    i pro ostatní.
    Výborná integrace s CUPS !!!

    Konfigurace : /etc/cups
    WWW administrační rozhraní : http://localhost:631/
    RedHat konfigurační nástroje : printconf-tui, printconf-gui

    Ovládání :
    Vložení úlohy do tiskové fronty : lpr [-P fronta] soubor.txt
    Výpis obsahu fronty : lpq [-P fronta]
    Smazání zprávy z fronty : lprm [-P fronta] ID
    Zobrazení dostupných tiskáren: lpstat -a
    Nastavení výchozí tiskárny: lpoptions -d PRINTERNAME

    /etc/cups/printers.conf

    DeviceURI ipp://10.0.0.6/printers/LBP2900

    # ldd … print shared library dependencies
    ldd /bin/sh – slinkovani programu s knihovnou

    – configure dynamic linker run time bindings
    /etc/ld.so.conf
    cesty ke knihovnam systemu

    ldconfig = aktualizovani cache cest ke knihovnam

    # apropos … search the whatis database for strings

    # screen … manažerem pro práci v terminálu
    C-a ? … rychlá nápověda
    C-a c … vytvoří nové okno
    C-a ” … přehled oken ”
    C-a x … zamknuti session
    C-a d … odpojeni od session
    screen -r … přihlášení ke spuštěné session
    screen -d -r … odpojí již připojenou session a znovu připojí k současnému terminálu
    screen -x … přehled všech sezení
    C-a [ … copy/scrollback režim

    sdílení sezení více uživateli:
    C-a : … a následným zadáním příkazu multiuser on
    C-a : addacl uživatelé, … přidání práva zápisu do sdílené session
    C-a : sessionname nové_jméno
    C-a * seznam uživatelů připojených k sezení

    screen -r vlastník_sezení/[sessionname]

    # file … determine file type

    # tty … print the file name of the terminal connected to standard input

    # strace … trace system calls and signals, debugging shell commands

    # sum … checksum and count the blocks in a file

    # write … allows you to communicate with other users, by copying lines from your terminal to theirs
    write bdokot pts/1
    When you are done, type an end-of-file or interrupt character.

    # getent – get entries from administrative database

    # nscd – name service cache daemon

    # nsswitch – System Databases and Name Service Switch configuration file

    # Linux PAM – Linux Pluggable Authentication Modules (PAM) provide dynamic authorization for applications and services in a Linux system.

    # DRBD (Distributed Replicated Block Device) is a distributed storage system for the GNU/Linux platform.

    # Bacula is an open source, enterprise level computer backup system for heterogeneous networks.

    # tmpfs is a common name for a temporary file storage facility

    # /proc
    ps aux – zjistit id procesu
    /proc/3867 – exe – odkud byl proces spusten
    – cwd – pracovni adresar procesu
    – environ – prostredi procesu

    # iotop

    # iostat
    iostat -k 1 /dev/sd[abcd]

    # bash shell script
    #! /bin/sh
    – může být shell spustěn i s login či debug parametry

    # id – print user identity

    # shell – expanze proměnných
    ${proměnná}
    ${proměnná:-slovo} – pokud není definována proměnná (nebo je prázdná), použije se slovo

    DOPSAT

    # Shell – speciální proměnné
    $# – počet parametrů skriptu
    $0 – název skriptu
    $n – n-tý parametr
    shift [n] – posun číslování parametrů
    $* – všechny parametry
    $@ – –//–
    $? – návratový kód posledního programu
    $$ – PID aktuálního shellu
    $! – PID poslední úlohy na pozadí

    # getopt – parse command options (enhanced)

    # read promenna
    – načtění řádku ze vstupu
    – read nastavuje návratový kód, který je možné otestovat (kontrola zda proběhl vstup)
    – je možné načíst více argumentů najednou
    echo -n “Zadej login:”;read login
    # eval $promenna
    – argumenty se zpracují a znovu provedou

    # shell – řídící struktury
    if příkaz; then příkazy
    [elif příkazy]
    [else příkazy]
    fi

    while příkaz; do příkazy; done
    for a [in text]; do příkazy; done

    case text in
    vzor1 | vzor2)
    příkazy;
    *)
    příkazy;
    esac

    ls * | while read soubor; do echo $soubor; done

    # Regulární výrazy
    „maska“ pro definici řetězců
    využití: vi, sed, grep, awk, perl…
    – Speciální znaky:
    . libovolný znak (mimo konce řádku – LF)
    ^, $začátek a konec slova
    [seznam]jakýkoliv znak z výčtu
    [^seznam]jakýkoliv znak z doplňku výčtu
    – Opakování:
    * libovolný počet opakování (i žádné) předchozího výrazu
    + minimálně jeden výskyt předchozího výrazu
    (, ), nvymezení části vzoru a její následné použití

    [^.] výrazu odpovídají všechny znaky krome . (musi byt escapovano )
    [] – pokud jsou zavorky jako vycet a je pouzit znak ^ napr. [^] jedna se jakykoliv znak krome ^…

    vypíše uživatele, kteří mají stejné UID a GID:
    getent passwd | egrep ‘^[[:alnum:]_-]+:x:([[:digit:]]+):1’

    nevypsání záznamů od spamd a CRONu:
    tail -f /var/log/syslog | egrep -v “(spamd|CRON[|”

    načtení pravidel ze souboru:
    … | egrep -v -f soubor

    # tr ‘[[:upper:]]’ ‘[[:lower:]] | …
    Převedení velkých písmen na malá:

    find . -type f | while read soubor; do mv “${soubor}” “`echo $soubor | tr ‘[[:upper:]]’ ‘[[:lower:]]’`”; done

    Převedení CR v textovém souboru z DOSu do Unixu (translate)
    tr -d ‘r’ < input.file > output.file

    # sed – filtr pro práci s texty – neinteraktivní editor
    Spuštění: sed [adresa]příkaz
    Příkazů může být více
    Adresa:
    prázdná – pro všechny řádky
    /exp/ – pro odpovídající vzorek (reg. výraz)
    n – n-tý řádek
    $ – poslední řádek
    Příkazy:
    s/vzorek/náhrada/[g|n] – nahrazení vzorku (reg. výraz), g = všechny výskyty, n = n-tý výskyt
    y/vzorek/náhrada/ – ekvivalent programu tr
    p vypsání textu

    sed -i.bak ‘s#:/home/#:/home/users/#g’ /etc/passwd
    hromadné přestěhování domácích adresářů uživatelů
    -i bude editovat primo soubor a vytvori jeho zalohu .back
    bezne je oddelovac / a muselo by byt escapovano, tudiz jako oddelovac
    slouzi znak #

    echo “Ahoj, Tondo.” | sed ‘s/^([a-zA-Z]+), ([a-zA-Z]+)./2/g’
    – zameni textove retezce

    sed -n ‘10,11,12p’ soubor
    – vypásní konkrétních řádků ze souboru

    # awk – postupně zpracovává řádky souboru a aplikuje na ně příkazy
    [BEGIN{příkazy}][/regexp/]{příkazy}[END{příkazy}]
    Předdefinované proměnné:
    RS- oddělovač záznamů/řádků
    FS- oddělovač polí
    NR- počet záznamů
    NF- počet polí
    ENVIRON[“HOME”]- přístup k prom. prostředí
    – je možné provádět přesměrování do souboru (print > file), spouštět externí programy (fce system())

    cat /etc/passwd | awk -F: ‘/^s/{print $1 “ma UID “$3” a jeho GID je “$4}’
    – zobrazi UID a GID kazdeho uzivatele zacinajiciho na pismeno ‘s’
    – parametr F urcuje oddelovac

    cat /etc/passwd | awk -F: ‘/^s/{print $1 “ma UID “$3” a jeho GID je “$4}; /^r/{print “uzivatel “$1″ zacina na r”}’
    cat /etc/passwd | awk -F: ‘/^s/{print $1 “ma UID “$3” a jeho GID je “$4}; /^r/{print “uzivatel “$1″ zacina na r”}; END{ print “celkem zpracovano: “NR}’

    cat > counter
    BEGIN{
    FS=”:”
    r=0
    }
    /^s/{
    print “uzivatel: “$1″ zacina na s”
    r++
    }
    END {
    print “Vypsal jsem ” r ” zaznamu s pismenkem s”
    }

    cat /etc/passwd | awk -f counter

    BEGIN{
    FS=”:”
    r=0
    }
    $4 == “1000” {
    print “uzivatel: “$1″ je ve skupine 1000”
    r++
    }
    END {
    print “Vypsal jsem ” r ” zaznamu”
    }

    BEGIN{
    FS=”:”
    r=0
    }
    {
    if ($4 == “1000”) {
    print “uzivatel: “$1″ je ve skupine 1000”
    r++
    }
    else {
    print “uzivatel “$1″ neni ve skupine 1000”
    }
    }
    END {
    print “Vypsal jsem ” r ” zaznamu”
    }

    # Skripty
    – Skripty neumožňují používat SUID bit
    vyjimka: perl
    Řešení:
    SUDO
    /etc/sudo
    editace visudo (ekvivalent vipw,vigr)

    # make
    – Generátor příkazů – automatizace opakujících se postupů.
    – GNU make, cmake
    – autoconf, automake, configure
    – python/perl/java mají své specifické postupy
    Makefile:
    all: singlesingle: clean ldap.xml xhtml-onechunk.xsl xhtml-common.xsl
    xsltproc -o html/ xhtml-onechunk.xsl ldap.xml
    clean:
    @rm -f html/*.html

    make – Makefile
    Závislosti cíle:targets: [files|targets]
    Prováděné příkazy:command
    Komentář:#komentář
    Pokračování na dalším řádku:
    Nezáleží na pořadí definic, podpora maker, dostupnost systémových proměnnýchs

    # X Window systém
    Různé implementace, různé OS:
    Xorg
    XFree86
    cygwin, proprietární X servery
    klient-server
    síťově transparentní, lze provést přesměrování výstupu

    X Window systém x uživatel
    X umí vykreslovat základní grafické prvky (bod, úsečka) a neví co je menu, tlačítko, nestará se o okna
    pro vykreslení grafických prvků je nutné použít vhodný toolkit
    pro správu oken window manager

    X – konfigurace
    statická konfigurace v /etc/X11/xorg.conf
    Možnost ovlivnění konfigurace při startu případně za běhu
    Modulární systém

    X – vzdálený přístup
    VNC
    různé implementace, klientský SW
    sdílení aktuálního sezení uživatele i samostatné sezení
    XDMCP
    využití: X terminál
    nezabezpečený protokol – pouze lokální síť
    vysoké nároky na propustnost sítě
    neumožňuje sdílet sezení uživatelů
    SSH a forward aplikací skrz tunel

    # MySQL
    mysqladmin kill status processlist
    while true; do mysqladmin status; sleep 1; done

    # watch – execute a program periodically, showing output fullscreen
    watch -n 1 — mysqladmin status
    watch -n 1 cat /proc/mdstat

    # —
    touch — –ahoj
    rm — –ahoj

    # Troubleshooting
    chování OS:
    balíček sysstat:
    -iostat -k 1
    -vmstat 1
    -sar
    iotop, top
    iftop
    iptraf
    htop
    mtop
    apachetop
    process accounting
    http://tldp.org/HOWTO/Process-Accounting/index.html
    balíček acct
    sa /var/log/pacct
    sa –print-users /var/log/account/pacct
    # sar – Collect, report, or save system activity information.
    /etc/init.d/sysstat statrt

    Troubleshooting 2
    – zjistí typ souboru, ale i zařízení
    file -s
    file -s /dev/sda
    Trasování volání:
    strace systémová volání
    strace -ff -o /tmp/stracelog cat /etc/shadow
    – trasování více vláknových procesů např. apache (param. -ff)
    strace -o /tmp/stracelog -p 123 (připojení na běžící proces)
    ltrace volání knihoven
    ltrace getent passwd root

    Knihovny:
    ldd ldconfig
    Soubory:
    lsof -n otevřené soubory
    fuser zjištění kdo „drží“ FS
    fuser -m -u /var/log

    Troubleshooting 3
    síť:
    tcpdumpodchytávání provozu
    wiresharkodchytávání provozu, analýza
    openssl s_client -host server -port 443 = test SSL spojení
    openssl s_client -host mojedatovaschranka.cz -port 443
    telnettest TCP spojení
    netstat -tpln zobrazení TCP „listenerů“
    netstat -tpaun zobrazení všech spojení
    ip r lroutovací tabulka
    ip a lIP adresy lokálních rozhraní
    iptables -L -v -n [-t nat|-t mangle] stav iptables
    mtr
    ethtool – ovládání síťové karty
    ethtool -p eth0 = např. identifikuje blikáním síťovou kartu
    dmidecode = reports information about your system’s hardware as described in your system
    smartctl -a /dev/sda = vypíše informace o SMART či provede test

    # Pošta
    – SMTP server bývá na každém serveru
    sendmail, postfix, exim, qmail a další
    – Zabezpečení komunikace
    – šifrování
    -TLS – 25/tcp
    -SSL
    – autorizace/autentizace
    -SASL
    – uživatel → SMTP server
    – SMTP server → SMTP server
    -Implementace (používané s Postfixem)
    – Cyrus – saslauthd
    – Dovecot

    # Doručování pošty – filtry
    Filtrování zpráv na straně serveru zajišťuje LDA
    procmail
    ~/.procmailrc
    maildrop
    ~/.maildroprc
    dovecot
    -sieve filtry, možnost zpravovat vzdáleně
    – Autoodpovídač (vacation)
    externí program, sieve skripty

    # Zpřístupnění pošty klientům
    Lokální soubory
    klientský sw: mail, mutt, pine
    IMAP/POP3
    Courier IMAP/POP3, Dovecot
    Zabezpečení komunikace
    -TLS (IMAP, POP3)
    -SSL (IMAPs/POP3s)
    Existují proxy pro IMAP/POP3

    # Pošta – antispam/antivir
    Antispam:
    Spamassassin, dspam
    razor, pyzor
    greylisting (gld, postgrey)
    Antivir:
    clamav
    Integrace s mailserverem:
    Amavis
    -zajišťuje základní filtrování, správu karantény

    # Pošta – odeslání
    Odesílání pošty
    SMTP
    lokálně
    -využívají systémové služby
    – Náhrada za /usr/sbin/sendmail
    SSMTP
    – Postfix – nástroje:
    mailq, qshape- zobrazení stavu fronty
    postsuper- správa fronty
    postcat -q ID- vypsání zprávy ve frontě
    sendmail -bv adresa – test doručení komu email finálně bude doručen (kontrola rewrite) – na postfixu

    Doručování pošty do schránek
    – Formát schránky
    mbox
    Maildir
    – LDA (local delivery agent)
    – mailserver
    – postfix -local, virtual
    – většinou velmi omezené možnosti filtrování
    – procmail
    – maildrop
    – dovecot
    – MDA (mail delivery agent)

    # postfix
    qshape – zobrazí počet čekajících mailů na jednotlivé domény
    postsuper – umí mazat z fronty emaily
    přes mailq zjistit ID a přes postsuper -d E83WF44DD
    postcat -q D8FUD88F23 | less – vypíše detaily emailu včetně obsahu
    postsuper -h ID zprávy – pozastavení zprávy a její opětovné unholdnutí -H
    postsuper -d ALL deferred
    mailq | awk ‘/marketing@adrsa/{print $1}’ | awk -F* {print $1}| while read id; do postsuper -h id;
    pro testování nahradit postsuper echo id
    pfqueue – sledování a modifikování poštovní fronty

    # mail klient – pine, mutt
    ~/.muttrc
    echo Ahoj Tondo… | mail -s “Pozdrav z hor” zc]tod[anemodnull]ta[letavizu
    cat /etc/config.conf | mail ….

    # gdb – The GNU Debugger (ddd)

    # Různé nástroje
    DNS:
    nslookup
    host
    dig
    whois, geoiplookup (GeoIP)
    nmap
    nessus
    cheops-ng a alternativy

    Monitoring služeb
    Různé nástroje:
    – hotsanic (lokální historie zatížení serveru)
    – munin (server vs daemon – zobrazí grafy monitoringu)
    – smokeping (změří latenci linky)
    Nagios
    – Centreon (nástavba pro Nagios – využívá jeho backend), nagiosgrapher
    – CFEngine (cfengine.org) – standalone, datacenter management platform
    Nagios:
    – Aktivní kontroly – NRPE – lokální agent
    – Pasivní kontroly – NSCA – pasivní příjem notifikací
    – Notifikace uživatelům – email, sms, vlastní
    – Závislosti, eskalace

    # Nagios – pluginy
    Velký výběr pluginů pro konkrétní služby
    – Vlastní moduly
    nezávislé na programovacím jazyku
    využití externích programů – možnost kontrolovat např. HW
    – Návratová hodnota
    0 = OK
    1 = warning
    2 = critical
    3 = unknown
    – Textový výstup

    # Debian Administration Utilities
    apachetop – Realtime Apache monitoring tool
    arping – Tool to send ICMP echo requests to an ARP address
    busybox – Tiny utilities for small and embedded systems
    cpbk – a mirroring utility for backing up your files
    cutter – disconnect routed IP connections
    di – advanced df like disk information utility
    disktype – detection of content format of a disk or disk image
    etherwake – A little tool to send magic Wake-on-LAN packets
    falselogin – False login shell
    fcrackzip – password cracker for zip archives
    htop – interactive processes viewer
    httping – ping-like program for http-requests
    hwinfo – Hardware identification system
    idswakeup – A tool for testing network intrusion detection systems.
    ifrename – Rename network interfaces based on various static criteria
    installwatch – Track installation of local software
    ipsc – IP Subnet Calculator for console
    iptraf – Interactive Colorful IP LAN Monitor
    knockd – small port-knock daemon
    labrea – a “sticky” honeypot and IDS
    linuxinfo – Displays extended system information
    lsscsi – list all SCSI devices (or hosts) currently on system
    memtester – memtest is a utility for testing the memory subsystem
    mindi – creates boot/root disks based on your system
    mtop – MySQL terminal based query monitor
    multitail – view multiple logfiles windowed on console
    notifyme – A program to notify the user when other one logs in
    rpl – intelligent recursive search/replace utility
    tiger – Report system security vulnerabilities
    tripwire – file and directory integrity checker
    shc – Shell script compiler
    wall – Prints a message to each user
    wcd – saves time typing when you want to change directories
    wipe – Secure file deletion
    whowatch – Real-time user logins monitoring tool
    zsafe – Password manager with encryption

    # Informations
    Open Computer and Software Inventory Next Generation, the open source automated inventory and deployment system

    Frontpage

    AWK examples: http://www.ibm.com/developerworks/library/l-awk1.html

    Linux ArmOps (American Army) Game: http://www.americasarmy.com/

    Cedega (Point 2 Play) Distro: http://www.transgaming.com/products_linux.php

    CXOffice (Wine, CrossOver) Apps: http://www.codeweavers.com/products/cxoffice/

    Spacewalk – Linux systems management: http://www.redhat.com/spacewalk/

    Slax Distro: http://slax.linux-live.org/screenshots.php

    DSL Distro: http://www.damnsmalllinux.org/index.html

    Gentoo Distro: http://www.gentoo.org/

    ABC Linuxu: http://www.abclinuxu.cz/ucebnice/zaklady/zakladni-soucasti-systemu/procesy

    Linux Man: http://linux.die.net/man/1/top

    Linux CZ: http://www.linux.cz/

    Knoppix Bootable USB Key: http://www.knoppix.net/wiki/Bootable_USB_Key

    Linux Printing: http://www.linuxprinting.org

    Linux Security: http://www.grsecurity.net/

    Linux Advanced Routing & Traffic Control: http://lartc.org/

    KeyPass: http://keepass.info/