Linux Quest. Re thoholetsa bahlodi mme o re bolelle ka ditharollo tsa mesebetsi

Linux Quest. Re thoholetsa bahlodi mme o re bolelle ka ditharollo tsa mesebetsi

Ka la 25 Hlakubele re ile ra bula ngoliso ea Linux Quest, ena ke Papali ea barati le litsebi tsa sistimi e sebetsang ea Linux. Lipalo-palo tse ling: batho ba 1117 ba ngolisitsoeng bakeng sa papali, 317 ho bona ba fumane bonyane senotlolo se le seng, 241 ba qetile ka katleho mosebetsi oa sethaleng sa pele, 123 - ea bobeli le ea 70 e fetile sethaleng sa boraro. Kajeno papali ea rona e felile 'me re thoholetsa bahloli ba rona!

  • Alexander Teldekov o ile a nka sebaka sa pele.
    Alexander o ile a ipolella hore ke eena ea tloaelehileng ka ho fetisisa tsamaiso ea tsamaiso. O lula Volgograd, esale a tsamaisa lits'ebetso tse fapaneng tse kang Unix ka lilemo tse ka bang mashome a mabeli. Ke khonne ho sebetsa lik'hamphaning tse fanang ka litšebeletso tsa Inthanete, banka le mochine o kopanyang tsamaiso. Hona joale o sebetsa hole le k'hamphani e nyane, a sebetsa meahong ea maru bakeng sa moreki e moholo oa kantle ho naha. O rata ho bala le ho mamela 'mino. Mabapi le Papali, Alexander o ile a re o rata papali ka kakaretso, o rata mesebetsi e joalo. Nakong ea lipuisano ho e 'ngoe ea lik'hamphani tseo ke li entseng ho tšoana le Hackerrank, e ne e thahasellisa.
  • Sebaka sa bobeli - Roman Suslov.
    Pale e tsoang Moscow. O lilemo li 37. O sebetsa e le moenjiniere oa Linux/Unix ho Jet Infosystems. Mosebetsing, ke tlameha ho tsamaisa le ho rarolla mathata a Linux/Unix system + SAN. Lithahasello li fapane: Litsamaiso tsa Linux, mananeo, boenjiniere ba reverse, ts'ireletso ea tlhahisoleseling, Arduino. Mabapi le Game Roman o hlokometse hore o ne a rata papali ka kakaretso. "Ke ile ka otlolla likelello tsa ka hanyane 'me ka phomola bophelong ba letsatsi le letsatsi ba mosebetsi oa letsatsi le letsatsi. 🙂 Ke kopa ho ba le mesebetsi e mengata, ho seng joalo pele ke fumana nako ea ho e latsoa, ​​​​papali e ne e se e felile.
  • Ea boraro - alex3d.
    Alex o lula Moscow mme o sebetsa ho nts'etsopele ea software. "Kea leboha ka tlholisano, ho bile monate ho leka tsebo ea ka ea google-fu."

Hape boemong ba libapali tse 10 tse hloahloa:

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

Rea utloisisa hore ho na le mekhoa e mengata ea ho rarolla mathata ohle a rona; tse ling tsa litharollo tse ka khonehang li hlalositsoe ka tlase.

1. Mokhahlelo oa pele

Re e bitsitse "Na u hlile u mookameli?", Kaha mosebetsi o ne o le bonolo - ho lokisa tšebeletso ea lebone le futhumetseng.

1.1. Lintlha tse khahlisang:

Libapali tse peli li fumane senotlolo sa pele metsotsong ea pele ea 15 ea papali, 'me ka hora ea pele re ne re e-na le baeta-pele ba bararo ba qetileng mosebetsi.

1.2. Boikoetliso

U ile ua ea sebetsa k'hamphaning eo ka nako e telele ho neng ho se na setsebi sa theknoloji ea tlhahisoleseling. Pele o qala ho beha lintho ka tatellano, o hloka ho rarolla bothata bo tukang bo thibelang mosebetsi oa ofisi.

Mosali ea hloekisang o ile a tšoara thapo ea motlakase ea khabinete ea seva ka mopi. Matla a tsosolositsoe, empa websaete ea bohlokoa haholo e ntse e sa sebetse. Sebaka sa marang-rang se bohlokoa hobane k'hamphani ha e amehe haholo ka ts'ireletso ea tlhahisoleseling, 'me leqepheng le ka sehloohong la sena u ka fumana ka mongolo o hlakileng phasewete ea motsamaisi bakeng sa komporo ea CEO.

