centos 7, ์ฐ๋ถํฌ, ๋ฆฌ๋ ์ค root ๋น๋ฐ๋ฒํธ ์ด๊ธฐํ, ๋ณ๊ฒฝ
๋ฆฌ๋ ์ค ์๋ฒ๋ฅผ ์ด์ฉํ๋ค ๋ณด๋ฉด root ๊ณ์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ถ์คํ๊ฑฐ๋ ๊ต์ฒดํด์ผ ํ๋ ์ํฉ์ด ๋ฐ์ํฉ๋๋ค. ํนํ CentOS 7๊ณผ Ubuntu๋ ๋ถํ ๋ก๋์ ์ด๊ธฐํ ์ ์ฐจ๊ฐ ์์ดํ๋ฏ๋ก ๊ฐ ๋ฐฐํฌํ์ ๋ง๋ ์ ์ฐจ๋ฅผ ์์งํด์ผ ํฉ๋๋ค.
์ด ๊ธ์์๋ CentOS 7, Ubuntu, ๊ทธ๋ฆฌ๊ณ ๊ธฐํ ๋ฆฌ๋ ์ค ๋ฐฐํฌํ์์ root ๋น๋ฐ๋ฒํธ๋ฅผ ์ด๊ธฐํํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋จ๊ณ๋ณ๋ก ์ค๋ช ํฉ๋๋ค. ๋ณด์ ๊ด์ ์์ ๋น๋ฐ๋ฒํธ ์ ์ฑ , SELinux ๊ณ ๋ ค ์ฌํญ, UEFI/Legacy ๋ชจ๋ ์ฐจ์ด๋ฅผ ๋ค๋ฃจ์ด ์์ ์ ์ธ ์์คํ ๊ด๋ฆฌ๋ฅผ ๋์ต๋๋ค.
์ root ๋น๋ฐ๋ฒํธ ์ด๊ธฐํ๊ฐ ํ์ํ๊ฐ?
- ๋น๋ฐ๋ฒํธ ๋ถ์ค ์ ์๊ฒฉ ์ ์ ๋ถ๊ฐ๋ก ๊ธด๊ธ ๋ณต๊ตฌ ํ์
- ๊ด๋ฆฌ์ ๊ต์ฒด ๋๋ ํด์ฌ์ ๋ฐ๋ฅธ ๋ณด์ ์ ์ฑ ๊ฐํ
- ์๋ํ ์คํฌ๋ฆฝํธ ์ค๋ฅ๋ก ์ธํ ๊ณ์ ์ ๊น ๋ฌธ์
์๊ตฌ ์กฐ๊ฑด
- ๋ฌผ๋ฆฌ์ ๋๋ ์ฝ์ ์ ๊ทผ ๊ถํ
- GRUB ๋ถํธ ๋ก๋ ํธ์ง ๊ถํ
- UEFI ํ๊ฒฝ์ผ ๊ฒฝ์ฐ Secure Boot ๋นํ์ฑํ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ธ
์ฃผ์ ์ฌํญ
- ์ด๊ธฐํ ํ ๋ฐ๋์ ๊ฐ๋ ฅํ ๋น๋ฐ๋ฒํธ ์ ์ฑ ์ ์ ์ฉํ ๊ฒ
- SELinux ํ์ฑํ ์ฌ๋ถ ํ์ธ ํ ์ปจํ ์คํธ ์ฌ๋ผ๋ฒจ๋ง
- ์ฌ๋ถํ ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์คํ ๊ฒํ
CentOS 7์์ root ๋น๋ฐ๋ฒํธ ์ด๊ธฐํ
GRUB2 ๋ถํธ ์ต์ ์์
1) ๋ถํ ๋ฉ๋ด ์ง์
- ์๋ฒ ์ฌ์์ ํ ๋ถํ ํ๋ฉด์์ ์๋ฌด ํค๋ ๋๋ฌ GRUB ๋ฉ๋ด๋ฅผ ํธ์ถ
- ์ปค๋ ํญ๋ชฉ ์ ํ ํ
e
ํค๋ก ํธ์ง ๋ชจ๋ ์ง์
2) kernel ๋ผ์ธ ํธ์ง
linux16
๋๋linux
๋ก ์์ํ๋ ์ค ๋์ ํ ์นธ ๋์ฐ๊ณ ๋ค์์ ์ถ๊ฐ
rd.break enforcing=0
Ctrl
+x
๋ฅผ ๋๋ฌ ์์๋ก ๋ถํ
์์ ์์์ ๋น๋ฐ๋ฒํธ ์ด๊ธฐํ
1) ๋ฃจํธ ํ์ผ ์์คํ ์ฌ๋ง์ดํธ
mount -o remount,rw /sysroot
chroot /sysroot
2) passwd ๋ช ๋ น์ผ๋ก root ๋น๋ฐ๋ฒํธ ์ฌ์ค์
passwd root
- ์ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ ํ ํ์ธ
3) SELinux ์ปจํ ์คํธ ์ฌ๋ผ๋ฒจ๋ง
/
๊ฒฝ๋ก์.autorelabel
ํ์ผ ์์ฑํ์ฌ ์ฌ๋ถํ ์ ์๋ ์ฌ๋ผ๋ฒจ๋ง
touch /.autorelabel
4) ํ๊ฒฝ ๋ณต๊ท ํ ์ฌ๋ถํ
exit ## chroot ๋น ์ ธ๋์ค๊ธฐ
exit ## initramfs ์ ๋น ์ ธ๋์ค๊ธฐ
- ์์คํ ์ด ์ ์ ๋ถํ ๋๋ฉฐ ์ฌ๋ผ๋ฒจ๋ง์ด ์งํ๋จ
Ubuntu์์ root ๋น๋ฐ๋ฒํธ ์ด๊ธฐํ
GRUB ๋ถํธ ๋ฉ๋ด ํ์ฉ
1) ๋ถํ ์ Shift ๋๋ Esc ํค๋ก GRUB ํธ์ถ
- Ubuntu์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก root ๊ณ์ ์ด ์ ๊ฒจ ์์ผ๋ฏ๋ก ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ ์ ๊ณ์ ํ์ฑํ ํ์
2) kernel ํญ๋ชฉ ์์
linux
๋ก ์์ํ๋ ์ค ๋์ ๋ค์ ์ต์ ์ ์ถ๊ฐ
init=/bin/bash
Ctrl
+x
๋ก ๋ถํ
๋ผ์ด๋ธ ์ ธ์์ ๋น๋ฐ๋ฒํธ ์ฌ์ค์
1) ๋ฃจํธ ํ์ผ ์์คํ ์ฝ๊ธฐ/์ฐ๊ธฐ ๋ง์ดํธ
mount -o remount,rw /
2) root ๊ณ์ ํ์ฑํ ๋ฐ ๋น๋ฐ๋ฒํธ ์ค์
passwd root
- Ubuntu ์ต์ ๋ฒ์ ์ root ๊ณ์ ๊ธฐ๋ณธ ์ ๊ธ
usermod -U root
- ํ์ ์ ์ ๋น๋ฐ๋ฒํธ ์ฌ์ค์
3) ๋ถํ ์ ์ํ
exec /sbin/init
- ๋๋ ์๋ฒ ์ฌ์์
๊ธฐํ ๋ฆฌ๋ ์ค ๋ฐฐํฌํ ๊ณตํต ๋ฐฉ๋ฒ
Rescue ๋ชจ๋ ๋๋ ๋ผ์ด๋ธ CD ํ์ฉ
- CentOS 6, RHEL 6 ์ดํ ๊ตฌ๋ฒ์ ๋๋ SUSE๋ ๋ถํ ์ rescue ๋ชจ๋ ์ง์
- ๋ผ์ด๋ธ ISO๋ฅผ USB/DVD๋ก ๋ถํ
ํ
chroot
์ง์
Arch Linux์ ๊ฒฝ์ฐ
arch-chroot /mnt
passwd root
UEFI ํ๊ฒฝ ํน๋ณ ๊ณ ๋ ค ์ฌํญ
- Secure Boot ํ์ฑํ๋ ์๋ฒ๋ ๋ถํ ์ initramfs ์ต์ ํธ์ง์ด ์ฐจ๋จ๋ ์ ์์
- BIOS ์ค์ ์์ Secure Boot ๋นํ์ฑํ ํ ์งํ
๋น๋ฐ๋ฒํธ ์ ์ฑ ๊ฐํ
/etc/login.defs
์์PASS_MAX_DAYS
,PASS_MIN_LEN
๋ฑ ์ค์ pam_pwquality
๋ชจ๋๋ก ํน์๋ฌธ์, ๋์๋ฌธ์, ์ซ์ ์กฐํฉ ๊ฐ์
๊ฒฐ๋ก
๋ฆฌ๋
์ค ์๋ฒ ์ด์ ์ค root ๋น๋ฐ๋ฒํธ ๋ถ์ค์ด๋ ๋ณ๊ฒฝ์ ์ ์ ์ฐจ๋ฅผ ํตํด ์์ ํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. CentOS 7์ GRUB2์ rd.break
์ต์
๊ณผ SELinux ์ปจํ
์คํธ ์ฌ๋ผ๋ฒจ๋ง์, Ubuntu๋ init=/bin/bash
์ต์
์ ํ์ฉํ์ฌ ๋ณต๊ตฌํฉ๋๋ค. ๊ธฐํ ๋ฐฐํฌํ์์๋ rescue ๋ชจ๋๋ ๋ผ์ด๋ธ ISO๋ฅผ ์ด์ฉํด chroot
ํ๊ฒฝ์์ passwd ๋ช
๋ น์ ์คํํฉ๋๋ค. ๋น๋ฐ๋ฒํธ ์ด๊ธฐํ ํ์๋ ๋ฐ๋์ ๊ฐ๋ ฅํ ์ ์ฑ
์ ์ ์ฉํ๊ณ ์์คํ
๋ก๊ทธ๋ฅผ ์ ๊ฒํ์ฌ ๋ณด์ ์ํ์ ์ต์ํํด์ผ ํฉ๋๋ค. ์๋ฒ ์ด์ ์ ๋ฐ์ ๊ฑธ์ณ ์ด๋ฌํ ์ ์ฐจ๋ฅผ ๋ฌธ์ํํ๊ณ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ชจ์ ๋ณต๊ตฌ๋ฅผ ์ํํ๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค.
๋๊ธ