Kmlinux

From NMS
Jump to: navigation, search
Servery / Služby
Přístupné komukoliv
windows
srk
linux / unix
kmlinux
Omezený/individuální účet
linux / unix
bimbo · buon(KF) · km(KM) · lenochod(KJR) · linux · node(KM) · sunrise(KF) · unixlab(KFE)
Služby
backup · DHCP · DNS · doména FJFI · eduroam · fileserver · IdM · forum · gitlab · lists · moodle · indico · mailgw · mailserver · NMS · skolniftp · videokonference · VoIP · VPN · wififjfi · wiki · www
Učebny
e-sklipek · KFE unixlab · KFE pclab · PD1 · KM 105 · KM 115
Ostatní
Network · Blokované porty
[edit] · [view]

Základní informace

Správce 
Petr Vokáč
HW 
  • Motherbord - H8QM3-2, 2*PCI Express 16, 1*PCI Express 8, 1*PCI Express 4, 1*PCI-X, 2*1Gb LAN, 8*2Gb DDR2
  • CPU 4*Quard-Core AMD Opteron(tm) Processor 8354 (B3)
  • 16GB RAM
  • 5*1TB HDD, řadič ARECA 1220 PCI Express - RAID6 (3TB)
  • 2*1Gb LAN
  • management AOC-SIM1U (KVM přes oddělenou LAN)
OS 
CentOS7
aplikace
  • aplikace z ČVUT multilicencí (Matlab, Maple, Mahtematica, ...)
  • volně dostupné (Eclipse, Netbeans, Java, root, ...)
  • nainstalováno více verzí, pro i386 a x86_64 architektury
  • po dohodě je možné nainstalovat libovolnou další aplikaci (jejíž licence to umožňuje)
  • adresář s aplikacemi /fjfi/apps je exportován přes NFSv2, NFSv3, NFSv4 a je možné si ho připojit kdekoliv na ČVUT
Využití 
pro výuku, výběr pošty, www stránky, ...
Konto 
vytvářené (a rušené) automaticky jako hlavní FJFI konto

Instalace a konfigurace

  • příliš mnoho služeb a konfigurací...

Limits

# základní omezení alokace paměti pro uživatele
systemctl --runtime set-property user.slice MemoryLimit=12G

Přístup

Pro přístup ke kmlinuxu použijte svoje hlavní uživatelské jméno a heslo na FJFI. Pro první aktivaci hlavního FJFI konta je potřeba znát jméno/heslo do Usermapu/KOSu (to lze využít i pro změnu hesla, pokud jste ho zapomněli).

Terminálový

Na server je možné přihlášení pomocí ssh. Pro Windows existuje například ssh klient putty (v konfiguraci je vhodné zapnout kódování UTF-8, jinak se speciální znaky nebudou zobrazovat korektně). V případě, že máte pouze webovský browser s podporou Java appletů, mužete využít následující aplikaci.

Fingerprinty pro SSH na kmlinuxu (jsou uvedeny také jako SSHFP záznamy v DNS):

1024 2f:1c:94:d0:84:25:b3:03:a9:53:a8:e8:f8:6d:fe:10 ssh_host_rsa_key.pub
1024 4d:ad:e4:bd:c1:fc:ff:59:1b:50:e4:09:7d:9b:b9:72 ssh_host_dsa_key.pub

SSH klíče

Tento způsob přihlašování přináší jak lepší zabezpečení hesla (závislé jen na důvěryhodnosti stroje z nějž se přihlašujete) tak i větší pohodlí (možnost logovat se "bez hesla"). Na stroji z nějž se chcete přihlašovat si musíte vygenerovat SSH klíče:

# vygenerování SSH klíčů (je možné zadat i prázdné heslo, ale to zavisí na tom
# jak moc jste paranoidní a jak moc důvěřujete stroji na němž klíče generujete,
# pro přihlašování "bez hesla" je asi lepší použít ssh-agent)
ssh-keygen -t rsa -b 2048     # u starších verzí SSH bude možná potřeba kratší klíč, např. 1024

