Linux Quest. Makorokoto kune vakakunda uye mutiudze nezvemhinduro kumabasa

Linux Quest. Makorokoto kune vakakunda uye mutiudze nezvemhinduro kumabasa

Musi wa25 Kurume takavhura kunyoresa Linux Quest, uyu Mutambo wevanoda uye nyanzvi dzeLinux inoshanda system. Dzimwe nhamba: 1117 vanhu vakanyoreswa kumutambo, 317 vavo vakawana kamwechete kiyi, 241 vakabudirira kupedza basa rekutanga, 123 - yechipiri uye 70 vakapfuura chikamu chechitatu. Nhasi mutambo wedu wasvika kumagumo uye tinokorokotedza vakundi vedu!

  • Alexander Teldekov akatora nzvimbo yokutanga.
    Alexander akazviudza kuti ndiye anonyanya kutungamira system. Anogara muVolgograd, anga achitungamira akasiyana Unix-senge masisitimu kweanenge makore makumi maviri. Ndakakwanisa kushanda mumakambani eInternet, bhangi, uye system integrator. Iye zvino anoshanda ari kure mukambani diki, achishanda pane cloud infrastructure kune mutengi mukuru wekunze. Anofarira kuverenga uye kuteerera mimhanzi. Pamusoro peMutambo, Alexander akati aifarira mutambo wose, anoda mabasa akadaro. Munguva yekubvunzurudzwa kune imwe yekambani ndakaita chimwe chinhu chakafanana neHackerrank, zvaifadza.
  • Nzvimbo yechipiri - Roman Suslov.
    Novel kubva kuMoscow. Ane makore 37 okuberekwa. Inoshanda seLinux/Unix injiniya kuJet Infosystems. Kubasa, ndinofanira kutonga uye kugadzirisa Linux/Unix masisitimu + SAN. Zvido zvakasiyana: Linux masisitimu, hurongwa, reverse engineering, kuchengetedza ruzivo, Arduino. Nezve Mutambo weRoma akacherechedza kuti aifarira mutambo zvachose. β€œNdakatwasanudza huropi hwangu zvishoma ndikatora zororo kubva kune grey hupenyu hwezuva nezuva hwebasa remazuva ese. πŸ™‚ Ndinoda kuva nemamwe mabasa, kana ndisati ndawana nguva yekuravira, mutambo wanga watopera. "
  • Chechitatu - alex3d.
    Alex anogara muMoscow uye anoshanda mukugadzira software. "Maita basa nemakwikwi, zvanga zvichinakidza kuyedza hunyanzvi hwangu hwegoogle-fu."

Zvakare mune chinzvimbo chevatambi vepamusoro gumi:

  • Yevgeniy Saldayev
  • Markel Mokhnachevsky
  • Konstantin Konosov
  • Pavel Sergeev
  • Vladimir Bovaev
  • Ivan Bubnov
  • Pavlo Klets

Isu tinonzwisisa kuti pane zvakawanda zvingasarudzwa zvekugadzirisa matambudziko edu ese; mamwe emhinduro dzinogona kutsanangurwa pazasi.

1. Danho rekutanga

Takadana iyo "Uri chaizvo admin?", Sezvo basa racho rakanga riri nyore - kugadzirisa mwenje unodziya.

1.1. Zvinofadza Chokwadi:

Vatambi vaviri vakawana kiyi yekutanga mumaminitsi gumi nemashanu ekutanga emutambo, uye muawa yekutanga takanga tine vatungamiriri vatatu vakapedza basa.

1.2. Exercise

Iwe wakaenda kunoshanda mukambani umo kwenguva yakareba pakanga pasina nyanzvi yeruzivo rwemichina. Usati watanga kuisa zvinhu zvakarongeka, unoda kugadzirisa dambudziko rinopisa riri kuvhara basa rehofisi.

Mudzimai wekuchenesa akabata tambo yemagetsi yeserver cabinet ine mop. Simba rakadzorerwa, asi webhusaiti yakakosha zvikuru haisati yashanda. Iyo webhusaiti yakakosha nekuti kambani haina hanya zvakanyanya nezvekuchengetedza ruzivo, uye pane iyo huru peji yeiyi unogona kuwana mune yakajeka mavara password yemutungamiriri yekombuta yeCEO.