Ka letsatsi le leng phasewete e ile ea fetoloa, empa bohle ba lebala e ncha, mookameli ha a khone ho sebetsa. Ho na le menyenyetsi ea hore ho na le linotlolo tse ling mochining ona tse ka re thusang ho utloisisa kopi ea "backup" ea litokomane tsa accounting.

E mong le e mong o lebelletse tharollo e potlakileng ea taba!

1.3. Tharollo

1. Pele ho tsohle, o hloka ho fetola phasewete ea motso mochining o hlakileng e le hore o ka o fumana. Ha re qala, rea hlokomela hore ena ke Ubuntu 16.04 Server.

Ho tsosolosa phasewete ea motso, re qala mochine hape, ha re laela, ka nako eo menu ea grub e hlahang, e-ea ho hlophisa ntho ea Ubuntu ka konopo ea "e". Fetola line linux, e kenye qetellong init=/bin/bash. Re kenya ka Ctrl + x, re fumana bash. Khutlisetsa motso ka rw, fetola phasewete:

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

Se ke oa lebala ka sync, qala hape.

2. Boemo bo re seva sa rona sa marang-rang ha se sebetse, sheba:

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

Ke hore, ha e le hantle, Apache e ntse e sebetsa, empa e arabela ka khoutu 404. Ha re shebeng config:

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

Hape ho na le senotlolo mona - StevenPaulSteveJobs.

Ho hlahloba tsela /usr/share/WordPress - ha ho na ntho e joalo, empa e teng /usr/share/wordpress. Fetola config ebe u qala Apache hape.

$ systemctl restart apache2

3. Leka hape, re fumana phoso:

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

Na database ha e sebetse?

$ systemctl status mysql
Active: active (running)

Bothata ke bofe? Re hloka ho e utloisisa. Ho etsa sena, o hloka ho fihlella MySQL, joalo ka ha ho hlalositsoe ho litokomane. E 'ngoe ea lintlha tsa litokomane e khothalletsa hore re ngolise khetho skip-grant-tables в /etc/mysql/mysql.conf.d/mysqld.cnf. Hape ho na le senotlolo mona - AugustaAdaKingByron.

Ho lokisa litokelo tsa basebelisi 'wp'@'localhost'. Re qala MySQL, etsa hore e fumanehe holim'a marang-rang, re fana ka maikutlo ka khetho ho config skip-networking.

4. Kamora mehato ena, seva sa marang-rang se qala, empa sebaka se ntse se sa sebetse hobane

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

Re fetola litokelo tsa faele.

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

Re khatholla leqephe, re ea setšeng 'me re fumane senotlolo - BjarneStroustrup! Re fumane linotlolo tse tharo, motsamaisi oa rona a ka sebetsa, re hlakotse lifaele tsa accounting. Motho e mong le e mong o thabile, 'me u na le mosebetsi o mongata ka pele ho uena oa ho theha meaho, li-backups le ts'ireletso k'hamphaning.

2. Mokhahlelo oa bobeli

Ho ne ho hlokahala ho rarolla bothata ba ho bokella analytics. Motho e mong le e mong o rata li-analytics - ke mang ea e sebelisang, kae le ka bongata bofe. Re ile ra tla le nyeoe eo baenjiniere bohle ba ka kopanang le eona ka mokhoa o mong bophelong.

2.1. Lintlha Tse Thahasellisang

E mong oa libapali tsa rona o kentse senotlolo se nepahetseng nakong ea metsotso e 10 ea pele ea papali, 'me ka hora ea pele re ne re e-na le moetapele ea qetileng mosebetsi.

2.2. Boikoetliso

U ile ua sebetsa k'hamphaning, batsamaisi ba tla ho uena 'me ba u kōpa hore u fumane hore na mangolo a tsoang Afrika a rometsoe ho mang. Re hloka ho theha liaterese tse holimo tse 21 tsa baamoheli re ipapisitse le tsona. Litlhaku tsa pele tsa liaterese tsa baamoheli ke tsona senotlolo. Ntho e le 'ngoe: seva sa poso seo mangolo a rometsoeng ka sona ha se laole. E mong le e mong o lebelletse tharollo e potlakileng ea taba!

