From 93e1c6e2f6b8794f4fe61625ec44d4a5bf6e6f2e Mon Sep 17 00:00:00 2001 From: RinRi Date: Wed, 23 Nov 2022 20:23:09 +0300 Subject: [PATCH] week11 --- week11/.gitignore | 1 + week11/ex1.sh | 12 ++++++++++++ week11/ex2 | Bin 0 -> 20752 bytes week11/ex2.c | 21 +++++++++++++++++++++ week11/ex2.out | Bin 0 -> 20752 bytes week11/ex2.sh | 36 ++++++++++++++++++++++++++++++++++++ week11/ex2.txt | 5 +++++ 7 files changed, 75 insertions(+) create mode 100644 week11/.gitignore create mode 100755 week11/ex1.sh create mode 100755 week11/ex2 create mode 100644 week11/ex2.c create mode 100755 week11/ex2.out create mode 100755 week11/ex2.sh create mode 100644 week11/ex2.txt diff --git a/week11/.gitignore b/week11/.gitignore new file mode 100644 index 0000000..515478d --- /dev/null +++ b/week11/.gitignore @@ -0,0 +1 @@ +lofs* diff --git a/week11/ex1.sh b/week11/ex1.sh new file mode 100755 index 0000000..4cf3a97 --- /dev/null +++ b/week11/ex1.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +sudo umount lofsdisk +sudo losetup -d $(sudo losetup -j lofs.img | awk -F ':' '{ print $1; }') +rm -rf lofsdisk lofs.img + +dd if=/dev/zero of=lofs.img bs=100M count=1 +mkfs.ext4 lofs.img +lodevice=$(sudo losetup -fP --show lofs.img) +mkdir lofsdisk +sudo mount "$lodevice" lofsdisk +sudo chmod -R 777 lofsdisk diff --git a/week11/ex2 b/week11/ex2 new file mode 100755 index 0000000000000000000000000000000000000000..fc70d2630de5eba9b5266c191da4033e4ab35942 GIT binary patch literal 20752 zcmeHPdypK(dGDFsz1`F59@6QFfLnot1l2qjn*LKzP_x`&3>z!;DhY`aM0Mc#|kp}Q`kF5ks4GC#?skA8UNdzj>4%&q% zGPEDInR*Hod9}P4jgewHufoR-DX`X#u{jg>6wVCP!!c9dgn?p5l6F(ZZpzqIAuB|= zff7%~gh#)LrymYN#x$sNrTli2#?BA77=3{(gK6KZ<;?%4ygkNlUQD}Dez?qIV`OPO;0Wp&t>zK$@pY{U%YQkqEtw%(p6x+ zR^s58+P3RfWgk(e$P;@@S#`8+XsGB!-FY||cG|xXd2!&?&-6ZZ^!YdbYxIGK)fb-l zhj*yMcF-qvn8@QHi848a_d#GAl;$>2904!ZfX`vrNWbqA{7-=&!{JW}FdF$`8yfLB zP8;#>2S0|xpSr=g%FiS{;TDU9qH-s*W#u^N-Lz9Gr;24~JeAFZlb%dDBiVc^mp$yN zqMOQOvPCsf%;w7@sxaZ^Nz#f#pigbvv3=8KXH{ZV;`%DSdW~|n5ASp`ZqXghmdb8% zc<1I^A@2^S_UBv_F*;tzn?fB=wV@&^i_wCS5iq$2y+&D(4FQ$$UAZjV%2Bl2@E*Va zb2v?G^{bw`l6gnY_lY^4;H;Tfgda2fm4lvK_(GrB;PH75vacjPSHm}_k`|q*;p=(V z7@V!)qvF*xRl}cE2u|x}iqeco4Zrq$=&a$hu96lFdKmqfON3^`YWUJ-PqUdf zBhZXMGXl*BG$YWAKr;froDulXjw|0u9{o`yc|7!Vk5b7`pDNqaXOc&siJaCAp1%IC z!Jc0Jx5zuX2Z50uqwM_DG}7|FB+Vt^`7@e+f;5+c=TB++Pe^m=cK)QMzeJi#w(}2x zX8FB8-hS-GPb80hKY8>A7xoMf^`7c|K6zr`+t8VwzXa+(8A)_>|0YOO@WjBq;3Q9k z4il_>t2`f7zlhrkR=st4s-yb|^-dcI{advD^*0k-dog+JLh|X?Hzc2aE0DCFO}==s zJP!_DFb*QqQzISSTW0K8zas-}uvL}SwNLwf-ye#4eA^pdaL8BgIzZzD)wvLq>@KZbtR8I3yT{)i$8;|I_G%G7wA0gIfv@q zZ>h>Rw8HbJb$xXIS9_e6&D4xQGXl*BG$YWAKr;f(2s9(mj6gF2%?LCj@XHnfzEA3@ zzTjG3ilKqllE6Ab-n7rYFg-mCm;<~C(0yZi`Yu4eyJWHs?^V`hr?q5uIPyEVLnWW@ z>{mel8Y*lF>sM9FfUd!D^53VY?*LToom<-%-P{qqGjc?2xNO~ZtCw9xHf=wK;}zK7 zN5;nX&im}mZ7ue_D1nS-YDSu{eY0)f$B8Z1B(qQ-wiG?wA^}KW@!0-koRj$B7gJZbb<6K^Rb?M`*)6S ze39gvyeT7>Z~Y$i#42jwA_M0eD8QJhbLM+NzG!Be^g#8#RKD?BX!sAAf`vb2Dkk+l zW%T5mL@EE>X|FvHYgN2O)$KcJ?C~a7(-LRgwrcvbM*g;;rQW8P|92qYkNXSmGar&} zHSnVbju?2*K(UkWLAPz*d}C|{zDm9}*2~XeR~m(10rdLBi|i3&ub%~olN!kJW2+mG zOHb4YfqL>bM6XJ&>xjJ>U`F;WoDMWw3U2#vBVbohZ8wgO;|N%hufSQr4$p=t5Dc#+6$!5) zuv#7i2<=5?U9<2?s@tK@0fdetvsPTbocI?p;H+!s<$!ktL->kWg+?g8ZUK8J5D8u5 z`FeuB9)+@fS=Swqgoepq)U}cL392rh$LBwxG2)laD-nMdS#asxuK;w;4xS6PUIZ3- z4wk_m2HT$kp(5WS^_oWoBT2L)_#=;ss5x`d{NRs+f#;!#cJ)BF^*-QN0hz^+;^XH? zXep>bFnCTY1;0S5GsK5XfzIFq0HH^iU9KA(y#g*fTfR04R?AapPs`UsL%>x_5Jk5< zG3#y+whGJYjEHZ5}!rz2t@bkbdX7@EyyU3y~tX25U6|BRPs7?51rdCJ63BT3xBqQJQDVo1M?_n0+LWkj>cijZb zhzkB2D2tgLhsE3%fn6RBS`m(!$m>*Xu{@WNf29Ag<@t;pAQiFN*-633JJf8o=3hmx zkuOs=%abiq!5iSqVrJiuEPNX+{(wAY_9NsyMBX2h$ISjZc{h`HnmlIq3*^m5Il+G- zkD2`ndG}E7HS(C*Z<2QqS#X*>W_BxDZn5j^E@BT7yMowBVjm**46$BfXNj#N#<1E$ z#25~HH?fC^-A?RrVrgQ}5gRA=FU0O7c7fQv#Dd7|?4TCL zKfJW#_kcs|F@W%|&wT`VS7-RUq5l9q`we6-&(i2tXir6LM0)m1;Jy;&XjiQdAR|)` zx(?M!drCANR;}zPc8?kV(RbmdGyENngO(}C!ryP@=!7Sp^E*T{tmeH8b~woMx^;2O z0SMY&r(WB~;K6F!&4yyyus;lBek`)7{fl(@A~Ygf+Ii-xmgCTj3`OPw%x+l&ab#=s zj{rJVa1x-E6TzPYF?Cz;bCej_7NDbGYv4g$EvO9O;HjzJtSF3w3K@ zbRBSXcnkn3;LT1!J{(rvIOyPBI+%lOHW*2m%}k`C^1D>wkcmSjRi^^W&V_TVxgCM_ zCGE@GyD)d#2^DDHu$WA!TOBI8G_t)5{2LTOV3~?W*GB{Rcq({}=7bi&;Kt~>=-Mb1 zTH0#Jek@YLU0~dV)l$SrLR6%r)v~sCS+JS46rOs(iFR3m_GnalTNg=_)!DF^DiS-?(Zmi$s&nD33unULfO9*X zhcLq>Scql4+m3k{iIiq=hEKVk zZa3XfIIWhO9!u$lI)~k2LFFBqmk!U=9qk4;c&&KTs#f) zaw=b@k7A*MEr$6~)UZ5O^=Z5nil|hPqefRDT^PqsLb`%(9Qzvc1rQTi*05obXCtPZ@C?#c@Qggg4&#`@mdM>W@eu{5QgSouz4J)ASk7V^ zX(-6Q|NQbE8zqxcy`%^AkLS^ciL~mel!|(q%DDS0qcxLNy$S0xQ7C06dk~BgDS>Wo zq_(n^JajNM9>nHi>?y9QVQiIqa1c_T^Pw&~n@{H|8P`)+JR3@hF;pBODq~QV^D`9Z zIg%)nOcP~;x@90)irIM@&z8|Z6Hfp}?+SBe;DsbC7nB8Ixr9XO735M73d;om%dAT$ zUgm=8jcLCI7kCyVvWAQq1>V0m(q|eJt%NWBmKeJpg`83af!fz@LL<>&n3zCQ#n} zW7S$U!VQH^ycKO!E^kabF-`^tjiLd+ruExv9`$$vJ~g1ej4QEv+UOse<8e5in4Z;q z53kMt`4apeg3osO{r?pFSgiwtcVc;cRRcb666e}DD}CpSs+kvOCV5^?ym_Qlu3)E2 z8WXwfX?M!wPMX`_OSmdz3eIS*us@Y^GUY-MONYv&!ewkC=a$_J7krI0xF0|3q>9DV zA;-;^i-*)m5i1fWQyCvW1d|#HOPp-EPSu@Uh3YuY*1a2d4mm@+wm8^xzvcE_8+UHs z3^o=9&QQ`wlUw#GXWNe5o3MV`y>;uppg+CUc_WMgE<4^zQ!21b8 zog#mTP{(i_{I);>#{U^ehx-0zQ2WD#dI#(ar4pq>)?Rgl16k3{ zrD$L&(abK(s* zrVL!uytK$X+Y!j;@wJJ%wdraQe8(d8{l;G4V68H6JT<6GeV}UXCyl+pWp&zI3)H9W zK6_bL2#nRMzsLSI$bX7=Hd23ik0nsr-(vju>z@K2&vB~lpEC6q7%>538;Od&yl={a zM-wSu-kS-06tddnkN*J(`A$mg zj>0|>`zf<36nM%gO8Nfwe;#t$Z!&uF-cI0Tjr~I4e*1^PW4*+G^*Uy*XB^+P$v=J` zgs|2=X6yvsQELobE|UWP&}V;IUsm-wrg zQ8duMmhsy^>9e0_>;x_|?gaSl`9_EJm-72#o~FRNJhGZg{|VzIAb1L^&jIq}J+%D4 z$*(W8z?WgeN4(~=tFG72^3frZ=y}u(E&SIY;Mfs+Sw~m@$7TAD=P#4kNk8)OAXUU( z{+n~EhuTW5@IW;edx395Qfn{oxz8Esp)IO!-E=DiVAD_!E193ygi$&>(w^!wWt^r;lEK3H!lbPf_MUF_UtI z?!AQl-}AzR#8-~B$w#UUm#{z7?^%7@XW%0h?|;bi$8X<_p8a9p2`BafKY9uK7uI|B z>qXHcby-A(&HFgPjfw`*L64GoS!8})(sJ&L4&k0bk2-4x*3}@paL9O)>t8E)GWI+R eFJH06gM39-oBZYTHmZ^R?OQ#ogFXWvss0<$0W;SC literal 0 HcmV?d00001 diff --git a/week11/ex2.c b/week11/ex2.c new file mode 100644 index 0000000..3fdb198 --- /dev/null +++ b/week11/ex2.c @@ -0,0 +1,21 @@ +#include +#include +#include +#include +#include + +int main() { + DIR *d = opendir("/"); + if (d == NULL) { + perror("opendir"); + exit(1); + } + + struct dirent *entry; + while ((entry = readdir(d))!= NULL) { + if (entry->d_name[0] == '.') + continue; + + printf("%s ", entry->d_name); + } +} diff --git a/week11/ex2.out b/week11/ex2.out new file mode 100755 index 0000000000000000000000000000000000000000..fc70d2630de5eba9b5266c191da4033e4ab35942 GIT binary patch literal 20752 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 literal 0 HcmV?d00001 diff --git a/week11/ex2.sh b/week11/ex2.sh new file mode 100755 index 0000000..75410c3 --- /dev/null +++ b/week11/ex2.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +chmod +x ex1.sh +./ex1.sh + +echo "Amirlan" > lofsdisk/file1 +echo "Sharipov" > lofsdisk/file2 + +mkdir lofsdisk/usr +mkdir lofsdisk/usr/bin +mkdir lofsdisk/usr/lib +mkdir lofsdisk/usr/lib64 + +# I am using Arch Linux, that's why some libraries may differ from Ubuntu +# Sorry for the inconvinience + +cp /bin/bash /bin/ls /bin/echo /bin/cat lofsdisk/usr/bin +cp /lib/libreadline.so* lofsdisk/usr/lib/ +cp /lib/libdl.so.2* lofsdisk/usr/lib/ +cp /lib/libc.so* lofsdisk/usr/lib/ +cp /lib/libncursesw.so* lofsdisk/usr/lib/ +cp /lib/libcap.so.2* lofsdisk/usr/lib/ +cp /lib64/ld-linux-x86-64.so.2 lofsdisk/usr/lib64/ + +# symbolic links contain just the path, so after chroot they will pick the directories inside lofsdisk +ln -sf /usr/lib lofsdisk/lib +ln -sf /usr/lib64 lofsdisk/lib64 +ln -sf /usr/bin lofsdisk/bin + +gcc ex2.c -o ex2.out +cp ex2.out lofsdisk + +printf "\nW/ CHROOT\n" > ex2.txt +sudo chroot lofsdisk /ex2.out >> ex2.txt +printf "\nW/O CHROOT\n" >> ex2.txt +./ex2.out >> ex2.txt diff --git a/week11/ex2.txt b/week11/ex2.txt new file mode 100644 index 0000000..e603252 --- /dev/null +++ b/week11/ex2.txt @@ -0,0 +1,5 @@ + +W/ CHROOT +usr lib64 lost+found lib bin file1 file2 ex2.out +W/O CHROOT +tmp var opt home dev run etc bin lost+found lib sys sbin lib64 proc usr mnt root boot srv \ No newline at end of file