25์ XNUMX์ผ ๋ฑ๋ก์ ์์ํ์ต๋๋ค.
- Alexander Teldekov๊ฐ XNUMX์๋ฅผ ์ฐจ์งํ์ต๋๋ค.
Alexander๋ ์์ ์ด ๊ฐ์ฅ ์ ํ์ ์ธ ์์คํ ๊ด๋ฆฌ์๋ผ๊ณ ์ค์ค๋ก์๊ฒ ๋งํ์ต๋๋ค. ๋ณผ๊ณ ๊ทธ๋ผ๋์ ๊ฑฐ์ฃผํ๋ฉฐ ์ฝ XNUMX๋ ๋์ ๋ค์ํ Unix ๊ณ์ด ์์คํ ์ ๊ด๋ฆฌํด ์์ต๋๋ค. ์ ๋ ์ธํฐ๋ท ์ ๊ณต์ ์ฒด, ์ํ, ์์คํ ํตํฉ์ ์ฒด์์ ์ผํ์ต๋๋ค. ์ด์ ๊ทธ๋ ์๊ท๋ชจ ํ์ฌ์์ ์๊ฒฉ์ผ๋ก ๊ทผ๋ฌดํ๋ฉฐ ๋๊ท๋ชจ ์ธ๊ตญ ๊ณ ๊ฐ์ ์ํ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์์ ์ ํ๊ณ ์์ต๋๋ค. ์ฝ๊ธฐ์ ์์ ๋ฃ๊ธฐ๋ฅผ ์ข์ํฉ๋๋ค. ๊ฒ์์ ๋ํด Alexander๋ ๊ฒ์ ์ ์ฒด๋ฅผ ์ข์ํ๊ณ ๊ทธ๋ฌํ ์์ ์ ์ข์ํ๋ค๊ณ ๋งํ์ต๋๋ค. ํ ํ์ฌ์์ ์ธํฐ๋ทฐํ๋ ๋์ Hackerrank์ ๋น์ทํ ์ผ์ ํ๋๋ฐ ํฅ๋ฏธ๋ก์ ์ต๋๋ค. - ๋ ๋ฒ์งธ ์ฅ์ - Roman Suslov.
๋ชจ์คํฌ๋ฐ์์ ์จ ์์ค. ๊ทธ๋ 37์ธ์ ๋๋ค. Jet Infosystems์์ Linux/Unix ์์ง๋์ด๋ก ์ผํ๊ณ ์์ต๋๋ค. ์ง์ฅ์์๋ Linux/Unix ์์คํ + SAN์ ๊ด๋ฆฌํ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค. ๊ด์ฌ ๋ถ์ผ๋ Linux ์์คํ , ํ๋ก๊ทธ๋๋ฐ, ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง, ์ ๋ณด ๋ณด์, Arduino ๋ฑ ๋ค์ํฉ๋๋ค. ๊ฒ์ ์ ๋ณด Roman์ ๊ฒ์์ด ์ ๋ฐ์ ์ผ๋ก ๋ง์์ ๋ ๋ค๊ณ ๋งํ์ต๋๋ค. โ๋จธ๋ฆฌ๋ฅผ ์กฐ๊ธ ํด๊ณ ์ผ์ ์ ๋ฌด์ ํ์๋น ์ผ์์์ ์ ์ ํด์์ ์ทจํ์ต๋๋ค. ๐ ๋ ๋ง์ ์์ ์ ์ํํ๊ณ ์ถ์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ง๋ณด๊ธฐ๋ ์ ์ ๊ฒ์์ด ์ด๋ฏธ ๋๋ฌ์ต๋๋ค.โ - ์ธ ๋ฒ์งธ - alex3d.
Alex๋ ๋ชจ์คํฌ๋ฐ์ ๊ฑฐ์ฃผํ๋ฉฐ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ถ์ผ์์ ์ผํ๊ณ ์์ต๋๋ค. "์ฝํ ์คํธ์ ์ฐธ์ฌํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ด google-fu ๊ธฐ์ ์ ํ ์คํธํ ์ ์์ด์ ํฅ๋ฏธ๋ก์ ์ต๋๋ค."
๋ํ ์์ 10๋ช ์ ์ ์ ์์์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์๋ธ๊ฒ๋ ์ด๋ค์ํ
- ๋ง๋ฅด์ผ ๋ชจํฌ๋์ฒดํ์คํค
- ์ฝ์คํํด ์ฝ๋ ธ์ํ
- ํ๋ฒจ ์ธ๋ฅด๊ฒ์ํ
- ๋ธ๋ผ๋๋ฏธ๋ฅด ๋ณด๋ฐ์ํ
- ์ด๋ฐ ๋ถ๋ธ๋ ธํ
- ํ๋ธ๋ก ํด๋ ์ธ
์ฐ๋ฆฌ๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ค์ํ ์ต์ ์ด ์๋ค๋ ๊ฒ์ ์๊ณ ์์ผ๋ฉฐ, ๊ฐ๋ฅํ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค ์ผ๋ถ๊ฐ ์๋์ ์ค๋ช ๋์ด ์์ต๋๋ค.
1. ์ฒซ ๋ฒ์งธ ๋จ๊ณ
๋ฐ๋ปํ ๋จํ ์๋น์ค๋ฅผ ์์ ํ๋ ์์ ์ด ๋งค์ฐ ๊ฐ๋จํ๊ธฐ ๋๋ฌธ์ "์ ๋ง ๊ด๋ฆฌ์์ด์ ๊ฐ์?"๋ผ๊ณ ๋ถ๋ ์ต๋๋ค.
1.1. ์ฌ๋ฏธ์๋ ์ฌ์ค :
๋ ๋ช ์ ํ๋ ์ด์ด๊ฐ ๊ฒ์ ์์ ํ 15๋ถ ๋์ ์ฒซ ๋ฒ์งธ ์ด์ ๋ฅผ ์ฐพ์๊ณ , ์ฒซ ๋ฒ์งธ ์๊ฐ์๋ ์๋ฌด๋ฅผ ์๋ฃํ ๋ฆฌ๋๊ฐ ์ธ ๋ช ์์์ต๋๋ค.
1.2. ์ด๋
๋น์ ์ ์ค๋ซ๋์ ์ ๋ฅํ ์ ๋ณด ๊ธฐ์ ์ ๋ฌธ๊ฐ๊ฐ ์์๋ ํ์ฌ์์ ์ผํ์ต๋๋ค. ์ ๋ฆฌ๋ฅผ ์์ํ๊ธฐ ์ ์ ์ฌ๋ฌด์ค ์ ๋ฌด๋ฅผ ๋ฐฉํดํ๋ ๋ถํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
์ฒญ์ ์์ฃผ๋จธ๋๊ฐ ์๋ฒ ์บ๋น๋์ ์ ์ ์ผ์ด๋ธ์ ๊ฑธ๋ ๋ก ์ก์๋น๊ฒผ์ต๋๋ค. ์ ์์ด ๋ณต๊ตฌ๋์์ง๋ง ๋งค์ฐ ์ค์ํ ์น์ฌ์ดํธ๊ฐ ์ฌ์ ํ ์๋ํ์ง ์์ต๋๋ค. ํ์ฌ์์๋ ์ ๋ณด ๋ณด์์ ๋ณ๋ก ๊ด์ฌ์ด ์๊ธฐ ๋๋ฌธ์ ์น์ฌ์ดํธ๊ฐ ์ค์ํ๋ฐ, ์ด ๋ฉ์ธ ํ์ด์ง์์๋ CEO ์ปดํจํฐ์ ๊ด๋ฆฌ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ผ๋ฐ ํ ์คํธ๋ก ํ์ธํ ์ ์์ต๋๋ค.
์ผ๋ง์ ๋น๋ฐ๋ฒํธ๊ฐ ๋ณ๊ฒฝ๋๋๋ฐ ๋ชจ๋๊ฐ ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์์ด๋ฒ๋ ค์ ๊ฐ๋ ์ด ์ผ์ ํ ์๊ฐ ์์ด์. ์ด ๊ธฐ๊ณ์๋ ํ๊ณ ๋ฌธ์์ ๋ฐฑ์ ์ฌ๋ณธ์ ํด๋ ํ๋ ๋ฐ ๋์์ด ๋ ์ ์๋ ํค๊ฐ ๋ ์๋ค๋ ์๋ฌธ์ด ์์ต๋๋ค.
๋ชจ๋๊ฐ ๋ฌธ์ ์ ์ ์ํ ํด๊ฒฐ์ ๊ธฐ๋ํฉ๋๋ค!
1.3. ์๋ฃจ์
1. ์ฐ์ ๊ฐ์ ๋จธ์ ์ ์ก์ธ์คํ๋ ค๋ฉด ๋ฃจํธ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. ์์ํ๋ฉด ์ด๊ฒ์ด Ubuntu 16.04 ์๋ฒ๋ผ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
๋ฃจํธ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ค์ ํ๋ ค๋ฉด ๋จธ์ ์ ๋ค์ ์์ํ๊ณ , ๋ก๋ํ ๋ grub ๋ฉ๋ด๊ฐ ํ์๋๋ ์๊ฐ "e" ๋ฒํผ์ ์ฌ์ฉํ์ฌ Ubuntu ํญ๋ชฉ ํธ์ง์ผ๋ก ์ด๋ํฉ๋๋ค. linux ์ค์ ํธ์งํ์ฌ ๋์ ์ถ๊ฐํ์ธ์. init=/bin/bash
. Ctrl+x๋ฅผ ํตํด ๋ก๋ํ๋ฉด bash๊ฐ ๋ฐ์ํฉ๋๋ค. rw๋ก ๋ฃจํธ๋ฅผ ๋ค์ ๋ง์ดํธํ๊ณ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ์ญ์์ค.
$ mount -o remount,rw /dev/mapper/ubuntu--vg-root
$ passwd
๋๊ธฐํ๋ฅผ ์์ง ๋ง๊ณ ์ฌ๋ถํ ํ์ธ์.
2. ์น ์๋ฒ๊ฐ ์๋ํ์ง ์๋๋ค๋ ์กฐ๊ฑด์ด ํ์๋ฉ๋๋ค. ๋ค์์ ํ์ธํ์ธ์.
$ curl localhost
Not Found
The requested URL / was not found on this server.
Apache/2.4.18
์ฆ, ์ค์ ๋ก Apache๊ฐ ์คํ ์ค์ด์ง๋ง ์ฝ๋ 404๋ก ์๋ตํฉ๋๋ค. ๊ตฌ์ฑ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
$ vim /etc/apache2/sites-enabled/000-default.conf
์ฌ๊ธฐ์๋ ์ด์ ๊ฐ ์์ต๋๋ค - StevenPaulSteveJobs.
๊ฒฝ๋ก ํ์ธ ์ค /usr/share/WordPress
- ๊ทธ๋ฐ ๊ฑด ์์ง๋ง ์์ด์. /usr/share/wordpress
. ๊ตฌ์ฑ์ ํธ์งํ๊ณ Apache๋ฅผ ๋ค์ ์์ํ์ญ์์ค.
$ systemctl restart apache2
3. ๋ค์ ์๋ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
Warning: mysqli_real_connect(): (HY000/2002): Connection refused in /usr/share/wordpress/wp-includes/wp-db.php on line 1488
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์คํ๋๊ณ ์์ง ์์ต๋๊น?
$ systemctl status mysql
Active: active (running)
๋ฌด์จ ์ผ์ด์ผ? ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์์๋ด์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ค์์ ์ค๋ช
๋ ๋๋ก MySQL์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์ป์ด์ผ ํฉ๋๋ค. skip-grant-tables
ะฒ /etc/mysql/mysql.conf.d/mysqld.cnf
. ์ฌ๊ธฐ์๋ AugustaAdaKingByron์ด๋ผ๋ ์ด์ ๋ ์์ต๋๋ค.
์ฌ์ฉ์ ๊ถํ ์์ 'wp'@'localhost'
. MySQL์ ์์ํ๊ณ ๋คํธ์ํฌ๋ฅผ ํตํด ์ก์ธ์คํ ์ ์๋๋ก ํ๋ฉฐ ๊ตฌ์ฑ ์ต์
์ ์ฃผ์์ ๋ฌ์์ต๋๋ค. skip-networking
.
4. ์ด ๋จ๊ณ๋ฅผ ์ํํ๋ฉด ์น ์๋ฒ๊ฐ ์์๋์ง๋ง ์ฌ์ดํธ๊ฐ ์ฌ์ ํ ์๋ํ์ง ์์ต๋๋ค.
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
ํ์ผ์ ๋ํ ๊ถ๋ฆฌ๋ฅผ ํธ์งํฉ๋๋ค.
$ chmod 644 /usr/share/wordpress/wp-content/themes/twentysixteen/footer.php
ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์น๊ณ ์ฌ์ดํธ๋ก ์ด๋ํ์ฌ BjarneStroustrup์ด๋ผ๋ ํค๋ฅผ ์ฐพ์ผ์ธ์! ์ฐ๋ฆฌ๋ ์ธ ๊ฐ์ ํค๋ฅผ ๋ชจ๋ ์ฐพ์๊ณ , ์ฐ๋ฆฌ ์ด์ฌ๊ฐ ์ผํ ์ ์์๊ณ , ํ๊ณ ํ์ผ์ ํด๋ ํ์ต๋๋ค. ๋ชจ๋๊ฐ ๋ง์กฑํ๋ฉฐ ํ์ฌ์์ ์ธํ๋ผ, ๋ฐฑ์ ๋ฐ ๋ณด์์ ์ค์ ํ๋ ค๋ฉด ์์ผ๋ก ํด์ผ ํ ์ผ์ด ๋ง์ต๋๋ค.
2. ๋ ๋ฒ์งธ ๋จ๊ณ
๋ถ์์๋ฃ ์์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ํ์ํ์ต๋๋ค. ๋๊ตฌ๋ ๋ถ์์ ์ข์ํฉ๋๋ค. ๋๊ฐ, ์ด๋์, ์ผ๋ง๋ ๋ง์ด ์ฌ์ฉํ๋์ง ๋ง์ด์ฃ . ์ฐ๋ฆฌ๋ ๋ชจ๋ ์์ง๋์ด๊ฐ ์ธ์์์ ์ด๋ค ํํ๋ก๋ ์ ํ ์ ์๋ ์ฌ๋ก๋ฅผ ์๊ฐํด๋์ต๋๋ค.
2.1. ํฅ๋ฏธ๋ก์ด ์ฌ์ค
์ฐ๋ฆฌ ํ๋ ์ด์ด ์ค ํ ๋ช ์ด ๊ฒ์ ์์ ํ 10๋ถ ์ด๋ด์ ์ฌ๋ฐ๋ฅธ ํค๋ฅผ ์ ๋ ฅํ๊ณ , ์ฒซ XNUMX์๊ฐ ์ด๋ด์ ์์ ์ ์๋ฃํ ๋ฆฌ๋๊ฐ ์์์ต๋๋ค.
2.2. ์ด๋
๋น์ ์ ํ์ฌ์ ์ถ๊ทผํ๊ณ ๊ด๋ฆฌ์๋ค์ด ๋น์ ์๊ฒ ์์ ์ํ๋ฆฌ์นด์์ ๋๊ตฌ์๊ฒ ํธ์ง๋ฅผ ๋ณด๋๋์ง ์ฐพ์๋ฌ๋ผ๊ณ ์์ฒญํ์ต๋๋ค. ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ 21๊ฐ์ ์์ ์ ์ฃผ์๋ฅผ ๊ตฌ์ถํด์ผ ํฉ๋๋ค. ๋ฐ๋ ์ฌ๋ ์ฃผ์์ ์ฒซ ๊ธ์๊ฐ ์ด์ ์ ๋๋ค. ํ ๊ฐ์ง: ํธ์ง๊ฐ ์ ์ก๋ ๋ฉ์ผ ์๋ฒ๊ฐ ๋ก๋๋์ง ์์ต๋๋ค. ๋ชจ๋๊ฐ ๋ฌธ์ ์ ์ ์ํ ํด๊ฒฐ์ ๊ธฐ๋ํฉ๋๋ค!
2.3. ์๋ฃจ์
1. fstab์ ์กด์ฌํ์ง ์๋ ์ค์ ํํฐ์ ์ผ๋ก ์ธํด ์๋ฒ๊ฐ ๋ถํ ๋์ง ์์ต๋๋ค. ๋ก๋ํ ๋ ์์คํ ์ด ์๋ฒ๋ฅผ ๋ง์ดํธํ๋ ค๊ณ ์๋ํ๊ณ ์ถฉ๋ํฉ๋๋ค. ๋ถํ ํ๋ ๋ฐฉ๋ฒ?
์ด๋ฏธ์ง ๋ค์ด๋ก๋, CentOS 7 ๋ค์ด๋ก๋, Live CD/DVD์์ ๋ถํ
(๋ฌธ์ ํด๊ฒฐ -> ๋ณต๊ตฌ), ์์คํ
๋ง์ดํธ, ํธ์ง /etc/fstab
. ์ฐ๋ฆฌ๋ ์ฆ์ ์ฒซ ๋ฒ์งธ ํค์ธ GottfriedWilhelm11646Leibniz๋ฅผ ์ฐพ์ต๋๋ค!
์ค์ ์์ฑ:
$ lvcreate -n swap centos -L 256M
$ sync && reboot
2. ์ธ์ ๋ ๊ทธ๋ ๋ฏ์ด ๋น๋ฐ๋ฒํธ๋ ์์ต๋๋ค. ๊ฐ์ ๋จธ์ ์ ๋ฃจํธ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ฒซ ๋ฒ์งธ ์์ ์์ ์ด๋ฏธ ์ด ์์ ์ ์ํํ์ต๋๋ค. ์๋ฒ๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ฑ๊ณต์ ์ผ๋ก ๋ก๊ทธ์ธํ์ง๋ง ์ฆ์ ์ฌ๋ถํ ๋ฉ๋๋ค. ๋ชจ๋ ๋ก๊ทธ๋ฅผ ์ฃผ์ ๊น๊ฒ ๋ณผ ์๊ฐ์กฐ์ฐจ ์์ ์ ๋๋ก ์๋ฒ๊ฐ ๊ณผ๋ถํ ์ํ์ ๋๋ค. ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ดํดํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
๋ค์ livecd์์ ๋ถํ ํ๊ณ , ์์คํ ๋ก๊ทธ๋ฅผ ์ฃผ์ ๊น๊ฒ ์ฐ๊ตฌํ๊ณ , ๋ง์ผ์ ๊ฒฝ์ฐ์ ๋๋นํ์ฌ cron์ ์กฐ์ฌํฉ๋๋ค. ๊ฑฐ๊ธฐ์ ์ฐ๋ฆฌ๋ ๋ฌธ์ ์ ๋ ๋ฒ์งธ ์ด์ ์ธ Alan1912MathisonTuring์ ๋ฐ๊ฒฌํ์ต๋๋ค!
ํ์ /etc/crontab
์ค ์ญ์ ๋๋ ์ฃผ์ ์ฒ๋ฆฌ echo b > /proc/sysrq-trigger
.
3. ์๋ฒ๊ฐ ๋ก๋๋๋ฉด ๊ด๋ฆฌ์์ ์์
์ธ "์ํ๋ฆฌ์นด์ ์ฃผ์๋ ๋ฌด์์
๋๊น?"๋ฅผ ์๋ฃํ ์ ์์ต๋๋ค. ์ด ์ ๋ณด๋ ์ผ๋ฐ์ ์ผ๋ก ๋์ค์๊ฒ ๊ณต๊ฐ๋ฉ๋๋ค. ์ด ์ ๋ณด๋ "ip ์ฃผ์ ์ํ๋ฆฌ์นด", "geoip ๋ฐ์ดํฐ๋ฒ ์ด์ค"๋ผ๋ ๋ฌธ๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ธํฐ๋ท์์ ์ฐพ์ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฌด๋ฃ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ์ฃผ์ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค(geoip)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ์ค์ผ๋ก ์ฌ์ฉํ์ต๋๋ค.
Linux ์์คํ ์ ํธ๋ฆฌํฐ๋ง ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก ํ ์คํธ ํํฐ๋ง ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ๊ณ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
์ฐ์ , ๋ฉ์ผ ๋ก๊ทธ์์ "๋ฐ์ ์-์์ ์ IP" ์์ ๊ฐ๋จํ ๊ฐ์ ธ์ต๋๋ค. /var/log/maillog
(์ด๋ฉ์ผ ์์ ์ ํ
์ด๋ธ์ ์์ฑํด ๋ณด๊ฒ ์ต๋๋ค - ๋ฐ์ ์ IP). ์ด ์์
์ ๋ค์ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์ํํ ์ ์์ต๋๋ค.
$ 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
๊ทธ๋ฆฌ๊ณ ์ํ๋ฆฌ์นด ์ฃผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณ์ ์ปดํ์ผํ๊ธฐ ์ ์ ๋ณด๋ธ ์ฌ๋์ ์์ IP ์ฃผ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
$ 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]
๊ทธ์ค์์๋ ์์์๋ถํฐ ์ฒ์ ์ธ ๋ช ์ ์์ ์๊ฐ ํธ์ง ์ ๋ฉด์์ ๋จ์ฐ ๋์ ๋๋ค. ์ด ์์ 3๊ฐ ์ฃผ์๋ก ๋ณด๋ธ ๋ณด๋ธ ์ฌ๋์ IP ์ฃผ์๋ฅผ ์กฐ์ฌํ๋ฉด ํน์ ๋คํธ์ํฌ๊ฐ ํ์คํ ์ฐ์ธํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
$ 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
๋๋ถ๋ถ์ ๋คํธ์ํฌ 105/8, 41/8, 196/8,197/8์ ์ธํฐ๋ท ๋ฆฌ์์ค๋ฅผ ๋ฐฐํฌํ๋ 41๊ฐ ์ง์ญ ์ธํฐ๋ท ๋ฑ๋ก ๊ธฐ๊ด ์ค ํ๋์ธ AFRINIC์ ํ ๋น๋ฉ๋๋ค. AFRINIC์ ์ํ๋ฆฌ์นด ์ ์ญ์ ์ฃผ์ ๊ณต๊ฐ์ ๋ฐฐํฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ 8/XNUMX์ ์์ ํ AFRINIC์ ๋ํ๋ ๋๋ค.
https://www.nic.ru/whois/?searchWord=105.0.0.0
https://www.nic.ru/whois/?searchWord=41.0.0.0
๋ฐ๋ผ์ ๋ฌธ์ ์ ๋ํ ๋ต์ ์ค์ ๋ก ๋ก๊ทธ ์์ฒด์ ์์ต๋๋ค.
$ 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]
์ด ๋จ๊ณ์์๋ โLinuxBenedictTorvadstโ๋ผ๋ ๋ฌธ์์ด์ ์ป์ต๋๋ค.
์ฌ๋ฐ๋ฅธ ํค: "LinusBenedictTorvalds".
๊ฒฐ๊ณผ ๋ฌธ์์ด์๋ ๋ง์ง๋ง 3์์ ์ฌ๋ฐ๋ฅธ ํค์ ๊ด๋ จ๋ ์คํ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋ ์ฐ๋ฆฌ๊ฐ ์ ํํ ๋คํธ์ํฌ๊ฐ ์ ์ ์ผ๋ก ์ํ๋ฆฌ์นด ๊ตญ๊ฐ ์ ์ฉ์ด ์๋๋ฉฐ ์ด๋ฉ์ผ์ด ๋ก๊ทธ์ IP ์ฃผ์์ ๋ฐ๋ผ ๋ฐฐํฌ๋๋ ๋ฐฉ์ ๋๋ฌธ์ ๋๋ค.
์ํ๋ฆฌ์นด ๊ตญ๊ฐ์ ํ ๋น๋ ์ต๋ ๋คํธ์ํฌ์ ๋ํ ์ถฉ๋ถํ ์ฌ์์ ํตํด ์ ํํ ๋ต์ ์ป์ ์ ์์ต๋๋ค.
$ 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]
๋ฌธ์ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ํด๊ฒฐ๋ ์ ์์ต๋๋ค.
MaxMind๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์์ถ์ ํ๋ฉด ๋ค์ ์ธ ๊ฐ์ง ๋ช
๋ น๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
$ 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
์ด๋ค ์์ผ๋ก๋ ์ฐ๋ฆฌ๋ ๊ฒฐ๊ตญ ํต๊ณ๋ฅผ ๊ณ์ฐํ๊ณ ๊ด๋ฆฌ์๋ค์ ์ ๋ฌด์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ต๋๋ค!
3. ์ธ ๋ฒ์งธ ๋จ๊ณ
์ธ ๋ฒ์งธ ๋จ๊ณ๋ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์ ๋ค์ ์ ์ฌํฉ๋๋ค. ๋ฐ๋ปํ ๋จํ ์๋น์ค๋ ์์ ํด์ผ ํ์ง๋ง ๋ชจ๋ ๊ฒ์ด ์ฒซ ๋ฒ์งธ ์์ ๋ณด๋ค ๋ ๋ณต์กํฉ๋๋ค.
3.1. ํฅ๋ฏธ๋ก์ด ์ฌ์ค
์ฒ์ 15๋ถ ๋์ 2๋ช ์ ํ๋ ์ด์ด๊ฐ ์ฒซ ๋ฒ์งธ ์ด์ ๋ฅผ ์ฐพ์๊ณ , ์คํ ์ด์ง ์์ ํ 20์๊ฐ XNUMX๋ถ ํ์ ์ฐ๋ฆฌ์ ์น์๊ฐ ์ด์ ๋ฅผ ์์ฑํ์ต๋๋ค.
3.2. ์ด๋
๋น์ ์ ๋ชจ๋ ํ์ฌ ๋ฌธ์๊ฐ ๋ด๋ถ Wiki ์๋ฒ์ ์ ์ฅ๋์ด ์๋ ํ์ฌ์ ๊ทผ๋ฌดํ์ต๋๋ค. ์๋ ์ ํ ์์ง๋์ด๋ ์์คํ ์ ๋ด๊ฒฐํจ์ฑ์ ์ํด์๋ ๋์คํฌ๋ฅผ ์ผ์ข ์ ์ด๋ ์ด์ ๋ฐฐ์นํด์ผ ํ๋ค๊ณ ์ฃผ์ฅํ๋ฉด์ ๊ธฐ์กด ๋์คํฌ 3๊ฐ ์ธ์ ์๋ฒ์ฉ ์ ๋์คํฌ XNUMX๊ฐ๋ฅผ ์ฃผ๋ฌธํ์ต๋๋ค. ๋ถํํ๋ ์ค์น ํ ๋ช ์ฃผ ํ์ ์์ง๋์ด๋ ์ธ๋๋ก ํด๊ฐ๋ฅผ ๊ฐ๋ค๊ฐ ๋์์ค์ง ์์์ต๋๋ค.
์๋ฒ๋ ๋ช ๋ ๋์ ๋ฌธ์ ์์ด ์๋ํ์ง๋ง ๋ฉฐ์น ์ ์ ํ์ฌ ๋คํธ์ํฌ๊ฐ ํดํน๋นํ์ต๋๋ค. ์๋ด์ ๋ฐ๋ผ ๋ณด์์ง์์ด ์๋ฒ์์ ๋์คํฌ๋ฅผ ๊บผ๋ด์ด ๋ณด๋ด๋๋ ธ์ต๋๋ค. ์ด์ก ์ค์ ๋์คํฌ ํ๋๊ฐ ๋ณต๊ตฌ ๋ถ๊ฐ๋ฅํ๊ฒ ์์ค๋์์ต๋๋ค.
Wiki์ ๊ธฐ๋ฅ์ ๋ณต์ํด์ผ ํ๋ฉฐ, ์ฐ์ Wiki ํ์ด์ง์ ์ฝํ ์ธ ์ ๊ด์ฌ์ด ์์ต๋๋ค. ์ด ์ํค ํ์ด์ง ์ค ํ๋์ ์๋ ํน์ ํ ์คํธ๋ 1C ์๋ฒ์ ๋น๋ฐ๋ฒํธ์ด๋ฉฐ ์ ๊ธ์ ํด์ ํ๋ ๋ฐ ๊ธด๊ธํ๊ฒ ํ์ํฉ๋๋ค.
๋ํ ์ํค ํ์ด์ง๋ ๋ค๋ฅธ ๊ณณ์๋ ๋ก๊ทธ ์๋ฒ์ ์์ ๊ฐ์ ์๋ฒ์ ๋น๋ฐ๋ฒํธ๊ฐ ์์๋๋ฐ, ์ด ๋น๋ฐ๋ฒํธ๋ ๋ณต๊ตฌํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ฉฐ, ๋น๋ฐ๋ฒํธ๊ฐ ์์ผ๋ฉด ์ฌ๊ฑด ์กฐ์ฌ๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ธ์ ๋ ๊ทธ๋ฌ๋ฏ, ๋ฌธ์ ๊ฐ ์ ์ํ๊ฒ ํด๊ฒฐ๋๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค!
3.3. ์๋ฃจ์
1. ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ๋์คํฌ์์ ํ๋์ฉ ๋ถํ ์ ์๋ํ๋ฉด ์ด๋์์๋ ๋์ผํ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
No bootable medium found! System halted
๋ฌด์ธ๊ฐ์์ ๋ถํ
ํด์ผ ํฉ๋๋ค. Live CD/DVD์์ ๋ถํ
(๋ฌธ์ ํด๊ฒฐ -> ๋ณต๊ตฌ)ํ๋ฉด ๋ค์ ๋์์ด ๋ฉ๋๋ค. ๋ก๋ํ ๋ ๋ถํ
ํํฐ์
์ ์ฐพ์ผ๋ ค๊ณ ์๋ํ์ง๋ง ์ฐพ์ ์ ์์ด ์์ ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋์คํฌ๋ก ๋ฌด์์, ์ด๋ป๊ฒ ํ ๊ฒ์ธ์ง ์ฐ๊ตฌํ๋ ค๊ณ ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๊ทธ ์ค ์ธ ๊ฐ์ง๊ฐ์๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค. CentOS 7๋ฒ์งธ ๋ฒ์ ์๋ ์ด๋ฅผ ์ํ ๋ ๋ง์ ๋๊ตฌ๊ฐ ์์ต๋๋ค. blkid
๋๋ lsblk
, ๋์คํฌ์ ๋ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ค๋๋ค.
์ฐ๋ฆฌ๊ฐ ํ๋ ์ผ๊ณผ ๋ฐฉ๋ฒ:
$ ls /dev/sd*
๊ทธ๊ฒ์ ์ฆ์ ๋ถ๋ช ํ๋ค
/dev/sdb1 - ext4
/dev/sdb2 - ัะฐััั lvm
/dev/sda1 ะธ /dev/sdc1 - ัะฐััะธ ัะตะนะดะฐ
/dev/sda2 ะธ /dev/sdc2 - ะฟัะพ ะฝะธั
ะฝะธัะตะณะพ ะฝะต ะธะทะฒะตััะฝะพ ะฝะฐ ัะตะบััะธะน ะผะพะผะตะฝั
sdb1์ ๋ง์ดํธํ๋๋ฐ ์ด๊ฒ์ด CentOS 6์ ๋ถํ ํํฐ์ ์์ด ๋ถ๋ช ํฉ๋๋ค.
$ mkdir /mnt/sdb1 && mount /dev/sdb1 /mnt/sdb1
๋ถ๋ช ํ ์ฐ๋ฆฌ๋ grub ์น์ ์ผ๋ก ์ด๋ํ์ฌ ๊ทธ๊ณณ์์ ์ฒซ ๋ฒ์งธ ํค์ธ James191955Gosling์ ํน์ดํ ํ์ผ์์ ์ฐพ์ต๋๋ค.
2. ์ฐ๋ฆฌ๋ LVM์ ์ฌ์ฉํ๋ฏ๋ก pvs์ lvs๋ฅผ ์ฐ๊ตฌํฉ๋๋ค. ์ฐ๋ฆฌ๋ 2๊ฐ์ ๋ฌผ๋ฆฌ์ ๋ณผ๋ฅจ์ด ์์ด์ผ ํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ํ๋๋ ์ฐพ์ ์ ์์ผ๋ฉฐ ์์ค๋ UID์ ๋ํด ๋ถํํฉ๋๋ค. ๋ฃจํธ์ ์ค์์ด๋ผ๋ 2๊ฐ์ ๋ ผ๋ฆฌ ๋ณผ๋ฅจ์ด ์์ด์ผ ํ๋ฉฐ ๋ฃจํธ๋ ๋ถ๋ถ์ ์ผ๋ก ์์ค๋์์ต๋๋ค(๋ณผ๋ฅจ์ P ์์ฑ). ์ฅ์ฐฉ์ด ๋ถ๊ฐ๋ฅํด์ ์์ฝ๋ค์! ์ฐ๋ฆฌ๋ ๊ทธ๊ฐ ์ ๋ง ํ์ํด์.
๋์คํฌ๊ฐ 2๊ฐ ๋ ์์ต๋๋ค. ์ด๋ฅผ ์ดํด๋ณด๊ณ ์กฐ๋ฆฝํ๊ณ ๋ง์ดํธํฉ๋๋ค.
$ mdadm --examine --verbose --scan
$ mdadm --assemble --verbose --scan
$ mkdir /mnt/md127 && mount /dev/md127 /mnt/md127
์ฐ๋ฆฌ๋ ์ด๊ฒ์ด CentOS 6์ ๋ถํ
ํํฐ์
์ด๊ณ ์ด๋ฏธ ์๋ ๊ฒ๊ณผ ์ค๋ณต๋ ํํฐ์
์์ ์ ์ ์์ต๋๋ค. /dev/sdb1
, ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์๋ ๋์ผํ ํค๊ฐ ์์ต๋๋ค - DennisBMacAlistairCRitchie!
์ด๋ป๊ฒ ์กฐ๋ฆฝ๋์๋์ง ๋ณผ๊น์? /dev/md127
.
$ mdadm --detail /dev/md127
4๊ฐ์ ๋์คํฌ๋ก ์กฐ๋ฆฝํ์ด์ผ ํ์ง๋ง XNUMX๊ฐ์ ๋์คํฌ๋ก ์กฐ๋ฆฝ๋์์ด์ผ ํ์ต๋๋ค. /dev/sda1
ะธ /dev/sdc1
, ์์คํ
์์ 2๋ฒ๊ณผ 4๋ฒ์ด์ด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ ํฉ๋๋ค. /dev/sda2
ะธ /dev/sdc2
๋ฐฐ์ด์ ์์งํ ์๋ ์์ต๋๋ค. ๋ฉํ๋ฐ์ดํฐ๊ฐ ์๋ ์ด์ ๋ ํ์คํ์ง ์์ง๋ง ์ด๋ ๊ณ ์ ์ด๋๊ฐ์ ์๋ ๊ด๋ฆฌ์์ ์์ฌ์ ๋ฌ๋ ค ์์ต๋๋ค. ์ต์
์ด ์์ง๋ง RAID10์ด ์์ด์ผ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์์ ์์งํฉ๋๋ค:
$ mdadm --create --verbose /dev/md0 --assume-clean --level=10 --raid-devices=4 missing /dev/sda2 missing /dev/sdc2
blkid, pvs, lvs๋ฅผ ์ดํด๋ด ๋๋ค. ์ฐ๋ฆฌ๋ ์ด์ ์ ๋ถ์กฑํ๋ ๋ฌผ๋ฆฌ์ ๋ณผ๋ฅจ์ ์์งํ์์ ๋ฐ๊ฒฌํ์ต๋๋ค.
lvroot๊ฐ ์ฆ์ ๋ณต๊ตฌ๋์ด ๋ง์ดํธ๋์ง๋ง ๋จผ์ VG๋ฅผ ํ์ฑํํฉ๋๋ค.
$ vgchange -a y
$ mkdir /mnt/lvroot && mount /dev/mapper/vg_c6m1-lv_root /mnt/lvroot
๊ทธ๋ฆฌ๊ณ ๋ฃจํธ ํ ๋๋ ํฐ๋ฆฌ(/root/sweet)์ ํค๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ ๊ฒ์ด ์์ต๋๋ค.
3. ์๋ฒ๊ฐ ์ ์์ ์ผ๋ก ์์๋ ์ ์๋๋ก ๊ณ์ํด์ ์๋ฒ๋ฅผ ๋ถํ์ํค๋ ค๊ณ ๋
ธ๋ ฅ ์ค์
๋๋ค. ์ฐ๋ฆฌ์ ๋ชจ๋ ๋
ผ๋ฆฌ ๋ณผ๋ฅจ /dev/md0
(์ฐ๋ฆฌ๊ฐ ๋ชจ๋ ๊ฒ์ ์ฐพ์ ๊ณณ) ๋ค์์ผ๋ก ๋๋๊ทธํ์ธ์. /dev/sdb2
, ์ ์ฒด ์๋ฒ๊ฐ ์ฒ์์ ์๋ํ๋ ๊ณณ์
๋๋ค.
$ pvmove /dev/md0 /dev/sdb2
$ vgreduce vg_c6m1 /dev/md0
์๋ฒ๋ฅผ ๋๊ณ ๋์คํฌ 1๊ณผ 3์ ์ ๊ฑฐํ๊ณ ๋ ๋ฒ์งธ ๋์คํฌ๋ ๊ทธ๋๋ก ๋๊ณ Live CD/DVD์์ Rescue๋ก ๋ถํ ํฉ๋๋ค. ๋ถํ ํํฐ์ ์ ์ฐพ๊ณ grub์์ ๋ถํธ๋ก๋๋ฅผ ๋ณต์ํฉ๋๋ค.
root (hd0,0)
setup (hd0)
๋ถํ ๋์คํฌ๋ฅผ ๋ผ์ด๋ด๊ณ ์ฑ๊ณต์ ์ผ๋ก ๋ก๋ํ์ง๋ง ์ฌ์ดํธ๊ฐ ์๋ํ์ง ์์ต๋๋ค.
4. ์น ์ฌ์ดํธ๋ฅผ ์์ํ๋ ๋ฐ๋ ๋ ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค. Apache๋ฅผ ์ฒ์๋ถํฐ ๊ตฌ์ฑํ๊ฑฐ๋ ๋ฏธ๋ฆฌ ๊ตฌ์ฑ๋ php-fpm๊ณผ ํจ๊ป nginx๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
$ /etc/init.d/nginx start
$ /etc/init.d/php-fpm start
๋ง์ง๋ง์ผ๋ก MySQL์ ์์ํด์ผ ํฉ๋๋ค.
$ /etc/init.d/mysqld start
์์๋์ง ์์ผ๋ฉฐ ๋ต์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. /var/log/mysql
. MySQL ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ง์ ์ฌ์ดํธ๊ฐ ์๋ํ๊ณ ๋ฉ์ธ ํ์ด์ง์ RichardGCCMatthewGNUStallman์ด๋ผ๋ ํค๊ฐ ํ์๋ฉ๋๋ค! ์ด์ ์ฐ๋ฆฌ๋ 1C์ ์ก์ธ์คํ ์ ์๊ฒ ๋์๊ณ ์ง์๋ค์ ๊ธ์ฌ๋ฅผ ๋ฐ์ ์ ์๊ฒ ๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ธ์ ๋ ๊ทธ๋ ๋ฏ์ด ํ์ฌ์ ์ธํ๋ผ์ ๋ณด์์ ๊ตฌ์ถํ๋ ค๋ฉด ์์ผ๋ก ํด์ผ ํ ์ผ์ด ๋ง์ด ์์ต๋๋ค.
๋ํ ์ฐ๋ฆฌ์ ์ฐธ๊ฐ์๋ค์ด ๊ฒ์์ ์ค๋นํ๋ ๋ฐ ๋์์ด ๋ ์ฑ
๋ชฉ๋ก์ ๋ค์ ํ ๋ฒ ๊ณต์ ํ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ์ ํจ๊ปํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค! ๋ค์ ๊ฒ์์ ๋ํ ๊ณต์ง๋ฅผ ๊ณ์ ์ง์ผ๋ด์ฃผ์ธ์!
์ถ์ฒ : habr.com