Skip to content

Instantly share code, notes, and snippets.

@98yejin
Last active February 18, 2024 04:15
Show Gist options
  • Save 98yejin/a47c330c78176242156a8ff640dfc3f2 to your computer and use it in GitHub Desktop.
Save 98yejin/a47c330c78176242156a8ff640dfc3f2 to your computer and use it in GitHub Desktop.

1. ์ดˆ๊ธฐ root ์„ค์ •


grup โ†’  e โ†’ rd.break ์ž…๋ ฅ โ†’ ctrl+x ์ž…๋ ฅ

# sysmount ์œ„์น˜์— ๋งˆ์šดํŠธ(read, write ๊ถŒํ•œ)
mount -o remount,rw /sysroot

# chroot: ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์„ค์ •
# ๋งˆ์šดํŠธ ํ•ด์ค€ ์œ„์น˜๋ฅผ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์„ค์ • 
chroot /sysroot

passwd

touch /.autorelabel

exit

exit

๋žจ ๋””์Šคํฌ ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„์—์„œ๋Š” ๋ฃจํŠธ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด /sysroot์— ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๋งˆ์šดํŠธ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฝ๊ธฐ์“ฐ๊ธฐ๋กœ ๋‹ค์‹œ ๋งˆ์šดํŠธ ํ•œ๋‹ค. mount ๋ช…๋ น์–ด์˜ '-o' ์˜ต์…˜์„ ์‚ฌ์šฉํ•ด remount,rw ๋ฅผ ์ธ์ž๋กœ ์ง€์ •ํ•˜๋ฉด ์ฝ๊ธฐ์ „์šฉ์—์„œ ์ฝ๊ธฐ-์“ฐ๊ธฐ๋กœ ๋‹ค์‹œ ๋งˆ์šดํŠธ ๋œ๋‹ค.

SELinux๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ์ผ๋งˆ๋‹ค ๋ ˆ์ด๋ธ”์ด ๋ถ€์—ฌ๋œ๋‹ค. ํ•˜์ง€๋งŒ chroot ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋˜๋ฉด ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ ˆ์ด๋ธ”์ •๋ณด๊ฐ€ ์ „๋ถ€ ์ œ๊ฑฐ๋œ๋‹ค. ๋”ฐ๋ผ์„œํŒŒ์ผ์— ๋Œ€ํ•œ ๋ ˆ์ด๋ธ”์„ ์žฌ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋•Œ /.autorelabel ํŒŒ์ผ์„ ๋นˆํŒŒ์ผ๋กœ ์ƒ์„ฑํ•˜๋ฉด ์‹œ์Šคํ…œ์ด ๋ถ€ํŒ… ๋  ๋•Œ ์ด ํŒŒ์ผ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ ˆ์ด๋ธ”์„ ์ž๋™์œผ๋กœ ๋ถ€์—ฌํ•œ๋‹ค. ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ ˆ์ด๋ธ”์ด ์ข…๋ฃŒ๋˜๋ฉด ํ•ด๋‹น ํŒŒ์ผ์€ ์‚ญ์ œ๋˜๋ฉฐ root ํŒจ์Šค์›Œ๋“œ๊ฐ€ ๋ณต๊ตฌ๋œ๋‹ค.

2. ๋„คํŠธ์›Œํฌ ์„ค์ •

nmcli con add type ethernet con-name exam ifname eth0
nmcli con mod exam ipv4.address '192.168.56.200/24'
nmcli con mod exam ipv4.gateway '192.168.56.254'
nmcli con mod exam ipv4.dns '8.8.8.8'
nmcli con mod exam ipv4.method manual
nmcli con up exam
hostnamectl set-hostname test1.network.example.com

3. Yum ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ ์ง€์ •

vi /etc/yum.repod.d/base.repo

# BaseOS, AppStream 

[BaseOS]
name=base
baseurl=http://~
gpgcheck=0
enabled=1
# ๋งŒ์•ฝ gpgkey ์ž…๋ ฅํ•˜๋ผ๊ณ  ํ•˜๋ฉด gpgcheck=1๋กœ ๋ฐ”๊พธ๊ณ 
gpgkey=~ 

4. SELinux ๋””๋ฒ„๊น…

(1) HTTP

yum -y install httpd
systemctl enable httpd
systemctl start htpd
systemctl reload httpd

systemctl status httpd
firewalld-cmd --list-all
semanage port -l | grep 8888

firewalld-cmd --add-port=8888/tcp # http port, protocol
firewall-cmd --add-port=8888/tcp --permanent
semanage port -a -t http_port_d 8888 -p tcp
systemctl restart httpd

(2) SSH

yum -y inistall openssh
vi /etc/ssh/sshd_config ์—์„œ Port 22 ๋ถ€๋ถ„ ์ฃผ์„ ํ•ด์ œ
systemctl start openssh
systemctl enable openssh
systemctl reload openssh

firewall-cmd --add-port=22/tcp --permanent
semanage port -a -t ssh_port_t 22 -p tcp
systemctl restart openssh

5. ์‚ฌ์šฉ์ž, ๊ทธ๋ฃน

group name: testgrp

testgrp ์— ๋ณด์กฐ ๊ทธ๋ฃน์œผ๋กœ ์†ํ•œ ์‚ฌ์šฉ์ž: haha

testgrp ์— ๋ณด์กฐ ๊ทธ๋ฃน์œผ๋กœ ์†ํ•œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž: hihi

์‹œ์Šคํ…œ์—์„œ ๋Œ€ํ™”ํ˜• ์‰˜์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์—†์œผ๋ฉฐ testgrp์˜ ๋ฉค๋ฒ„๊ฐ€ ์•„๋‹Œ hoho

haha, hihi, hoho ์—๋Š” ๋ชจ๋‘ ์•”ํ˜ธ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค

# make group
groupadd testgrp

# add user to group(-aG)
useradd haha -G testgrp
useradd hihi -G testgrp
useradd hoho -s /sbin/nologin

# set password
passwd haha
passwd hihi
passwd hoho

useradd -m, -d, -u, -c, -s, -G ์˜ ์˜๋ฏธ

  • m: create the user's home directiory
  • d: home directory of the new account
  • u: user ID of the new account(UID)
  • c: GECOS field of the new account(comment, ์ฆ‰ ์ฃผ์„)
  • s: login shell of the new account
  • G: list of supplementary groups of the new account(๋ณด์กฐ ๊ทธ๋ฃน)

/bin๊ณผ /sbin

  • /bin : For binaries usable before the /usr partition is mounted. This is used for trivial binaries used in the very early boot stage or ones that you need to have available in booting single-user mode. Think of binaries like cat, ls, etc.
  • /sbin : Same, but for binaries with superuser (root) privileges required.

๊ณ„์ • ์ƒ์„ฑ์— ๊ด€์—ฌํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ

  • /etc/login.defs
  • /etc/default/useradd
  • /etc/skel

๋งŒ์•ฝ ๋ฌธ์ œ์—์„œ ์•ž์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๊ณ„์ •๋“ค์˜ MAX_DAYS๋ฅผ ๋ณ€๊ฒฝํ•˜๋ผ๊ณ  ํ•˜๋ฉด

grep MAX_DAYS /etc/login.defs

์œ„์˜ ํŒŒ์ผ์— ๋“ค์–ด๊ฐ€์„œ ๋ณ€๊ฒฝํ•˜๋ฉด ๋จ

๋งŒ์•ฝ ํŠน์ • ์‚ฌ์šฉ์ž์˜ MAX_DAYS๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฑฐ๋ฉด

chage -M ๋‚ ์งœ ์‚ฌ์šฉ์ž๋ช…  

์„ ์ด์šฉํ•ด์„œ ๋ณ€๊ฒฝํ•˜๋ฉด ๋œ๋‹ค. ํ™•์ธ์€ chage -l ์‚ฌ์šฉ์ž๋ช…์„ ํ†ตํ•ด ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ณ„์ • ์ƒ์„ฑ ํ›„

  • /etc/passwd
  • /etc/shadow
  • /etc/gshadow
  • /etc/group

