Musi wa25 Kurume takavhura kunyoresa
- 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 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
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:
Tinokutendai nekuva nesu! Ramba wakamirira zviziviso zvemitambo inotevera!
Source: www.habr.com