λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
βœ’οΈ Linux Programming/with VMware Workstation

[Linux & VMware Workstation] Day 11 : μ‹œμŠ€ν…œ λͺ¨λ‹ˆν„°λ§ λͺ…령어와 λ³΄μ•ˆ λͺ…λ Ήμ–΄ & 파일 속성 μ„€μ •κ³Ό ACL

by A Lim Han 2022. 5. 13.

1. μ‹œμŠ€ν…œ λͺ¨λ‹ˆν„°λ§

 

 

A) lsof λͺ…λ Ήμ–΄

: lsof λͺ…λ Ήμ–΄λŠ” 'list open files'의 μ•½μžμ΄λ©°, μ—΄λ¦° μƒνƒœμ˜ 파일의 정보λ₯Ό 좜λ ₯ν•˜κ±°λ‚˜ λ„€νŠΈμ›Œν¬, μ‚¬μš©μž μ‹œμŠ€ν…œ λ“± κΈ°κΈ° μ „λ°˜μ„ λͺ¨λ‹ˆν„°λ§ν•˜λŠ”데 μ‚¬μš©ν•˜λŠ” λͺ…령어이닀. μ‚¬μš© ν˜•μ‹μ€ 'lsof [ μ˜΅μ…˜ ]' 을 λ”°λ₯΄λ©°, μ˜΅μ…˜μ„ 포함해도 되고 μ•ˆν•˜μ—¬ μ‚¬μš©ν•΄λ„ λœλ‹€. 

 

 

# lsof λͺ…λ Ήμ–΄μ˜ μ˜΅μ…˜

-a : ν•˜λ‚˜μ˜ μ˜΅μ…˜μ΄ μ•„λ‹Œ λ§Žμ€ μ˜΅μ…˜μ„ ν™œμš©ν•΄μ•Ό ν•  λ•Œ AND 연산을 μ΄μš©ν•΄μ„œ 정보λ₯Ό 좜λ ₯

-u [UID] : νŠΉλ³„νžˆ μ§€μ •λœ μ‚¬μš©μžμ— ν•œν•΄ κ·Έ μ‚¬μš©μžκ°€ μ—΄κ³  μžˆκ±°λ‚˜ μ—° νŒŒμΌλ“€μ˜ 정보λ₯Ό λ‚˜νƒ€λƒ„

-c [λͺ…λ Ήμ–΄] : μ‹œμŠ€ν…œμ΄ νŠΉμ •ν•œ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜κ³  μžˆκ±°λ‚˜ 그와 κ΄€λ ¨λœ μž‘μ—… 쀑일 경우 κ·Έ 일련의 정보λ₯Ό 좜λ ₯

+D [디렉터리] : 지정 디렉터리 μ•ˆμ˜ μ—΄λ¦° νŒŒμΌμ— κ΄€ν•œ 정보λ₯Ό 좜λ ₯ν•œλ‹€.

-p [PID] : μ–΄λ–€ ν”„λ‘œμ„ΈμŠ€κ°€ νŠΉμ • νŒŒμΌμ„ μ°Έμ‘°ν•˜κ³  μžˆλŠ” 경우, κ·Έ μ°Έμ‘° νŒŒμΌμ— λŒ€ν•œ λ‚΄μš©μ„ 좜λ ₯

 

 

 

 

 

2. μ‚¬μš©μž λ³΄μ•ˆ

 

A) /etc/passwd 파일의 UID 확인

: root 계정(λ‚œ hanalim 계정) 이 μ•„λ‹Œ λ³„λ„μ˜ 슈퍼 μœ μ €μ˜ 쑴재λ₯Ό ν™•μΈν•˜κΈ° μœ„ν•œ λͺ…령어이닀. 즉, UID = 0 인 μœ μ €μ˜ 쑴재λ₯Ό μ•Œμ•„λ³΄λŠ” λͺ…령어와 κ°™λ‹€.

 

 

 

 

B) TMOUT ν™˜κ²½λ³€μˆ˜ μ„€μ •

: ν™œλ™ 없이 μž₯μ‹œκ°„ λ‘œκ·ΈμΈν•˜λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•œ 섀정이닀.

 

< - μœ„μ˜ μ‚¬μ§„μ—μ„œ 'export TMOUT = 7000'을 좔가함

 

 

 

 

 

3. νŒ¨μŠ€μ›Œλ“œ λ³΄μ•ˆ

 

A) /ect/passwd

