Kmlinux

From NMS
Revision as of 14:14, 13 February 2008 by Vokac (Talk | contribs) (Fuse)

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) · vkstat(KM)
Služby
backup · DHCP · DNS · doména FJFI · eduroam · fileserver · IdM · forum · gitlab · lists · moodle · indico · mailgw · K4 · mailserver · NMS · openvpn · skolniftp · ssh · videokonference · VoIP · video · 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 
virtuální (Xen) - proměnlivá konfigurace ;-)
fyzický hw:
  • Motherbord - H8DME-2, 2*PCI Express 8, 4*PCI-X, 2*1Gb, 16*DDR2
  • CPU 2*Dual-Core AMD Opteron(tm) Processor 2218
  • 16GB RAM
  • 12*500GB HDD, řadič ARECA 1260 PCI Express - 2*RAID6 (2TB+2TB)
  • 2*1Gb LAN
  • management AOC-SIMSO+ (KVM přes oddělenou LAN)
OS 
CentOS5
aplikace
  • aplikace s Č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

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ý přístup

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

Přihlašování SSH klíči

Tento způsob 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 dsa -b 2048

Vygenerované klíče se uloží do ~/.ssh/id_dsa.pub (veřejný klíč) resp. ~/.ssh/id_dsa (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_dsa.pub | ssh username@kmlinux.fjfi.cvut.cz ">> ~/.ssh/authori/authorized_keys"

Přihlašování s Kerberos ticketem

Stejně jako u SSH klíčů i tento způsob 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 x        # zamčení screenu
ctrl+a esc      # kopírovací / skrolovací mód

Grafický přístup

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ř. ten z cygwinu). Navíc tímto způsobem není možné uchovat běžící grafickou aplikaci po odhlášení od serveru.

VNC

TODO:

NX

Zatím není podporováno (zkonfigurováno). Jedná se o optimalizovaný / komprimovaný X protokol, který má výrazně nižší naroky na přenosovou rychlost.

Přístup k datům

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 nebo např. sftp plugin do Total Commanderu. 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,local_name/' /etc/group
perl -p -i -e 's/^(fuse:.*)/\1,local_name/' /etc/gshadow
# ůprava globální konfigurace fuse
echo "user_allow_other" >> /etc/fuse.conf
# konfigurace pro mount
echo "sshfs#username@kmlinux.fjfi.cvut.cz:/ /mnt/kmlinux fuse    defaults,noauto,user,allow_other,uid="`id -u`",compression=yes,transform_symlinks    0 0" >> /etc/fstab
# připojení dat
mkdir -p /mnt/kmlinux
mount /mnt/kmlinux

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 a standardní heslo.

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 FileZilla (windows).

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 -d km /jmeno/adresare    # připojení public složky "katedry"
mount.fjfi -u /jmeno/adresare       # odpojení windows složky

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

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. 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 username@kmlinux.fjfi.cvut.cz -L 3306:kmlinux.fjfi.cvut.cz:3306

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.

Služby

Data

Mail

WWW

DB

Kerberos

CVS+SVN