공든탑앱 열기

리눅스 시스템 관리

네트워크관리사 2급 · Linux · 약 13분

쉽게 말하면

리눅스 관리자는 사람(계정)을 만들고, 돌아가는 프로그램(프로세스)을 살피고, 정해진 시간에 할 일(cron)을 맡기고, 기록(로그)을 읽어요. 계정 정보는 /etc/passwd, 암호는 따로 숨겨 /etc/shadow에 둬요. 말 안 듣는 프로그램은 ps로 번호를 찾아 kill로 멈춰요.

시험용 정의

리눅스 시스템 관리는 계정(useradd, passwd, usermod, userdel / /etc/passwd, /etc/shadow, /etc/group), 프로세스(ps, top, kill, nice), 예약 작업(cron, crontab), 패키지(rpm·yum·dnf, dpkg·apt), 로그(/var/log/messages, secure, rsyslog), 디스크(df, du, mount, /etc/fstab)로 나뉜다.

비유로 이해하기

/etc/passwd는 사원 명부(누구나 볼 수 있음), /etc/shadow는 금고에 넣은 비밀번호 장부(인사팀장 root만 열람)다.

자세히

먼저 알아 둘 말

말뜻
UID사용자 번호. root는 0
PID프로세스 번호
시그널프로세스에 보내는 신호. 9 = 강제 종료, 15 = 정상 종료 요청
패키지프로그램 설치 묶음 (.rpm, .deb)

계정 관리

/etc/passwd 한 줄: user1:x:1001:1001:홍길동:/home/user1:/bin/bash
= 아이디 : 암호 자리(x) : UID : GID : 설명 : 홈 디렉터리 : 로그인 셸

  • useradd user1 만들기, passwd user1 비밀번호, usermod -G 그룹 user1 바꾸기, userdel -r user1 홈까지 삭제
  • su - root로 바꾸기, sudo 명령 관리자 권한으로 한 번 실행

프로세스와 예약 작업

명령하는 일
ps -ef / ps aux실행 중인 프로세스 목록
topCPU·메모리 사용률 실시간
kill -9 PID강제 종료 (기본 kill은 15)
crontab -e / -l예약 작업 편집 / 보기
crontab 형식분 시 일 월 요일 명령 (예: 0 2 * * * 백업.sh = 매일 2시 0분. 요일은 0·7 일요일, 1 월요일 ~ 6 토요일이라 30 4 * * 1 은 매주 월요일 4시 30분)

패키지·로그·디스크

분야명령·파일
레드햇 계열 패키지rpm -ivh, yum/dnf install
데비안 계열 패키지dpkg -i, apt install
로그/var/log/messages(전체), /var/log/secure(인증), rsyslog가 기록
로그인 기록last, lastlog, who
디스크df -h(남은 공간), du -sh(폴더 크기), mount, /etc/fstab(부팅 때 마운트)

기출에서 더 나온 것

말뜻
chage -W암호 만료 며칠 전부터 경고할지 정한다
GRUB리눅스 부트 로더. 여러 운영체제 멀티 부팅을 지원한다
top프로세스 상태와 자원 사용량을 실시간으로 보여 준다 (우선순위만 보여 주는 명령이 아님)
PPID부모 프로세스 번호. ps -ef 출력의 셋째 칸
last · lastblast는 로그인 성공 기록, lastb는 로그인 실패 기록
dmesg커널이 부팅하며 남긴 메시지. dmesg 명령이나 /var/log/dmesg 파일로 본다
free · ps -ef | grepfree는 메모리 사용량, ps -ef | grep 이름은 특정 프로세스를 찾는다
끄기와 다시 켜기shutdown -h now·poweroff·halt는 시스템을 멈추고, shutdown -r now·reboot·init 6은 다시 시작한다

시험에 이렇게 나와요

확인 문제

Q1. 리눅스에서 사용자의 암호화된 비밀번호가 저장되는 파일은?

  1. /etc/login.defs
  2. /etc/shadow
  3. /etc/group
  4. /etc/passwd
정답 보기

2번 /etc/shadow

예전엔 /etc/passwd에 있었지만 누구나 읽을 수 있어 위험해 /etc/shadow로 옮겼다. shadow는 root만 읽는다. passwd의 암호 자리엔 x만 남는다.

Q2. /etc/passwd 의 일곱 번째(마지막) 필드는?

  1. 홈 디렉터리
  2. 설명
  3. UID
  4. 로그인 셸
정답 보기

4번 로그인 셸

아이디:x:UID:GID:설명:홈:셸.

Q3. crontab에서 '30 4 * * 1' 의 뜻은?

  1. 매일 4시 30분
  2. 4월 30일 1시
  3. 매주 월요일 4시 30분
  4. 매월 1일 4시 30분
정답 보기

3번 매주 월요일 4시 30분

분 시 일 월 요일 순. 요일 1 = 월요일.

Q4. 프로세스를 강제로 종료하는 시그널 번호는?

  1. 1
  2. 2
  3. 9
  4. 15
정답 보기

3번 9

9번(SIGKILL)이다. 15번은 정상 종료를 요청하고, 1번은 설정을 다시 읽게 하며, 2번은 Ctrl+C로 보내는 중단 신호다.

Q5. 로그인에 실패한 기록을 보여 주는 명령은?

  1. who
  2. lastb
  3. last
  4. w
정답 보기

2번 lastb

lastb. last는 성공한 로그인 기록이다.

Q6. /etc/passwd의 두 번째 칸이 x인 의미는?

  1. 계정이 잠겼다
  2. 관리자 계정이다
  3. 암호가 없다
  4. 암호는 /etc/shadow에 저장돼 있다
정답 보기

4번 암호는 /etc/shadow에 저장돼 있다

암호 해시는 root만 읽을 수 있는 /etc/shadow에 둔다.

헷갈리기 쉬운 O·X

root 사용자의 UID는 0이다.

정답 보기

O UID 0이 관리자.

/etc/shadow는 일반 사용자도 읽을 수 있다.

정답 보기

X root만 읽을 수 있다. 그래서 암호를 옮겨 둔 것.

df는 디렉터리 하나의 사용량을, du는 파일 시스템 전체 남은 공간을 보여 준다.

정답 보기

X 반대. df가 파일 시스템, du가 디렉터리.

함께 보면 좋은 개념