Rimwe zuva password yakashandurwa, asi munhu wose akakanganwa itsva, mutungamiriri haagoni kushanda. Pane runyerekupe rwekuti pakange paine mamwe makiyi pamushini uyu aigona kutibatsira kuburitsa kopi yekuchengetedza yemagwaro eakaunzi.

Wese munhu anotarisira kugadzirisa nekukasira kwenyaya!

1.3. Solution

1. Chekutanga pane zvese, iwe unofanirwa kushandura iyo midzi password pamushini chaiwo kuitira kuti uwane iyo. Kana tichitanga, tinoona kuti iyi Ubuntu 16.04 Server.

Kuti tigadzirisezve midzi password, tinotangazve muchina, kana uchirodha, panguva iyo grub menyu inoratidzwa, enda kunogadzirisa chinhu cheUbuntu nebhatani re "e". Rongedza mutsara linux, wedzera iyo kumagumo init=/bin/bash. Isu tinotakura kuburikidza neCtrl + x, tinowana bash. Remount mudzi ne rw, shandura password:

$ mount -o remount,rw /dev/mapper/ubuntu--vg-root
$ passwd

Usakanganwa nezve sync, reboot.

2. Mamiriro acho anoti sevha yedu yewebhu haisi kushanda, tarisa:

$ curl localhost
Not Found
The requested URL / was not found on this server.
Apache/2.4.18 

Izvi zvinoreva kuti, Apache iri kushanda, asi inopindura nekodhi 404. Ngatitarisei config:

$ vim /etc/apache2/sites-enabled/000-default.conf

Pane zvakare kiyi pano - StevenPaulSteveJobs.

Kuongorora nzira /usr/share/WordPress - hapana chinhu chakadaro, asi chiripo /usr/share/wordpress. Rongedza iyo config uye wotangazve Apache.

$ systemctl restart apache2

3. Edza zvakare, tinowana kukanganisa:

Warning: mysqli_real_connect(): (HY000/2002): Connection refused in /usr/share/wordpress/wp-includes/wp-db.php on line 1488

Iyo database haisi kushanda?

$ systemctl status mysql
Active: active (running)

Chii chiri kunetsa? Tinofanira kuzvinzwisisa. Kuti uite izvi, unofanirwa kuwana mukana kuMySQL, sezvakatsanangurwa mukati zvinyorwa. Imwe yezvinyorwa zvinyorwa zvinokurudzira kuti tinyore sarudzo skip-grant-tables Π² /etc/mysql/mysql.conf.d/mysqld.cnf. Kune zvakare kiyi pano - AugustaAdaKingByron.

Kugadzirisa kodzero dzevashandisi 'wp'@'localhost'. Isu tinotangisa MySQL, ita kuti iwanikwe pamusoro petiweki, ichitaura nezvesarudzo mukugadzirisa skip-networking.

4. Mushure mematanho aya, sevha yewebhu inotanga, asi nzvimbo yacho haisati yashanda nokuti

Warning: require_once(/usr/share/wordpress/wp-content/themes/twentysixteen/footer.php): failed to open stream: Permission denied in /usr/share/wordpress/wp-includes/template.php on line 562

Isu tinogadzirisa kodzero dzefaira.

$ chmod 644 /usr/share/wordpress/wp-content/themes/twentysixteen/footer.php

Isu tinozorodza peji, enda kune saiti uye uwane kiyi - BjarneStroustrup! Takawana ese makiyi matatu, director wedu anogona kushanda, isu takadhipfenyura mafaira eaccounting. Wese munhu anofara, uye une basa rakawanda pamberi pako kugadzira zvivakwa, backups uye chengetedzo mukambani.

2. Danho rechipiri

Zvakanga zvakakodzera kugadzirisa dambudziko rekuunganidza analytics. Wese munhu anoda analytics - ndiani anoishandisa, kupi uye muhuwandu hupi. Takauya nenyaya iyo mainjiniya ese angasangana neimwe nzira muhupenyu.

