From ee63ec6ffa60ae9173ebd98b7a2a0b4b7d525d5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20A=2E=20Ortega=20Froysa?= Date: Wed, 26 Oct 2022 19:47:14 +0200 Subject: [PATCH] Add OpenBSD project. --- .../openbsd-project/imgs/00-initial-load.png | Bin 0 -> 18453 bytes .../openbsd-project-naortega.pdf | Bin 0 -> 54543 bytes .../openbsd-project-naortega.tex | 118 ++++++++++++++++++ .../openbsd-project-naortega.toc | 10 ++ 4 files changed, 128 insertions(+) create mode 100644 2/ASO/assignments/openbsd-project/imgs/00-initial-load.png create mode 100644 2/ASO/assignments/openbsd-project/openbsd-project-naortega.pdf create mode 100644 2/ASO/assignments/openbsd-project/openbsd-project-naortega.tex create mode 100644 2/ASO/assignments/openbsd-project/openbsd-project-naortega.toc diff --git a/2/ASO/assignments/openbsd-project/imgs/00-initial-load.png b/2/ASO/assignments/openbsd-project/imgs/00-initial-load.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b5bd87281499ef652e0ea4ff7c1baa79d2da58 GIT binary patch literal 18453 zcmb@ubvzvm8#j)P>6&T7)J#nsOfx2iiHYg%?wsy!=csAZb#!+eT?f-`x*2}Q?s)F! z{yp#e*Zarp<81gizSnhq>j?QI`vC)$7!?i<4ntDny#gE@!YCXZd^9ow>=EREws)|< zP;4aB?BU=ryB`0*Coo`=z`;?#Nxm0Wa!K7!lXqKqgC3CPp}Edzo9IeDeuMk;8Rb*t zk!x)r@e>gV1ixbq0!n{u5#+}=eLEg^zfQeczuvnvYiWs%ypH>2vv;v8&(deeFp3mF z&Jz6-!M}#;)#B}4Bx8C?!oWk}pl9*Z7-4O)z8Bxx4oe#vU2@buEQ5#1F^rq7{`jaR z8a^UAGQ!GX1W8+DhFR_{Os;NONh-g^0-;h0L@%yG3g)IIYXa+$&5nU|qDG$ZN#eCr8bUr)qS6tyHjRVFx}M2#PmS=L=`*>B0Oo6J*N zZ8*)Q+evT$Q-Kn!-Y@NENm)5_NS&cPSz0kOr=kPCEl#R)+3bKawIWZrx52CF`0mh> zaVZ3mk{Y2~xHjc!0b(3H(SE?}=4i8;m&6pODVX(@cr>&%74HrG?t1~j)~PZq0(&Sb zhb(t!+%}Fl>ZC~tceZo!Ub_A34Wizk`Yn&o>KbC~M9Pmt&5cXcHG!v3SI(SDNd3@B zkH$?b6Rh(;(j4i{jSX(%rDKbTP*Tk=FV|5hy?nb;=VeWx=@?K-`lS-m>hN#~6T>WJVk$NHA$g_;`Z5F)b_iaFCb z8q4WitWl;ZnMuvZninR19eZfhac|#)h0%&X2hkMoClN?b%qm=%_@gP&?oeHLirrK0 zjpGG(w}qO8%3Bb;WC*)Mgp&ch4_sXrVz1sAT;Sg2PaR2>k&c}19P5a4{mB+?k6~A_ zzV#*)?q|NzOO&Jp}5s{xI)uFfo7(9QS8EzRiywjBb z3;w@n0QRQt$nkh#Pyo1F)69ox_X4ZiXD@D9TGt<&WrzjH80oHxMBj7OKRcH)Tgo