2.3. Tharollo

1. Seva ha e qale ka lebaka la karohano e seng teng ea swap ho fstab; ha e bula, sistimi e leka ho e kenya ebe e oa. Joang ho qala?

Khoasolla setšoantšo, re khoasolla CentOS 7, boot ho tsoa ho Live CD/DVD (Troubleshooting -> Rescue), beha sistimi, edita /etc/fstab. Hang-hang re fumana senotlolo sa pele - GottfriedWilhelm11646Leibniz!

Etsa phetoho:

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

2. Joalo ka kamehla, ha ho na phasewete, o hloka ho fetola phasewete ea motso mochining o hlakileng. Re se re entse sena mosebetsing oa pele. Re fetola le ho kena ka katleho ho seva, empa hang-hang e qala hape. Seva e tletse ka lebelo le leholo hoo u se nang nako ea ho sheba likutung tsohle ka hloko. Joang ho utloisisa se etsahalang?

Re boetse re qala ho tloha ho livecd, re ithuta ka hloko lits'oants'o tsa sistimi mme, haeba ho ka etsahala, re shebe ka har'a cron, ho tloha ka nako e joalo. Moo re fumana bothata le senotlolo sa bobeli - Alan1912MathisonTuring!

Hloka ho /etc/crontab hlakola kapa ho fana ka maikutlo molaetseng echo b > /proc/sysrq-trigger.

3. Ka mor'a moo seva e kentse, 'me u ka phetha mosebetsi oa batsamaisi: "Liaterese tsa Afrika ke life?" Litaba tsena hangata li fumaneha ho sechaba. U ka fumana lintlha tsena Marang-rang ka ho sebelisa mantsoe "ip address africa", "geoip database". Ho rarolla bothata, o ka sebelisa li-database tsa kabo ea liaterese tse fumanehang mahala (geoip). Re sebelisitse database joalo ka maemo MaxMind GeoLite2, e fumanehang tlasa laesense ea Creative Commons Attribution-ShareAlike 4.0.

Ha re leke ho rarolla bothata ba rona re sebelisa lisebelisoa tsa sistimi ea Linux feela, empa ka kakaretso e ka rarolloa ka mekhoa e mengata: ho sebelisa lisebelisoa tsa ho sefa mongolo le ho sebelisa mangolo ka lipuo tse fapaneng tsa lenaneo.

Ho qala, re tla fumana lipara tsa "IP-moamoheli" ho tsoa lethathamong la mangolo. /var/log/maillog (ha re theheng tafole ea batho ba amohelang lengolo-tsoibila - IP ea moromeli). Sena se ka etsoa ka taelo e latelang:

$ 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

Mme pele re tswela pele ka ho bokella polokelongtshedimosetso ya diaterese tsa Afrika, ha re shebeng diaterese tse ka hodimo tsa IP tsa batho ba romelang molaetsa.

$ 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]

Har'a bona kaofela, baamoheli ba pele ba bararo ba tsoang holimo ba hlahella ka ho hlaka ho latela palo ea mangolo. Haeba u grep liaterese tsa IP tsa batho ba rometseng liaterese ho tsoa ho top 3 ena, u tla hlokomela hore ho na le marang-rang a mang a hlakileng.

$ 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

Boholo ba marang-rang a 105/8, 41/8, 196/8,197/8 a abetsoe AFRINIC - e 'ngoe ea li-registrars tse hlano tsa libaka tsa Inthanete tse abang lisebelisoa tsa Inthanete. MOAFRIKA e aba sebaka sa liaterese ho pholletsa le Afrika. Mme 41/8 e bua ka AFRINIC ka botlalo.

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

Ka hona, karabo ea bothata, ha e le hantle, e ka har'a log ka boeona.

$ 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]

Mothating ona re fumana khoele "LinuxBenedictTorvadst".

Senotlolo se nepahetseng: "LinusBenedictTorvalds".

Khoele e hlahisoang e na le typo mabapi le senotlolo se nepahetseng litlhakung tse 3 tsa ho qetela. Sena se bakoa ke taba ea hore marang-rang ao re a khethileng ha a inehetse ka ho feletseng linaheng tsa Afrika le ka tsela eo li-imeile li tsamaisoang ka liaterese tsa IP ho log ea rona.