: μ‹œμŠ€ν…œ 상에 λ‚΄μž₯λ˜μ–΄ μžˆλŠ” μ‚¬μš©μžμ˜ 정보λ₯Ό 담은 νŒŒμΌλ“€μ„ λΆˆλŸ¬μ˜€λŠ” 데 μ‚¬μš©ν•˜λŠ” λͺ…λ Ήμ–΄λ‘œ, μ‚¬μš© ν•„λ“œμ˜ μ’…λ₯˜κ°€ 맀우 λ‹€μ–‘ν•˜λ‹€λŠ” νŠΉμ§•μ΄ μžˆλ‹€.

 

 

# μ‚¬μš© ν•„λ“œ

-μ‚¬μš©μž 계정λͺ… : -

-νŒ¨μŠ€μ›Œλ“œ : x

-둜그인 μ‰˜ : μ‚¬μš©μžκ°€ λ‘œκ·ΈμΈμ„ ν•΄μ•Ό ν•˜λŠ” μƒν™©μ—μ„œ μ΄μš©ν•˜λŠ” μ‰˜

-ν™ˆ 디렉토리 : μ‚¬μš©μžμ˜ ν™ˆ 디렉토리λ₯Ό 의미 (root :/root)

-UID : μ‚¬μš©μžμ˜ 고유 μœ μ € 아이디λ₯Ό 의미

-GID : μ‚¬μš©μžκ°€ μ†Œμ†λ˜μ–΄ μžˆλŠ” 그룹을 의미

-comment : μ‚¬μš©μžμ˜ 기타 λ‹€μ–‘ν•œ 정보λ₯Ό λ‚˜νƒ€λ‚΄κΈ°λ„ ν•˜λ‚˜, λŒ€μ²΄μ μœΌλ‘œ μ‚¬μš©μžλͺ…을 λΆˆλŸ¬μ˜€λŠ” 데 이용

 

 

 

 

B) /etc/shadow

: μ•”ν˜Έν™”κ°€ μ§„ν–‰λœ μƒνƒœμ˜ μ‚¬μš©μž νŒ¨μŠ€μ›Œλ“œκ°€ 담겨 μžˆκ±°λ‚˜, νŒ¨μŠ€μ›Œλ“œ 섀정에 λŒ€ν•œ 정책에 λŒ€ν•œ λ‚΄μš©μ„ ν¬ν•¨ν•˜λŠ” 파일둜, κ΄€λ¦¬μž κΈ‰μ˜ κ³„μ •μ΄λ‚˜ κ΄€λ¦¬μž κΆŒν•œμ„ 가진 그룹만이 μ ‘κ·Ό κ°€λŠ₯ν•˜λ‹€λŠ” νŠΉμ§•μ„ 가지고 μžˆλ‹€. 

 

 

# μ‚¬μš© ν•„λ“œ

-μ‚¬μš©μž 계정λͺ… : -

-μ•”ν˜Έν™”λœ νŒ¨μŠ€μ›Œλ“œ : $algorithm_id$salt$encrypted_password 의 ꡬ성을 따름

-λ§ˆμ§€λ§‰ λ³€κ²½ : -

-κ²½κ³  : νŒ¨μŠ€μ›Œλ“œκ°€ λ§Œλ£Œλ˜κΈ°κΉŒμ§€μ˜ λ‚ μ§œ κ²½κ³ 

-νŒ¨μŠ€μ›Œλ“œ μ΅œλŒ€ μ‚¬μš©κΈ°κ°„ : -

-만료일 : 계정 만료일

-λΉ„ν™œμ„±ν™” : νŒ¨μŠ€μ›Œλ“œκ°€ 만료된 μ΄ν›„λ‘œλΆ€ν„° 계정이 잠기기 μ „κΉŒμ§€μ˜ λΉ„ν™œμ„±ν™” μƒνƒœ 지속 κΈ°κ°„

-νŒ¨μŠ€μ›Œλ“œ μ΅œμ†Œ μ‚¬μš©κΈ°κ°„ : -

 

 

 

 

 

 

C) chage λͺ…λ Ήμ–΄

: root κΆŒν•œμ„ 가진 μ‚¬μš©μžλ§Œμ΄ μ‚¬μš© κ°€λŠ₯ν•œ λͺ…λ Ήμ–΄λ‘œ, μ‚¬μš©μžμ˜ νŒ¨μŠ€μ›Œλ“œμ— λŒ€ν•œ 정보λ₯Ό λ‚˜νƒ€λ‚΄κ±°λ‚˜ νŒ¨μŠ€μ›Œλ“œμ— λŒ€ν•œ 정보λ₯Ό μ„€μ •ν•  λ•Œ μ΄μš©ν•˜λŠ” λͺ…령어이닀. μ‚¬μš© ν˜•μ‹μ€ 'chage [μ˜΅μ…˜] μ‚¬μš©μžλͺ…'을 λ”°λ₯΄κ³ , νŒ¨μŠ€μ›Œλ“œλ₯Ό λ…Έλ¦° 곡격 λ°©μ–΄ 및 λ³΄μ•ˆμ„± ν–₯상에 κΈ°μ—¬ν•˜λŠ” λͺ…령어이닀.

 

 