6. ๊ถŒํ•œ

ํ˜‘์—… ๋””๋ ‰ํ† ๋ฆฌ /home/test_share ์ƒ์„ฑ ํ›„ ๊ทธ๋ฃน ์†Œ์œ ๊ถŒ์„ testgrp์—๊ฒŒ ์ค„ ๊ฒƒ โ† ์œ„์˜ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ณผ์ • ์ค‘ ์‹ค์ˆ˜ํ•˜๋ฉด ์ด ๋ฌธ์ œ๋„ ํ’€ ์ˆ˜ ์—†์Œ

๋””๋ ‰ํ† ๋ฆฌ๋Š” testgrp์˜ ๋ฉค๋ฒ„์— ๋Œ€ํ•ด ์ฝ๊ณ , ์“ฐ๊ณ , ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๋Œ€ํ•ด์„œ๋Š” ํ•ด๋‹น๋˜์ง€ ์•Š๋Š”๋‹ค. (๋ฃจํŠธ๋Š” ์‹œ์Šคํ…œ์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ๋‹ค)

/home/test_share์—์„œ ๋งŒ๋“ค์–ด์ง„ ํŒŒ์ผ์—๋Š” ์ž๋™์œผ๋กœ testgrp ๊ทธ๋ฃน์— ์„ค์ •๋œ ๊ทธ๋ฃน ์†Œ์œ ๊ถŒ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค

mkdir /home/test_share
chown :testgrp /home/test_share
# ๋˜๋Š” 
chgrp testgrp -R /home/test_share
chmod 2770 /home/tset_share # ์‹คํ–‰ ์‹œ guid ๊ถŒํ•œ์— set๋˜์–ด ์‹คํ–‰๋จ

์ ‘๊ทผ ๊ถŒํ•œ์„ ์„ค์ •ํ•  ๋•Œ 777๊ณผ 0777์€ ๋™์ผํ•œ ํ‘œํ˜„์ด๋‹ค. ๋„ค์ž๋ฆฌ๊ฐ€ ๋˜์ง€์•Š๋Š” ํ‘œํ˜„์€ ์•ž์˜ 0์ด ์ƒ๋žต๋œ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋น„ํŠธ๋Š” ํŠน์ˆ˜ ๊ถŒํ•œ์— ์‚ฌ์šฉ๋˜๋Š” ๋น„ํŠธ๋กœ 4๋Š” setuid, 2๋Š” setgid, 1์€ sticky bit์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. setuid๊ฐ€ ๋ถ™์€ ํ”„๋กœ๊ทธ๋žจ์€ ์‹คํ–‰ ์‹œ ์†Œ์œ ์ž์˜ ๊ถŒํ•œ์œผ๋กœ ์ „ํ™˜๋˜๋ฉฐ, setgid๊ฐ€ ๋ถ™์€ ํ”„๋กœ๊ทธ๋žจ์€ ์‹คํ–‰ ์‹œ ์†Œ์œ  ๊ทธ๋ฃน์˜ ๊ถŒํ•œ์œผ๋กœ ์ „ํ™˜๋œ๋‹ค. setuid์™€ setgid๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ๋Š”, ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ํŒŒ์ผ์ด์ง€๋งŒ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์–ด์„œ๋‹ค.

7. crontab

hihi ๊ณ„์ • ๊ถŒํ•œ์œผ๋กœ 10๋ถ„ ๊ฐ„๊ฒฉ์œผ๋กœ echo hi ๋ช…๋ น์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ•œ๋‹ค.

vi /etc/crontab

*/10 * * * * hihi echo "hi"

8. scp

# Local โ†’ Remote
scp ๋ณด๋‚ผํŒŒ์ผ๊ฒฝ๋กœ ์œ ์ €๋ช…@ip-addr:๋ฐ›์„ํŒŒ์ผ๊ฒฝ๋กœ

# Remote โ†’ Local
scp ์œ ์ €๋ช…@ip-addr:๋ณด๋‚ผํŒŒ์ผ๊ฒฝ๋กœ ๋ฐ›์„ํŒŒ์ผ๊ฒฝ๋กœ

# Remote โ†’ Remote
scp ์œ ์ €๋ช…@ip-addr:๋ณด๋‚ผํŒŒ์ผ๊ฒฝ๋กœ ์œ ์ €๋ช…@ip-addr:๋ฐ›์„ํŒŒ์ผ๊ฒฝ๋กœ

ip-addr ๋ง๊ณ  ๋„๋ฉ”์ธ์œผ๋กœ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Œ ๋„๋ฉ”์ธ์œผ๋กœ ๋‚˜์™€๋„ ๋˜‘๊ฐ™์ด ์ง„ํ–‰ํ•˜๋ฉด ๋จ. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ scp root@naver.com:/files/test.txt .์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ scp๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

9. ACL

/etc/passwd ํŒŒ์ผ์„ /var/tmp/passwd๋กœ ๋ณต์‚ฌ

์•„๋ž˜ ๊ถŒํ•œ์„ ์„ ์–ธ

ํŒŒ์ผ /var/tmp/passwd๋Š” root์‚ฌ์šฉ์ž๊ฐ€ ๋ณด์œ 

ํŒŒ์ผ /var/tmp/passwd๋Š” ๊ทธ๋ฃน root์— ์†ํ•จ

ํŒŒ์ผ /var/tmp/passwd ๋Š” ๋ˆ„๊ตฌ๋“ ์ง€ ์‹คํ–‰ ํ•  ์ˆ˜ ์žˆ์–ด์„œ๋Š” ์•ˆ๋จ โ†’ x

์‚ฌ์šฉ์ž haha๋Š” /var/tmp/passwd๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ์Œ โ†’ rw

์‚ฌ์šฉ์ž hihi๋Š” /var/tmp/passwd๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ธ ์ˆ˜ ์—†์Œ

๋‹ค๋ฅธ ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” /var/tmp/passwd๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Œ โ†’ r

cp /etc/passwd /var/tmp/passwd 

chown root /var/tmp/passwd
chgrp root /var/tmp/passwd

# ๋˜๋Š” ์œ„์˜ ๋‘๊ฐœ๋ฅผ ํ•œ๋ฒˆ์—
chown root:root /var/tmp/passwd
ls -l /var/tmp/passwd # ํ•ด์„œ ํ™•์ธํ•˜๊ณ 

setfacl -m u:haha:rw /var/tmp/passwd
setfacl -m u:hihi:--- /var/tmp/passwd

setfacl -m o::r-- /var/tmp/passwd

# ํ™•์ธ
getfacl /var/tmp/passwd

ACL์˜ ๋งˆ์Šคํฌ๋Š” ACL์—์„œ ์ง€์ •๋œ ์‚ฌ์šฉ์ž์™€ ๊ทธ๋ฃน์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๊ถŒํ•œ์„ ์ง€์ •ํ•œ๋‹ค. ์ง€์ •๋œ ์‚ฌ์šฉ์ž๋‚˜ ๊ทธ๋ฃน์˜ ๊ถŒํ•œ์ด ๋งˆ์Šคํฌ์— ์„ค์ •๋œ ๊ถŒํ•œ์„ ๋ฒ—์–ด๋‚˜๊ฒŒ ๋˜๋ฉด ํ•„ํ„ฐ๋ง ๋˜์–ด effective๊ฐ€ ์ถœ๋ ฅ๋˜๊ณ  ํ•ด๋‹น ๊ถŒํ•œ์ด ์‹ค์งˆ์ ์ธ ๊ถŒํ•œ์œผ๋กœ ์ ์šฉ๋œ๋‹ค(AND ์—ฐ์‚ฐ์ž). ๋˜ํ•œ ํŒŒ์ผ์— ACL์ด ์ ์šฉ๋˜๋ฉด 'ls -l'๋ช…๋ น์—์„œ ๊ถŒํ•œ ํ•„๋“œ ์ค‘ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน์˜ ๊ถŒํ•œ์€ ACL์˜ ๋งˆ์Šคํฌ ๊ถŒํ•œ์œผ๋กœ ํ‘œ์‹œ๋œ๋‹ค.

10. find