Ka litlhaloso tse lekaneng tsa marang-rang a maholo ka ho fetisisa a abetsoeng linaha tsa Afrika, karabo e nepahetseng e ka fumanoa:

$ 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]

Bothata bo ka boela ba rarolloa ka tsela e ’ngoe.
Khoasolla MaxMind, e lokolle, 'me litaelo tse tharo tse latelang le tsona li rarolle bothata ba rona.

$ 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

Ka tsela e ’ngoe kapa e ’ngoe, qetellong re ile ra bala lipalo-palo, ’me batsamaisi ba fumana boitsebiso boo ba bo hlokang hore ba sebetse!

3. Mokhahlelo oa boraro

Mohato oa boraro o batla o tšoana le oa pele - o boetse o hloka ho lokisa tšebeletso ea lebone le futhumetseng, empa ntho e 'ngoe le e' ngoe e rarahane ho feta mosebetsing oa pele.

3.1. Lintlha Tse Thahasellisang

Metsotsong ea pele e 15, libapali tse tharo li ile tsa fumana senotlolo sa pele; lihora tse 2 le metsotso e 20 ka mor'a hore sethala se qale, moqapi oa rona o ile a qeta mosebetsi.

3.2. Boikoetliso

U ile ua sebetsa k'hamphaning moo litokomane tsohle tsa k'hamphani li bolokiloeng ho seva sa ka hare sa Wiki. Selemong se fetileng, moenjiniere o ile a laela li-disk tse ncha tsa 3 bakeng sa seva ho phaella ho e 'ngoe e teng, a pheha khang ea hore e le hore tsamaiso e se ke ea mamella liphoso, li-disks li lokela ho behoa ka mefuta e meng ea mefuta. Ka bomalimabe, libeke tse 'maloa ka mor'a ho kenngoa ha bona, moenjiniere o ile a ea phomolong India 'me ha aa ka a khutla.

Seva e sebelitse ntle le liphoso ka lilemo tse 'maloa, empa matsatsi a' maloa a fetileng marang-rang a k'hamphani a ile a utsuoa. Ho latela litaelo, basebetsi ba ts'ireletso ba tlositse li-disk ho seva mme ba u romella tsona. Nakong ea lipalangoang, disk e le 'ngoe e ile ea lahleha ka tsela e ke keng ea lokisoa.

Re hloka ho khutlisetsa ts'ebetso ea Wiki; pele ho tsohle, re thahasella litaba tsa maqephe a wiki. Karolo e itseng ea mongolo e neng e le ho le leng la maqephe a wiki ena ke senotlolo sa seva sa 1C mme se hlokahala ka potlako ho e bula.

Ho feta moo, kae-kae maqepheng a wiki kapa sebakeng se seng ho ne ho e-na le li-password bakeng sa seva sa log le seva sa ho shebella video, seo le sona se neng se tla lakatseha ho hlaphoheloa; ntle le bona, lipatlisiso tsa ketsahalo ha li khonehe. Joalo ka mehla, re lebelletse tharollo e potlakileng ea taba!

3.3. Tharollo

1. Re leka ho qala ka bonngoe ho tsoa ho li-disk tseo re nang le tsona le hohle moo re fumanang molaetsa o tšoanang:

No bootable medium found! System halted 

U hloka ho qala ho hong. Ho qala ho tsoa ho Live CD/DVD (Troubleshooting -> Rescue) ho thusa hape. Ha re kenya, re leka ho fumana karohano ea boot, re ke ke ra e fumana, re qetella re le ka har'a khetla. Re leka ho ithuta hore na re etse eng ka li-disk le mokhoa oa ho li etsa. Hoa tsebahala hore ho na le tse tharo tsa tsona. Ho na le lisebelisoa tse ling bakeng sa sena ho mofuta oa 7th oa CentOS, moo ho nang le litaelo blkid kapa lsblk, e re bontšang boitsebiso bohle ka li-disk.

Joang le seo re se etsang:

$ ls /dev/sd*

Hang-hang ho hlakile hore