#λͺ…λ Ήμ–΄ μ˜΅μ…˜

-l : μ‚¬μš©μžκ°€ μ‚¬μš©ν•˜κ³  μžˆλŠ” νŒ¨μŠ€μ›Œλ“œμ˜ 정보λ₯Ό 좜λ ₯ν•œλ‹€.

-E : 계정이 만료될 μš”μΌμ„ μ§€μ •ν•œλ‹€.

-m : νŒ¨μŠ€μ›Œλ“œλ₯Ό λ³€κ²½ν•œ 이후 μ‚¬μš©ν•  수 μžˆλŠ” μ΅œμ†Œ λ‚ μ§œμ˜ 수λ₯Ό μ§€μ •ν•˜λŠ”λ° μ‚¬μš©

 

 

 

 

 

4. grub   

: μ—¬λŸ¬ μ’…λ₯˜μ˜ μš΄μ˜μ²΄μ œμ—μ„œ μ‚¬μš©μ΄ κ°€λŠ₯ν•œ λ©€ν‹° κΈ°λŠ₯의 λΆ€νŠΈλ‘œλ”λ‘œ, grub에 νŒ¨μŠ€μ›Œλ“œλ₯Ό μ„€μ •ν•˜λŠ” μž‘μ—…μ„ 톡해 root νŒ¨μŠ€μ›Œλ“œ λΆ„μ‹€ μ‹œ λ‹€λ₯Έ νŒ¨μŠ€μ›Œλ“œλ₯Ό 톡해 μ ‘κ·Όν•  수 μžˆλ‹€.

 

 

 

A) grub μ„€μΉ˜

 

 

 

B) μ•”ν˜Έν™”λœ μƒνƒœμ˜ λΈŒνŠΈλ‘œλ” νŒ¨μŠ€μ›Œλ“œ μƒμ„±ν•˜κΈ°

 

 

 

 

 

C) grub μ„€μ •νŒŒμΌ μˆ˜μ •ν•˜κΈ°

 

 

 

 

 

D) 원본 파일 볡사 μž‘μ—… ν›„ grub_mkconfig-o λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ grub μ„€μ •νŒŒμΌ μ—…λ°μ΄νŠΈν•˜κΈ°

 

 

 

 

 

E) cat λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ μž…λ ₯ν•œ λ‚΄μš©μ΄ 잘 ν¬ν•¨λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜κΈ°

 

 

 

 

 

 

F) μ‹œμŠ€ν…œμ„ μž¬λΆ€νŒ…μ‹œν‚¨ ν›„ λΆ€νŠΈλ‘œλ” ν™”λ©΄μ—μ„œ νŒ¨μŠ€μ›Œλ“œ μž…λ ₯창이 λ‚˜μ˜€λŠ”μ§€ μ—¬λΆ€ ν™•μΈν•˜κΈ°

 

.......................ν•˜μ§€λ§Œ λ‚˜μ˜€μ§€ μ•Šμ•˜λ‹€...

 

 

 

 

 

5. 파일 속성 μ„€μ •

 

 

A) lsattr λͺ…λ Ήμ–΄

: νŠΉμ •ν•œ ν”„λ‘œμ„ΈμŠ€λͺ…을 검색 λ‹¨μœ„λ‘œ ν•˜μ—¬ 찾은 ν›„ 그에 κ΄€ν•œ 정보λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λͺ…λ Ήμ–΄λ‘œ, μ‚¬μš© ν˜•μ‹μ€ 'ps [μ˜΅μ…˜] grep νŒ¨ν„΄'의 ν˜•μ‹μ„ λ”°λ₯Έλ‹€.

 

 

 

B) chattr λͺ…λ Ήμ–΄

: 파일의 속성 섀정에 κ΄€μ—¬ν•˜λŠ” λͺ…λ Ήμ–΄λ‘œ, μ‚¬μš© ν˜•μ‹μ€ 'chattr [μ˜΅μ…˜] mode 파일λͺ…'을 λ”°λ₯Έλ‹€. 

mode λŠ” [기호+속성]의 ν˜•νƒœλ‘œ μ‚¬μš©ν•œλ‹€.

 

 

# μ£Όμš” mode 속성

-a : ν•΄λ‹Ή νŒŒμΌμ—μ„œ μΆ”κ°€ μž‘μ—…λ§Œ κ°€λŠ₯

-i : ν•΄λ‹Ή νŒŒμΌμ—μ„œ μ‚­μ œ, 파일λͺ… λ³€κ²½, 파일 λ³€κ²½ μž‘μ—…μ„ κΈˆμ§€