Vygenerované klíče se uloží do ~/.ssh/id_rsa.pub (veřejný klíč) resp. ~/.ssh/id_rsa (privátní klíč). Veřejný klíč nakopírujte/přidejte do ~/.ssh/authorized_keys na stroji, kam se chcete přihlašovat pomocí právě vygenerovaného klíče.

cat ~/.ssh/id_rsa.pub | ssh username@kmlinux.fjfi.cvut.cz ">> ~/.ssh/authorized_keys"
# u novějších verzí SSH stačí zadat: ssh-copy-id username@kmlinux.fjfi.cvut.cz

Podobným způsobem lze zkonfigurovat putty, ale k tomu navíc potřebujete samostatnou aplikaci na generování klíčů puttygen (lze ji stáhnout ze stránky jako putty). Poté, co si vygenerujete privátní a veřejný klič (ten připojte do ~/.ssh/authorize_keys na cílovém SSH serveru), musíte v konfiguraci putty připojení vybrat autentizaci pomocí vygenerovaného privátního klíče: Connection -> SSH -> Auth -> Private key file for Authentication.

Kerberos

Stejně jako u SSH klíčů i tento způsob přihlašování zabrání odchycení hesla (samozřejme s vyjímkou stroje, kde to heslo zadáváte) a zjednoduší vícenásobné přihlašování, protože Kerberos ticket má platnost několik hodin. Bohužel konfigurace Kerberos klienta je o trochu složitější a je dobré mít na stanici root práva. Nejprve je nutné upravit soubor /etc/krb5.conf, který by měl obsahovat následující údaje:

[logging]
  default = FILE:/var/log/krb5libs.log
  kdc = FILE:/var/log/krb5kdc.log
  admin_server = FILE:/var/log/kadmind.log

[libdefaults]
  default_realm = FJFI.CVUT.CZ
  dns_lookup_realm = false
  dns_lookup_kdc = false
  ticket_lifetime = 26h
  renew_lifetime = 14d
  forwardable = yes

[realms]
  FJFI.CVUT.CZ = {
    kdc = krb1.fjfi.cvut.cz:88
    kdc = krb2.fjfi.cvut.cz:88
    kdc = krb3.fjfi.cvut.cz:88
    kdc = krb4.fjfi.cvut.cz:88
    admin_server = krb.fjfi.cvut.cz:749
    default_domain = fjfi.cvut.cz
  }

[domain_realm]
  fjfi.cvut.cz = FJFI.CVUT.CZ
  .fjfi.cvut.cz = FJFI.CVUT.CZ

Poté by mělo být možné získat Kerberos ticket, který slouží pro autentizaci ke "kerberizovaným službám" (jako jen např. SSH):

# pokud máte lokální jméno stejné a výše uvedenou konfiguraci v /etc/krb5.conf
# nemusíte příkazu kinit předavat žádné parametry
kinit [username@FJFI.CVUT.CZ] [-r 7d] [-l 7d]
# výpis Kerberos ticketů
klist
# zneplatnění kerberos ticketu
kdestroy

S platným kerberos ticketem nebude SSH server vyžadovat žádné další přihlašovací heslo. V případě, že se dotáže na heslo, tak buď nemáte platný Kerberos ticket k účtu k němuž se snažíte přihlásit nebo ssh klient, který používáte nepodporuje Kerberos (zkontrolujte také jestli je povoleno "GSSAPIAuthentication yes" v konfiguraci ssh klienta např. /etc/ssh/ssh_config reps. ~/.ssh/config).

screen

Pokud chcete stejný terminál použivat pokaždě, když se znovu přihlásíte, můžete využít vlastností aplikace screen. Tuto aplikaci je také výhodné použít v případě, že spouštíte nějaký dlouho trvající proces, kde si nejste jisti, že se mezitím z nějakého důvodu nerozpadne spojení se serverem. Seznam nejdůležitejších příkazů:

# vytvoření nové session
screen -U -S jméno
# vylistování existujících session
screen -list
# připojení k existující session
screen -U -A -d -r jméno
# následují zkratkové klávesy pro ovládání běžícího screenu
ctrl+a d        # přerušení práce ve screenu
ctrl+a c        # vytvoření nového virtuálního terminálu
ctrl+a a        # pošle do terminálu ctrl+a
ctrl+a k        # zrušení aktuálního virtuálního terminálu
ctrl+a 0-9      # přechod mezi nultým až devátým virtuálním terminálem
ctrl+a p        # předchozí virtuální terminál
ctrl+a n        # následující virtuální terminál
ctrl+a "        # seznam virtuálních terminálů
ctrl+a x        # zamčení screenu
ctrl+a esc      # kopírovací / skrolovací mód

Grafický

X11

V linuxu existuje několik způsobů pro vzdálené spouštění grafických aplikací. Jeden ze způsobů je podporován přímo X serverem a ssh klientem (není-li v globální konfiguraci povoleno přesměrování X11 spojení, je potřeba spustit ssh klienta s parametrem -X resp. -Y). Bohužel tento způsob není vždy úplně optimální a to jak z hlediska rychlosti, tak i z hlediska pohodlí (např. ve windows je potřeba nejprve spustit X server, např. xming nebo lze použít i X server z cygwinu). Navíc tímto způsobem není možné uchovat běžící grafickou aplikaci po odhlášení od serveru.

VNC

  • Na kmlinuxu je potřeba spustit vncserver s např. rozlišením 1024x768, poprvé budete dotázáni na heslo, lze zadat cokoliv (zabezpečení je realizováno pomocí SSH), ale heslo si zapamatujte, protože je vyžadováno klientem. Po startu vncserveru se na konzoli vypíše číslo displaye, na němž byl byl spuštěn.
vncserver -depth 24 -geometry 1024x768 -localhost
  • Na straně klienta je potřeba vytvořit zabezpečený komunikační kanál s kmlinuxem (běžný vnc protokol totiž není šifrovaný a bylo by možné ho odposlouchávat). K tomu lze využít vlastnosti SSH, které umožňuje vytvářet zabezpečené tunely.
# vytvoření SSH tunelu (x je číslo display, na nemž běží spuštený vncserver)
ssh -f -C -N -L 5901:127.0.0.1:590x username@kmlinux.fjfi.cvut.cz
# nebo pod windows lze použít plink (případně konfiguraci SSH tunelů z putty)
plink.exe -L 5901:127.0.0.1:590x username@kmlinux.fjfi.cvut.cz
  • Po vytvoření tunelu už stačí spustit vnc klienta (např. TigerVNC), kde jako adresu uvedete localhost a číslo displaye 1.
# spuštění VNC klienta
vncviewer localhost:1

Pokud chcete použít nějaký jiný "hezčí" windows manager, změnte obsah ~/.vnc/xstartup např. na

#!/bin/sh

# Red Hat Linux VNC session startup script
exec /etc/X11/xinit/xinitrc
exec /usr/bin/gnome-session

Ukončení běžícího vnc serveru lze na kmlinuxu provést příkazem

vncserver -kill x     # kde x je číslo display, kde se spustil vncserver

Pokud bude dostatek paměti, může běžet Váš vncserver nepřetržite, nesmí však zbytečně vytěžovat CPU (např. nějakým screensaverem).

NX

NX server přestal koncem 2013 fungovat a není v plánu ho opět zprovoznit vzhledem k tomu, že v x2go existuje srovnatelná alternativa.

Jedná se o optimalizovaný / komprimovaný X protokol, který má výrazně nižší nároky na přenosovou rychlost. Navíc klient/server podporuje některá další rozšíření klasického X serveru, takže je například možné měnit velikost desktopu běžící session (na druhou stranu to má zas svá omezení, kdy není možné připojit se k běžící session, pokud se změnila bitová hloubka rozlišení na klientské stanici).

Konfigurace NX klienta

Konfigurace

  • stáhněte a nainstalujte klienta pro požadovanou platformu (Windows, Linux, Mac OSX, Solaris)
  • spusťte klienta, do konfigurace vyplňte požadované údaje (jméno serveru, username, ...)
  • na kmlinux.fjfi.cvut.cz si otevřete soubor /etc/nxserver/client.id_dsa.key a uložte ho do formuláře, který se zobrazí po kliknutí na tlačítko "Configure..." -> "Key..."

x2go