๊ธฐ๋ณธ ํ˜•ํƒœ: find / (option) -exec (command) {} ;

ํŠน์ • ์ž‘์—…์„ ๋ฐ˜๋ณตํ•ด์„œ ํ•˜๊ฑฐ๋‚˜, ๋ณต์žกํ•œ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค. '{}'๋Š” ๊ฒฐ๊ณผ๋ฌผ์„ ๋ณ€์ˆ˜์ฒ˜๋Ÿผ ๋„ฃ์–ด์„œ ๋ฐ˜๋ณตํ•œ๋‹ค.

(1) haha ๊ณ„์ •์ด ์†Œ์œ ํ•œ ๋ชจ๋“  ํŒŒ์ผ์„ ์ฐพ์•„์„œ /tmp/results ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜์— ์‚ฌ๋ณธ์„ ๋ฐฐ์น˜ํ•ด์ฃผ์„ธ์š”(***)

mkdir /tmp/results
find / -user haha -exec cp {} /tmp/results \;

(2) search_tset.sh ์Šคํฌ๋ฆฝํŠธ๋ฅผ PATH์— ๋“ฑ๋ก๋œ /usr/local/bin ์•„๋ž˜์— ๋ฐฐ์น˜ ์‹œํ‚ค๊ณ  ์‹คํ–‰ ํ•˜๋„๋ก ์ค€๋น„ํ•ด์ฃผ์„ธ์š”

์Šคํฌ๋ฆฝํŠธ์˜ ๋‚ด์šฉ์€ /usr ์•„๋ž˜์—์„œ ํฌ๊ธฐ๊ฐ€ 15kb๋ณด๋‹ค ํฌ๊ณ  30kb๋ณด๋‹ค ์ž‘์œผ๋ฉด์„œ setuid ๊ถŒํ•œ์ด ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์„ ์ฐพ์•„์„œ /tmp/output ํŒŒ์ผ์— ์ €์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

# vi /usr/local/bin/search_test.sh

#!/bin/bash
find /usr -size +15k -size -30k -perm -4000 > /tmp/output


# chmod +x ./search_test.sh
๋˜๋Š”
# chmod 777 ./search_test.sh

๐Ÿ’šfind ๋ช…๋ น์–ด ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ์˜ˆ์ œ

  • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ ๋ฆฌ์ŠคํŠธ ํ‘œ์‹œ find
  • ๋Œ€์ƒ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ ๋ฆฌ์ŠคํŠธ ํ‘œ์‹œ find [PATH]
  • ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜ ๋ชจ๋“  ํŒŒ์ผ ๋ฐ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ํŒŒ์ผ ๊ฒ€์ƒ‰ find . -name [FILE]
  • ์ „์ฒด ์‹œ์Šคํ…œ(๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ)์—์„œ ํŒŒ์ผ ๊ฒ€์ƒ‰ find / -name [FILE]
  • ํŒŒ์ผ ์ด๋ฆ„์ด ํŠน์ • ๋ฌธ์ž์—ด๋กœ ์‹œ์ž‘ํ•˜๋Š” ํŒŒ์ผ ๊ฒ€์ƒ‰ fiind . name "STR*"
  • ํŒŒ์ผ ์ด๋ฆ„์— ํŠน์ • ๋ฌธ์ž์—ด์ด ํฌํ•จ๋œ ํŒŒ์ผ ๊ฒ€์ƒ‰ fiind . name "*STR*"
  • ํŒŒ์ผ ์ด๋ฆ„์ด ํŠน์ • ๋ฌธ์ž์—ด๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ ๊ฒ€์ƒ‰ fiind . name "*STR"
  • ๋นˆ ๋””๋ ‰ํ† ๋ฆฌ ๋˜๋Š” ํฌ๊ธฐ๊ฐ€ 0์ธ ํŒŒ์ผ ๊ฒ€์ƒ‰ find . -empty
  • ํŠน์ • ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„ ๋ชจ๋“  ํŒŒ์ผ ๊ฒ€์ƒ‰ ํ›„ ์‚ญ์ œ find . -name "*.EXT" -delete
  • ๊ฒ€์ƒ‰๋œ ํŒŒ์ผ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ค„ ๋ฐ”๊ฟˆ ์—†์ด ์ด์–ด์„œ ์ถœ๋ ฅํ•˜๊ธฐ find . -name [FILE] -print0
  • ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋งŒ ๊ฒ€์ƒ‰ํ•˜๊ธฐ find . -name [FILE] -type f
  • ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ๊ฒ€์ƒ‰ find . -size +[N]c -and -size -[M]c

+(์ดˆ๊ณผ) ๋˜๋Š” -(๋ฏธ๋งŒ) ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํŒŒ์ผ ํฌ๊ธฐ ๊ฐ’ ๋’ค์— 'c'๋˜๋Š” 'k', 'M', 'G', ๋“ฑ์„ ๋ถ™์—ฌ์„œ ๋‹จ์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๊ฒ€์ƒ‰๋œ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ์ •๋ณด ์ถœ๋ ฅ(find+ls) find . -name [FILE] -exec ls -l {} \;

-exec ํ‘œํ˜„์‹์€ find ๋ช…๋ น์œผ๋กœ ๊ฒ€์ƒ‰๋œ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉํ•ด ๋‹ค๋ฅธ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

  • ๊ฒ€์ƒ‰๋œ ํŒŒ์ผ์˜ ๋ผ์ธ ์ˆ˜ ์ถœ๋ ฅ(find+wc) find . -name [FILE] -exec wc-l {} \;
  • ๊ฒ€์ƒ‰๋œ ํŒŒ์ผ์—์„œ ๋ฌธ์ž์—ด ์ฐพ๊ธฐ(find+grep) find . -name [FILE] -exec grep "STR" {} \;
  • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅ(find, redirection) find . -name [FILE] > [SAVE_FILE]
  • ๊ฒ€์ƒ‰ ์ค‘ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅํ•˜์ง€ ์•Š๊ธฐ(find, redirection) find . -name [FILE] 2> /dev/null
  • ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒ€์ƒ‰ํ•˜์ง€ ์•Š๊ธฐ find . -maxdepth 1 -name [FILE]
  • ๊ฒ€์ƒ‰๋œ ํŒŒ์ผ ๋ณต์‚ฌ(find+cp) find . -name [FILE] -exec cp {} [PATH] \;

11. ์•„์นด์ด๋ธŒ/์••์ถ•

gzip,bzip, tar ํŒŒ์ผ์„ ์ƒ์„ฑํ•  ๋•Œ๋Š” cvf, ํŒŒ์ผ์„ ํ’€ ๋•Œ๋Š” xvf๊ฐ€ ๋“ค๊ฐ„๋‹ค. gzip์ด๋ฉด z, bzip์ด๋ฉด j๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

tar๋Š” ์•„์นด์ด๋ธŒ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๊ณ , gzip/bzip์€ ์••์ถ• ์šฉ๋„๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

# ์•„์นด์ด๋ธŒ
tar cvf fruits.tar apple kiwi banana
# ํŒŒ์ผ ํ˜•ํƒœ ๋ณด๊ธฐ
file fruits.tar
# ์•„์นด์ด๋ธŒ๋ฅผ ํ•ด์ œํ•˜์ง€ ์•Š๊ณ  ๋‚ด๋ถ€ ํŒŒ์ผ๋“ค์˜ ์ด๋ฆ„ ํ™•์ธํ•˜๊ธฐ
tar tvf fruits.tar
# ์•„์นด์ด๋ธŒ ํ•ด์ œ
tar xvf fruits.tar
# ์••์ถ•
# gzip
gzip filename
gunzip filename

# bzip
bzip2 filename
bunzip2 filename
# ์•„์นด์ด๋ธŒ์™€ ์••์ถ• ๋™์‹œ์— ํ•˜๊ธฐ
# gzip 
tar zcvf apple.tar.gz apple
tar zxvf apple.tar.gz

# bzip
tar jcvf apple.tar.bz2 apple
tar jxvf apple.tar.bz2

