iBetter Books
수정

파일 시스템과 권한 문제

파일 시스템과 권한은 리눅스마스터 2급 시험에서 꾸준히 출제되는 핵심 영역입니다. 단순한 암기보다는 원리를 이해하면 처음 보는 문제도 풀 수 있습니다.

출제 유형 1 — 디렉토리 구조와 경로 문제

리눅스의 주요 디렉토리와 역할을 알아야 합니다.

디렉토리 역할
/ 루트 디렉토리, 모든 경로의 시작점
/etc 시스템 설정 파일
/bin 기본 명령어 바이너리
/usr/bin 사용자 명령어 바이너리
/var 가변 데이터 (로그, 메일, 스풀)
/tmp 임시 파일 (재부팅 시 삭제)
/home 사용자 홈 디렉토리
/root root 사용자 홈 디렉토리
/proc 프로세스와 커널 정보 (가상 파일시스템)
/dev 장치 파일
/lib 공유 라이브러리
/boot 부트로더와 커널 이미지

경로 문제에서는 절대경로와 상대경로의 차이를 명확히 구분해야 합니다.

  • 절대경로: /으로 시작. 예) /home/user/docs
  • 상대경로: 현재 디렉토리 기준. 예) ../docs, ./script.sh

문제 1

다음 중 시스템 설정 파일이 저장되는 디렉토리로 올바른 것은 무엇인가.

  1. /bin
  2. /etc
  3. /var
  4. /tmp

정답: 2번. /etc는 시스템 설정 파일을 보관하는 디렉토리입니다. /bin은 실행 파일, /var는 가변 데이터, /tmp는 임시 파일 위치입니다.

문제 2

현재 디렉토리가 /home/user/project일 때 /home/user/docs/readme.txt를 가리키는 상대경로로 올바른 것은 무엇인가.

  1. ./docs/readme.txt
  2. ../docs/readme.txt
  3. /docs/readme.txt
  4. home/user/docs/readme.txt

정답: 2번. 현재 위치에서 한 단계 위(..)로 올라가면 /home/user가 되고, 거기서 docs/readme.txt로 접근합니다.


출제 유형 2 — 파일 권한 문제

chmod 숫자/기호 변환

파일 권한은 소유자(owner), 그룹(group), 기타(others) 세 영역으로 나뉘며 각각 읽기(r=4), 쓰기(w=2), 실행(x=1)으로 구성됩니다.

rwxr-x--- = 750
rwx  → 4+2+1 = 7
r-x  → 4+0+1 = 5
---  → 0+0+0 = 0

기호 표기와 숫자 표기 변환이 자주 출제됩니다.

기호 표기 숫자 표기 의미
rwxrwxrwx 777 모든 사용자 전체 권한
rwxr-xr-x 755 소유자 전체, 나머지 읽기+실행
rw-r--r-- 644 소유자 읽기+쓰기, 나머지 읽기만
rwx------ 700 소유자만 전체 권한
rwxr-x--- 750 소유자 전체, 그룹 읽기+실행

umask 계산

umask는 새 파일과 디렉토리 생성 시 기본 권한을 제한하는 마스크 값입니다.

  • 파일 기본 권한: 666 (실행 권한 없음)
  • 디렉토리 기본 권한: 777

간편 계산법은 기본 권한에서 umask 값을 빼는 것입니다. 시험에서 자주 출제되는 umask 값(022, 027 등)은 이 방법으로 정확한 결과를 얻습니다.

umask 022일 때
  파일 권한:      666 - 022 = 644 (rw-r--r--)
  디렉토리 권한:  777 - 022 = 755 (rwxr-xr-x)

umask 027일 때
  파일 권한:      666 - 027 = 640 (rw-r-----)
  디렉토리 권한:  777 - 027 = 750 (rwxr-x---)

엄밀히 말하면 umask는 뺄셈이 아니라 비트 AND NOT 연산(기본값 & ~umask)입니다. 대부분의 umask 값에서 뺄셈과 결과가 같지만, umask 033처럼 특정 비트가 기본 권한에 포함되지 않는 경우 차이가 발생합니다. 리눅스마스터 시험에서는 022, 027 등 표준 값이 출제되므로 뺄셈 방식으로 충분합니다.