Slouží jako náhrada za NX server, který od verze 4 není volně dostupný. Klient/server x2go je postavený na NX protokolu verze 3, ale není s ním kopatibilní. Proto pro grafický přístup ke kmlinuxu pomocí x2go budete potrebovat nainstalovat x2go klienta. Vlastní konfigurace připojení je jednodušší než konfigurace původního NXka - stačí vyplnit položku Host (kmlinux.fjfi.cvut.cz), Login (FJFI uživatelské jméno) a přípatne Session type (zvolit typ windows manageru, např. KDE, GNOME, LXDE nebo XFCE).

Tunely

Některé služby nejsou přístupné z jiných strojů případně mimo IP rozsah adres FJFI (např. MySQL, PostgreSQL, ...). Pokud k nim chcete přesto přistupovat i z jiných IP adres, máte možnost tunelovat je přes SSH (ve většině případů lze také využít přístup přes FJFI VPN). K vytvoření tunelu použijte buď běžné ssh nebo pod windows mužete použít putty resp. plink.

# příklad použití ssh pro zpřístupnění MySQL
ssh -f -C -N -L 3306:kmlinux.fjfi.cvut.cz:3306 username@kmlinux.fjfi.cvut.cz
# příklad použití plink pro zpřístupnění MySQL
plink -N -L 3306:kmlinux.fjfi.cvut.cz:3306 username@kmlinux.fjfi.cvut.cz

Uvedené příklady zajistí, ze příslušný port z kmlinuxu bude "namapovaný" na adresu localhostu (127.0.0.1) na počítači, kde jste tento příkaz spustili.

Transparetní tunel

Po vytvoření SSH tunelu se v aplikaci využívající tunelované spojení musí nakonfigurovat přístup přes localhost (127.0.0.1) a vybrané číslo portu. To v něterých případech nemusí být jednoduché a pohodlné. Pokud systém na němž pracujete podporuje přesměrování síťového provozu, potom můžete zajistit zcela transparentní tunelování bez nutnosti měnit jméno cílového stroje a číslo portu při navazování spojení. Např. v linuxu můžete to lze zařídit následujícím způsobem:

# transparetní přítup přes tunel k MySQL
ssh -f -C -N -L 3306:kmlinux.fjfi.cvut.cz:3306 username@kmlinux.fjfi.cvut.cz
sudo iptables -t nat -A OUTPUT -d kmlinux.fjfi.cvut.cz -p tcp --dport 3306 -j DNAT --to-destination 127.0.0.1:3306

Nyní je možné přistupovat "přímo" k MySQL databázi na kmlinuxu (tj. např. mysql -h kmlinux.fjfi.cvut.cz -u username -p) z Vašeho počítače a spojení bude automaticky tunelováno přes SSH.

Přístup za NAT

Pokud provozujete nějakou službu (např. remote desktop) na svém počítači, který je připojen do internetu přes NAT, tunelování může zpřístupnit danou službu pro libovolný počítač. Stačí když lokální port na němž služba poslouchá přesměrujete a necháte ji poslouchat na nějakém portu počítače s veřejnou IP adresou. Je potřeba si ale uvědomit, že tunelováním obcházíte nastavení lokálního firewallu a všech firewallů na cestě, tj. služba bude standardně dostupná uplně bez omezení. Následující příklad zpřístupní rdesktop z lokálního stroje, který pak bude dostupný na kmlinux.fjfi.cvut.cz:12345 (na jeden port můžete namapovat maximální jeden tunel, tj. 12345 změnte pro každý nový tunel)

# příklad použití ssh pro zpřístupnění rdesktop stroje za NATem
ssh -f -C -N -R :12345:127.0.0.1:3389 username@kmlinux.fjfi.cvut.cz
# příklad použití plink pro zpřístupnění rdesktop stroje za NATem
plink -N -R :12345:127.0.0.1:3389 username@kmlinux.fjfi.cvut.cz

# můžete také vytvořit tunel na další stroje v lokální síti za NATem
# pokud chcete např. přistupovat na stroj s privátní IP 192.168.1.123
# použijte příkaz
ssh -f -C -N -R :12345:192.168.1.123:3389 username@kmlinux.fjfi.cvut.cz
# resp.
plink -N -R :12345:192.168.1.123:3389 username@kmlinux.fjfi.cvut.cz