tar --help ๋ฅผ ํ•˜๋ฉด ์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ๋‹ค ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„์นด์ด๋ธŒ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” cvf, ํ•ด์ œํ•  ๋•Œ๋Š” xvf๋ผ๋Š” ์ ๋งŒ ๊ธฐ์–ตํ•ด๋‘์ž.

12. autofs ๊ตฌ์„ฑํ•˜๊ธฐ

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์›๊ฒฉ ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ๋งˆ์šดํŠธ ํ•˜๋„๋ก autofs ๋ฅผ ๊ตฌ์„ฑํ•˜์„ธ์š”. ์‹œ์Šคํ…œ์œผ๋กœ domain (10.0.2.100) nfs-export /netdir ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ ์‹œ์Šคํ…œ์—๋Š” ์‚ฌ์šฉ์ž remoteuserall ์— ๋Œ€ํ•ด ๋ฏธ๋ฆฌ ๊ตฌ์„ฑ๋œ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. remoteuserall ์˜ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋Š” 10.0.2.100:/netdir/remoteuserall ์ž…๋‹ˆ๋‹ค. ํ™ˆ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. remoteuserall ์‚ฌ์šฉ์ž๋Š” ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

yum -y install autofs
rpm -qa | grep autofs

cat /etc/auto.master.d/exam.autofs 
# /netdir /etc/auto.examc
cat /etc/auto.exam 
# * -rw,sync 10.0.2.100:/netdir/&
systemctl start autofs 
systemctl enable autofs
ssh remoteuserall@localhost

13. ์Šค์™‘ ํŒŒํ‹ฐ์…˜ ์ถ”๊ฐ€

(ํŒŒํ‹ฐ์…˜์„ ๊ฑด๋“œ๋Š” ๋ฌธ์ œ๋Š” ์žฌ๋ถ€ํŒ…ํ•ด๋„ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ ์šฉ๋˜์–ด ์žˆ์–ด์•ผํ•˜๋ฏ€๋กœ, ์žฌ๋ถ€ํŒ…์„ ํ†ตํ•œ ํ™•์ธ์ด ํ•„์š”ํ•˜๋‹ค.)

500 MB์˜ ์ถ”๊ฐ€ ์Šค์™‘ ํŒŒํ‹ฐ์…˜์„ ์‹œ์Šคํ…œ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค ์Šค์™‘ ํŒŒํ‹ฐ์…˜์€ ์‹œ์Šคํ…œ ๋ถ€ํŒ… ์‹œ ์ž๋™์œผ๋กœ ๋งˆ์šดํŠธ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค ์‹œ์Šคํ…œ์—์„œ ๊ธฐ์กด ์Šค์™‘ ํŒŒํ‹ฐ์…˜์„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค

# ๋””์Šคํฌ ํ˜„์žฌ ์ƒํƒœ ํ™•์ธ
lsblk
fdisk -l /dev/sdb 

์‹œํ—˜์žฅ์—์„œ ํŒŒํ‹ฐ์…˜ ๋ช…์€ sdb๊ฐ€ ์•„๋‹ˆ๋ผ vdb์ผ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด lsvlk ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

[root@localhost ~]# fdisk /dev/sdb

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (1-4, default 1): 
First sector (2048-20971519, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} 
(2048-20971519, default 20971519): +500M 

Created a new partition 1 of type 'Linux' and of size 500 MiB.

Command (m for help): p
Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x516db603

Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1        2048 1026047 1024000  500M 83 Linux

Command (m for help): t           
Selected partition 1
Hex code (type L to list all codes): 82  
Changed type of partition 'Empty' to 'Linux swap / Solaris'.

Command (m for help): p
Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x516db603

Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1        2048 1026047 1024000  500M 82 Linux swap / Solaris

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x516db603

Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1        2048 1026047 1024000  500M 82 Linux swap / Solaris
[root@localhost ~]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 500 MiB (524283904 bytes)
no label, UUID=83085e90-593c-4945-b464-602006f93892
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# swapon /dev/sdb
swapon: /dev/sdb: read swap header failed
[root@localhost ~]# swapon /dev/sdb1
[root@localhost ~]# cat /etc/fstab
UUID=46399ec4-3bf7-48df-8097-438e3ef0ecc0 / xfs defaults 0 0
/dev/sdb1 swap swap defaults 0 0

์Šค์™‘ ํŒŒํ‹ฐ์…˜์„ ํ•˜๋Š” ๊ณผ์ •์—์„œ ์‹ค์ˆ˜๋ฅผ ํ•ด ์žฌ๋ถ€ํŒ…์— ์‹คํŒจํ•˜๋ฉด ์‹ฑ๊ธ€ ๋ชจ๋“œ์— ์ ‘๊ทผํ•ด์„œ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค.

grup โ†’  e โ†’ re.break ์ž…๋ ฅ โ†’ ctrl+x ์ž…๋ ฅ

root ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•  ๋•Œ์™€ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด ์‹ฑ๊ธ€ ๋ชจ๋“œ์— ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’œํŒŒ์ผ์‹œ์Šคํ…œ ๋ฌธ์ œ ๋ณต๊ตฌ

(1) ์œ ํšจํ•˜์ง€ ์•Š์€ UUID ๊ฐ’ ๋˜๋Š” ์กด์žฌํ•˜์ง€ ์•Š์€ ํŒŒํ‹ฐ์…˜ ์ด๋ฆ„์„ ์ง€์ •ํ•  ๊ฒฝ์šฐ

/etc/fstab ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๊ณ , blkid ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค. ์ž˜๋ชป๋œ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹œ์Šคํ…œ์„ ์žฌ๋ถ€ํŒ…ํ•œ๋‹ค.

(2) ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋งˆ์šดํŠธ ํฌ์ธํŠธ๋ฅผ ์ง€์ •ํ•  ๊ฒฝ์šฐ

/etc/fstab์˜ ๋‘ ๋ฒˆ์งธ ํ•„๋“œ๋Š” ๋งˆ์šดํŠธ ํฌ์ธํŠธ์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•œ๋‹ค. ํ•ด๋‹น ํ•„๋“œ์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋งˆ์šดํŠธ ํฌ์ธํŠธ๋ฅผ ์ง€์ •ํ•˜๋ฉด ์‹œ์Šคํ…œ์ด ๋ถ€ํŒ…๋˜๋ฉด์„œ ๋งˆ์šดํŠธ ํฌ์ธํŠธ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ถ€ํŒ…์ด ์ •์ƒ์ ์œผ๋กœ ์™„๋ฃŒ๋œ๋‹ค.

(3) ํŒŒ์ผ์‹œ์Šคํ…œ ์œ ํ˜•์ด ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

/etc/fstab์˜ ์„ธ ๋ฒˆ์งธ ํ•„๋“œ๋Š” ํŒŒ์ผ์‹œ์Šคํ…œ์˜ ์œ ํ˜•์„ ์ง€์ •ํ•œ๋‹ค. ํŒŒํ‹ฐ์…˜์— ์ƒ์„ฑํ•œ ํŒŒ์ผ์‹œ์Šคํ…œ์˜ ์œ ํ˜•๊ณผ ํ•ด๋‹น ํ•„๋“œ์— ์ง€์ •ํ•œ ํŒŒ์ผ์‹œ์Šคํ…œ ํ˜•์‹์ด ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ถ€ํŒ… ์‹œ ๋ณต๊ตฌ ์‰˜๋กœ ์ง„์ž…ํ•œ๋‹ค.

/etc/fstab ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๊ณ , blkid ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค. ์ž˜๋ชป๋œ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹œ์Šคํ…œ์„ ์žฌ๋ถ€ํŒ…ํ•œ๋‹ค.

(4) ์ž˜๋ชป๋œ ๋งˆ์šดํŠธ ์˜ต์…˜

/etc/fstab ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๊ณ  ์ž˜๋ชป๋œ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•œ๋‹ค.

14. ๋…ผ๋ฆฌ ๋ณผ๋ฅจ ๋งŒ๋“ค๊ธฐ

๋‹ค์Œ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์ƒˆ ๋…ผ๋ฆฌ ๋ณผ๋ฅจ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

