ย
GPL ๋ผ์ด์ผ์ค
General Public License ์ ์ ์๊ถ ๊ฐ๋
์ด๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก GPL ํ๋ก๊ทธ๋จ์ ๊ฒฐ๊ณผ๋ฌผ์ด GPL์ ์ฝ๋ ์ผ๋ถ ํน์ ์ ์ฒด๋ฅผ ํฌํจํ๋ ํ๋ก๊ทธ๋จ์ด๊ฑฐ๋ GPL ํ๋ก๊ทธ๋จ์ ์ผ๋ถ๋ก ๊ตฌ์ฑ๋๋ ๊ฒฝ์ฐ์๋ ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์ GPL ๋ผ์ด์ ์ค๊ฐ ์ ์ฉ๋ ์๋ ์์ง๋ง, ์ด๋ฌํ ๊ฒฝ์ฐ๋ ๋๋ฌผ๊ฒ ๋ฐ์ํ๋ ๋งํผ ํ๋ก๊ทธ๋จ์ด ์์ฑํ๋ ๊ฒฐ๊ณผ๋ฌผ์ GPL ๋ผ์ด์ ์ค๊ฐ ์ ์ฉ๋์ง ์๋ ๊ฒ์ผ๋ก ์ดํดํ๋ฉด ๋ฉ๋๋ค.
kernel ์ปค๋
์ปดํจํฐ ์ด์์ฒด์ ์ ํต์ฌ์ด ๋๋ ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ผ๋ก, ์์คํ
์ ๋ชจ๋ ๊ฒ์ ์์ ํ ํต์ ํ๋ค. ์ด์์ฒด์ ์ ๋ค๋ฅธ ๋ถ๋ถ ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ ์ํ์ ํ์ํ ์ฌ๋ฌ ๊ฐ์ง ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค. ํต์ฌ์ด๋ผ๊ณ ๋ ํ๋ค.
์ปค๋์ ์ปดํจํฐ ํ๋์จ์์ ํ๋ก์ธ์ค์ ๋ณด์์ ์ฑ
์์ง๊ณ , ์์ ๊ด๋ฆฌ ๋ถ๋ถ์์ ํ์ ๋ ์์คํ
์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ์ฌ ํ๋ก๊ทธ๋จ์ ์คํ์ ์ํํ๊ฒ ํ๋ค. ํนํ ํ๋ก์ธ์ค์ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ํ ๋นํ๋ ๊ฒ์ ์ค์ผ์ค๋ง์ด๋ผ๊ณ ํ๋ค. ์ถ์ํ ๋ถ๋ถ์์ ๊ฐ์ ์ข
๋ฅ์ ๋ถํ์ ๋ํด ๋ค์ํ ํ๋์จ์ด๋ฅผ ์ค๊ณํ ์ ์๊ธฐ ๋๋ฌธ์ ํ๋์จ์ด์ ์ง์ ์ ๊ทผํ๋ ๊ฒ์ ๋ฌธ์ ๋ฅผ ๋งค์ฐ ๋ณต์กํ๊ฒ ๋ง๋ค ์ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ปค๋์ ์ด์ ์ฒด์ ์ ๋ณต์กํ ๋ด๋ถ๋ฅผ ๊ฐ์ถ๊ณ ๊น๋ํ๊ณ ์ผ๊ด์ฑ ์๋ ์ธํฐํ์ด์ค๋ฅผ ํ๋์จ์ด์ ์ ๊ณตํ๊ธฐ ์ํด ๋ช๊ฐ์ง ํ๋์จ์ด ์ถ์ํ๋ค์ ๊ตฌํํ๋ค. ์ด ํ๋์จ์ด ์ถ์ํ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฌ๋ฌ ์ฅ๋น์์ ์๋ํ๋ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ ๊ฒ์ ๋๋๋ค.
์ปค๋์ ์ข
๋ฅ์๋ ๋จ์ผํ, ๋ง์ดํฌ๋ก, ํผํฉํ(์์ ๋ง์ดํฌ๋ก), ๋๋
ธ, ์์ ์ปค๋๋ค์ด ์กด์ฌํ๋ค.
CentOS
Red Hat ์ํฐํ๋ผ์ด์ฆ ๋ฆฌ๋
์ค์ ์์ ํ๊ฒ ํธํ๋๋ ๋ฌด๋ฃ ๊ธฐ์
์ฉ ๋ฆฌ๋
์ค ์ด์์ฒด์ ์ด๋ค. ์ด์์ฒด์ ๋ ์ปดํจํฐ ํ๋์จ์ด ์์ ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๋ ์ํํธ์จ์ด์ด๋ฉฐ ์๋ฒ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ฐ๋์ ์ค์นํด์ผ ํ๋ ์ํํธ์จ์ด์ด๋ค. CentOS๋ฅผ ์๋น์ค์ฉ ์์คํ
์ ์ด์์ฒด์ ๋ก ์ฌ์ฉํ๋ ๊ณณ์ด ๋ง์๋ฐ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ๋น์ฉ์ ์ ๊ฐํ ์ ์๋ค๋ ์ ์ด๋ค. ์ธํฐ๋ท ํฌํธ, ๊ฒ์, ์นํธ์คํ
๊ฐ์ ์
์ฒด์์ Fedora ๋ CentOS๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ค. RPMํจํค์ง ํ์ (YUM๊ณผ DNF๋ฅผ ํ๋ก๊ทธ๋จ์ ์ค์น,์ ๊ฑฐ,์
๊ทธ๋ ์ด๋ ๊ตฌ์ฑ์ ๊ด๋ฆฌํ๋ ํจํค์ง ๊ด๋ฆฌ์๋ก ์ฌ์ฉ)
Debian
๊ธฐ๋ณธ์ ์ผ๋ก ๋ฆฌ๋
์ค๋ฅผ ์ปค๋๋ก ์ฌ์ฉํ๋ค. ๋ฐ๋น์์ ๋ค๋ฅธ GNU/Linux ๋ฐฐํฌํ๊ณผ ๋ค๋ฅธ ๊ฐ์ฅ ํฐ ํน์ง์ ํจํค์ง ๊ด๋ฆฌ ์์คํ
์
๋๋ค. ๋ฐ๋น์ ์์คํ
๊ด๋ฆฌ์๋ ์์คํ
์ ์ค์น๋ ํจํค์ง์ ๋ํด ํ๋์ ํจํค์ง ์ค์น์์ ์ด์ ์ฒด์ ์ ์ฒด ์๋ ์
๋ฐ์ดํธ๊น์ง ์๋ฒฝํ๊ฒ ์ ์ดํ ์ ์์ต๋๋ค. ๊ฐ๋ณ ํจํค์ง๋ฅผ ์
๋ฐ์ดํธํ์ง ์๋๋ก ์ค์ ํ ์ ์์ต๋๋ค. ์ง์ ์ปดํ์ผํ ์ํํธ์จ์ด์ ๋ํ ์ข
์์ฑ์ ์ค์ ํ ์ ์์ต๋๋ค. DEBํจํค์ง ํ์ (dpkg์ APT๋ฅผ ํ๋ก๊ทธ๋จ์ ์ค์น,์ ๊ฑฐ,์
๊ทธ๋ ์ด๋ ๊ตฌ์ฑ์ ๊ด๋ฆฌํ๋ ํจํค์ง ๊ด๋ฆฌ์๋ก ์ฌ์ฉ)
KDump
์ปค๋ ํจํฑ ์ด๋ฒคํธ ์์ ์ถฉ๋ ๋คํ๋ฅผ ์์ฑํ๋ ๋ฆฌ๋
์ค ์ปค๋์ ํ๋ถ๋ถ์ด๋ค. KDump๊ฐ ๋ฐ์ํ๋ฉด ๋๋ฒ๊น
๋ชฉ์ ์ผ๋ก ๋ถ์๋ ์ ์๊ณ ์ถฉ๋์ ์์ธ์ ๊ฒฐ์ ํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์ด๋ฏธ์ง(vmcore)๋ฅผ ์ต์คํฌํธํ๋ค.
LVM
Logical Volume Manager์ด๋ Logical Volume์ ํจ์จ์ ์ด๊ณ ์ ์ฐํ๊ฒ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ปค๋์ ํ ๋ถ๋ถ์ด์ ํ๋ก๊ทธ๋จ์ด๋ค. ๊ธฐ์กด๋ฐฉ์์ด ํ์ผ์์คํ
์ ๋ธ๋ก ์ฅ์น์ ์ง์ ์ ๊ทผํด์ ์ฝ๊ณ ์ฐ๊ธฐ๋ฅผ ํ๋ค๋ฉด, LVM์ ํ์ผ์์คํ
์ด LVM์ด ๋ง๋ ๊ฐ์์ ๋ธ๋ก ์ฅ์น์ ์ฝ๊ณ ์ฐ๊ธฐ๋ฅผ ํ๊ฒ ๋ฉ๋๋ค. ์ด์ฒ๋ผ LVM์ ๋ฌผ๋ฆฌ์ ์คํ ๋ฆฌ์ง ์ด์์ ์ถ์์ ๋ ์ด์ด๋ฅผ ์์ฑํด์ ๋
ผ๋ฆฌ์ ์คํ ๋ฆฌ์ง(๊ฐ์์ ๋ธ๋ก ์ฅ์น)๋ฅผ ์์ฑํ ์ ์๊ฒ ํด์ค๋๋ค. ์ง์ ๋ฌผ๋ฆฌ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ค์ํ ์ธก๋ฉด์์ ์ ์ฐ์ฑ์ ์ ๊ณตํ๋๋ฐ, ์ ์ฐํ ์ฉ๋ ์กฐ์ , ํฌ๊ธฐ ์กฐ์ ์ด ๊ฐ๋ฅํ ์คํ ๋ฆฌ์ง ํ(Pool), ํธ์์ ๋ฐ๋ฅธ ์ฅ์น ์ด๋ฆ ์ง์ , ๋์คํฌ ์คํธ๋ผ์ดํ, ๋ฏธ๋ฌ ๋ณผ๋ฅจ ๋ฑ์ ์ ๊ณตํฉ๋๋ค.
LVM์ ์ฃผ์ 5๊ฐ์ง ์ฉ์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
PV(Physical Volume)
LVM์์ ๋ธ๋ก ์ฅ์น(๋ธ๋ก ๋จ์๋ก ์ ๊ทผํ๋ ์คํ ๋ฆฌ์ง. ํ๋ ๋์คํฌ๋ฅผ ์์๋ก ๋ค ์ ์๋ค.)๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด PV๋ก ์ด๊ธฐํ ํด์ผํ๋ค. ์ฆ, ๋ธ๋ก ์ฅ์น ์ ์ฒด ๋๋ ๊ทธ ๋ธ๋ก ์ฅ์น๋ฅผ ์ด๋ฃจ๊ณ ์๋ ํํฐ์
๋ค์ LVM์์ ์ฌ์ฉํ ์ ์๊ฒ ๋ณํํ๋ ๊ฒ์ด๋ค. PV๋ ์ผ์ ํ ํฌ๊ธฐ์ PE๋ค๋ก ๊ตฌ์ฑ์ด ๋๋ค.
PE(Physical Extent)
PV๋ฅผ ๊ตฌ์ฑํ๋ ์ผ์ ํ ํฌ๊ธฐ์ ๋ธ๋ก์ผ๋ก LVM2(LVM1๋์๋๋ฐ ๋จ์ํ 2๊ฐ ๊ฐ์ ๋ ๋ฒ์ ์ด๋ผ ์๊ฐํ๋ฉด ๋๋ค.)์์๋ ๊ธฐ๋ณธ ํฌ๊ธฐ๊ฐ 4MB์ด๋ค. LV์ LE๋ค๊ณผ 1:1๋ก ๋์๋๋ค. ๊ทธ๋ ๊ธฐ์ PE์ LE์ ํฌ๊ธฐ๋ ๋์ผํ๋ค.
VG(Volume Group)
PV๋ค์ ์งํฉ์ผ๋ก LV๋ฅผ ํ ๋นํ ์ ์๋ ๊ณต๊ฐ์ด๋ค. ์ฆ, PV๋ก ์ด๊ธฐํ๋ ์ฅ์น๋ค์ VG๋ก ํตํฉํ๋ค. ์ฌ์ฉ์๋ VG์์์ ์ํ๋๋๋ก ๊ณต๊ฐ์ ์ชผ๊ฐ์ LV๋ก ๋ง๋ค ์ ์๋ค.
LV(Logical Volume)
์ฌ์ฉ์๊ฐ ์ต์ข
์ ์ผ๋ก ๋ค๋ฃจ๊ฒ ๋๋ ๋
ผ๋ฆฌ์ ์คํ ๋ฆฌ์ง์ด๋ค. ์์ฑ๋ LV๋ ํ์ผ ์์คํ
๋ฐ ์ ํ๋ฆฌ์ผ์ด์
(Database ๋ฑ)์ผ๋ก ์ฌ์ฉ๋๋ค. ์์์๋ ์ธ๊ธํ๋ฏ์ด LV๋ฅผ ๊ตฌ์ฑํ๋ LE๋ค์ PV์ PE๋ค๊ณผ ๋งตํํ๋ฉฐ ์กด์ฌํ๊ฒ ๋๋ค. LE์ PE๊ฐ ๋งตํ๋๋ฉด์ ์ด 3๊ฐ์ง์ ์ ํ์ LV๊ฐ ์์ฑ๋๋๋ฐ ์ ํ, ์คํธ๋ผ์ดํ ๋, ๋ฏธ๋ฌ๋ LV์ ํํ์ด๋ค.
LE(Logical Extent)
LV๋ฅผ ๊ตฌ์ฑํ๋ ์ผ์ ํ ํฌ๊ธฐ์ ๋ธ๋ก์ผ๋ก ๊ธฐ๋ณธํฌ๊ธฐ๋ PE์ ๋ง์ฐฌ๊ฐ์ง๋ก 4MB์ด๋ค .
LVM ์ ์ด๋ฆ์ฒ๋ผ ํํฐ์
๋์ ๋ณผ๋ฅจ์ด๋ผ๋ ๋จ์๋ก ์ ์ฅ ์ฅ์น๋ฅผ ๋ค๋ฃฐ ์ ์์ผ๋ฉฐ, ๋ฌผ๋ฆฌ ๋์คํฌ๋ฅผ ๋ณผ๋ฅจ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ๊ณ ์ด๊ฒ์ ๋
ผ๋ฆฌ ๋ณผ๋ฅจ์ผ๋ก ๋ถํ ํ์ฌ ๊ด๋ฆฌํฉ๋๋ค. ์คํ ๋ฆฌ์ง์ ํ์ฅ์ด๋ ๋ณ๊ฒฝ์ ์๋น์ค์ ๋ณ๊ฒฝ์ ํ ์ ์์ผ๋ฉฐ ํน์ ์์ญ์ ์ฌ์ฉ๋์ด ๋ง์์ ธ์ ์ ์ฅ ๊ณต๊ฐ์ด ๋ถ์กฑํ ๊ฒฝ์ฐ์ ์ ์ฐํ๊ฒ ๋์ํ ์ ์์ต๋๋ค.
ย
apt VS Aptitude
Apt : Advanced Packaging Tool ๋ก ์ํํธ์จ์ด์ ์ค์น์ ์ ๊ฑฐ๋ฅผ ์ฒ๋ฆฌํ๋ ํจํค์ง ๊ด๋ฆฌ ํด์ด๋ค. ์ด๊ธฐ์๋ .debํจํค์ง๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ๋ง๋ค์์ง๋ง ํ์ฌ๋ rpmํจํค์ง ๋งค๋์ ์๋ ํธํ๋๋ค. apt๋ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค ์์ด ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ์ค์นํ๋ค. ๋ํ ๊ต์ฅํ ์ ์ฐํด์ ์ฌ์ฉ์๊ฐ ์ง์ ์๋ก์ด ์์ค ๋ชฉ๋ก์ ์ถ๊ฐํ๊ฑฐ๋ ์์คํ
์ด ์
๊ทธ๋ ์ด๋ ๋๋ ํด๋น ํจํค์ง๋ฅผ ์
๋ฐ์ดํธ ํ์ง ์๊ฒ ํด ํ์ฌ ๋ฒ์ ์ ๊ณ์ ์ฌ์ฉํ๋ ๋ฑ์ ์์
์ ํ ์์๋ค.
Aptitude ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ถ๊ฐํ์ฌ ์ฌ์ฉ์๊ฐ ๋ํํ์ผ๋ก ํจํค์ง๋ฅผ ๊ฒ์ํด ์ค์น, ์ ๊ฑฐํ ์ ์๋ high - level ํจํค์ง ๊ด๋ฆฌ ๋๊ตฌ์ด๋ค . ๋ฐ๋น์์ ์ํด ๋ง๋ค์ด ์ก์ง๋ง rpm ๊ธฐ๋ฐ ํจํค์ง ๊น์ง ํ์ฅ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ
์คํธ ๊ธฐ๋ฐ ๋ํํ ์ธํฐํ์ด์ค์ ๋น๋ํํ command line ๋ชจ๋์์๋ ์๋ํ๋ค.
- ์ฐจ์ด์
Aptitude๊ฐ ๋ ๋ฐฉ๋ํ๊ณ apt-get, apt-cache๋ฅผ ํฌํจํ ๊ธฐ๋ฅ๋ค์ ํฌํจํ๋ค. apt-get์ด ํจํค์ง ์ค์น, ์
๊ทธ๋ ์ด๋, ์์คํ
์
๊ทธ๋ ์ด๋, ์ข
์์ฑ ๊ฒ์ฌ ๋ฑ์ ํ๋ค๋ฉด Aptitude๋ ์ค์น๋ ํจํค์ง ๋ชฉ๋ก, ํจํค์ง๋ฅผ ์๋ ๋๋ ์๋์ผ๋ก ์ค์นํ๋๋ก ํ์, ์
๊ทธ๋ ์ด๋์ ์ฌ์ฉํ ์ ์๋ ํจํค์ง ๋ณด๊ด๋ฑ ๋ ๋ง์ ์ผ์ ํ ์ ์๋ค.
์ด์ธ์ ์ฐจ์ด์ ์ผ๋ก๋ ์ด๋ ํ ํจํค์ง๋ฅผ ์ญ์ ํ ๋ Aptitude๋ ์ฌ์ฉํ์ง ์๋ ํจํค์ง๊น์ง ์ญ์ ํ์ง๋ง apt๋ ๋ฐ๋ก ๋ช
์ํด์ฃผ์ด์ผํ๋ค. ๋ํ Aptitude๋ โwhyโ, โwhy-notโ๊ณผ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ํตํด ์ด๋ค ๋์์ด ์ ์๋๊ณ ๋๋์ง ํ์
ํ ์์๋ค. apt๋ ์ค์น, ์ ๊ฑฐ ์ค ์ถฉ๋์ด ์ผ์ด๋ ๊ฒฝ์ฐ ์ข
๋ฃ๋์ง๋ง Aptitude๋ ํด๊ฒฐ๋ฐฉ๋ฒ์ ์ ์ ํ ์ ์๋ค.
์ ๊ทผ ํต์
๋๋ ํ ๋ฆฌ๋ ํ์ผ, ๋คํธ์ํฌ ์์ผ ๊ฐ์ ์์คํ
์์์ ์ ์ ํ ๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์๋ ๊ทธ๋ฃน์ด ์ ๊ทผํ๊ณ ์ฌ์ฉํ ์ ์๊ฒ ํต์ ํ๋ ๊ฒ์ด๋ค. ์ ๊ทผ ํต์ ์์ ์์คํ
์์์ ๊ฐ์ฒด(object)๋ผ๊ณ ํ๋ฉฐ ์์์ ์ ๊ทผํ๋ ์ฌ์ฉ์๋ ํ๋ก์ธ์ค๋ฅผ ์ฃผ์ฒด(subject)๋ผ ํ๋ค.
DAC (์์์ ์ ๊ทผ ํต์ , Discrtionary Access Control)
์ฃผ์ฒด(์์ ์/์ฌ์ฉ์)๊ฐ ์ํด์๋ ๊ทธ๋ฃน์ ์ ์์ ๊ทผ๊ฑฐํ์ฌ ๊ฐ์ฒด์ ๋ํ ์ ์ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ฐ์ฒด์ ์ฃผ์ฒด๊ฐ ์ ๊ทผ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๊ณ (๋ถ์ฐํ ๋ณด์๊ด๋ฆฌ), ํ๋์ ์ฃผ์ฒด๋ง๋ค ๊ฐ์ฒด์ ๋ํ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํด์ผ ํ๋ค.
์ฅ์
- ๊ฐ์ฒด ๋ณ ์ธ๋ถํ๋ ์ ๊ทผ์ ์ด
- ํน์ ์ฃผ์ฒด๊ฐ ๋ค๋ฅธ ์ฃผ์ฒด์๊ฒ ์์์ ์ธ ์ ๊ทผ ์ ์ด ๊ฐ๋ฅ
- ์ ์ฐํ ์ ๊ทผ ์ ์ด ์๋น์ค
๋จ์
- ์์คํ ์ ์ฒด ์ฐจ์์์์ ์ผ๊ด์ฑ ์๋ ์ ๊ทผ ์ ์ด ๋ถ์กฑ
- ๊ฐ์ข ๋ฐ์ด๋ฌ์ค์ ์ทจ์ฝ
MAC (๊ฐ์ ์ ์ ๊ทผ ํต์ , Mandatory Access Control)
์์์ ๋ณด์ ๋ ๋ฒจ๊ณผ ์ฌ์ฉ์์ ๋ณด์ ์ทจ๊ธ ์ธ๊ฐ๋ฅผ ๋น๊ตํ์ฌ ์ ๊ทผ ์ ํ๋ ๋ฐฉ์์ด๋ค. ์ฆ, ์ ์๋ ์ ์ฑ
์ ํ์ฉํด ์ฌ์ฉ์์ ํ๋ก์ธ์ค์ ํ๋์ ์ ์ดํ๋ ๊ฒ์ด๋ค.
์ฅ์
- ๋งค์ฐ ์๊ฒฉํ ๋ณด์
- ๋ชจ๋ ๊ฐ์ฒด(ํ์ผ)์ ๋ํ ๊ด๋ฆฌ๊ฐ ์ฉ์ด
๋จ์
- ๊ตฌํ, ์ด์์ด ๋ณต์ก
- ๋ชจ๋ ์ ๊ทผ์ ๋ํด ํ์ธํด์ผ ํ๋ฏ๋ก ์ฑ๋ฅ ์ ํ
- ์์ ์ ์ธ ํ๊ฒฝ์ ๋ถ์ ํฉ
SELinux
Security-Enhanced Linux๋ ๊ด๋ฆฌ์๊ฐ ์์คํ
์ก์ธ์ค ๊ถํ์ ํจ๊ณผ์ ์ผ๋ก ์ ์ดํ ์ ์๊ฒ ํ๋ Linux ์์คํ
์ฉ ๋ณด์ ์ํคํ
์ฒ์ด๋ค. ์ด์ ์๋ ๋ฆฌ๋
์ค๊ฐ ์คํ ์์ค์ฝ๋์ด๊ธฐ ๋๋ฌธ์ ๋ณด์์ด ์ทจ์ฝํ๋๋ฐ ์ด๋ฅผ ๋ณด์ํ๊ฒ SELinux์ด๋ค. ๋ ๋ํ ๊ณ์ด ์ด์์ฒด์ (RHEL, Fedora, CentOS)์์ ๋ง์ด ์ฌ์ฉ๋๋ฉฐ, MAC์ด ์ ์ฉ๋์๋ค. ์์คํ
์ ์ฒด์ ๋ํ ๋ณด์ ์ค์ ์ด ๊ฐ๋ฅํ๋ค.
์ฅ์
- ์ฌ์ ์ ์๋ ํต์ ์ ์ฑ ํ์
- "Deny All, Permit Some"(๋ชจ๋ ๊ฒ์ ์ฐจ๋จํ๊ณ ํ์ํ ๊ฒ๋ง ํ์ฉ) ์ ์ฑ ์ผ๋ก ์๋ชป๋ ์ค์ ์ต์ํ
- ๊ถํ ์์น ๊ณต๊ฒฉ์ ์ํ ์ทจ์ฝ์ ๊ฐ์
- ์๋ชป๋ ์ค์ ๊ณผ ๋ฒ๊ทธ๋ก๋ถํฐ ์์คํ ๋ณดํธ
ํ๊ณ
- SELinux์ ์ฃผ์ ๋ชฉํ๋ ์๋ชป๋ ์ค์ ์ด๋ ํ๋ก๊ทธ๋จ์ ๋ณด์ ๋ฒ๊ทธ๋ก ์ธํด ์์คํ ์ด ๊ณต๊ฒฉ ๋นํด๋ ์์คํ ๊ณผ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ณ 2์ฐจ ํผํด๋ฅผ ๋ง๋ ๊ฒ
- ์ฆ, ์ฌ๋ฌ ๊ฐ์ง ๋ณด์ ์์ ์ค์ ํ๋์ด๋ฉฐ ๋ชจ๋ ๋ณด์ ์๊ฑด์ด ์ถฉ์กฑ๋์ง๋ ์์
- ๋ฐ๋ผ์ SELinux๋ ์นจ์ ์ฐจ๋จ ์์คํ (IPS; Intrusion Protection System), ์นจ์ ํ์ง ์์คํ (IDS; Intrusion Detection System)์ด๋ ๋ฐ์ด๋ฌ์ค ๋ฐฑ์ ์ด ์๋๋ฏ๋ก ์ฌ๋ฌ ๋ณด์ ์์์ ํผ์ฉํ์ฌ ์ฌ์ฉํด์ผ ํ๋ค.
AppArmor
AppArmor(Application Armor)๋ย ์์คํ
๊ด๋ฆฌ์๊ฐ ํ๋ก๊ทธ๋จ ํ๋กํ ๋ณ๋ก ํ๋ก๊ทธ๋จ์ ์ญ๋์ ์ ํํ ์ ์๊ฒ ํด์ฃผ๋ ๋ฆฌ๋
์ค ์ปค๋ ๋ณด์ ๋ชจ๋์ด๋ค.
SUSE ๊ณ์ด(SUSE Linux), ๋ฐ๋น์ ๊ณ์ด(Debian, Ubuntu) ์ด์์ฒด์ ์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ,ย MAC์ด ์ ์ฉ๋์๋ค. (์ ํต์ ์ธ Linux๋ DAC)๊ฐ๋ณ ์์ฉํ๋ก๊ทธ๋จ์ ๋ณดํธํ๋ ์ผ์ ์ง์ค๋์ด ์์ผ๋ฉฐ, ์์ฉํ๋ก๊ทธ๋จ ๋จ์์ ๋ณด์ ๋ชจ๋ธ์ด ๊ตฌํ๋์ด ์๋ค.
์ฅ์
- ์ ๋ก ๋ฐ์ด ๊ณต๊ฒฉ์ ๋น๋กฏํ ์ธ๋ถ ๋๋ ๋ด๋ถ ์ํ์ผ๋ก๋ถํฐ ์ด์ ์ฒด์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณดํธํ๋ค.
- "์ข์ ํ๋"์ด ์ํ๋๊ณ ์๋ ค์ง์ง ์์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฒฐํจ์ ํตํ ์ ์ฉ์ ์ํํ๋ค.
- AppArmor ๋ณด์ ์ ์ฑ ์ ๊ฐ๋ณ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ก์ธ์คํ ์ ์๋ ์์คํ ๋ฆฌ์์ค์ ๊ถํ์ ์ ์ํ๋ค.์๋ฅผ ๋ค์ด: ๋คํธ์ํฌ ์ก์ธ์ค. ์์ ์์ผ ์ก์ธ์ค. ํน์ ๊ฒฝ๋ก์์ ํ์ผ ์ฝ๊ธฐ, ์ฐ๊ธฐ ๋๋ ์คํ ๊ถํ
๋จ์
- ์ค๋ ์ ์ค์ ์ ๋๊ณ ์์ผ๋ฉฐ, ๊ธฐ๋ณธ ์ ์ฑ ์ ์์คํ ์ ํ๋ก๊ทธ๋จ์ ๊ฑฐ์ ์ ํ ํ์ง ์๊ณ ์ง์ํ๋ ์ ์ฑ ๋ชจ๋(ํ๋กํ์ผ)์ด ๋ถ์กฑํ๋ค.
- ์ ์ฑ ๊ท์น์ด ์ธ๋ถํ๋์ง ์๊ณ ์ ์ฐ์ฑ์ด ๋ถ์กฑํ๋ค.
- ๋คํธ์ํฌ ๊ท์น์ ๋ํ ๊ถํ์ด ์๋ค.
SSH
Secure Shell Protocol, ์ฆ ๋คํธ์ํฌ ํ๋กํ ์ฝ ์ค ํ๋๋ก ์ปดํจํฐ์ ์ปดํจํฐ๊ฐ ์ธํฐ๋ท๊ณผ ๊ฐ์ Public Network๋ฅผ ํตํด ์๋ก ํต์ ์ ํ ๋ ๋ณด์์ ์ผ๋ก ์์ ํ๊ฒ ํต์ ์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ด๋ค. ๋ํ์ ์ผ๋ก ๋ฐ์ดํฐ ์ ์ก(๊น๊ณผ๊ฐ์)๊ณผ ์๊ฒฉ ์ ์ด(AWS)์ ์ฌ์ฉ๋์ด์ง๋ค. SSH๋ FTP๋ Telnet ๊ณผ ๊ฐ์ ๋ค๋ฅธ ํํ ํ ์ฝ ๋ณด๋ค ๋ณด์์ ์ผ๋ก ํจ์ฌ ์์ ํ ์ฑ๋์ ๊ตฌ์ฑํ๋ค ์ ๋ณด๋ฅผ ๊ตํํ๋ค.
SSH๋ Public Key ์ Private Key ํ์์ ์ฌ์ฉํ์ฌ ์ปดํจํฐ ๋ผ๋ฆฌ ์ธ์ฆ๊ณผ์ ์ ๊ฑฐ์น๋ค. ๊ฐ๋จํ ๋งํ๋ฉด private key๋ ์ ๋ ์ธ๋ถ๋ก ๋
ธ์ถ์ด ๋์ด์๋ ์๋๊ณ ํต์ ํ๊ณ ์ ํ๋ ์ปดํจํฐ์ ์ํธํ๋ public key๋ฅผ ๋ณต์ฌํ์ฌ ์ ์ฅํ์ฌ, ์์ฒญ์ ๋ณด๋ด๋ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ์ปดํจํฐ์์ ์ ์ ์์ฒญ์ ํ ๋ ์๋ต์ ํ๋ ์๋ฒ ์ฌ์ด๋ ์ปดํจํฐ์ ๋ณต์ฌ๋์ด ์ ์ฅ๋ Public Key ์ ํด๋ผ์ด์ธํธ ์ฌ์ด๋์ ํด๋น Public Key์ ์์ ์ด๋ฃจ๋ Private Key์ ๋น๊ตํ์ฌ ์๋ก ์์ ์ด๋ฃจ๋์ง ๊ฒ์ฌํ๋ค. ์์ด ๋ง๋๊ฒ ํ์ธ์ด ๋๋ฉด ๋ ์ปดํจํฐ ์ฌ์ด์ ์ํธํ๋ ์ฑ๋์ด ํ์
ฉ์ด ๋์ด Key๋ฅผ ํ์ฉํด ๋ฉ์์ง๋ฅผ ์ํธํํ๊ณ ๋ณตํธํํ์ฌ ์ฃผ๊ณ ๋ฐ์ ์ ์๊ฒ ๋๋ค.
ย
๋ถํธ๋ก๋
MBR ๋๋ GUID ํํฐ์
ํ
์ด๋ธ์ ์ ์ฅ๋ ์์ ํ๋ก๊ทธ๋จ์ผ๋ก, ์ด์ ์ฒด์ ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ๋๋ฐ ๋์์ด ๋๋ค. ๋ถํธ๋ก๋๊ฐ ์์ผ๋ฉด ์ด์ ์ฒด์ ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ ํ ์ ์๋ค.
- GNU GRUB
- LILO(Linux Loader)
- BURG
- ์์ค๋ฆฌ๋ ์ค
ย
TTY
teletype์ ์ฝ์์ด๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก tty๋ ๋ก์ปฌ ์์คํ
์์์ ๊ฐ์ํฐ๋ฏธ๋์ ์๋ฏธํ๊ณ pts๋ ์๊ฒฉํฐ๋ฏธ๋์ ์๋ฏธํ๋ค.
์ฌ์ฉ์๊ด๋ฆฌ USERMOD
usermod [option] ์ฌ์ฉ์๊ณ์
- ์ฌ์ฉ์ ์์ด๋ ๋ณ๊ฒฝํ ๋ : usermod -l <์๋ก์ด๊ณ์ ><๊ธฐ์กด๊ณ์ >
์ฃผ์ํ ์ ์ ์ฌ์ฉ์ ID๋ฅผ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ์์ ํ ๋๋ ํ ๋ฆฌ๋ ๊ฐ์ด ๊ณ ๋ ค๋์ด์ผ ํ๋ค. ๋ฐ๋ผ์ -d,-m์ต์
๋ ๊ฐ์ด ์ฌ์ฉํด์ฃผ์ด์ผ ํ๋ค.
UFW, firewall
Uncomplicated Firewall์ ๋ฐ๋น์ ๊ณ์ด ๋ฐ ๋ค์ํ ๋ฆฌ๋
์ค ํ๊ฒฝ์์ ์๋๋๋ ์ฌ์ฉํ๊ธฐ ์ฌ์ด ๋ฐฉํ๋ฒฝ ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ์ด๋ค. UFW๋ ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ์ค๊ณ๋ ๋ทํํฐ ๋ฐฉํ๋ฒฝ์ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ฐ๋จํ ๋ช
๋ น ๋ฐ ๋ช
๋ น์๊ฐ ์ ์ ๋ช
๋ น์ค ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํน์ง์ด๋ฉฐ ํ๋ก๊ทธ๋จ ๊ตฌ์ฑ์๋ iptables๋ฅผ ์ฌ์ฉํ๋ค. UFW๋ ๊ธฐ๋ณธ์ ์ผ๋ก 18.04 LTS ์ดํ์ ๋ชจ๋ ๋ฐ๋น์ ๋ฐย ์ฐ๋ถํฌ(Ubuntu)์์ ์ฌ์ฉํ ์ ์๋ค.
Firewall : ๋ฐฉํ๋ฒฝ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ๋ถ์ ์นจ์
์ ๋ง๊ธฐ ์ํด ์คํ๋๋ฉฐ, ์ฝ์์ด ์๋ ์ธ๋ถ์์ ์๊ฒฉ ์ ์์ ์ํด ๊ธฐ๋ณธํฌํธ 22๋ฒ, SSH๋ง ํ์ฉ๋์ด์ง๋ค.
apt install net-tools
ย
debian root์์ ls๊ฐ ์๋๋์ด์ : root๋ ๋ค๋ฅธ๋ง๋ก /๋ก ๋ํ๋ผ ์ ์๋๋ฐ ๋์คํฌ์ ์์ ํฌ์ธํธ๋ผ๊ณ ํ ์ ์๋ค. ์ฐ๋ฆฌ๊ฐ ์๊ฐํ๋ ๊ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก /root๋ผ๋ ๋ฃจํธ๋๋ ํ ๋ฆฌ์ธ๊ฒ์ด๊ณ ๊ทธ๋ฅ / ์ ๋์ ํ์ผ์์คํ
์ root๋ผ๋ ์๋ฏธ์ธ ๊ฒ์ด๋ค.
ํ๊ฐ์ค๋น
ย
ํ๊ฐ ์ ์ ๊ทธ๋ฃน ์ง์ groupadd user42 usermod -aG sudo,user42 <์ฌ์ฉ์์ด๋ฆ> usermod -g user42 <์ฌ์ฉ์์ด๋ฆ> vm์ ์ํ ์ ์ฅํ๋ฉด์ ์ข ๋ฃ ์ค๋ ์ท์ ๋จ๊ธด๋ค. ํฐ๋ฏธ๋์์ cd /goinfre/intra id/vm์ด๋ฆ ์ผ๋ก ๊ฐ์๋จธ์ ์ด ์ค์น๋ ํด๋๋ก ์ง์ shasum vm์ด๋ฆ.vdi ๋ฅผ ์คํ ์ ์ ๊ธฐ๋ค๋ฆฌ๋ฉด ๊ฐ์๋จธ์ ์ ์๋ช ์ด ๋์ด ์ฌ๋ฌ์ฐจ๋ก ์คํํ๋ฉด์ ๋ฐ๋๋์ง ํ์ธ shasum vm์ด๋ฆ.vdi > signature.txt ์ ๋ฃ๊ณ git push ํด์ ํ๊ฐ์ค๋น
๊ฐ์๋จธ์ ์ ์๋๋ฐฉ์
ํ๋์ ๋ฌผ๋ฆฌ ์๋ฒ์์ ์ฌ๋ฌ๊ฐ์ ์ด์์ฒด์ ๋ฅผ ๊ตฌ๋ํ ์ ์๋๋ก ํ๋ ๊ธฐ์ ์ด๋ค. ์ด๋ฒ ๊ณผ์ ์์ ์ฌ์ฉํ VirtualBox๋ Hypervisor์์์ ์๋์ ํ๋๋ฐ ๋๊ฐ์ง ์ ํ์ค host OS ์์์ ์คํ๋๋ ๋ฐฉ์์ด๋ค. ๋ฌผ๋ฆฌ ํ๋์จ์ด๋ฅผ host, VM์ guest๋ผ ํ๋ค.
CentOS ์ Debian ์ฐจ์ด
๊ธฐ๋ณธ์ ์ผ๋ก ๋๋ค ๋ฆฌ๋
์ค ์ปค๋ + ์์ ์ํํธ์จ์ด ๋ก ๊ตฌ์ฑ๋ ๋ฆฌ๋
์ค ๋ฐฐํฌํ์ผ๋ก ์คํ์์ค๋ก ์ด์๋๋ค. CentOS์ ๊ฒฝ์ฐ yum์ ํจํค์ง ๊ด๋ฆฌ ํด๋ก ์ฌ์ฉ๋๊ณ debian ์์๋ dpkg ์ APT๊ฐ ์ฌ์ฉ๋๋ค. CentOS๋ ์ฃผ๋ก ๊ธฐ์
์์ ๋ง์ด ์ฌ์ฉ๋๋ค.
๊ฐ์ ๋จธ์ ์ ๋ชฉ์
๊ฐ์๋จธ์ ์ ๋น์ฉ์ ๊ฐ์ ์ด์ ์ด ์๊ณ , ๊ฐํธํ๊ณ ์๋๊ฐ ๋น ๋ฅด๋ฉฐ, downtime์ด ์ต์ํ๋๋ค๋ ์ฅ์ ๋ค์ด ์๋ค.
aptitude ์ apt์ ์ฐจ์ด์ , Apparmor๋?
aptitude๋ apt์์ ํ๋ก ํธ์๋์ ๊ธฐ๋ฅ์ด ์๊ธด ํด์ด๋ผ ์๊ฐํ๋ฉด๋๋ค.
Apparmor๋ ๋ฆฌ๋
์ค ์ปค๋์ ๋ณด์ ๋ชจ๋๋ก ์คํ ์์ค์ด๊ณ ์์ฑํ ๊ฐ๋ณ ํ๋ก๊ทธ๋จ์ ๋ํ profile ํ์ผ์ ํตํด ์๋์ ๊ฐ์ ๊ถํ์ ํต์ ํจ์ผ๋ก์จ ๊ฐ๋ณ ํ๋ก๊ทธ๋จ์ ๋ณดํธํ๋ค. ์ ๊ทผํต์ ๋ฐฉ๋ฒ์ค MAC์ ์ฌ์ฉํ๋ค. mac์ ๊ฒฝ์ฐ ๋ณด์์ด ๋ฐ์ด๋๋ค๋ ์ฅ์ ์ด ์์ง๋ง ์์
์ ์ผ๋ก๋ ์ฌ์ฉ์ด ์ด๋ ต๋ค(์ค์์ง๊ถ์ )
- ๋คํธ์ํฌ ์ก์ธ์ค ๊ถํ
- raw ์์ผ ์ก์ธ์ค ๊ถํ
- ํ์ผ์ ์ฝ๊ธฐ, ์ฐ๊ธฐ, ์คํ ๊ถํ
dpkg -l | grep xorgs ( gui ํ์ธ )
๊ฐ๋จํ ์ค์
sudo systemctl status ufw, ssh uname -a
์๋ก์ด ์ ์ ์์ฑ ,๊ทธ๋ฃน ๋ฑ๋ก, ์ํธํ ์ ์ฑ ๋ฐ ํ์ธ
sudo adduser <new_user> sudo groupadd eval sudo usermod -aG eval <new_user> vi /etc/login.defs vi /etc/pam.d/com grep /bin/bash /etc/passwd | cut -f1 -d: // ์ ์ ๋ชฉ๋ก
requirtty๋? : sudo๋ช
๋ น์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ tty์์๋ง ๊ฐ๋ฅํ๋ค๋ ์๋ฏธ์ด๋ค. ์์๋ก ์๊ฒฉ์ ์์ ํ ๋ ssh id@ip -p 4242 sudo ls ์ ๊ฐ์ด ๋ช
๋ น์ ์ฃผ๋ฉด ์คํ์ด ์๋๊ฒํ๋ค๋ ์๋ฏธ์ด๋ค
ํธ์คํธ ์ด๋ฆ ํ์ธ, ์์ , ๋ณต์
hostnamectl sudo hostnamectl set-hostname <new_name> sudo reboot
๊ฐ์๋จธ์ ํํฐ์ ํ์ธ : ๋ณด๋์ค ์, LVM์ด๋?
lsblk
๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ๋ฅผ ๋
ผ๋ฆฌ ๋์คํฌ๋ก ๋ง๋ค์ด์ ํจ์จ์ ์ผ๋ก ์ด์ํ๋ ๋ฐฉ๋ฒ์ด๋ค.์ด๋ lvm์ ์ฌ์ฉํ๊ธฐ์ํด์ ํ ๋นํ ๋์คํฌ๋ฅผ PV์ผ๋ก ์ด๊ธฐํํด์ฃผ๋๋ฐ PV ๋ PE(4MB)๋ก ๊ตฌ์ฑ์ด๋๋ค.
์ด๋ ๊ฒ ์ด๊ธฐํํ PV๋ค์ ๊ทธ๋ฃน์ง์๊ฒ์ด VG์ด๊ณ ์ด VG์ ๋
ผ๋ฆฌ์ ์ผ๋ก ์ด์ ์ฌ์ฉํ ์ ์๊ฒ๋์ด์ LV๋ก ๋๋์ด์ค๋ค. LE๋ PE์ ๋ง์ฐฌ๊ฐ์ง๋ก 4MB์ด๊ณ ๊ฐ๊ฐ ๋งตํ๋๋ค.
sudo ์ค์นํ์ธ, ์์ฌ์ฉ์ ํ ๋น, ์๋ ๊ท์น, โ/var/log/sudo/โ ํ์ผ ์กด์ฌ ์ ๋ฌด
sudo --version sudo usermod -aG sudo <new_user> visudo
secure_path โ ๋ช
๋ น์ ์ํํ๊ธฐ ์ํด sudo๊ฐ ์คํํ ์ํํธ์จ์ด๋ฅผ ์ฐพ๋ ๊ฒฝ๋ก
/A:/Bโ A๊ฐ ์์ผ๋ฉด B๋ฅผ ์ฐพ์๋ผ
ufw ์ค์นํ์ธ, ์๋ํ์ธ, ํฌํธ ์ถ๊ฐ, ์ญ์ ๋ฐ ์ค๋ช
sudo ufw --version sudo ufw status verbose sudo ufw allow 8080 sudo vim /etc/ufw/user.rules sudo ufw status delete <number>
ssh ์ค์นํ์ธ, ์๋ํ์ธ, 4242ํฌํธ์์๋ง ์๋ํ๋์ง ์ ๋ฌด, ssh์ ๊ทผ, root ์ ๊ทผ ๋ฐ ์ค๋ช
sudo ssh -V systemctl status ssh sudo vi /etc/ssh/sshd_config ssh <user>@<host_ip> -p 4242
monitoring.sh, cron์ด๋??, ๋ฐ๋ชฌ์ด๋?? ์๋ ๋ฐฉ์, 1๋ถ๋ง๋ค๋ก ์์ , ์คํ์ ์ ์ฉ์๋๊ฒ ์์ ๋ฐ ์ค๋ช
vim monitoring.sh sudo crontab -e sudo service cron restart sudo systemctl disable cron sudo reboot sudo service cron status sudo systemctl enable cron
Loading Comments...