Pro přihlášení lze potom použít příkaz

# v linuxu
rdesktop kmlinux.fjfi.cvut.cz:12345
# ve windows
mstsc /v:kmlinux.fjfi.cvut.cz:12345

Ve standardní konfiguraci ssh serveru jsou zakázány "GatewayPorts", takže není možné přímo zpřístupnit službu do světa a musí se to obejít dalším tunelem podobným jako v ukázce tunelování MySQL. Na kmlinux.fjfi.cvut.cz je uvedená volba povolena a výše uvedené příklady fungují přesně tak jak jsou uvedeny bez nutnosti vytvářet další pomocný tunel.

Data

Quota

Velikost domovského adresáře je v současné době omezena quotou pro studenty na 400MB (resp. 500MB dočasně), pro zaměstnance a doktorandy na KM/KF je quota nastavena na 40GB (resp. 50GB dočasně), pro ostatní přibližně kolem 10GB (resp. 15GB dočasně). Větší prostor lze dohodnout individuálně v případě, že se jedná o nějaký projekt alespoň malinko související s naší fakultou.

Backup

V současné době je prováděno pravidelné zálohování adresářů /home (krom dočasných adresářů/souborů jako jsou např. cache web browseru, adresář tmp, ... a některých rozsáhlých nedůležitých adresářů s fotkami), /var/spool (příchozí maily, ...) a databází (MySQL, PostgreSQL). Zálohování je prováděno pomocí programu bacula každý den v noci podle následujícího schématu:

  • Kompletní backup (každou neděli ráno)
  • Inkrementální (pondělí-středa ráno)
  • Diferenciální (čtvrtek ráno)
  • Inkrementální (pátek-sobota ráno)

Data jsou uchovávána přibližně dva týdny než je místo které zabírají recyklováno pro potřeby nových záloh. Pokud budete potřebovat obnovit data ze zálohy, můžete k tomu využít formuláře na stránkách uživatelských konfigurací.

Přístup

Pro přítup k datům můžete použít několik různých protokolů SFTP, SCP, FTP přes SSL, NFS, Sambu.

SCP