development ๋ณผ๋ฅจ ๊ทธ๋ฃน์˜ ๋…ผ๋ฆฌ ๋ณผ๋ฅจ์—๋Š” 32MB์˜ ํ™•์žฅ ์˜์—ญ ํฌ๊ธฐ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค

๋…ผ๋ฆฌ ๋ณผ๋ฅจ์˜ ์ด๋ฆ„ engineering , development ๋ณผ๋ฅจ ๊ทธ๋ฃน์— ์†ํ•ด์žˆ๊ณ  20 ํ™•์žฅ ์˜์—ญ์˜ ํฌ๊ธฐ๊ฐ€ ์žˆ๋‹ค

ext3 ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ ์ƒˆ ๋…ผ๋ฆฌ ๋ณผ๋ฅจ์„ ํฌ๋งท

๋…ผ๋ฆฌ ๋ณผ๋ฅจ์€ ์‹œ์Šคํ…œ ๋ถ€ํŒ… ์‹œ๊ฐ„์— /mnt/engineering ์—์„œ ์ž๋™์œผ๋กœ ๋งˆ์šดํŠธ ๋˜์–ด์•ผ ํ•œ๋‹ค

fdisk /dev/sdb
> n
> t(8e)
fdisk -l /dev/sdb 
partprobe /dev/sdb

pvcreate /dev/sdb3 <- ์ƒ๋žต ๊ฐ€๋Šฅ
vgcreate development /dev/sdb3 -s 32M
lvcreate -n engineering -l 20 development
mkfs.ext3 /dev/development/engineering
vi /etc/fstab
/dev/development/engineering /mnt/engineering ext3 defaults 0 0

partprobe

15. VDO(Virtual Data Optimizer) ๋งŒ๋“ค๊ธฐ

yum -y install kmod-kvdo.x86_64 vdo.x86_64

vdo create --vdoLogicalSize 50G  -n vdough --device /dev/sdc 
# ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•ด๋„ logical size๋ผ ๋ฌผ๋ฆฌ ์šฉ๋Ÿ‰์ด๋ž‘ ๊ด€๊ณ„์—†์–ด์„œ ๊ดœ์ฐฎ๋‹ค.

mkfs.xfs -K /dev/mapper/vdough
vi /etc/fstab
#/dev/mapper/vdough <mount-point>
/dev/mapper/vdough /vtestdir xfs defaults,x-systemd.requires=vdo.service 0 0
# x- ๋น ์ง€๋จ„ ๋ถ€ํŒ…์ด ์•ˆ๋˜๋‹ˆ ์กฐ์‹ฌํ•ด์•ผํ•œ๋‹ค. 
# ์žฌ๋ถ€ํŒ… ํ›„ ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ํ™•์ธํ•˜๊ธฐ 
df -hTP

VDO ์šฉ๋„๋กœ ์‚ฌ์šฉํ•  ๊ณต๊ฐ„์ด ์—†์œผ๋ฉด, ๋””์Šคํฌ ์ „์ฒด๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์ƒˆ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ LVM์€ ๋ฌด์กฐ๊ฑด ๊ฐ™์€ ํŒŒํ‹ฐ์…˜ ๋‚ด์—์„œ ๋๋‚ด์•ผ ํ•œ๋‹ค.

VDO๋Š” ๋ณดํ†ต ์ปจํ…Œ์ด๋„ˆ์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…ํ•  ๋•Œ fstab ๋‚ด์šฉ ์ค‘ x-systemd.requires ๋ถ€๋ถ„์„ ์ž˜๋ชป ํ•˜์˜€์„ ๊ฒฝ์šฐ ๋ถ€ํŒ…์ด ๋˜๋„ ์ƒˆ๋กญ๊ฒŒ ๋“ฑ๋ก๋˜์ง€ ์•Š๋Š”๋‹ค.

vdo stop -n vdough
vdo remove -n vdough

์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  vdo create ๋ถ€ํ„ฐ ๋‹ค์‹œ ํ•˜๋ฉด ๋œ๋‹ค.

16. /etc/sudoers ํŒŒ์ผ์„ ์ด์šฉํ•œ ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ทธ๋ฃน ๋“ฑ๋ก

# ์‚ฌ์šฉ์ž ๋“ฑ๋ก

testuser1 ALL=(ALL) ALL

# ๊ทธ๋ฃน ๋“ฑ๋ก

%sudogrp ALL=(ALL) ALL

# ์ด ๋•Œ ๋“ฑ๋ก ํ•  ์‚ฌ์šฉ์ž๋Š” usermod useradd

# ์กด์žฌํ•˜๋Š” ๊ณ„์ •์„ ๊ทธ๋ฃน์— ๋“ฑ๋กํ•˜๋Š” ๋ฌธ์ œ

usermod -G sudogrp testuser1

# ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ณ„์ •์„ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑํ•˜๋ฉด์„œ ๋ณด์กฐ ๊ทธ๋ฃน์œผ๋กœ ๋“ฑ๋กํ•˜๋Š” ๋ฌธ์ œ

useradd -G sudogrp testuser1

17. ๋…ผ๋ฆฌ๋ณผ๋ฅจ์˜ ํฌ๊ธฐ ์กฐ์ •

๋…ผ๋ฆฌ ๋ณผ๋ฅจ vol1 ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ํฌ๊ธฐ๋ฅผ 500MB๋กœ ์กฐ์ •ํ•˜๊ธฐ

lvextend -L 500M /dev/testvol/vol1 -r 

18. LDAP ๊ณ„์ • ์ธ์ฆ์„ ๋ฐ›๋„๋ก ๊ตฌ์„ฑํ•˜๊ธฐ

์„œ๋ฒ„์ฃผ์†Œ,dn name,TLS์‚ฌ์šฉ์œ ๋ฌด,์ธ์ฆ ๋ฐฉ์‹,์ธ์ฆ์„œ ์ฃผ์†Œ ๋ชจ๋‘ ์ œ์‹œํ•˜์—ฌ ์ฃผ๋ฉฐ ์‹œํ—˜๋ณด๋Š” PC ์—์„œ ssh -X ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ vm์— ์ ‘์†,

์ดํ›„ yum install authconfig-gtk ๋กœ gui authconfig ๋„๊ตฌ ์„ค์น˜,

authconfig-gtk ๋ช…๋ น์–ด๋กœ gui ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋˜๋ฉฐ ๋‹จ์ˆœํžˆ ์ œ์‹œ๋œ ๊ฐ’์„ ๋„ฃ๋Š” ์ˆ˜์ค€, ์ดํ›„ apply ๋‹จ kerberos ์ธ์ฆ์˜ ๊ฒฝ์šฐ krb ํŒจํ‚ค์ง€ ์„ค์น˜ํ•ด์•ผํ•จ, gui ์ง„ํ–‰์‹œ ์„ค์น˜ํ•˜๋ผ๋Š” ์ฐฝ์ด ๋‚˜์˜ค๊ณ  ํด๋ฆญ๋งŒํ•˜๋ฉด ์ž๋™์œผ๋กœ ์„ค์น˜๋จ

getent passwd {user} ๋„ฃ์–ด ์ž˜ ๋˜๋‚˜ ํ™•์ธ

์ดํ›„ ์ œ์‹œํ•œ user,passwd ์ด์šฉํ•˜์—ฌ ssh ์ ‘์† ํ…Œ์ŠคํŠธ ์ง„ํ–‰

19. ๋ณผ๋ฅจ ๊ทธ๋ฃน ์˜๊ตฌ ๋งˆ์šดํŠธ

groupvg๋ฅผ ๋งŒ๋“ค๊ณ  sharelv๋ฅผ ๋งŒ๋“ค์–ด /mnt/share ์— ์˜๊ตฌ ๋งˆ์šดํŠธ ํ•˜์‹œ์˜ค ๋‹จ vg pe์‚ฌ์ด์ฆˆ๋Š” 8mb ์—ฌ์•ผํ•˜๋ฉฐ sharelv์˜ ํฌ๊ธฐ๋Š” 100๊ฐœ์˜ pe์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค ๋˜ํ•œ vfatํฌ๋งบ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