-S : 파일 λ³€κ²½ μ‹œ λ””μŠ€ν¬ 동기화 진행 μ„€μ •

 

 

 

 

 

 

 

 

6. ACL

 

 

A) getfacl λͺ…λ Ήμ–΄

: 파일, 디렉터리에 μ„€μ •λ˜μ–΄ μžˆλŠ” μ ‘κ·Ό κΆŒν•œμ˜ 리슀트λ₯Ό 확인할 λ•Œ μ‚¬μš©ν•˜λŠ” λͺ…λ Ήμ–΄λ‘œ, ν˜•μ‹μ€ 'getfacl [μ˜΅μ…˜] λͺ…λ Ήμ–΄'λ₯Ό λ”°λ₯Έλ‹€.

 

 

 

 

B) setfacl λͺ…λ Ήμ–΄

: root κ³„μ •λ§Œμ΄ μ‚¬μš© κ°€λŠ₯ν•œ λͺ…λ Ήμ–΄λ‘œ, νŒŒμΌμ΄λ‚˜ 디렉터리에 μ ‘κ·Όν•  수 μžˆλŠ” κΆŒν•œμ˜ 리슀트λ₯Ό μ„€μ •ν•  수 μžˆλŠ” λͺ…령어이닀. μ‚¬μš© ν˜•μ‹μ€ 'setfacl [μ˜΅μ…˜] [νƒ€μž…] : [이름] : [κΆŒν•œ] 파일λͺ…'을 λ”°λ₯Έλ‹€. 

 

 

#μ£Όμš” μ˜΅μ…˜

-R : ν•˜μœ„μ˜ 디렉터리, 파일의 κΆŒν•œ λ³€κ²½

-x : κΆŒν•œμ„ μ‚­μ œ

-m : κΆŒν•œμ„ μˆ˜μ •ν•˜κ±°λ‚˜ 지정

-b : μ§€μ •λœ κΆŒν•œμ„ 전체λ₯Ό λŒ€μƒμ„ μ œκ±°μ‹œν‚΄

 

 

 

 

 

 

C) sysctl λͺ…λ Ήμ–΄

: λ³΄μ•ˆ μ„€μ • λ“±μ˜ μ‹œμŠ€ν…œ μ»€λ„μ˜ 속성을 μ½κ±°λ‚˜ μˆ˜μ •μ΄ κ°€λŠ₯ν•œ λͺ…λ Ήμ–΄λ‘œ, 컀널 섀정을 톡해 μ‹œμŠ€ν…œμ˜ λ³΄μ•ˆμ„ μ΅œμ ν™”ν•˜κ±°λ‚˜ μ™ΈλΆ€λ‘œλΆ€ν„°μ˜ λ„€νŠΈμ›Œν¬ 곡격에 λŒ€ν•œ λ³΄μ•ˆ κ°•ν™”λ₯Ό λͺ©μ μœΌλ‘œ ν•˜λŠ” λͺ…령어이닀. μ‚¬μš© ν˜•μ‹μ€ 'sysctl [μ˜΅μ…˜]'을 λ”°λ₯Έλ‹€.

 

# μ˜΅μ…˜μ˜ 예

-a : μ»€λ„μ˜ λ§€κ°œλ³€μˆ˜μ˜ λͺ¨λ“  값을 좜λ ₯

-w [λ³€μˆ˜=κ°’] : λ§€κ°œλ³€μˆ˜μ— 값을 μ„€μ •

 

 

 

 

 

 

 

 

7.  iptables λͺ…λ Ήμ–΄

 

 

 

A) μ„€μ •λœ iptables κ·œμΉ™ 리슀트 확인

 

 

B) 차단을 μ›ν•˜λŠ” IPμ£Όμ†Œμ— λŒ€ν•œ iptables DROP μ„€μ • ν›„ -L μ˜΅μ…˜μœΌλ‘œ μ„€μ • λ‚΄μš© 확인

 

 

 

C) iptables-save λͺ…λ Ήμ–΄λ‘œ μ„€μ • λ‚΄μš© μ €μž₯

 

 

 

 

D) 차단 IPν™˜κ²½μ—μ„œ ping [IP] λͺ…λ Ήμ–΄λ‘œ 접속 차단 μ—¬λΆ€ 확인

 

 

 

 

E) 차단 섀정을 μ‚­μ œ ν›„ -L λͺ…λ Ήμ–΄λ‘œ μ‚­μ œ μ—¬λΆ€ 확인 + μ •μƒμ μœΌλ‘œ μ—°κ²°λ˜λŠ”μ§€ μ—¬λΆ€ 확인