SCP resp. SFTP využívá pro SSH pro zabezpečenou komunikaci a tak pro autentizaci fungují všechny výše popsané postupy. Ve Windows je použitelným klientem winscp, SFTP plugin do Total Commanderu nebo SFTP Net Drive pro namapovaní dat jako další síťovou jednotku. V linuxu je možné využít standardního příkazu scp nebo i vlastností některých aplikací (např. v mc, kde stačí napsat cd /#sh:username@stroj.domena.cz).

Fuse

Pomocí fuse resp. sshfs můžete v linuxu připojit disk z libovolného stroje, kde běží SSH daemon a máte tam uživatelský účet. Ke konfiguraci fuse potřebujete root práva na stroji, kam chcete data ze serveru připojit.

# instalace podpory fuse pro Fedoru (použite package manager své distribuce)
yum install fuse-sshfs
# přidání lokálního uživatele do skupiny, která může používat fuse
perl -p -i -e "s/^(fuse:.*)/\1,your_local_username/" /etc/group
perl -p -i -e "s/^(fuse:.*)/\1,your_local_username/" /etc/gshadow
# úprava globální konfigurace fuse
echo "user_allow_other" >> /etc/fuse.conf
# konfigurace pro příkaz mount
echo "sshfs#your_kmlinux_username@kmlinux.fjfi.cvut.cz:/ /mnt/kmlinux fuse    defaults,noauto,user,allow_other,uid="`id -u your_local_username`",compression=yes,transform_symlinks    0 0" >> /etc/fstab
# adresář pro připojení dat
mkdir -p /mnt/kmlinux
chown your_local_username:user /mnt/kmlinux

Připojení dat je s uvedenou konfigurací možné provést kdykoliv pod běžným uživatelským učtem:

mount /mnt/kmlinux

NFS

Některá data jsou přístupná i přes tento protokol, ale opět je přístup omezen na ČVUT resp. FJFI IP adresy. Nejzajímavějším adresářem přístupným přes NFS (v2, v3, v4) je kmlinux.fjfi.cvut.cz:/exports/apps, kde jsou nainstalovány aplikace (Matlab, Maple, Mathematica, Java, Eclipse, Netbeans, Root, ...).

Samba (MS sdílení)

Domovské adresáře uživatelů jsou přístupné i přes protokol Samba, takže je možné namapovat si vlastní adresář přímo do Windows. Přístup je však omezen na IP rozsah ČVUT (stejně jsou v současné době blokovány příslušné komunikační porty na hraničních routerech ČVUT). Cesta k domovskému adresáři má tvar \\kmlinux.fjfi.cvut.cz\username uživatelské jmeno musí být (zatím) zadáno ve tvaru FJFI\username (někdy dokonce FJFI.CVUT.CZ\username) a standardní heslo.

Pokud chcete obejít omezení přístupu z ČVUT, můžete se připojit pomocí VPN a tím získáte přístup ke všem službám, jako když svůj počítač fyzicky připojíte přímo do sítě na ČVUT. Také je možné (ale vcelku komplikované) protunelovat pomocí SSH port 139 a Váš lokální stroj a localhost. Pokud máte lokálně spuštěnou sambu/ms sdílení, je potřeba vytvořit další loopback síťové zařízení, nadefinovat mu nějakou IP z nevyužívaného privátního rozsahu a konec SSH tunelu navázat až na toto zařízení.

FTP

Dalším způsobem pro přístup k datům v domovském adresáři je FTP zabezpečené pomocí SSL. Pro anonymní přístup není vyžadaváno SSL zabezpečení a je směrováno do adresáře zatím nikam. Jako klientskou aplikaci můžete použít například lftp (linux) nebo Total Commander (windows).

WebDav

TODO

Data na Novellu

Pomocí programu ncpmount si můžete přimountovat data, která máte na novel discích. Celý příkaz vypadá následovně: ncpmount -A tjn.fjfi.cvut.cz -S tjn -U username.vcetne.kontextu mount_point, kde tjn je příslušný novel server, uživatelské jméno musí být zadáno celé včetně kontextu (většinou username.studenti.fjfi) a mount_point je adresář, do kterého se novel disky připojí. Po skončení práce by bylo ještě slušné disky odpojit příkazem ncpumount mount_point.

Data na Windows

Pro připojení domovských adresářů z windows bohužel nelze použít automount (v dokumentaci je sice popsána možnost autentizac mount.cifs přes Kerbera, ale ve zdrojácích je zatím "not implemented"... Prozatím je možné používat zbastlenou binárku, která se používá následujícím způsobem:

mount.fjfi                          # vypíše help k použití
mount.fjfi /jmeno/adresare          # připojení domovského adresáře
mount.fjfi -w /jmeno/adresare       # připojení web adresáře
mount.fjfi -p /jmeno/adresare       # připojení profile adresáře
mount.fjfi -d km /jmeno/adresare    # připojení public složky "katedry"
mount.fjfi -u /jmeno/adresare       # odpojení windows složky

# sdílené složky:
#   CRRC, DEKANAT, KDAIZ, KF, KFE, KIPL, KJ, KJCH, KJR, KM, KMAT, KSE,
#   OverAll, SW,

Mail

Čtení

Můžete číst buď přímo na serveru (pine, mutt, ...), stahovat pomocí IMAPs resp. POP3s nebo přes webové rozhraní. Při konfiguraci IMAPsu nebo POP3s v mailovém klientu zadejte jako server kmlinux.fjfi.cvut.cz, svoje uživatelské jméno a hlavně nezapomeňte nastavit zabezpečení komunikace pomocí SSL (port 993 resp. 995), protože nezabezpečená forma není podporována.

pine/alpine

Pokud chcete mít odchozí adresu ve tvaru username@kmlinux.fjfi.cvut.cz přidejte do ~/.pinerc řádek

user-domain=kmlinux.fjfi.cvut.cz

V případě, že chcete v odchozích mailech zcela jinou adresu, přidejte do ~/.pinerc řádek

customized-hdrs=From: Full Name <givenname.surename@fjfi.cvut.cz>

mutt

Pokud chcete mít odchozí adresu ve tvaru username@kmlinux.fjfi.cvut.cz přidejte do ~/.muttrc řádek

set hostname=kmlinux.fjfi.cvut.cz

V případě, že chcete v odchozích mailech zcela jinou adresu, přidejte do ~/.muttrc řádek

 set realname="Full Name"
 set from="givenname.surename@fjfi.cvut.cz"

Přeposílání, filtrování

Pokud si chcete nechat přeposílat poštu jinam, můžete k tomu využít klasického forwardingu zapsáním cílových emailových adres do souboru .forward v domovském adresáři. Každou adresu je nutné napsat na zvláštní řádek a chcete-li nechat také kopii na tomto serveru uveďte na jeden z řádků svoje username. Pokročilejší nastavení lze provádět pomocí konfigurací programu procmail. Zde si však musíte dávat velký pozor, abyste nezpůsobili zacyklení (například není dobré nechat si přeposílat chybové hlášky). Základní kostra konfiguračního souboru .procmailrc může vypadat následujícím způsobem:

# move mail with more than 8 points into junk folder
:0
* X-CTU-FNSPE-Spam-Level: \*\*\*\*\*\*\*\*
$MAILDIR/mail/spam

# move mail from mailing list to separate folder
:0
* ^TO.*postfix-users@(postfix.org|cloud9.net|cloud9.com)
* ^Sender.*owner-postfix-users@postfix.org
$MAILDIR/mail/postfix

# forward mail with subject "FORWARD" to username@different.domain.cz
# and leave copy here in INBOX folder (don't forward error
# messages, because it can lead to mail loop)
:0 c
* !^FROM_DAEMON
* ^Subject:.*FORWARD
! username@different.domain.cz

V současné době jsou všechny maily globálně značkovány pomocí spamassassinu resp. amavisu, který se snaží na základě různých pravidel určit, zda jde o spam. Do mailu, který považuje za spam, přidá mimo jiné hlavičku X-CTU-FNSPE-Spam-Flag: YES a do subjectu slovo ***SPAM***(x.yz) (kde x.yz je počet spamových bodů, které mail získal). Každý uživatel má možnost nastavit vlastní hranici, při které je mail označen za spam. Spamassassin se automaticky učí podle zpracovaných mailů, ale můžete mu pomoci přeposláním neoznačeného spamu na spam@mailgw.fjfi.cvut.cz a označeného nespamu na nospam@fjfi.cvut.cz. Pro jemnější filtrování je do mailů přidána hlavička X-CTU-FNSPE-Spam-Level, která dle počtu hvězdiček určuje míru spamovosti daného emailu. Takto označené maily lze jednoduše filtrovat pomocí procmailu (viz. manové stránky procmailex, procmailrc, procmail).

Na mailgw navíc běží Kaspersky Anti-Virus, který kontroluje všechny příchozí a odchozí maily na přítomnost virů. Mail v němž je nalezen vir není doručen a odesilatel ani příjemce o tom nejsou informováni (většina virů dává do hlaviček falešné informace). Pokud mail obsahuje zapakovaný archiv, který je opatřen heslem a nemůže ho tím padem zkontrolovat, přidá na začátek mailu varování o neúspěšné kontrole a možném viru v zaheslované příloze.

Odesílání mailů

Kmlinux slouží pouze k odesílání lokálních mailů. Jinak musíte využít služeb serveru smtp.fjfi.cvut.cz, který umožňuje odesílání pošty komukoliv z domény fjfi.cvut.cz bez autentizace. V ostatních případech si musíte nastavit autentizované spojení se SMTP serverem a maily pak můžete odesílat bez dalších omezení (samozřejmě pokud není na cestě firewall omezující komunikaci přes port 25 resp. 465 resp. 587). Autentizace probíhá stejně jako u dalších služeb hlavním uživatelským jménem a heslem.

Stahování pošty programem fetchmail

Následující platí pro Debian Woody s OpenSSL a fetchmail-ssl, ale na kterémkoliv Linuxu by to mělo být velmi podobné.

  • Stáhneme certifikát ze stránek GlobalSign. Pro fetchmail budeme potřebovat ten v textové podobě.
  • Ověříme, jestli hash souhlasí s tím uvedeným na stránce:
$ openssl x509 -inform DER -fingerprint -noout -in educational.crt
SHA1 Fingerprint=60:98:36:54:D7:EC:61:1D:76:C2:CD:55:57:CA:47:AD:39:30:C9:CA
  • Aby to OpenSSL našlo, musí mít soubor zvláštní jméno. Rovnou vytvoříme nový soubor se správným jménem:
openssl x509 -inform DER -in educational.crt -outform PEM \
        -out "$(openssl x509 -noout -hash -inform DER -in educational.crt).0"
  • Ten potřebujeme dát někam, aby ho fetchmail (či pro který program to děláme) našel. Řekněme do ~/.certs. Do ~/.fetchmailrc přidáme řádek (račte nahradit /home/username jménem svého ctěného domovského adresáře):
sslcertpath "/home/username/.certs"

Celý konfigurační soubor pro fetchmail pak může vypadat třeba takhle:

poll kmlinux.fjfi.cvut.cz
   user "vase_username_na_kmlinuxu" is "vase_mistni_username" here
   pass "vase_ctene_heslo_na_kmlinuxu"
   ssl
   sslcertck
   sslcertpath "/home/username/.certs"

WWW

Svoje www stránky můžete umístit do adresáře /home/username/public_html, přístupné budou na adrese http://kmlinux.fjfi.cvut.cz/~username. V současné době by měly kromě html stránek fungovat i php, cgi (přípony .cgi, .pl, .py), ssi, jsp.

Webový server apache je také nastaven tak, že máte možnost jeho chování ovlivnit pomocí direktiv v souboru .htaccess. Můžete si tak jednoduše přesměrovat chybové stránky na vaše vlastní, omezit přístup do určitých adresářů pomocí http autentizace nebo na základě IP adresy přistupujícího klienta a nastavit celou řadu dalších parametrů. Bližší informace naleznete v dokumentaci k apache (hlavně v podkapitole .htaccess files).

Obsah stránek může být prakticky libovolný za předpokladu, že nebude odporovat pravidlům 1, 2 využívání školních serverů. V současné době mají své stránky na kmlinuxu tito uživatelé.

DB

Pokud potřebujete pracovat s databází vyplňte formulář na stánkách uživatelských konfigurací.

Ke správě svých databází můžete využívat www rozhraní:

Tisk

Podpora tisku na KM tiskárnu v místnosti 108, fronty:

  • km (default queue, barevný tisk na A4)
  • km-bw-a4 (černobílý tisk na A4)
  • km-bw-a3 (černobílý tisk na A3)
  • km-color-a4 (barevný tisk na A4)
  • km-color-a3 (barevný tisk na A3)

Obsluha:

# tisk postscript dokumentu
lpr -P km-bw-a4 soubor.ps
# vypsání obsahu tiskové fronty
lpq -P km-bw-a4
# vymazání dokumentu z fronty
lprm -P km-bw-a4 job_id

CVS+SVN+Trac+...

V případě zájmu kontaktujte správce (v současné době jsou tyto služby provozovány na jiném serveru).

Výpočty

Na tomto stroji můžete také provozovat výpočty, které (pokud možno) nějak souvisí se studiem resp. výzkumnými projekty. Nespouštějte více procesů než kolik má tento stroj procesorů (viz. `cat /proc/cpuinfo`) a pro úlohy trvající déle jak několik minut snižte prioritu procesu. Toho lze dosáhnout při spouštění aplikace pomocí programu nice

nice -10 vypocet.exe

nebo můžete změnit prioritu již běžícího procesu příkazem

ps -fu $USER    # vylistovani procesů aktuálního uživatele, druhý sloupec obsahuje PID procesu
renice 10 PID   # kde PID je číslo procesu, kterému snižujete prioritu

Pokud potřebujete s aplikací běžící se sníženou prioritou opět (interaktivne) pracovat můžete vrátit její prioritu zpět pomocí příkazu

rerenice PID

U některých procesů (např. MATLAB, Mathematice) je priorita automaticky snížena přiřazení procesu do cgroups vyhazené pro výpočty (detaily viz. /etc/cgrules.conf).