*ku*O7ndM zC>o6Wtfh3fhW>+x!j9nemMZYL zs3Mo`oU-3@C~@X%HN_#kBp88wXscQYcl!N@H#F<6E^3V)c{6A_PO3JoWdxU@TP`K*EVf=oPiWk5IP-b;6ar>EAQWWs^?6ym`6`!phW z*niw!j7}z{J7QJ_zNX9wcStqw6|IEm`W%6sy0ON#JGI5e+_k?HzL;IuQf^7brS1=G zVfJ+7q{+XhfYhcG(TbJ@&Cg9KDec$fEh0n#u>4w&;8AnMQ zlPv%DR4ppvP+^LHK`;vGE>Y?f`O|(Yd-?uR_Y#3dKh8V!d%!f#yYRN1&`_NqTL+Vg z9``wG&a+V48rk}&j1Qb)G0G~>seFkwuUc@$49H39N$T&yf;dr(*WKPsu5eF&!+m3x zI^jr|b8DstCss0}YbkJ??Aily2JG8ee4An2$nuB83NzEIVlO543cqW*<0F2yW5Y7? zX;O7{E5vjd;B^n8N2T`6#Pp>12wIznAHUtULCKB}Fo``7d0B2XUDUZq^WM)b zN|d|_h>v*BU{4m5oz?L3=m{C1QLQjy)l8Uu20f2iK74QVlPv3?uv4&C)Ba{U)RA+@ zQ^Z)EEv8pt#e!M$2-7}iat~D@ z#iHzCh_j`l78Wh_;@nE|-)2iY3oVkKB4cX=%_Ek}&ng@P-$C)8%)IS1F=Djw1Y#N= zNs!HjV{Bz*^|5{QxsBp(iuJh^a??EG^V~ zI`(aGw#OdI{Y73FIZKoPL6*WhOK%q&`#n0%9M)G(u3=-j8;%Yg$_b}j=UuuI(_gVY zNsIJ@ETQmUCK*71-0v9Qy^S8t)bg_+UfnK#9f;0P{Cxj~P^VgGtUgcQ=c+|!D98Iz zN^H@>h$20IG~bst&lrdF$h2}<#o~%y^HJgt0~>nQ;~ZzFF60y^!!NvG--r+yu1KHm zTO0iXa*^rN8g)34U@Q%j&sl1-bpL{_fAqP>ROD)EOHByY`v?NwwaLWIbx?gP64rrH zq52RlZz4V&!6zlsp=R{h9=Re+v;Gb6%#semoqS#!gELam6Yvy1c22 z1~veH__OD|rVFMhq(>6cr{hjuMK~wGaGWxG_y$njwe<4g#Y21gV(R@a8=RqNgN44K zMEx$=52Z3_QU&1+O3(?|R&2$|G<~}voT-oM)!5MkYLIRoJ(EzsR8>L0@^hEt4xwG8 z!*sEZ#c#Fvq`B4vn~>lX>!l-v#gwS7CH4hcs?%TV_)z05H6m^=_oh2Z`^+-y7JPHYAfH_) z2a|x%=I;!_a0eIlxl6`MZ;S=~8s6OqAB%1$+wf7fNjlXGHf!ZJ?l!yWNBMo9$bnj_ z6~Y_FX})Oy$c$A|woeymY8EoW7db=mw&u9b@ZDXhnW3oE@TMMD4D4#1>U?Y}POL?> z$zyGr#4dits`9{!yj0ucGd+XC%+@2jSJ4_QNG^zF48oL5hqzK%rY-d z?wLV{vE>92)Hh5os^H-y(ZRY-_9O%MW-ZJUXB)z-yYp&}sZHCccn3!Wx&6xO`SU*r`Cp9WPk#RY_T6at77OU& zp|jJ*x!aUgU0kJx8oq{#vP9KK`js?P|6a!*1Yr>}EQ>1Mgx-1nnbldFAV(isKLpO^ z;-nn<^*X{Cq5RqHU8(4~4aR{6=CLuM3boRNch&GsY|RSs^)p#~>uJ)8E~5s$eE<~0 zua4c(;h-2CFb;j@t;`uuz%7Ox^#M0 zn8YZc!$ptgUDIav*B~fv=%YM?Zw{yVXg~GS1}x{~xFJ*3FD8zMh~Bs}2)_mlT%_fS zTh%vD(l-G42w-1FawmNtKxrg=Bx;Ah6J=_CNFGMipnB#;in-57B-bcKAwI`Nq@J7 zP97q%ApLeXNmH2!iP$d~n+q&I+Xd@#HZ9J}u~iRcIuCn#*q zdmAG<_s9@gKZ^=pb7ox$wlW6a24(!xDR-SI=PsZ4vZGSB&CPmSfc8xkY^J|g)AuV5}V5Hmu}>AK4g!LjP-_HkSQ z>R?QEg@l8I_2Z{wN2{LWhK~Gxmd_)*L1w~?RKbL623Vt~MkJA`Z1dbP-W~bsYhX*e zEaN2j?I&YujuBONH3_eJoVgWp*SJE)Nh(Vfc2|w_-|YY3@R*GCRT755M|GfA&=viHWK%&;oc|ncvp$lluniX4C$% zoH)?tKkU#9FK!E;u?E%~T{)GMp1B=&3U}wYj^!(#1a&pq4o8su{ya4+%(~Go!6Ech z)XH+)0#fyHCXe*2aj0GQe-FK5Nh8H{EjY=h}Fer3Ym{U2} z>?@%?os0uL+hyGsdW2q9jbn`8&0|9qb(;C+L-^DMBPmXCdo^@Yx^&pvT79X`6Sc-H zp5s-`pgst_d>)LxHujmdq?Bn8tGZz7Ip&kH^`eT)rNWYYb`%+f<3Ku`9MeI7GlaK} zp*F)%lcjqr8UwfGjo=q1eZA+)@ALggK2MIbuOewhu&>+odTMDo@Y_3b&i9FDIPU~e z7%=<6eXwuyU)vOI@W+F##43J9cnW2oP z!WIRA#G3=7VG|_+;jZL?U97KDTB-6zrY$aId~LBmY^M1L_OOf0iCXk#-RcwL&l{x) zEvIuO9b?M#uB(UUn4k2~#I5@ECT9pXR8yYH#(Lla%9Q5BRZ^NAa|>PYMw}m?z{Ly7Paw*=7^b#jK`U&E2b!^y*i%Va|}hV_LLM z{DivpiZXE_x8N$AwN+&)48;ssD$CKSSX2`(RSlUFv5fTEIHtD1-q_N|6reFe8wY8Zq; znAw>tishSlxSkl+ORI*fQpDpTyl2*xA4-)5!3gG@MGoIn z6U*%qN2m<2X!>d#SXnWQ((0DvGV}FYEL@+jSsvhE<85EL_Ntr=w(4B%ys1i-e{k&3 zln96(9Ko#RI|mB-ZO5WnOPgv~^Kz=3N06**xFsoYFCY?}O(c#N z)_R2DZo7(X+rE1`8ZwkicU0%P5v4p`@P;CG(cPFI!Bo^|R=`9Gl54p#2sI(z@5suZmct?;aaK zm93^Px87$rA`z6sI$Ua9=Xhf8d?w|xw4_cp9os^ROR8>N$`NIVD~=qS(No(v&NEMe z^NCpfXy3a?yW`58l$tibOy9A+-2`n3`j7xnnYW2`E?xLVg)=(eBb7(2jx8I$Dchoqr|>Fr zL=R{wC?B|(z#c({pDm||q?Y;d4XWb&8GJ5=6tcsr$!T}PD;;bB-@~EK>37lQv7i~$ z$*UOg4vQ$eg;oLAx@$)8M_C>!+I15a?k_HtXqa4nzf6}ZLBLXiksapt=jX+Wy{eZ~nv zQLXs;%6w+5cRxthynYB*uTn2Vrn*Nwdh1NTB2Z&byXoyDZaZN5=pjkmocy)N9qk|s z9nB-q5BN4YVgeI(yJ6#}spribCJE55a;+)p2W!Nw4zG2pNmch)CG|c&aZt!e!Y8T_ zpM7ve_~9yth@>UTy8R?UXaew=qhZvVo62FDC1cO@I#KAW9D<07{zHCmje}|PKR|5& zXl>~ntFd!mS|Fv{jPO+mY%E>nt4-NsE#~Xl|4e|)dWy7m70Twa0dZk&Vsear{=%<~ zre!L4K36GT39+}T?~FP33X_Z6kmTVZQHrUw`8klwn5fF#Dk<^#M-peBZm}H)D|I}5 zsKUISFM5_%GkP>W4Y`Sd!W-S=cbRHBCH(*~XgYiYI>|bMq%n`YCAv!pi>UELq;x)p zjplR)qTwI&TsD2FPfjzi;m;W#$yF)b)Jt9$q(yUA9`e3{;K~7 z>B$~`w#$m#0_@%3*bB9WgCg%MWHxbU6=fol*;ZUyFAPNpm`5F>Lp1J5U1PMI4aZowtJRY6QP={YRCWAlJYk$y z?N^a!fueDq+{m~+Ioj3pi9962gS;-nX%aZ`UO7@|va6_M7X2{DX6}R>%h9Ysn!qWd zS49ti<`pF1u4;gDkaframTP7KjYU}zNiH}qsF`~3y@X38kDHWrWZau^TO6%Pr@QP) ztyX7|Qjm=^{n1a*>DrDPu(Uep@{hw z0h0#*k# zLT*=GHlzghDOPuS^)Tv5X{xXLjNOzYTFLL-?nD>mr5ikJ0KD{=NNS}Kq@J>ch3an& zHH0PrL%A=|Jnr&n#oZo)`809$R+1!V8C@F%W1+K6xa%j5r&qXh9{%YGCm20m(eeC5 zlWxRYuK>Ps2|#d#Sh(hPnu$y<^@crO?y=N$J#zHm4~Qk=9CdL`{E*RrGxtHd(~g)L z&?B^YjQT}>+nOD-{^4$SXRtLK_%2=#-w)CS&0*J>9U3S#9_Xc{as22>@m&m1iLTE0 zc@C-X#OD{#hNITYoU*tsQnRSiS#kgT_SxI7_sln7wnBUYS-Q`Yo`%_cTEvMkN6BHS z_@mo*|C*4N6;?QIc@JO*!Dsk9On~LGP<%i!;w~co6#ASwlKdn5oiJ2^yBy$S`wd1q zyR8S5pfX9rBINGjgU@%pPO-7sLC-$!yUI6ICsnvg&f@7u_)}&3dimmpGS>0RGBlz( z5cqMga@LQXu{GW|(2;IJ1DgZ{T)WEWWhuSny1y<5Q|PL0aP;GUaDK7P+=C2&7h=A| zXNnuG{UCB~r+NY-DC^l01S9&m+8upOS}fX#bFfdTk96sBjS@bDZl>w_p5?Hcd!=vE z?X3DBd%*%;(K5Tva$TX4;FyNPURhniR5K7>-RD4Ww%nDbZ{uJSh>#0=)=8Ze)Li_v zB1e|Ut*a~xbKWIz;VFh~`i{-S{unK0V2@FJJzN|nNirYc4yoYqgU1u?%#60BE|!c< zq(`&ZjFmiY?;ruf-rXe&k#Cu8QZSuo?l8}4wkw90JX~^*mwM>Xs%M*niB(rTG-Ze3 zFC4E7uvYv|jP4^QXvmD+gc z%a%CU7j4-)2%wmr1Z3N9Bi$4wd%D~92X@DUblp)}u>LFSqdE5+RK;n9{-6e~RPj@XVIxarfJ9or9T@n+IE40HTf--_r-~8&l zhygoqf1N7wb$*ldFvnSo6E>SNp2R?q#?b4ft#M>%u50w<20hH!Yp`jvlsedRGeCo} zYPSq&7W0p?Yr@=xS1%KUDWyR9yfB<;Uloh@@oj5!NiVHD^6Nh1ESPm8(x+&v{esSa zVYKzXwk)=Y1i>~L<~+)f;;*oees@fl%o^+Q$yuO6kIk_CNA#6wgq6A}w( z?O{Lz+%TRqvzM!3moX6HmqOd+?F0obBn;wzex`4m&< zLG!u&n2~LhMirB**@TW1lIAEgzPBW&J#BaX>h`?kN>k=iquZN?ow>@7q6)*AwZVvl zSpPI()Mz#mSC;c9bA-@;&FJB^L}6s zRk`c?{d*wb=zQyXjeUEU43lfEnvS%6KAJz~BjiQKC#Ja?@He_JMEISAQH$B-&GG>? zIF|vb7_2m1R`*bAA8><3{n0|jj12ce_>upTf@`xDl1lAH=#V0Y+pe9J2g!EAk!v77 za?Q8(mw1Bk_S?%g?7p@g@E`4Sr}7+k8YdF>xSax`KIR@wWKw_$zG+beLd&0gcTOd; z@=63)Xrb8EH`eC~721RR)m8>d*KOEkZ+qv>5|w^l#ZZ&nG?XskBXvnA_Rc4KnV%F3 z<Vfa#XPMDTM}tJQo1c*o)74F!!%ki>FLV@;66sRGo1u#{>aerI;$~uPc#9yOtBU zVH-(ZQ{@Ma8;ys`;_g1~A+eJ^qsP%oAjQ0|@y%adfJFYt)bj<=;1uKJ8}={4BJC@A zJ@88_1@zUFOLa z$b+QYkkpP#VqSP}yYw&UW%?__e|od*UQyx~nk zyQli+6qqUTX}0@Yj3l8$G%i+z67c4`dzzJhrrY)?vr^-eWI^) zq%|KnP7U^llP}K3wp>@M?1*Pb)xwaxVHuWzj~lB799^}om}XUk?W>R5lCL?m=mmE( zu{PJJ8vb7J^|6trf!$2B3&Ju|YfI8_!lsH>Q=iXOG?f5ttgHu-LYM&Q9B46xi# z?8(v=a^$9Koyw*Eha$aMtmmyY{|H~-VD=U1Ybyt^P-u7|SG=u@JnrJGaq9(WWG4ZK zl&NmEgm_+6ZbHgE0-_S0_w_{_K62iOJ2M!(=Bj>pjw~QT?e4zy#BvSmrJy(mn`9LE z6o2#8m!sv*T6Z}ffyO1oce3w8_28@(WcOx1CctI4Ay*E-JqPI^dM+SWnVs zi+`>(d>&6^A6ZqcYyT?RJPbsz)bmy%`NhFvf-$s5>i*$KX?TJY#>)@sr@NkLsgWvL7{Q>vE`OvOKNJXXnyASA%~SN& ziagOM{rPY%$>2rUO!WWd!{mgO4Z2k-*=u2vlYZa$(&N7OjMNx=3p?AI#T=6rzo;{R z5QnoI6XCIMUJS!srJHNM!N`qVa%#4cBG@uKtdje?ZQxC|?5K9Tul@rvtK zJV#okR;(>6a9=9Un{emOuLIBZPCU*$&_DT0|43N(pXi6VC+&PK{s!0%j9|hpkfh); zv`157Usf*@N^hCokR; zk5fuTh#Djc%?A&rF^fU7c6AuR`}ufPga*M?l3WsbJ#z#vHM1hZHv8Gmn*Dm?wW`|d zU-n<_8`+IJ>w_%4zX)r_J_7v#3h*4?YW*O9hLmFIaLy(KEEva|&;ZiZ3fpLcHIPuq zl03Yhr-|8uk0)Lqkrrdo|ABOYV>e1dGLMoDWt}8{Q|a@^uTivQaqy6SpzU_AQ8KgS zCfdZfwSQ)1gdK$;Td=+9OUjfZHuWXK-c>$z!=VItwz+HA^+p!U_fMSDU9ZIv?xg84 zJ8|SyCZ|BO-&mln(dAo&v3BPLbZ~umnP-h+aK5)zqt(BIv4y&j3*bJo3k8pdc z#5F%vn%vBnkPrOSQx8dH-Qt#pxwlX27k+3c>Kt35`}uck&T09Kuz6Fglizn7+G~tD zhRyHRsooX6tGNxknE5zh<D1rlFqYO&EGH{YDD?8J{#il5>CT z)s7h}cw|ZgtOH(ze?i+Ho2{eFnfs`}f*gGd&Nw57?G*D@h$M+ECTl4lK4>w!qBBM` zA98!#&%cajPF+lf_;nWNm_aM-RiFJ$g{o*NQD?-@0m(Fyb|Vj(>xX!$eT&&W^2!?y zNiS_NTEoK3aYVjDM$+kD%rKrlT3zInn{3`?Y@=>g*u57=-8Ct-_;PF^WIAjA^Xw9H}ur!-Vvt}rQFm~`a zlr)G8wx^1(A+BHOs>L{l!aR%D-Th6zbhYgmpPIPJ;n}c{LE;dyc~4%FuxU_WMP>54 zj#{?VDW}ZC!mLz@0X2g}d3rs3KGgMT6Zk`$ zs)qDke_cfl*~q+GnP5M8hX0|3sA7B)&Dq?_$ihvebWMKQs@R9UJE|wOc3{>H2~!76 zp@MC&Px)<$e~Qg&#H08G1r3~#kP@zn5X|5;Y{QvF2zvN)%v@97JNcA`FxWvTb?W}P zan)7Zd4)TjjAJk|9{7i;JcIYz(JHRIZpkdM3GK4sO#j%E#3`t7?&_ga+msAQv#Qs- zmc>zs>uCzh+AoPZb;qQfI7@1i&SBmKqq552XNM*&MMkMCoHbv}44QK()i_E9Mf}+z znmAuS$Jy$LL1N1sw~9>_y+@io0|6nLAyMT@&w+)_HBH$8sZZxPO@g!#aYc}KmWu;W zPu>bZe!+sXBHWH4~&BW_p!}I=Rj||ghJJ;#W&HcR1OGilQl>43v zF~M`#X>fI~+*?;arM5XF zzQN{zdcMGzG?WI`4ij|YN|3_nQ7a0(UCIxS_Z_7g+@@>#M|7uKQt!mykWoXA(oCg} ztxn$z+k@&~c7|m5tDoY<>MBmI^0${Zcz-5wATf@!iq^xfdy^4fjQA`Qqsd_eCMcSv z>03G>AD}(X_KgHVggl==mW@OXI)_Jx8SRK_U9>&3>q2%zQ1H|4Xt&c1A6;^@(6 zVHH9my@&}8L^~#Og%R*9$2FT4bG9@xJ#%nhP*aek?>w)8_ue#T*$C zOhGkczpTB9NUr8RukYi|FlrZ^{IYKq6bMDa*N?~#SMB~57fzx+Z%c5g^}z9!FQB>k z)CYY0VVJ41--~r;GdmupDDZzW2d-7!YU<3qwFX&+k20*F`zBA|$K#a!VOsiX3@$9B zn&)=nqJNd%;2HgjzWppjbC+L_Fbw@gL6@gJHCuS1`de9Uvqq4LQc(o`l#&xC(X4nh zg6601my&_bR_aDWJi{>ThX|E2S!sEYbW-Rl*SV{t84{hfu` zeWg>b63g^2DRiw6SZB0)%5g{IBh^adS$dYZ*X0Urq-Au74U!acJt1nJ$D=Xngf^Nt z{W%o{HUX6RM^h~uwskB|a7ASOzj?z*lK8)*LBmx;Pvm~Tl84*dN&3dxohOmqesaRW z*;=Q=Gy)d1Xk9Wrf6yTjpruz&g{sF_h#Qr9O~ij7zuF{n+_ciu_V6bq3jKIPDKp@5 zC$6?EHS{@X|B8E8hGqvh+a(|Ro}JYS$sL;%6zd4}&oI`niS7JSlVZX&#~k&zJE}k# z4Bt|=Ft`9M=Ilt}Oav)X(X#z7%g#%!jwDCdCAG&2nT))BJUsKCRy@Uh21}ww#Jn|( zxX5G583<(Gfa8ZYy$@}4(8I>N>1{5SHV5o&WPh3bNX(CB7LztPb0v+3#JN?uaO$V9$khXt)FIu}I7`O`8*<-@vw+Vm3iZ{9a!5dGpJeYM(N}A#!q2l|!34B4ZP28efG< zy4Z-=_Z0CjeS_iqUP+v8-daPRX1V^*?2zm_>~+O^_QDmU!G;nBv)a(Arwj)Jwju*J zIzQ=NFop}tk%wA9clE!K5GGsltfh&}zw}2{vct;F@P@MTz@+xRmB9dlrg(2Pa}^HX z6vU~9VGnu9^ph<~NA5Z&DV@zgea8qP<>M6mjurp70HgTgum-+??bRq^t6(g0fhRQU z*_o|z5gx#6vLmv{FJEmMKEObq`pBB}R$4?PkWtX?(k%QpA0Pc^RfqaQzv4i0&o$$^ z6Wg16m(yAfAlCwKKVW4e=tcG(SWM+<&rEXHnOPpK!Z|HGWOT6^S0XJ^t^m23#h)C77d^E@@)K=dMGfo|}IS6wSk8fr=jT~g^!N5Fm0r_CxPG}Gl)1{E(O zlz|ad?X}O>rWQm$fF{58kj;FwXq&wrNKKd!G(<>*q>&&aPgL=?p$Upkj~+d~dwy+b zVJGCpkVVr~_F0xReLu0X> zFcSwB6=PXn3~TRF8d14?2ko1wOyel#3*P`D&7Z_)GX6RvTB%QG)A#>}F36m$m+2_B zX@0P)Bg$Fp)Lz~vOrj>?T&ZfVR@u>zG~%xlO2zYmSw*CtA-Qb z)b=!V)lD9J!fR0x`K0-U_6X6l5yo)}SV^F&GAz=+l`p=RbN4Cm-nP|*+CzQmY>sWg zf{TO=2ZDaq3G1TqA>FV+`|?wk;8`N3Z~P|sVLN{vuf+)s8x4Z`?e@(pN&~br!%7?= z`F}$lImUy2L}6N1Y^KsA5^ieuOV4jdsEem-yN(~q0m`a?XEh=XgB*;d4kIE)l7@9( z&Nv`CT%~v~+Z+&e|Mr8rzsl(a?gcn*{SKwFT@+bO7PaUEePU@0mm3m~n>r;5=O9bD zwn<&m;Xo*yeo=^S6@P?Vd&nDl%GWmO&M>iX5cSPP%cibat1#+xO)89K1>LAlOV#<_ zD)P<+e0;i8&D(w^*ul5f{#2f&9D@W>Xv6B5OK2K#qj7q}5KP0D@O-Ms_Sv-zvS%v! zC5yTb0QSlSnkrL|AgWudIs6>-!dml|$wV4hRy8bgxLLSw*PHh`#e7upjGfLH+ivr+jj^cjQg@7!=k+#OaB^Gyg2RFT;Cey_b@MLuSUsmMKFhb z!eR~$*1>mke7EnZWdgedaLs}Wo1a6^+h#Swv9}Zw6&oS8V0bG49%AZif!el~c6et+ z4>5RWxOQyb7;Ak?L?_8)u+kv`Sj%Z7fi^{djQL)BrETo!UL6`+&1=XEQs{WYir0=| z<^N@(yrLv##mqHS7rfFZ!KB+eESx^aoRvSwqV?bfg7x?d>n*yl?qU9!m@wxlt>`>b z0vh6MK2kIRB2Gr#wa?WI8+s(g<_1|mAc?+*7z2ztpA)0ySGHh&mX+e>E8T4 zV=Qqm#^h^ydRGvVWm|dQ&gYuSwq@zFb=F6rY_tyFvmASTIXA77YBTAS(A4#%U-5^9 zN~7;=j|Ho*g=QIbi$6fQC9@n2#0$&N?{n$PuK2KYPfFCO+4Tg5xr-x4<NNz5*S)iucFt3Gs{MUBI#ZUH2{jdJ(1|U<~mbZ4Yx|n>R zE!ncX@z!7OthSvrUo@Od9W71c8vI^l+Uc?FkPh4AhTQmJht}yA=q6KuteV$<1qi1N zou`2$PkI#JIKPi0|5Qa&(yQS(8yWS-K{!gQnVhlCLGO-IKVuu&Y)A2OHlqouF=PMR z8ZzP%R1skxA+fTUZRNOmE5_$dkrvCZwWs+5Fki4zit#CvX(xzC_-!yvG`C5ULVE3^ zPWVrD0Li#uV!H4e9xAucN<}b!uq@?!w$)`l}dLgKP=wiT7bAP2umgga@Edm?l~RoFQY z{&oCpIYCDkef`Alv>l<5`lI^y!^Z#sy~GBO^OfiA-Ju~-w87f>ZEvHYyr~e;S*T*e z10IiizedIE+ISZ13Kq`*s_0?n77qVEMezuEhVXA1)GM%poE0;V{0g}$?UUOPZYQ6Q z$zrNlG!A+dhD;+V4af7YRIs=E{-1RPJv!pQWX8b`8$!*wPu|Je#k_AprGAKZO~B2&e5N7W zmR6aplw3*{9lyFKtcDBl*7NBu_=aPbQ>rJP;`ymV&lKwT6K%OcD-hONFl$f%OyiTT zc47Fbz={kAmX4Z^A7IgkrRM}J6R_Rvgmo1>@XnkoW8~NcgAQ$m@}|jC4;~8%`8p3w z2_IJfZzM=N=^U?UC0NI)^Fp)eavF`f!<)Ej5a93$sraKcBLh041 zk8#(|Nz~*^N;kLo8{jN=WDq(=P9wkc&)pxIjPE%l_LkdL%{vv5X=vcuB#A1_YJXwT6xuRyTZ(m}iqt@Mako?(N!E zKNawheZkZbgukhgs8R&XAVr>4mX6c-!ykq9(wf9yrB32yJJD2D+}$xHTnd(^V-2k4 zeA(p{rh4>=-hTtjWc=+D-7rrlDKk{<_}8$3E*aaL0f%)h$f?_mp*Yw1^2iYDQi~C78 zig{AV;@4+NgTQ;@!i`bMo`{lt?&5PTEEAXYFM1?pUt3Kc;>^F(ba8=u5<_n-^i%uh z7Gz)hsZ)vDYlR)|q@CZ4|18_b)zTd@MVl?P3YBYStvIIzjQtS@a}zQpfNg2C_!NGy z3kk{{HjYaho%*D)Ev`rS`72ye1y=O^nF&;Je|cvGoV+kZ3e)VYUF=h~S}R#MS%Ghy z+c>~trX|j}>gY`>?+NGWRh#=yjbYdl*C?RT+3<_bP3>*!S~0XIK=9Y+`Irt#Q?0__ zFPh#Q(kieT8yhcono)l7)5|#t)1=||KGb3lhn(Gc)DY^3ujf)OQ=A!pRvKW6cv3Z< z>CaT)Z^IOwff!|JH>u6dkYQ2hWe)mWu)YOst$W!{iy%^d@LT+y93$JV{NDVP&mLoe ze{p|gB6zZ}Zb_B9u9)IHS7J*v>xpNiROERPFd=;4a=H#;+WAhZ_>^9<9_0pxjV-ev2B<3T981XJrd(}A%LlQ&iQ01Y-tMH z(K^3h)F`mth&F5!;7)&$GCJMsotORfHbqyyfg5r7eqO^Bb2vn^-f(U=_q8bxFoy{D z4Og<8bWwsUs+e4B*E6C=6)e#B9~JySN6J>(9J^H4SY~i-KKA&+R~>@?rG!a;E8!PU zk|QAREphSpDnGNXYI_4ciHlX%v_E`8J7a^z$wB;8CN@(w@YQ&4taSW1*6pGIVAug* zypXkiL288#bGGoNbkVpfv2%NgVS)fZL7)ZQNj+M=sh{5N0%6E#BY2in<)9TL$q;mk zQ^d``2%XbvY|X>)xO2U~LT_*j>V$BAEv*1s&PZImuT)9i_a7JaV68-6RS59VE2W{A zUTi7F&LOY;M5?rIY1dE9cwoEugD+8%do`+=s2^(yYg7|#abCff$uRSL$!=Aeko3)` ze*SnbgiVwF6(j#&z4P&aBvU@nGRt1b-wGIQwr5O_Z%XzowaABvstX4C`X`S+16X$l z26}vFb`UO15Ns9AUj1x-;i{Q8?Nod&2{1!6ayKnoI?OV5bq`=k1d}Z!gcU*q*`yQ4 zEab&lL*+%O3?|%!iz=wKa1n^g&xt*FxK)E>AlfDO&6B$k&$<3Kfu_jXmz}}QvY1?5 zDOedkxF_(*63zp<&XuOYX3N#_#IEuy3d?Kl>`S4$bf2rz^@@u;*V8L0%@9-Y zQvl={X%P>e8AYR~P*^nlXwLtDa3V^j%~La4IRI%6JDQmdeReEo$@0wB_Da{@q)1md zgCtJ^tIdV+pA_PTp-FL~6`?FysHlc2S4w*=MPAg1T9CN0GSh|G#h0soak~3$i+)ET z$5(&a=2Wy}Sg2Keo$wem0SQLJ5Y2k%Bm57?-IX+PbRahRM^X`FZZ9NAx%b)wu-On` zj?enUkTtBu=uvq7Y)cI`27UCfiW>#~0fWDPbot}-{EtN7ftM8W{KL&*4gCnb)l!Wc zNMLzZsZV^B6qc*V0U-1YiW3GlA1hR;5=&HPuKH`|%lhOrwf{3#Ej0X~&QFBfO47|btfODkLI3pI1}i86M8->sz4 zbbJ8*-)vHrZj0>1`ipHSD4@=pvo(Ck;;huFJi;iBY#$Z~O#EtcZ22obmVwnde{NFY zI&E}FvXc9ek7Nv*F*rLr89HQ`PEQxLXF2>~ADxhljags<CeC_;?ayW+2_*Tb6dax}Ds+m9i`+0;;P+8JOvD_thVj4SlrSWtHJ2pUMrvg0d%d`h$8#=`REp@3LXflb*|yFa zQ**!U5CyvtJOO1FOd0;SsFak{j4&uyYv zjC>mY?D_lV-#)5kRRry!8 z13)F+&we#&$6Ku5YbVQD&gQ8a#p7>$nD>%m4HI^^1?(WfgOu60CtrEn$w9f!N@3__lv{fvEUS=i$IJ4JXD z4(?aAb7q1otN=-#QNN1xm&JBu-uV4xjybE-_J5DCA!x&{EA-5uP h%X9)W36IX#Tg`6z{U$JC67ZZK22WQ%mvv4FO#tSMmO=mk literal 0 HcmV?d00001 diff --git a/2/ASO/assignments/openbsd-project/openbsd-project-naortega.pdf b/2/ASO/assignments/openbsd-project/openbsd-project-naortega.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5a5a141956fb50b7b8a1c580f85e74ad9a483ff3 GIT binary patch literal 54543 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%0Dnr)>2Ak{^|J2haiy7dBdj;^UDm*2pQ-6P zGKv8=`t7eGU)uPlCjY+pruOjrP@AH+a^+p3h2{{io-{=OrS+j%!AUpYqI0>n;{btn zeDBa>A{2GAHz$VtDmG^+*ovj>qnq{mf(x)(mxXMfHt980(k9bYO?I?3Ns!evLiP$x zuPC1O6E9QrEJ&;j%P-+VlnQi!#0c3jqWGQQz{radB|?HEvs)*X?#b&ump&@3+@>_t zOsZC9A$0yn?1XAu-7f}a8lPM^#1!)yhgqN7c8Ws%3MH!8f~})0H$?67kui?BeP!~! zX+bh7<901u&v3<#;3f_GzU?@)HI;t`tNg59WwS$VgN5C$+7Uu}xJ9vGO1{!?n;*kJ zg0`~19>#UiI#Ahl@R8EX`PcM}BJOG&cN2bxsD&puhRXAnj`BlwZVx8B=>Yx z11`zVuD;A#5XF89=^`8~=__2$L?VvUQ?w}g9lPU12Y&tM)5o7nqQJiFcjRg(QTivW z%RA~hG+NJFNd-NBDd$HX-R`n5z=Q+3CN2VkyJG8FP4Q}R93`1PcG$BQ z2-#~Z*(de8TI_oG!%hFfT%EQ08y1zwoG3ig)n=Ra`@w|OZ)-wZ6!*T!ub6z}L{D5} z^#YNe1Nt0EA#BWNjy0xDVzqL;sN>gh^oG+#w>AMKsm2J7#Hj0bn~wfmqG0SIcS)qM z_sfy(QzSOWP3@S|>Z`(}CV9p6t;xquv8f+_x=k#s`|;+(+s&={Ps@9FwhKuKkm`&cu>l}f94 zB0OKNT`>KkfY;0^cCRi3J9~sJ-PpSDyuaA=Mm_J-lo_2?y}CC&YT*kv4=X1| zwiP=ba~628SR8RyN$@L`OBeLoXYwFr)vq=Ixo-P+8n1=Ed~E5m_fVL@5cN?xXR;S( zT*x2gGZXmc-sG{{KX1-HyQ+J)syDs;&M+a8b;55k2FaUqZ|6wcXQT?(O^FQuTHbnY zhtu;FdomY1`EmbLaqO}j=97BNnRRP)Y?R_V&&GUz^z-7+-K&YZM>WOz9jnlGpCc|!ANr5D3au9OkXr1; zl2oc>CNzE7jw45x&eYRgF6E-4`@u8LzH_k{gY)a{Q>0C9hklV)cyZa*oinam z|GQ{St6xoNK3{n*P6Kfe9`J%9Y1Ju@EPto6^|8Jb@kJpI)!Yevmm_dc!i zWIuN4zvINJ*)JEIuE{OeEnhil`{hQTN{3}O4d)EvcKv86a{PQ`NmOnq(CMcbj8Yk9 z8aZ5UHS5;kJ~4$gR2yu@5qp!NB0|f&X%pkzYSvWd-Dh(yr0x~l^Q36H=GR%i`ZZrpl$-A^ zUi|*wr2jTjJ&&({xVAZEU81~K&tvZ6U%tJo`BN5>Ty}KNO^5DvlkY8yy1^cGgLg~B z?Q{97oK}7Hw%Wm4^5O-n`Bf*oEiLyQy8Fb^lXd?v>mFi@DiJy4yEPywwEKYhg+!|ufUeaG()Y|u z%U1wRQ~;SS(Kf~grb&iLW`-ulX~w202BtKaC?CCqN z?65<}qq>Fau0~Dh@XmHsQjhZf^dnLB=cnv5@{%VkqA{bsxFoTtq@pM_jmy-;z|e$C KRn^tsjSB!*>C^K7 literal 0 HcmV?d00001 diff --git a/2/ASO/assignments/openbsd-project/openbsd-project-naortega.tex b/2/ASO/assignments/openbsd-project/openbsd-project-naortega.tex new file mode 100644 index 0000000..3b02fa7 --- /dev/null +++ b/2/ASO/assignments/openbsd-project/openbsd-project-naortega.tex @@ -0,0 +1,118 @@ +\documentclass[12pt,a4paper,titlepage]{article} +\usepackage[spanish]{babel} +\usepackage{hyperref} +\usepackage{graphicx} +\usepackage{subcaption} + +\title{Gestión de un Servidor OpenBSD} +\author{Nicolás A. Ortega Froysa} + +\begin{document} +\maketitle + +\tableofcontents +\pagebreak + +\section{Introducción} + +En esta práctica vamos a ver cómo es la administración de sistema de un servidor +de {\it OpenBSD}. Los objetivos son los siguientes: + +\begin{itemize} + \item Aprender los comandos básicos del sistema. + \item Ver en qué se diferencia OpenBSD de un sistema Linux. + \item Ver cómo cambia la carga del sistema mientras más servicios vayamos + proveyendo. +\end{itemize} + +La instalación en sí no forma parte de este documento, pero generalmente el +instalador guiado es bastante intuitivo. + +Lo que caracteriza a OpenBSD especialmente, respecto a otros sistemas UNIX (y +otros sistemas que hemos visto en clase) son dos cosas. Primero, que no es una +distribución de Linux, sino de BSD. Son sistemas completamente distintos, aunque +siguen (generalmente) una filosofía/arquitectura similar, basándose los dos en +UNIX. Segundo, que OpenBSD, entre los otros sistemas BSD, es el más +especializado en seguridad, hasta el punto de sacrificar cualquier otro aspecto +de la computación a favor siempre de la seguridad. Es por este motivo que +deshabilitaron en su momento el {\it hyper-threading} de los procesadores Intel +por miedo a {\it Spectre}.\footnotemark + +\footnotetext{\url{https://www.theregister.com/2018/06/20/openbsd\_disables\_intels\_hyperthreading/}} + +\section{Configuración Inicial} + +Generalmente la configuración de OpenBSD ha sido bastante simple, y la mayoría +de las opciones están en su valor por defecto. El teclado -- i.e.\ keymap -- +usado es el estadounidense, simplemente porque para la informática es la más +cómoda. La máquina lleva el {\it hostname} de {\tt puffy-nortega}. + +En cuanto a los usuarios, existe un usuario {\it root} con contraseña {\tt +toor}, y otro usuario {\it nicolas} con contraseña {\tt nicolas}. Durante la +instalación se ha configurado que no sea posible acceder a {\it root} por SSH, +ya que esto hace que el sistema sea más vulnerable -- más todavía con este tipo +de contraseña. + +El disco se ha particionado con una sola partición para simplificar este proceso +de instalación. Se podría instalar con más particiones, repartiendo así los +datos y haciendo más fácil el proceso de hacer copias de respaldo (que sean de +una sola partición), pero eso no entra dentro de los objetivos de esta práctica. + +Finalmente, en OpenBSD se dividen los archivos de sistema en diferentes {\it +sets}. Éstos se pueden usar para instalar diferentes componentes del sistema, +desde el {\it kernel} hasta algunos juegos de consola. Éstos están los {\it +sets} instalados: + +\begin{itemize} + \item {\tt bsd}: {\it kernel} de BSD ({\bf obligatorio}). + \item {\tt bsd.mp}: {\it kernel} multi-procesador. + \item {\tt bsd.rd}: {\it kernel} de uso en memoria. + \item {\tt base72.tgz}: sistema base o {\it userland} ({\bf obligatorio}). + \item {\tt comp72.tgz}: colección de compiladores. + \item {\tt man72.tgz}: páginas de manual. +\end{itemize} + +\begin{figure} + \center + \includegraphics[width=0.75\textwidth]{imgs/00-initial-load.png} + \caption{Carga inicial de OpenBSD.} + \label{fig:initial-load} +\end{figure} + +Al inicializar la máquina lleva una carga de sistema extremadamente baja, ya que +está corriendo tan sólo lo mínimo (figura \ref{fig:initial-load}). + +\section{Instalación de Paquetes} + +Para administrar paquetes en OpenBSD se hace uso de las herramientas de paquete +de OpenBSD. Los comandos se pueden reconocer porque llevan la patrón {\tt +pkg\_*}. En particular, las que nos interesan son tres: + +\begin{itemize} + \item {\tt pkg\_add}: instalar y actualizar. + \item {\tt pkg\_delete}: eliminar/desinstalar. + \item {\tt pkg\_info}: buscar información. +\end{itemize} + +\section{Configuración de Servicios} + +\subsection{Nginx} + +\subsection{MariaDB} + +\subsection{Servicio RSync} + +\section{Conclusión} + +\pagebreak + +\section{Derechos de Autor y Licencia} + +\noindent +Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa + \\ +\\ +Este documento se distribuye bajo los términos y condiciones de la licencia +Creative Commons Attribution No Derivatives 4.0 International. + +\end{document} diff --git a/2/ASO/assignments/openbsd-project/openbsd-project-naortega.toc b/2/ASO/assignments/openbsd-project/openbsd-project-naortega.toc new file mode 100644 index 0000000..60b505f --- /dev/null +++ b/2/ASO/assignments/openbsd-project/openbsd-project-naortega.toc @@ -0,0 +1,10 @@ +\babel@toc {spanish}{} +\contentsline {section}{\numberline {1}Introducción}{2}{section.1}% +\contentsline {section}{\numberline {2}Configuración Inicial}{2}{section.2}% +\contentsline {section}{\numberline {3}Instalación de Paquetes}{3}{section.3}% +\contentsline {section}{\numberline {4}Configuración de Servicios}{4}{section.4}% +\contentsline {subsection}{\numberline {4.1}Nginx}{4}{subsection.4.1}% +\contentsline {subsection}{\numberline {4.2}MariaDB}{4}{subsection.4.2}% +\contentsline {subsection}{\numberline {4.3}Servicio RSync}{4}{subsection.4.3}% +\contentsline {section}{\numberline {5}Conclusión}{4}{section.5}% +\contentsline {section}{\numberline {6}Derechos de Autor y Licencia}{5}{section.6}%