Servery shell
m (Upřesnění.) |
m (Upřesnění.) |
||
Řádka 29: | Řádka 29: | ||
=== Uživatelské účty === | === Uživatelské účty === | ||
− | Všechny uživatelské účty, bez rozdílu, mají jako hlavní skupinu <tt>users</tt> a taktéž mají uživatelé jako <tt>[http://www.freebsd.org/cgi/man.cgi?query=login.conf&apropos=0&sektion=5&manpath=FreeBSD+7. | + | Všechny uživatelské účty, bez rozdílu, mají jako hlavní skupinu <tt>users</tt> a taktéž mají uživatelé jako <tt>[http://www.freebsd.org/cgi/man.cgi?query=login.conf&apropos=0&sektion=5&manpath=FreeBSD+7.2-RELEASE&format=html login class]</tt> nastavenou třídu <tt>users</tt>. Součástí <tt>login class users</tt> 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 <tt>$HOME</tt> adresáře uživatelských účtů jsou uložené na páru zrcadlených disků ([http://www.freebsd.org/cgi/man.cgi?query=gmirror&apropos=0&sektion=8&manpath=FreeBSD+7.2-RELEASE&format=html gmirror]). Toto zrcadlo je připojené pod <tt>/mnt/homevol</tt> a na něm je adresář <tt>home</tt> dostupný přes <tt>nullfs</tt> z <tt>/usr/home</tt> a přes symlink z <tt>/home</tt>. Uživatelské účty jsou pak bez rozdílu všechny v podadresáři <tt>users</tt>. | Všechy <tt>$HOME</tt> adresáře uživatelských účtů jsou uložené na páru zrcadlených disků ([http://www.freebsd.org/cgi/man.cgi?query=gmirror&apropos=0&sektion=8&manpath=FreeBSD+7.2-RELEASE&format=html gmirror]). Toto zrcadlo je připojené pod <tt>/mnt/homevol</tt> a na něm je adresář <tt>home</tt> dostupný přes <tt>nullfs</tt> z <tt>/usr/home</tt> a přes symlink z <tt>/home</tt>. Uživatelské účty jsou pak bez rozdílu všechny v podadresáři <tt>users</tt>. | ||
Řádka 37: | Řádka 37: | ||
=== Servisní účty === | === Servisní účty === | ||
− | Vedle adresáře <tt>/home/users</tt> je adresář <tt>services</tt>, který obsahuje <tt>$HOME</tt> adresáře pro různé servisní účty služeb běžících na serveru, např. <tt>phpmyadmin</tt>, <tt>phpsysinfo</tt>, <tt>strojarna</tt>, <tt>rvsro</tt> a <tt>rvsrw</tt> atd. Volba specializovaných servisních účtů je kompromisem mezi výraznějším oddělením pomocí <tt>chroot</tt> nebo BSD <tt>[http://www.freebsd.org/cgi/man.cgi?query=jail&apropos=0&sektion=8&manpath=FreeBSD+ | + | Vedle adresáře <tt>/home/users</tt> je adresář <tt>services</tt>, který obsahuje <tt>$HOME</tt> adresáře pro různé servisní účty služeb běžících na serveru, např. <tt>phpmyadmin</tt>, <tt>phpsysinfo</tt>, <tt>strojarna</tt>, <tt>rvsro</tt> a <tt>rvsrw</tt> atd. Volba specializovaných servisních účtů je kompromisem mezi výraznějším oddělením pomocí <tt>chroot</tt> nebo BSD <tt>[http://www.freebsd.org/cgi/man.cgi?query=jail&apropos=0&sektion=8&manpath=FreeBSD+7.2-RELEASE&format=html jail]</tt> mechanizmů a spouštěním všech služeb pod jedním uživatelem, ať už <tt>www</tt> u webových aplikací, či <tt>nobody</tt> apod. u ostatních aplikací. |
<!-- Vysvětlení účelu jednotlivých účtů. --> | <!-- Vysvětlení účelu jednotlivých účtů. --> | ||
Řádka 43: | Řádka 43: | ||
== Nastavení == | == Nastavení == | ||
− | Dá se říct, že FreeBSD rozlišuje tři kořeny [http://www.freebsd.org/cgi/man.cgi?query=hier&apropos=0&sektion=7&manpath=FreeBSD+ | + | Dá se říct, že FreeBSD rozlišuje tři kořeny [http://www.freebsd.org/cgi/man.cgi?query=hier&apropos=0&sektion=7&manpath=FreeBSD+7.2-RELEASE&format=html adresářové struktury]. Jedna začíná v <tt>/</tt>, druhá v <tt>/usr</tt> a třetí v <tt>/usr/local</tt>. (Dříve bylo možné potkat i <tt>/usr/X11R6</tt>, ale tento adresář byl sloučen do <tt>/usr/local</tt>.) V <tt>/</tt> jsou nejzákladnější části systému, které jsou nezbytně nutné pro nabootování, včetně <tt>/etc</tt>. |
Soubory v <tt>/etc</tt> a v <tt>/usr/local/etc</tt> jsou uchovávány jako pracovní kopie systému správy verzí [http://monotone.ca/ monotone]. Databáze monotone je <tt>/root/etc.mtn</tt>. Každý, kdo mění konfiguraci, má vlastní klíč, kterým podepisuje změny, které do monotone databáze vkládá. | Soubory v <tt>/etc</tt> a v <tt>/usr/local/etc</tt> jsou uchovávány jako pracovní kopie systému správy verzí [http://monotone.ca/ monotone]. Databáze monotone je <tt>/root/etc.mtn</tt>. Každý, kdo mění konfiguraci, má vlastní klíč, kterým podepisuje změny, které do monotone databáze vkládá. |
Verze z 16. 11. 2009, 12:54
Obsah |
Obecné informace
Server shell.sh.cvut.cz je primárně určený jako unixový shell server pro celý Strahov. Také je na něm možné založit databázi v MySQL 5.
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.2
- Hardware
- 2x Intel(R) Xeon(TM) E5420 CPU 2.50GHz, 8GB RAM, 2x 500GB 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 7.2 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.