Servery shell
Obsah |
Obecné informace
Server shell.sh.cvut.cz je primárně určený jako unixový shell server pro cely Strahov. Také je na něm možné založit databázi v MySQL 5 nebo v PostgreSQL 8.2.
Na server je možné, po domluvě se správcem, doinstalovat téměř jakýkoliv další kompilátor či interpretr jazyka, databázový čí jiný server atd.
- Operační systém
- FreeBSD 7.1
- Hardware
- 2x Intel(R) Xeon(TM) E5420 CPU 2.50GHz, 8GB RAM, 2x 34GB SCSI-3 v RAID 1 a 2x 232GB v RAID 1.
- Správce
- Václav Haisman
Software
- Apache 2.2 s PHP 5.2;
- MySQL 5 a phpMyAdmin;
Administrátorský (root) přístup na server
Haisman Václav - správce serveru
Organizace serveru
Na server je nainstalovaný operační systém FreeBSD ve verzi 6.3 a to mu odpovídá i organizace dat a účtů.
Účty
Na serveru jsou dva typy účtů, uživatelské a servisní.
Uživatelské účty
Všechny uživatelské účty, bez rozdílu, mají jako hlavní skupinu users a taktéž mají uživatelé jako login class nastavenou třídu users. Součástí login class users je omezení na počty běžících procesů, otevřených rukojetí a množství paměti zabrané jedním procesem, takže běžný uživatel nemůže na server provést fork-bomb (a snad ani jiný) DoS útok.
Všechy $HOME adresáře uživatelských účtů jsou uložené na páru zrcadlených disků (gmirror). Toto zrcadlo je připojené pod /mnt/homevol a na něm je adresář home dostupný přes nullfs z /usr/home a přes symlink z /home. Uživatelské účty jsou pak bez rozdílu všechny v podadresáři users.
Všechny uživatelské účty mají (a musí mít) UID v intervalu (1000; 50000). UID < 1000 jsou na FreeBSD vyhrazené pro systémové účty a pro účty aplikací instalovaných z Ports Collection. UID >= 50000 jsou vyhrazené pro servisní účty.
Servisní účty
Vedle adresáře /home/users je adresář services, který obsahuje $HOME adresáře pro různé servisní účty služeb běžících na serveru, např. phpmyadmin, phpsysinfo, strojarna, rvsro a rvsrw atd. Volba specializovaných servisních účtů je kompromisem mezi výraznějším oddělením pomocí chroot nebo BSD jail mechanizmů a spouštěním všech služeb pod jedním uživatelem, ať už www u webových aplikací, či nobody apod. u ostatních aplikací.
Nastavení
Dá se říct, že FreeBSD rozlišuje tři kořeny adresářové struktury. Jedna začíná v /, druhá v /usr a třetí v /usr/local. (Dříve bylo možné potkat i /usr/X11R6, ale tento adresář byl sloučen do /usr/local.) V / jsou nejzákladnější části systému, které jsou nezbytně nutné pro nabootování, včetně /etc.
Soubory v /etc a v /usr/local/etc jsou uchovávány jako pracovní kopie systému správy verzí monotone. Databáze monotone je /root/etc.mtn. Každý, kdo mění konfiguraci, má vlastní klíč, kterým podepisuje změny, které do monotone databáze vkládá.
/etc
Kromě standardních souborů jako je passwd, master.passwd, group, fstab atd. obsahuje i konfigurační soubory typické pro FreeBSD:
- rc.conf — Obsahuje základní nastavení; IP adresa/maska a brána; firewall; proměnné, které řídí spouštění služeb atd.
- make.conf — Nastavení vztahující se k Ports Collection, zejména volby pro důležité pro kompilaci a instalaci jednotlivých aplikací.
- Adresář ssl — Úložiště pro náš kvalifikovaný RSA certifikát a jeho kopie s klíčem pro jednotlivé služby.
/usr/local/etc
Všechny aplikace instalované z Ports Collection instalují soubory do adresářové struktury pod /usr/local. (Opravdu všechny až na MySQL, které instaluje my.cnf do /etc.)
- Adresář apache22 — Konfigurační soubory Apache 2.2.
- Adresář syslog-ng — Konfigurace syslog démona. Nepoužíváme standardní BSD syslogd.
- dovecot.conf — Konfigurace Dovecot IMAP serveru.
- pound.cfg — Konfigurace SSL proxy pro Apache. Spojení SSL, IPv6 a pojmenované virtuální servery nefunguje v Apache dobře (nebo vůbec), tak používáme oddělený SSL proxy server.