/dev/sdb1 - ext4
/dev/sdb2 - часть lvm
/dev/sda1 и /dev/sdc1 - части рейда
/dev/sda2 и /dev/sdc2 - про них ничего не известно на текущий момент

Re beha sdb1, ho hlakile hore ena ke karolo ea boot ea CentOS 6.

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

Ho hlakile hore re ea karolong ea grub mme re fumana senotlolo sa pele moo - James191955Gosling ka faele e sa tloaelehang.

2. Re ithuta pvs le lvs, kaha re sebetsa le LVM. Rea bona hore ho lokela ho ba le meqolo e 2 ea 'mele, e le' ngoe ha e fumanehe mme e tletleba ka uid e lahlehileng. Rea bona hore ho lokela ho ba le meqolo e 2 e utloahalang: motso le swap, athe motso o lahlehile ka mokhoa o itseng (setšoantšo sa P sa molumo). Ha ho khonehe ho palama, e leng masoabi! Ruri rea mo hloka.

Ho na le li-disk tse ling tse 2, re li sheba, rea li bokella le ho li beha:

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

Re sheba, rea bona hore ena ke karolo ea boot ea CentOS 6 le kopi ea se seng se ntse se le teng. /dev/sdb1, 'me mona hape senotlolo se tšoanang - DennisBMacAlistairCRitchie!
A re boneng hore na e bokelloa joang /dev/md127.

$ mdadm --detail /dev/md127

Rea bona hore e ne e lokela ho bokelloa ho tsoa ho li-disk tse 4, empa e ne e kopantsoe ho tloha ho tse peli /dev/sda1 и /dev/sdc1, e ne e lokela ho ba linomoro 2 le 4 tsamaisong. Re nka hore ho tloha /dev/sda2 и /dev/sdc2 U ka boela ua bokella array. Ha ho hlake hore na ke hobane'ng ha ho se na metadata ho bona, empa sena se ka letsoalo la mookameli, ea leng kae-kae Goa. Re nka hore ho lokela ho ba le RAID10, leha ho na le likhetho. Re bokella:

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

Re sheba blkid, pvs, lvs. Re fumana hore re bokelletse molumo oa 'mele oo re neng re se na oona pele.

lvroot e ile ea lokisoa hang-hang, rea e phahamisa, empa qala ka ho bula VG:

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

'Me ntho e' ngoe le e 'ngoe e teng, ho kenyeletsoa senotlolo bukeng ea lehae ea motso - /root/sweet.

3. Re ntse re leka ho tsosolosa seva sa rona hore se qale ka mokhoa o tloaelehileng. Meqolo eohle e utloahalang ho tsoa ho rona /dev/md0 (moo re fumaneng tsohle) e hulele ho /dev/sdb2, moo seva kaofela se neng se sebetsa qalong.

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

Re tima seva, re tlosa li-disk tsa 1 le 3, re tlohele ea bobeli, re qale ho tloha ho Live CD/DVD ho ea Pholoso. Fumana karohano ea boot 'me u khutlisetse bootloader ho grub:

root (hd0,0)
setup (hd0)

Re qhaqha disk ea boot mme re kenya ka katleho, empa sebaka sa marang-rang ha se sebetse.

4. Ho na le likhetho tse peli tsa ho qala sebaka sa marang-rang: lokisa Apache ho tloha qalong kapa sebelisa nginx ka php-fpm e seng e hlophisitsoe esale pele:

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

Qetellong, o hloka ho qala MySQL:

$ /etc/init.d/mysqld start

E ke ke ea qala, 'me karabo e ka ho /var/log/mysql. Hang ha u rarolla bothata ka MySQL, setša se tla sebetsa, leqepheng le ka sehloohong ho tla ba le senotlolo - RichardGCCMatthewGNUStallman! Hona joale re na le monyetla oa ho fumana 1C, 'me basebetsi ba tla khona ho fumana meputso ea bona. 'Me joalo ka kamehla, u na le mosebetsi o mongata o tlang pele ho theha meaho le ts'ireletso k'hamphaning.

Re ka boela ra arolelana lethathamo la libuka tse re thusitseng le bankakarolo ba rona ho itokisetsa papali ena: linux.mail.ru/books.

Re leboha ho ba le rona! Lula u mametse liphatlalatso tsa lipapali tse latelang!

Source: www.habr.com

Eketsa ka tlhaloso