ํŒŒํ‹ฐ์…˜๊ด€๋ จ๋œ ๋‚ด์šฉ์€ ์—†์—ˆ์œผ๋‚˜ fdisk -l ํ•ด๋ณด๋‹ˆ ์ด๋ฏธ 3๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์ด ์žˆ์—ˆ์Œ,๋””์Šคํฌ๋Š” ๋กœ์ปฌ ํ•œ๊ฐœ

์ฐจํ›„์— ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ฌ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ ํ™•์žฅํŒŒํ‹ฐ์…˜์œผ๋กœ ๋งŒ๋“ฌ(์ฐจํ›„์— swap๊ด€๋ จ ๋ฌธ์ œ๊ฐ€ ๋˜๋‚˜์™€์„œ ํ™•์žฅ์œผ๋กœ ์•ˆ๋งŒ๋“ค์—ˆ์Œ ๊ฐˆ์•„ ์—Ž์—ˆ์–ด์•ผํ•จ)

ํ™•์žฅ ํŒŒํ‹ฐ์…˜ ๋งŒ๋“ ํ›„ ๋„‰๋„‰์žก์•„ 1G ํŒŒํ‹ฐ์…˜ ํ•˜๋‚˜ ์ƒ์„ฑ. lvm code(8e) ์‚ฌ์šฉ์ค‘์ธ ๋””์Šคํฌ์ด๋ฏ€๋กœ ํŒŒํ‹ฐ์…˜ ์ž‘์—…ํ›„ partprobe ํ•„์ˆ˜

#pvcreate /dev/vda5

๋กœ ํ•ด๋‹น ํŒŒํ‹ฐ์…˜์— pv์ƒ์„ฑ

#vgcreate -s 8 groupvg /dev/vda5

๋กœ pe์‚ฌ์ด์ฆˆ 8,pvํ•˜๋‚˜์“ฐ๋Š” vg์ƒ์„ฑ (-s ์˜ต์…˜์ด pe์‚ฌ์ด์ฆˆ ์ง€์ •ํ•ด์คŒ)

#lvcreate -n sharelv -l 100 groupvg

์œ„์— ๋ช…๋ น์–ด -n์€ lv์ด๋ฆ„ ์ง€์ • -l ์€ ์‚ฌ์ด์ฆˆ๋ฅผ pe๊ฐฏ์ˆ˜๋กœ ์ง€์ •ํ• ๋–„ ์‚ฌ์šฉ

๋งŒ๋“ค์–ด์ง„ lv๋Š” mapper๋ฅผ ํ†ตํ•ด ์ž๋™ mapped๋˜๋‹ˆ fdisk -l ๋กœ ๊ฒฝ๋กœ ํ™•์ธ, ๋ณดํ†ต์€ /dev/mapper/{vgname}-{lvname} ์œผ๋กœ ๋จ

๋งŒ๋“ค์–ด์ง„ lv๋ฅผ vfat ํฌ๋งท ํ•˜๊ธฐ

#mkfs.vfat /dev/mapper/groupvg-sharelv

xfs๋‚˜ ext4์˜ ๊ฒฝ์šฐ mkfs.๋’ค์— ์ˆ˜์ •ํ•˜๋ฉด ๋จ ํฌ๋งท ํ›„ fstab ์ˆ˜์ •

blkid์จ์„œ ๋‚˜์˜ค๋Š” UUID๋กœ ํ•ด๋„ ๋˜๊ณ  mapper์จ๋„ ๋˜๊ณ ..

์žฅ์น˜๋ช…์œผ๋กœ fstab ๋“ฑ๋ก์‹œ ๊ฐ์ ์ด ์žˆ๋‹ค๊ณ ํ•จ(๊ฐ•์‚ฌํ”ผ์…œ) ๊ทธ๋Ÿฌ๋‚˜ lvm์˜ ๊ฒฝ์šฐ ์žฅ์น˜๋ช…์ด ์•„๋‹ˆ๋ฏ€๋กœ(์žฅ์น˜๋ช… ex:sda sdb ๋“ฑ) ๋ณ€๊ฒฝ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์—†์Œ. ๊ทธ๋ž˜์„œ /dev๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ด์ฃผ์–ด๋„ ๊ฐ์  ์—†์—ˆ์Œ

๋ณธ์ธ์€ mapper ๋ช…์œผ๋กœ ์ป์Œ

mkdir /mnt/share

vi /etc/fstab

/dev/mapper/groupvg-sharelv /mnt/share vfat default 0 2

๊ฐ’ ๋„ฃ์€ ํ›„ mount -a ์ˆ˜ํ–‰ํ•˜์—ฌ ์—๋Ÿฌ ์—ฌ๋ถ€ ๋ฐ df -h ๋กœ ๋งˆ์šดํŠธ ๋œ๊ฒƒ ํ™•์ธ

20. ๊ทธ๋ฃน ๊ฐ„ ๊ณต์œ  ํด๋” ์ƒ์„ฑ

ํด๋”๋Š” /share/test ์ด๋ฉฐ manager ๊ทธ๋ฃน์— ์†ํ•œ harry, sara ์œ ์ €๊ฐ€ ์ฝ๊ณ  ์“ฐ๊ธฐ(์‹คํ–‰๋„)๊ฐ€ ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

๋‹ค๋ฅธ ๋ชจ๋“  ์œ ์ €๋Š” ์•„๋ฌด๋Ÿฐ ๊ถŒํ•œ๋„ ์—†์–ด์•ผ ํ•˜๋ฉฐ root๋Š” ์˜ˆ์™ธ์ž…๋‹ˆ๋‹ค

๋˜ํ•œ uid 642๋ฅผ ๊ฐ€์ง„ harry2 ๊ณ„์ •๋„ manager๊ทธ๋ฃน์— ์†ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

๋˜ํ•œ ์ดํด๋”์—์„œ ์ƒ์„ฑ๋˜๋Š” ํŒŒ์ผ์— ์†Œ์œ ์ž ๋˜ํ•œ manager์—ฌ์•ผ๋งŒ ํ•ฉ๋‹ˆ๋‹ค

#mkdir -p /share/test (ํด๋”์ƒ์„ฑ)
#chgrp manager /share/test    (testํด๋”์— ๊ทธ๋ฃน์†Œ์œ ์ž ๋ณ€๊ฒฝ)
#chmod 070 /share/test ๊ทธ๋ฃน์— rwx๊ถŒํ•œ ์ฃผ๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋ป„
#chmod g+s /share/test setgid ์„ค์ • (์ด๊ฑธ ํ•ด๋†“์œผ๋ฉด root๊ฐ€ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด๋„ ํ•ด๋‹น ํด๋”๋‚ด์—์„œ๋Š” ์†Œ์œ ๊ทธ๋ฃน์ด manager๋กœ ์ƒ์„ฑ๋จ)
#useradd -u 642 -G manager harry2 ์œ„์— ์ œ์‹œํ•œ ์ •๋ณด๋กœ ๊ณ„์ • ์ƒ์„ฑ

21. ๊ถŒํ•œ ์„ค์ •

/etc/fstab ํŒŒ์ผ์„ /var/tmp/fstab ์œผ๋กœ ๋ณต์‚ฌ ํ•œํ›„ ๊ถŒํ•œ ์„ค์ •์„ ํ•˜์‹œ์˜ค

harry ์œ ์ €์™€ sarah ์œ ์ €๋Š” ํ•ด๋‹น ํŒŒ์ผ์„ ์ฝ๊ณ  ์“ธ์ˆ˜ ์žˆ๊ณ  sara ์œ ์ €๋Š” ์•„๋ฌด๋Ÿฐ ๊ถŒํ•œ๋„ ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค ํ˜„์žฌ ๋˜๋Š” ๋ฏธ๋ž˜์˜ ๋ชจ๋“  ์œ ์ €๋“ค์€ ์ฝ๊ธฐ ๊ถŒํ•œ์ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค

๋ณด๋ฉด chmod ํ•˜๋‚˜๋กœ ์„ค์ •์ด ์•ˆ๋˜๋Š”๊ฑฐ๊ณ  acl์จ์•ผํ•ฉ๋‹ˆ๋‹ค

