2020년 2회 정보처리기사 실기 기출문제
문제
리눅스 또는 유닉스에서 a.txt 파일에 대해 다음 조건을 만족하는 권한을 부여하고자 한다. 다음 <조건>을 만족하는 적합한 명령어를 작성하시오.
<조건>
- 사용자에게 읽기 / 쓰기 / 실행의 세 개의 권한을 모두 부여한다.
- 그룹에게는 읽기 / 실행을 부여한다
- 그 이외 그룹 외 사용자에는 실행 권한만을 부요한다
- a.txt에 권한을 부여하는 명령어를 8진법을 사용하여 한줄 명령문으로 작성하라.
정답
chmod 751 a.txt
해설
1. 리눅스 파일 권한 개념
리눅스에서 파일과 디렉터리는 각 사용자 그룹별로 접근 권한을 설정할 수 있습니다. 이 권한은 세 그룹으로 나뉩니다:
- 소유자 (user, u): 파일을 소유한 사용자
- 그룹 (group, g): 파일이 속한 사용자 그룹
- 기타 사용자 (other, o): 소유자와 그룹에 속하지 않은 나머지 사용자들
각 그룹에 대해 세 가지의 권한을 설정할 수 있습니다:
- 읽기 (read, r): 파일 내용을 읽을 수 있는 권한
- 쓰기 (write, w): 파일 내용을 수정할 수 있는 권한
- 실행 (execute, x): 파일을 실행(프로그램 파일일 경우)하거나, 디렉터리일 경우 디렉터리 안으로 들어갈 수 있는 권한
리눅스 파일 권한은 이 세 그룹에 대해 각각 설정되어, 파일 또는 디렉터리에 대한 접근을 제한하거나 허용하는 역할을 합니다.
2. chmod 명령어
리눅스에서 파일이나 디렉터리의 권한을 변경할 때 사용하는 명령어가 바로 **chmod**입니다. **chmod**는 "change mode"의 약자로, 파일 또는 디렉터리의 권한을 변경하는 데 사용됩니다. chmod 명령어는 파일의 소유자(user), 그룹(group), 기타 사용자(other)의 권한을 설정하는 데 매우 중요한 역할을 합니다.
이 명령어는 두 가지 방식으로 사용할 수 있습니다:
- 기호 방식(symbolic): 기호로 권한을 추가하거나 제거하는 방법.
- 8진법(octal): 숫자로 권한을 지정하는 방법.
chmod 명령어의 기본 형식:
chmod [권한] [파일명 또는 디렉터리명]
- 권한: 8진법 숫자 또는 기호 방식을 사용해 권한을 지정.
- 파일명 또는 디렉터리명: 권한을 변경할 대상.
3. 기호 방식을 사용하는 방법
리눅스에서는 파일 권한을 기호(symbolic) 방식으로 설정할 수 있습니다. 기호 방식을 사용할 때는 다음과 같은 문법을 사용합니다:
- 대상: 권한을 부여할 사용자 그룹
- u: 사용자(소유자)
- g: 그룹
- o: 기타 사용자
- a: 모든 사용자 (u, g, o 모두 포함)
- 연산자: 권한을 부여하거나 제거하는 동작
- +: 권한 추가
- -: 권한 제거
- =: 권한 덮어쓰기
- 권한: 설정할 권한
- r: 읽기 (read)
- w: 쓰기 (write)
- x: 실행 (execute)
4. 8진법을 사용한 권한 설정
리눅스에서는 권한을 8진법으로도 설정할 수 있습니다. 이는 각각의 권한을 숫자로 표현한 것으로, 다음과 같이 계산됩니다:
세 가지 권한을 조합하여 8진수 숫자로 나타냅니다. 각 사용자 그룹에 대한 권한을 설정한 후, 이를 합산하여 8진수로 변환합니다:
- 읽기, 쓰기, 실행(rwx): 4 + 2 + 1 = 7
- 읽기, 실행(rx): 4 + 1 = 5
- 실행(x): 1 = 1
따라서, 8진법을 사용한 권한 설정 명령어는 chmod 명령어에 세 자리 숫자를 사용하여 표현됩니다.
또한, 권한이 없는 경우는 0으로 표시됩니다. 예를 들어, 그룹에게는 아무 권한도 부여하지 않으려면, 그룹에 대한 숫자로 0을 사용합니다.
따라서, 8진법을 사용한 권한 설정 명령어는 chmod 명령어에 세 자리 숫자를 사용하여 표현됩니다.
예를 들어, **사용자(소유자)**에게 읽기/쓰기/실행(rwx) 권한을 부여하고, 그룹에게는 권한을 주지 않으며, 기타 사용자에게 실행(x) 권한만을 부여하려면:
chmod 701 파일명
이 명령어는 소유자에게는 읽기/쓰기/실행 권한을, 그룹에는 아무 권한도 주지 않으며, 기타 사용자에게는 실행 권한만 부여하는 설정을 의미합니다.
5. 해설
1) 8진법으로 문제 해설
문제: 사용자에게 읽기/쓰기/실행 권한, 그룹에게 읽기/실행 권한, 기타 사용자에게 실행 권한을 부여하는 명령어를 작성하시오.
해설:
- 소유자(사용자): 읽기(r), 쓰기(w), 실행(x) → 4 + 2 + 1 = 7
- 그룹: 읽기(r), 실행(x) → 4 + 1 = 5
- 기타 사용자: 실행(x) → 1 = 1
따라서, 권한을 설정하는 명령어는 다음과 같습니다:
chmod 751 a.txt
[참고] 기호로 문제 해설
문제: 사용자에게 읽기/쓰기/실행 권한, 그룹에게 읽기/실행 권한, 기타 사용자에게 실행 권한을 부여하는 명령어를 기호 방식으로 작성하시오.
해설:
- 소유자에게 읽기, 쓰기, 실행(rwx) 권한을 부여
chmod u+rwx a.txt
- 그룹에게 읽기, 실행(rx) 권한을 부여
chmod g+rx a.txt
- 기타 사용자에게 실행(x) 권한을 부여
chmod o+x a.txt
한 줄로 결합하여 표현하면:
chmod u=rwx,g=rx,o=x a.txt
'코딩일기 > 자격증' 카테고리의 다른 글
[정보처리기사] [ Java ] 클래스, 객체, 상속, 생성자, super | 2020년 2회 정보처리기사 실기 기출문제 (0) | 2024.10.15 |
---|---|
[정보처리기사] LOD (Linked Open Data)란? | 정보처리기사 실기 기출문제 (0) | 2024.10.14 |
[정보처리기사] SQL Injection이란? | 정보처리기사 실기 기출문제 (0) | 2024.10.14 |
[정보처리기사] 인덱스(Index)란? | 인덱스 생성 SQL 문제 | 2020년 2회 정보처리기사 실기 기출문제 (0) | 2024.10.11 |
[정보처리기사] 운영체제 개념과 종류 | 윈도우, 유닉스, 리눅스, 맥, 안드로이드 | 정보처리기사 실기 기출문제 (0) | 2024.10.08 |