2.1. Zvinofadza Chokwadi

Mumwe wevatambi vedu akapinda kiyi chaiyo mukati memaminitsi gumi ekutanga emutambo, uye mukati meawa yekutanga takanga tine mutungamiri akapedza basa.

2.2. Exercise

Wakaenda kunoshanda pakambani, maneja akauya kwauri ndokukukumbira kuti uwane tsamba dzakatumirwa kubva kuAfrica. Tinofanira kuvaka kero dzepamusoro 21 dzevagamuchiri zvichibva pavari. Mabhii ekutanga emakero evagamuchiri ndiwo akakosha. Chinhu chimwe: sevha yetsamba iyo iyo tsamba dzakatumirwa nayo hairegi. Wese munhu anotarisira kugadzirisa nekukasira kwenyaya!

2.3. Solution

1. Sevha haitangi nekuda kwekusavapo kwekuchinjana kuparadzanisa mu fstab; kana ichirodha, sisitimu inoedza kuiisa uye inoputsika. How to boot?

Dhawunirodha mufananidzo, isu takadhawunirodha CentOS 7, boot kubva Live CD/DVD (Troubleshooting -> Rescue), simudza system, gadzirisa /etc/fstab. Isu tinobva tangowana kiyi yekutanga - GottfriedWilhelm11646Leibniz!

Gadzira shanduko:

$ lvcreate -n swap centos -L 256M
$ sync && reboot

2. Senguva dzose, hapana password, unoda kuchinja midzi password pamushini chaiwo. Takatoita izvi mubasa rekutanga. Isu tinoshandura uye nekubudirira kupinda muvhavha, asi inobva yapinda mu reboot. Sevha inoremerwa nekumhanya zvekuti hauna kana nguva yekutarisa matanda ese zvakanyatsonaka. Nzira yekunzwisisa sei zviri kuitika?

Zvakare isu tinotanga kubva ku livecd, tinyatso dzidza matanda ehurongwa uye, kana zvikaitika, tarisa mu cron, kubva panguva yakadai. Ikoko tinowana dambudziko uye kiyi yechipiri - Alan1912MathisonTuring!

Need in /etc/crontab bvisa kana kutaura mutsara echo b > /proc/sysrq-trigger.

3. Mushure meiyo sevha yakatakura, uye iwe unogona kupedzisa basa remaneja: "Ndeipi maadhiro muAfrica?" Ruzivo urwu runowanzo kuwanikwa kune veruzhinji. Unogona kuwana ruzivo urwu paInternet uchishandisa mazwi anoti "ip address africa", "geoip database". Kuti ugadzirise dambudziko, unogona kushandisa mahara anowanikwa kero yekugovera dhatabhesi (geoip). Isu takashandisa database seyakajairwa MaxMind GeoLite2, inowanikwa pasi peCreative Commons Attribution-ShareAlike 4.0 rezinesi.

Ngatiedzei kugadzirisa dambudziko redu tichishandisa Linux system utilities chete, asi kazhinji inogona kugadziriswa nenzira dzakawanda: kushandisa zvinyorwa zvekusefa uye kushandisa zvinyorwa mumitauro yakasiyana-siyana yekuronga.

Kutanga, tinongowana "mutumi-mugamuchiri IP" maviri kubva kutsamba yetsamba. /var/log/maillog (regai tivake tafura yevanogamuchira email - sender IP). Izvi zvinogona kuitwa nemurairo unotevera:

$ cat /var/log/maillog | fgrep -e ' connect from' -e 'status=sent' | sed 's/[]<>[]/ /g' | awk '/connect from/ {ip=$11} /status=sent/ {print $10" "ip}' > log1.txt

Uye tisati taenderera mberi nekunyora dhatabhesi yekero dzemuAfrica, ngatitarisei kero dzepamusoro dzeIP dzevanotumira.

$ cat log1.txt | cut -d' ' -f1 | sort | uniq -c | sort -r | head -n 40
5206 [email protected]
4165 [email protected]
3739 [email protected]
3405 [email protected]
3346 [email protected]

Pakati pavo vose, vatatu vekutanga vanogamuchira kubva kumusoro vanonyatsojeka maererano nehuwandu hwemavara. Kana iwe uka grep IP kero dzevatumiri vakatumira kumakero kubva pane ino yepamusoro 3, iwe unozoona kujeka kwemamwe network:

$ cat log1.txt | fgrep '[email protected]' | cut -d' ' -f2 | sort | cut -d'.' -f1 | uniq -c | sort -r | head
831 105
806 41
782 197
664 196
542 154
503 102
266 156
165 45
150 160
108 165

Mazhinji emanetiweki 105/8, 41/8, 196/8,197/8 akagoverwa kuAFRINIC - imwe yevashanu vedunhu Internet registrars vanogovera zviwanikwa zveInternet. AFRINIC inogovera kero nzvimbo muAfrica yose. Uye 41/8 inoreva AFRINIC zvachose.

https://www.nic.ru/whois/?searchWord=105.0.0.0 
https://www.nic.ru/whois/?searchWord=41.0.0.0

Nokudaro, mhinduro yedambudziko iri, chaizvoizvo, murogi pachayo.

$ cat log1.txt | fgrep -e '105.' -e '41.' -e '196.' -e '197.' -e '154.' -e '102.' | awk '{print $1}' | sort | uniq -c | sort -r | head -n 21
4209 [email protected]
3313 [email protected]
2704 [email protected]
2215 [email protected]
1774 [email protected]
1448 [email protected]
1233 [email protected]
958 [email protected]
862 [email protected]
762 [email protected]
632 [email protected]
539 [email protected]
531 [email protected]
431 [email protected]
380 [email protected]
357 [email protected]
348 [email protected]
312 [email protected]
289 [email protected]
282 [email protected]
274 [email protected]

Panguva ino tinowana tambo "LinuxBenedictTorvadst".

Kiyi chaiyo: "LinusBenedictTorvalds".

Tambo yabuda ine typo ine chekuita nekiyi chaiyo mumabhii matatu ekupedzisira. Izvi zvinokonzerwa nekuti network dzatakasarudza hadzina kutsaurirwa zvizere kunyika dzeAfrica uye nemafambisirwo emaemail ari pakati pekero dzeIP mune yedu log.

Nekutsanangurwa kwakakwana kwemanetiweki makuru akagoverwa kunyika dzeAfrica, mhinduro chaiyo inogona kuwanikwa:

$ cat log1.txt | fgrep -e' '105.{30..255}. -e' '41. -e' '196.{64..47}. -e' '196.{248..132}. -e' '197.{160..31}. -e' '154.{127..255}. -e' '102.{70..255}. -e' '156.{155..255}. | awk '{print $1}' | sort | uniq -c | sort -r | head -n 21
3350 [email protected]
2662 [email protected]
2105 [email protected]
1724 [email protected]
1376 [email protected]
1092 [email protected]
849 [email protected]
712 [email protected]
584 [email protected]
463 [email protected]
365 [email protected]
269 [email protected]
225 [email protected]
168 [email protected]
142 [email protected]
111 [email protected]
 96 [email protected]
 78 [email protected]
 56 [email protected]
 56 [email protected]
 40 [email protected]

Dambudziko rinogona kugadziriswa neimwe nzira.
Dhawunirodha MaxMind, iburitse, uye iyo inotevera mirairo mitatu inogadzirisawo dambudziko redu.

$ cat GeoLite2-Country-Locations-ru.csv | grep "Африка" | cut -d',' -f1 > africaIds.txt
$ grep -Ff africaIds.txt GeoLite2-Country-Blocks-IPv4.csv | cut -d',' -f1 > africaNetworks.txt
$ grepcidr -f africaNetworks.txt log1.txt | cut -d' ' -f1 | sort | uniq -c | sort -r | head -n21

Imwe nzira kana imwe, takazoverenga nhamba, uye mamaneja vakagamuchira data ravaida kuti vashande!

3. Danho rechitatu

Nhanho yechitatu yakafanana neyokutanga - iwe unodawo kugadzirisa basa remwenje rinodziya, asi zvinhu zvose zvakaoma kupfuura mubasa rekutanga.

3.1. Zvinofadza Chokwadi

Mumaminitsi gumi nemashanu ekutanga, vatambi vatatu vakawana kiyi yekutanga; Maawa maviri nemaminitsi makumi maviri mushure mekutanga kwedariro, mukundi wedu akapedza basa.

3.2. Exercise

Iwe wakaenda kunoshandira kambani uko magwaro ese ekambani anochengetwa pane yemukati Wiki server. Gore rakapera, injiniya akarayira 3 disks itsva yevhavha mukuwedzera kune imwe iripo, achikakavara kuti kuitira kuti hurongwa huve nekutadza-kushivirira, ma disks aifanira kuiswa mune imwe mhando yezvirongwa. Zvinosuruvarisa, mavhiki mashomanana mushure mekugadzwa kwavo, injiniya akaenda kuzororo kuIndia uye haana kudzoka.

Sevha yakashanda pasina kukundikana kwemakore akati wandei, asi mazuva mashoma apfuura network yekambani yakabiwa. Zvinoenderana nemirairo, vashandi vekuchengetedza vakabvisa dhisiki kubva kune server uye vakatumira kwauri. Panguva yekufambisa, dhisiki rimwe chete rakarasika zvisingaite.

Isu tinofanirwa kudzoreredza mashandiro eWiki; chekutanga, isu tinofarira zviri mukati mewiki mapeji. Chimwe chidimbu chemavara chaive pane rimwe remapeji eiyi wiki password ye1C server uye inodiwa nekukurumidza kuti uvhure.

Uye zvakare, pane imwe nzvimbo pamapeji ewiki kana kune imwe nzvimbo pakanga paine mapassword eiyo log server uye vhidhiyo yekutarisa server, izvo zvingave zvakare zvinodiwa kupora; pasina ivo, kuferefetwa kwechiitiko ichi hazvigoneke. Senguva dzose, isu tinotarisira kugadziriswa nekukasira kwenyaya!

3.3. Solution

1. Isu tinoedza kubhuti rimwe nerimwe kubva kumadhisiki atinawo uye kwese kwatinogamuchira meseji imwechete:

No bootable medium found! System halted 

Iwe unofanirwa kutanga kubva pane chimwe chinhu. Booting kubva kuLive CD/DVD (Troubleshooting -> Rescue) inobatsira zvakare. Pakurodha, tinoedza kutsvaga kugovera kwebhoti, hatigoni kuiwana, tinopedzisira tapinda mugomba. Isu tiri kuedza kudzidza kuti chii uye sei kuita nemadhisiki. Zvinozivikanwa kuti kune vatatu vavo. Kune mamwe maturusi eizvi mune yechinomwe vhezheni yeCentOS, uko kune mirairo blkid kana lsblk, iyo inotiratidza ruzivo rwese nezve disks.

Sei uye zvatinoita:

$ ls /dev/sd*

Zviri pachena kuti

/dev/sdb1 - ext4
/dev/sdb2 - Ρ‡Π°ΡΡ‚ΡŒ lvm
/dev/sda1 ΠΈ /dev/sdc1 - части Ρ€Π΅ΠΉΠ΄Π°
/dev/sda2 ΠΈ /dev/sdc2 - ΠΏΡ€ΠΎ Π½ΠΈΡ… Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ извСстно Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚

Isu tinokwira sdb1, zviri pachena kuti iyi ndiyo boot partition yeCentOS 6.

$ mkdir /mnt/sdb1 && mount /dev/sdb1 /mnt/sdb1

Zviripachena, tinoenda kuchikamu chegrub uye tinowana kiyi yekutanga ipapo - James191955Gosling mune isina kujairika faira.

2. Tinodzidza pvs uye lvs, sezvo tichishanda neLVM. Isu tinoona kuti panofanirwa kuve ne2 mavhoriyamu emuviri, imwe haina kuwanikwa uye inonyunyuta nezve yakarasika uid. Isu tinoona kuti panofanirwa kuve nemavhoriyamu maviri ane musoro: mudzi uye chinjana, nepo mudzi uchirasika zvishoma (iyo P hunhu hwevhoriyamu). Hazvibviri kukwira, izvo zvinosiririsa! Tinomuda chaizvo.

Kune 2 mamwe madhisiki, tinoatarisa, anounganidza uye nekuaisa:

$ mdadm --examine --verbose --scan
$ mdadm --assemble --verbose --scan
$ mkdir /mnt/md127 && mount /dev/md127  /mnt/md127 

Isu tinotarisa, tinogona kuona kuti iyi ndiyo boot partition yeCentOS 6 uye dhizaini yezvatove pa /dev/sdb1, uye pano zvakare kiyi imwechete - DennisBMacAlistairCRitchie!
Ngationei kuti yakaunganidzwa sei /dev/md127.

$ mdadm --detail /dev/md127

Isu tinoona kuti yaifanira kunge yakaunganidzwa kubva ku4 disks, asi yakaunganidzwa kubva maviri /dev/sda1 ΠΈ /dev/sdc1, vaifanira kunge vari nhamba 2 ne4 muhurongwa. Tinofungidzira kuti kubva /dev/sda2 ΠΈ /dev/sdc2 Iwe unogona zvakare kuunganidza array. Hazvisi pachena kuti nei pasina metadata pavari, asi izvi zviri pahana yemutungamiri, uyo ari kune imwe nzvimbo muGoa. Isu tinofungidzira kuti panofanirwa kuve neRAID10, kunyangwe paine sarudzo. Tinounganidza:

$ mdadm --create --verbose /dev/md0 --assume-clean --level=10 --raid-devices=4 missing /dev/sda2 missing /dev/sdc2

Isu tinotarisa blkid, pvs, lvs. Isu tinoona kuti takaunganidza vhoriyamu yemuviri yatakanga tisina.

lvroot yakagadziriswa pakarepo, tinoiisa, asi chokutanga shandisa VG:

$ vgchange -a y
$ mkdir /mnt/lvroot && mount /dev/mapper/vg_c6m1-lv_root /mnt/lvroot 

Uye zvese zviripo, kusanganisira kiyi mumudziyo weimba dhairekitori - /mudzi/inotapira.

3. Tichiri kuedza kumutsiridza server yedu kuti itange zvakajairika. Mavhoriyamu ese ane musoro kubva kune yedu /dev/md0 (kwatakawana zvese) zvidhonze uende nazvo /dev/sdb2, uko sevha yese yakatanga kushanda.

$ pvmove /dev/md0 /dev/sdb2
$ vgreduce vg_c6m1 /dev/md0

Isu tinodzima sevha, bvisa disks 1 uye 3, siya yechipiri, bhutsu kubva kuLive CD / DVD kuenda kuRescue. Tsvaga iyo boot partition uye dzorera iyo bootloader mu grub:

root (hd0,0)
setup (hd0)

Isu tinobvarura bhutsu disk uye kutakura zvinobudirira, asi saiti haishande.

4. Pane zvingasarudzwa zviviri zvekuvhura webhusaiti: gadzirisa Apache kubva pakatanga kana shandisa nginx ine php-fpm yakatogadzirwa kare:

$ /etc/init.d/nginx start
$ /etc/init.d/php-fpm start

Pakupedzisira, unofanira kutanga MySQL:

$ /etc/init.d/mysqld start

Hazvisi kuzotanga, uye mhinduro irimo /var/log/mysql. Paunenge uchinge wagadzirisa dambudziko neMySQL, nzvimbo yacho ichashanda, pane peji huru pachava nekiyi - RichardGCCMatthewGNUStallman! Iye zvino tave nekuwana 1C, uye vashandi vachakwanisa kugamuchira mihoro yavo. Uye senguva dzose, une basa rakawanda pamberi pekugadzira zvivakwa uye kuchengetedzeka mukambani.

Tinogona zvakare kugovera zvakare runyoro rwemabhuku akatibatsira isu nevatori vechikamu kugadzirira mutambo: linux.mail.ru/books.

Tinokutendai nekuva nesu! Ramba wakamirira zviziviso zvemitambo inotevera!

Source: www.habr.com

Voeg