#setfacl -m u:harry:rw- /var/tmp/fstab
#setfacl -m u:sarah:rw- /var/tmp/fstab
#setfacl -m u:sara:--- /var/tmp/fstab
#setfacl -m o::r-- OR #chmod o:r-- /var/tmp/fstab

์ตœ์ข… getfacl /var/tmp/fstab ์œผ๋กœ ํ™•์ธ

22. Crontab

harry ์œ ์ €๊ฐ€ ๋งค์ผ 14์‹œ23๋ถ„์— ์ˆ˜ํ–‰ํ•˜๋Š” echo test ๋ฐ˜๋ณต์ž‘์—…์„ ๋“ฑ๋กํ•˜์‹œ์˜ค

crontab -eu harry
23 14 * * * /usr/bin/echo test

23. Chrony

server.example.com ์œผ๋กœ ์‹œ๊ฐ„์„ ๋™๊ธฐํ™”ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์„ค์ •์„ ํ•˜์‹œ์˜ค

chrony ์•ˆ๊น”๋ ค ์žˆ์œผ๋ฉด ์„ค์น˜ ํ•˜์‹œ๋ฉด ๋˜๊ณ  ๊น”๋ ค์žˆ์œผ๋ฉด

/etc/chrony.conf ์—ด์–ด์„œ ์„œ๋ฒ„ ์ˆ˜์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค

pool server.example.com iburst

ํ™•์ธ์€ chronyc ์‹คํ–‰ํ•˜๊ณ  sources -v ๋กœ ํ™•์ธ

24. Find

test์œ ์ €๊ฐ€ ์†Œ์œ ํ•œ ํŒŒ์ผ์„ ์ฐพ์•„์„œ /root/find ํด๋”๋กœ ๋ณต์‚ฌํ•˜์‹œ์˜ค

#mkdir /root/find ํด๋” ์ƒ์„ฑ
#find / -user test -type f -exec cp -rp {} /root/find/ \;

25. Redirection

/sys/xxx ํŒŒ์ผ์˜ strat ๊ฐ€ ํฌํ•จ๋œ ๋ผ์ธ์„ /root/strat.txt ํŒŒ์ผ๋กœ ์ƒ์„ฑํ•˜์‹œ์˜ค

๋‹จ ์›๋ณธ ํŒŒ์ผ์ด ์†์ƒ๋˜์–ด์„œ๋Š” ์•ˆ๋˜๋ฉฐ strat.txt ํŒŒ์ผ์— ๋นˆ์นธ์ด ์žˆ์–ด์„  ์•ˆ๋˜๊ณ  ๋ชจ๋“  ์ค„์€ ์›๋ณธํŒŒ์ผ ๋‚ด์šฉ์˜ ๋ณต์‚ฌ๋ณธ์ด์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค

grep strat /sys/xxx > /root/strat.txt

26. ์ปค๋„ ์—…๋ฐ์ดํŠธ

ํ•ด๋‹น ์ €์žฅ์†Œ์—์„œ ์ปค๋„์„ ์ฐพ์•„ ์—…๋ฐ์ดํŠธ ํ•˜์‹œ์˜ค (์ฃผ์†Œ๋Š” ์ œ์‹œํ•ด์คŒ)

์—…๋ฐ์ดํŠธํ•œ ์ปค๋„๋กœ ๊ธฐ๋ณธ ๋ถ€ํŒ…์ด ๋˜์–ด์•ผํ•˜๊ณ  ๊ธฐ์กด ์ปค๋„๋„ ์‚ญ์ œํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค

์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค

์ €๋Š” wget {url}๋กœ ์ปค๋„์„ ๋ฐ›์€ ํ›„

yum localinstall {๋ฐ›์€ํŒŒ์ผ์ด๋ฆ„}.rpm ์œผ๋กœ ์„ค์น˜ ํ–ˆ์Šต๋‹ˆ๋‹ค

์ดํ›„ systemctl๋กœ ๋ฆฌ๋ถ“ํ•˜๋ฉด ์ƒˆ๋กœ์šด ์ปค๋„์ด 1๋ฒˆ ๊ณผ๊ฑฐ์ปค๋„์ด 2๋ฒˆ grub๋ฉ”๋‰ด ์ž๋™ ์ˆ˜์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค

๋ถ€ํŒ…ํ›„ yum list kernel๋กœ 2๊ฐœ ๋ชจ๋‘ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ

27. SELinux

selinux ๋ชจ๋“œ๋ฅผ enforcing์œผ๋กœ ๋ณ€๊ฒฝํ•˜์‹œ์˜ค

๊ธฐ๋ณธ๋ชจ๋“œ๋Š” permissive ์˜€์Šต๋‹ˆ๋‹ค

/etc/selinux/config ํŒŒ์ผ์„ ์—ด์–ด SELINUX=permissive ๋ฅผ SELINUX=enforcing ์œผ๋กœ ์ˆ˜์ • (์˜คํƒ€์กฐ์‹ฌ,์˜คํƒ€๋‚ด๋ฉด ์ •์ƒ๋ถ€ํŒ…์•ˆ๋จ)

์ดํ›„ ์žฌ๋ถ€ํŒ…ํ•˜์…”๋„ ๋˜๊ณ  setenforce=1 ๋กœ enforcing ๋ชจ๋“œ๋กœ ๋ฐ”๊พธ์…”๋„ ๋ฉ๋‹ˆ๋‹ค ํ…Œ์ŠคํŠธ ํ•˜์‹œ๋ ค๋ฉด ์žฌ๋ถ€ํŒ… ์ถ”์ฒœ

28. NFS

๋ฒˆ์—์„œ ์„ค์ •ํ•œ ldap (test6์ด๋ผ ๊ฐ€์ •)์œ ์ €๋กœ ๋กœ๊ทธ์ธ์‹œ homeํด๋”๋ฅผ ์ž๋™์œผ๋กœ ๋งˆ์šดํŠธ ํ•˜๊ฒŒ ํ•˜์‹œ์˜ค

nfs๊ณต์œ ์ค‘์ธ ์„œ๋ฒ„์˜ ํด๋”๋Š” server6:/usr/test6 ์ด๋ฉฐ /mnt/test6์œผ๋กœ ์ž๋™๋งˆ์šดํŠธ ๋˜์•ผํ•ฉ๋‹ˆ๋‹ค

#yum install -y autofs nfs-utils ์„ค์น˜ ( ์ €์˜ ๊ฒฝ์šฐ์—” ๋‘˜๋‹ค ๊น”๋ ค์žˆ์—ˆ์Œ)

/etc/auto.master.d/xxx.autofs ํŒŒ์ผ ์ƒ์„ฑ, ํ™•์žฅ์ž๋Š” ๊ผญ autofs์—ฌ์•ผํ•จ
์ง์ ‘๊ฒฝ๋กœ ์ง€์ •์„ ์œ„ํ•ด ํŒŒ์ผ๋‚ด์šฉ ์ถ”๊ฐ€

/- /etc/nfs.auto

/- ์ง์ ‘๊ฒฝ๋กœ
/xxx/xxx ๊ฐ„์ ‘๊ฒฝ๋กœ

/etc/nfs.autoํŒŒ์ผ์„ ์—ด์–ด ์‹ค์ œ ๋งˆ์šดํŠธ ์˜ต์…˜๋“ฑ์„ ์„ค์ •

/mnt/test6 -rw,sync server6:/usr/test6

๋งŒ์•ฝ ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ์„ค์ •ํ•ด์•ผ๋œ๋‹ค๋ฉด(ex test1~10๊นŒ์ง€ ๋ชจ๋‘)

autofs์— ์ƒ๋Œ€๊ฒฝ๋กœ๋ฅผ ์ง€์ • /- = /mnt/

nfs.autoํŒŒ์ผ์—

* -rw,sync server6:/usr/&

ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค

์ดํ›„ systemctl start autofs

systemctl start nfs-secure

systemctl enable autofs

systemctl enable nfs-secure

