리눅스 시스템 관리
쉽게 말하면
리눅스 관리자는 사람(계정)을 만들고, 돌아가는 프로그램(프로세스)을 살피고, 정해진 시간에 할 일(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 | 실행 중인 프로세스 목록 |
| top | CPU·메모리 사용률 실시간 |
| 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 · lastb | last는 로그인 성공 기록, lastb는 로그인 실패 기록 |
| dmesg | 커널이 부팅하며 남긴 메시지. dmesg 명령이나 /var/log/dmesg 파일로 본다 |
| free · ps -ef | grep | free는 메모리 사용량, ps -ef | grep 이름은 특정 프로세스를 찾는다 |
| 끄기와 다시 켜기 | shutdown -h now·poweroff·halt는 시스템을 멈추고, shutdown -r now·reboot·init 6은 다시 시작한다 |
시험에 이렇게 나와요
- 로그인 실패 기록 → lastb, 커널 부팅 메시지 → /var/log/dmesg
- crontab → -e 편집, -l 보기, -r 삭제 / 형식 분 시 일 월 요일 (매주 월 10시 → 0 10 * * 1)
- /etc/passwd 둘째 칸 x → 암호는 /etc/shadow에 있다는 뜻
- 기본 그룹 지정해 계정 만들기 → useradd -g 그룹 사용자
- 메모리 사용량 → free, 실시간 프로세스 → top, 프로세스 찾기 → ps -ef | grep
- 종료 → shutdown -h now·poweroff·halt (init 6은 재부팅)
확인 문제
Q1. 리눅스에서 사용자의 암호화된 비밀번호가 저장되는 파일은?
- /etc/login.defs
- /etc/shadow
- /etc/group
- /etc/passwd
정답 보기
2번 /etc/shadow
예전엔 /etc/passwd에 있었지만 누구나 읽을 수 있어 위험해 /etc/shadow로 옮겼다. shadow는 root만 읽는다. passwd의 암호 자리엔 x만 남는다.
Q2. /etc/passwd 의 일곱 번째(마지막) 필드는?
- 홈 디렉터리
- 설명
- UID
- 로그인 셸
정답 보기
4번 로그인 셸
아이디:x:UID:GID:설명:홈:셸.
Q3. crontab에서 '30 4 * * 1' 의 뜻은?
- 매일 4시 30분
- 4월 30일 1시
- 매주 월요일 4시 30분
- 매월 1일 4시 30분
정답 보기
3번 매주 월요일 4시 30분
분 시 일 월 요일 순. 요일 1 = 월요일.
Q4. 프로세스를 강제로 종료하는 시그널 번호는?
- 1
- 2
- 9
- 15
정답 보기
3번 9
9번(SIGKILL)이다. 15번은 정상 종료를 요청하고, 1번은 설정을 다시 읽게 하며, 2번은 Ctrl+C로 보내는 중단 신호다.
Q5. 로그인에 실패한 기록을 보여 주는 명령은?
- who
- lastb
- last
- w
정답 보기
2번 lastb
lastb. last는 성공한 로그인 기록이다.
Q6. /etc/passwd의 두 번째 칸이 x인 의미는?
- 계정이 잠겼다
- 관리자 계정이다
- 암호가 없다
- 암호는 /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가 디렉터리.