특수 권한

특수 권한 숫자 기호 적용 위치 효과
SetUID 4 s (소유자 x 위치) 실행 파일 소유자 권한으로 실행
SetGID 2 s (그룹 x 위치) 실행 파일/디렉토리 그룹 권한으로 실행
Sticky Bit 1 t (기타 x 위치) 디렉토리 자신의 파일만 삭제 가능

특수 권한은 일반 권한 앞에 추가합니다.

chmod 4755 /usr/bin/passwd   # SetUID + 755chmod 1777 /tmp              # Sticky Bit + 777

/tmp 디렉토리가 1777인 이유가 바로 Sticky Bit 때문입니다. 누구나 쓸 수 있지만 자신이 만든 파일만 삭제할 수 있습니다.

문제 3

다음 파일의 권한 표기 rw-rw-r--를 숫자로 변환하면 무엇인가.

  1. 644
  2. 664
  3. 660
  4. 666

정답: 2번. rw-(4+2+0=6), rw-(4+2+0=6), r--(4+0+0=4)이므로 664입니다.

문제 4

umask가 022일 때 새로 생성된 디렉토리의 권한으로 올바른 것은 무엇인가.

  1. 644
  2. 755
  3. 777
  4. 022

정답: 2번. 디렉토리 기본 권한 777에서 umask 022를 빼면 755입니다.

문제 5

파일에 SetUID 비트가 설정되어 있을 때 소유자의 실행 권한 자리에 표시되는 기호로 올바른 것은 무엇인가.

  1. x
  2. s
  3. S
  4. t

정답: 2번. 실행 권한이 있으면서 SetUID가 설정된 경우 소문자 s로 표시됩니다. 실행 권한이 없는 상태에서 SetUID만 있으면 대문자 S로 표시됩니다.


출제 유형 3 — 파일 검색과 관리

find 조건 조합

# 특정 사용자 소유의 파일 찾기find /home -user alice# 7일 이내 수정된 파일find /var/log -mtime -7# 특정 권한의 파일 찾기find / -perm 4755# 크기가 100MB 이상인 파일find / -size +100M# 여러 조건 조합 (AND)find /home -user alice -name "*.log" -mtime -30
옵션 의미
-name 이름 패턴
-type f / -type d 파일 / 디렉토리
-user 소유자
-group 그룹 소유자
-perm 권한
-mtime -N N일 이내 수정
-mtime +N N일 이전 수정
-size +N N보다 큰 파일

링크 관련 문제

하드링크와 심볼릭링크의 차이를 명확히 알아야 합니다.

구분 하드링크 심볼릭링크
생성 명령 ln 원본 링크명 ln -s 원본 링크명
원본 삭제 시 파일 접근 가능 링크 깨짐
다른 파티션 불가 가능
디렉토리 불가 (root 예외) 가능
inode 동일 다름

문제 6

다음 중 심볼릭링크를 생성하는 명령어로 올바른 것은 무엇인가.

  1. ln /etc/passwd /tmp/passwd_link
  2. ln -s /etc/passwd /tmp/passwd_link
  3. link /etc/passwd /tmp/passwd_link
  4. cp -l /etc/passwd /tmp/passwd_link

정답: 2번. ln -s가 심볼릭링크 생성 명령입니다. -s 없이 사용하면 하드링크가 생성됩니다.

문제 7

다음 find 명령어 중 현재 디렉토리에서 파일 크기가 1MB보다 큰 일반 파일을 찾는 명령어로 올바른 것은 무엇인가.

  1. find . -type f -size +1M
  2. find . -file -size 1M
  3. find . -type f -size 1024
  4. find . -f -bigger 1M

정답: 1번. -type f로 일반 파일을, -size +1M으로 1MB 초과 크기를 지정합니다. +는 초과, -는 미만을 의미합니다.