autofs ๋ž‘ nfs-secure์‹คํ–‰ํ•˜์‹œ๊ณ  ์ž๋™์‹คํ–‰๋˜๊ฒŒ enable๋„ํ•˜์„ธ์š” ์•ˆ๊ทธ๋Ÿผ ์žฌ๋ถ€ํŒ…ํ•˜๋ฉด ์ž‘๋™์•ˆํ•จ~~

df -ah ๋กœ autofs ์„ค์ • ์˜ฌ๋ผ์™€ ์žˆ๋Š”๊ฒƒ ํ™•์ธ.

์ดํ›„ su - test6 ํ•ด์„œ ํ™ˆํด๋” ์ž˜ ๋ณด์ด๋‚˜ ํ™•์ธ

์žฌ๋ถ€ํŒ…ํ•ด์„œ ํ•œ๋ฒˆ๋” ํ™•์ธ!

29. ์ปจํ…Œ์ด๋„ˆ

(1) centos8-python37 ๋ผ๋Š” ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฆ„์ด logserver์ธ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ

๊ธฐ์กด ์‚ฌ์šฉ์ž testA ๋Œ€ํ•ด์„œ๋งŒ ์‹คํ–‰ํ•˜๊ณ  systemd์„œ๋น„์Šค ๋กœ ๋“ฑ๋กํ•ด์„œ ๊ตฌ์„ฑ ์„œ๋น„์Šค๋Š” container-logserver๋กœ ์ด๋ฆ„์ด ์ง€์ •๋˜์–ด์•ผ ํ•˜๋ฉฐ (์ด๋ถ€๋ถ„์€ ์•„๋ž˜ ๋ช…๋ น์„ ์‹ค์ˆ˜ ์—†์ด ์ ์šฉํ•˜๋ฉด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ) ์ˆ˜๋™ ์กฐ์ž‘์—†์ด
์žฌ๋ถ€ํŒ… ํ›„ ์ž๋™์œผ๋กœ ์‹œ์ž‘๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

[root@localhost ~]# ssh testA@localhost
testA@localhost's password: 
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Wed May 26 20:54:11 2021 from ::1
[testA@localhost ~]$ podman login
Username: testA
Password: 
Login Succeeded!
[testA@localhost ~]$ podman search centos8
[testA@localhost ~]$ podman image pull docker.io/loging/centos8-python37
[testA@localhost ~]$ podman container run -d --name logserver docker.io/loging/centos8-python37

์—ฌ๊ธฐ์„œ ๋ถ€ํ„ฐ๊ฐ€  ์ค‘์š” 
[testA@localhost ~]$ mkdir -p  ~/.config/systemd/user
[testA@localhost ~]$ cd ~/.config/systemd/user/
[testA@localhost user]$ podman generate systemd --name logserver --files --new
/home/testA/.config/systemd/user/container-logserver.service
[testA@localhost user]$ ls
container-logserver.service
[testA@localhost user]$ loginctl enable-linger    โ†-- systemctl  --user ๋ช…๋ น์„ ์‚ฌ์šฉ์žํ™˜๊ฒฝ์— ์‚ฌ์šฉํ•˜๊ฒŒ๋” ํ•˜๊ธฐ ์œ„ํ•œ 
[testA@localhost user]$ systemctl  --user enable container-logserver.service 
Created symlink /home/testA/.config/systemd/user/multi-user.target.wants/container-logserver.service โ†’ /home/testA/.config/systemd/user/container-logserver.service.
Created symlink /home/testA/.config/systemd/user/default.target.wants/container-logserver.service โ†’ /home/testA/.config/systemd/user/container-logserver.service.
[testA@localhost user]$ podman rm -f logserver

(2) ์ปจํ…Œ์ด๋„ˆ์˜ ์˜๊ตฌ ์ €์žฅ ์žฅ์น˜ ๊ตฌ์„ฑ

์ด๋ฆ„์ด container_journal ์ธ ์ปจํ…Œ์ด๋„ˆ ํ˜ธ์ŠคํŠธ์˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ /home/testA ์•„๋ž˜์— ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ /var/log/journal ์•„๋ž˜์— ์žˆ๋Š” ํ˜ธ์ŠคํŠธ ๋””๋ ‰ํ† ๋ฆฌ /home/testA/container_journal ์„ ๋งˆ์šดํŠธ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜๊ตฌ ์ €์žฅ์žฅ์น˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ๋งˆ๋‹ค ์ž๋™์œผ๋กœ ๋งˆ์šดํŠธ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

/home/testA/container_journal --- > container /var/log/journal

$ mkdir /home/testA/container_journal
$ podman run -d --name logserver -v   /home/testA/container_journal:/var/log/journal:Z    docker.io/loging/centos8-python37

$ cd ~/.config/systemd/user
$ podman generate systemd --name logserver --files --new 
$ exit 

(3) ๋‘ ๋ฌธ์ œ๋ฅผ ํ•œ๋ฒˆ์— ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

[root@localhost ~]# ssh testA@localhost
[testA@localhost ~]$ podman login
[testA@localhost ~]$ podman search centos8
[testA@localhost ~]$ podman image pull docker.io/loging/centos8-python37
[testA@localhost ~]$ mkdir /home/testA/container_journal
[testA@localhost ~]$ podman run -d --name logserver -v   /home/testA/container_journal:/var/log/journal:Z    docker.io/loging/centos8-python37
[testA@localhost ~]$ mkdir -p  ~/.config/systemd/user
[testA@localhost ~]$ cd ~/.config/systemd/user/
[testA@localhost user]$ podman generate systemd --name logserver --files --new
/home/testA/.config/systemd/user/container-logserver.service

[testA@localhost user]$ loginctl enable-linger    โ†-- systemctl  --user ๋ช…๋ น์„ ์‚ฌ์šฉ์žํ™˜๊ฒฝ์— ์‚ฌ์šฉํ•˜๊ฒŒ๋” ํ•˜๊ธฐ ์œ„ํ•œ 
[testA@localhost user]$ systemctl  --user enable container-logserver.service 
[testA@localhost user]$ podman rm -f logserver

์‹œํ—˜์—์„œ๋Š” ํ™œ์„ฑํ™” ์‹œํ‚ค๋Š” ๊ฒƒ์„ ์š”๊ตฌํ•˜๋Š”๊ฒŒ ์•„๋‹˜. ์ผ๋‹จ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ์š”์ฒญํ•ด์„œ ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ํ•˜๋Š”๊ฑฐ์ž„. ์šฐ๋ฆฌ๊ฐ€ ๋ช…์‹œ๋ฅผ ํ•ด์„œ ํŒŒ์ผ์„ ๋งŒ๋“ค์—ˆ๋Š”์ง€๋ฅผ ์ฒดํฌํ•˜๋Š”๊ฑฐ๋‹ˆ๊นŒ ์—ฌ๊ธฐ๊นŒ์ง€๋งŒ ํ•˜๋ฉด ๋จ (์žฌ๋ถ€ํŒ… ์‹œ์—๋„ ๋™์ž‘ํ•ด์•ผ ํ•˜๋Š”๊ฑด ๋ณผ๋ฅจ ๊ทธ๋ฃน ๋“ฑ ํŒŒํ‹ฐ์…˜๊นŒ์ง€์ž„)

30. ์‹œ์Šคํ…œ์— ๊ถŒ์žฅ๋˜๋Š” tuned ํ”„๋กœํ•„์„ ์„ ํƒํ•˜๊ณ  ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ

tuned-adm profile โ† ์‹œํ—˜์ด๋ž‘์€ ๊ด€๊ณ„์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํŒŒ์ผ ๋ชฉ๋ก

tuned-adm recommend
#  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”„๋กœํŒŒ์ผ ์ค‘ ํ•˜๋‚˜๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด, ๋‹ค์Œ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค: 
tuned-adm profile virtual-guest
#  ํ˜„์žฌ ํ™œ์„ฑํ™”๋œ ํ”„๋กœํŒŒ์ผ๋งŒ ํ‘œ์‹œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ฉ๋‹ˆ๋‹ค: 
tuned-adm active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment