공부 기록/리눅스 기초

[리눅스 기초] 07 파일 접근 권한 설정

도도히히 2025. 11. 2. 21:37

파일 속성

파일의 상세 정보 출력하기: ls -l

파일의 속성 살펴보기

ex)

-rw-r-- r-- 1 cskisa cskisa 54 5월 10 09:39 access.txt

속성 값 의미
- 파일의 종류 (-는 일반 파일, d는 디렉터리)
rw- r-- r-- 파일을 읽고, 쓰고, 실행할 수 있는 접근 권한
1 하드 링크의 수
cskisa 파일 소유자의 로그인 ID
cskisa 파일 소유자의 그룹 이름
54 파일의 크기 (byte 단위)
5월 10 09:39 파일을 최종 수정한 일자와 시각
access.txt 파일명

 

파일 접근 권한

 

접근 권한 종류: 읽기(r), 쓰기(w), 실행(x)

접근 권한 파일 디렉터리
읽기(r) 해당 파일을 읽거나 복사 가능 ls 명령으로 디렉터리의 목록을 확인
(옵션은 실행 권한이 있을 경우만 허용
쓰기(w) 파일을 수정, 이동, 삭제 가능
(디렉터리에 쓰기 권한 있어야 함)
해당 파일을 삭제하거나 생성할 수 있음
실행(x) 셸 스크립트 또는 실행파일에 대한 실행 가능 cd 명령 사용 가능하며 파일을 디렉터리로 이동 또는 복사 가능

 

접근 권한 표기 방법

읽기(r), 쓰기(w), 실행(x)의 권한이 없는 경우: - 표기

접근 권한 의미

접근 권한 의미
rwx r-x r-x 소유자 권한(읽기, 쓰기, 실행), 그룹과 기타 사용자 권한(읽기, 실행)
r-x r-x r-x 소유자, 그룹, 기타 사용자 모두 (읽기, 실행) 권한만 부여
rw- --- --- 소유자(읽기, 쓰기) 권한만 부여, 그룹과 기타 사용자는 권한 없음
rw- rw- rw- 소유자, 그룹, 기타 사용자 모두 (읽기, 쓰기) 권한만 부여
rwx rwx rwx 소유자, 그룹, 기타 사용자 모두 (읽기, 쓰기, 실행) 권한 부여
rwx --- --- 소유자 (읽기, 쓰기, 실행) 권한만 부여
r-- --- --- 소유자 (읽기) 권한만 부여

 

접근 권한 변경 명령

chmod [옵션] : 파일 접근 권한 변경

옵션

-R : 하위 디렉터리까지 접근 권한을 모두 변경

 

심볼릭 모드

 

심볼릭 모드: 기호를 이용한 접근 권한 변경 방법

 

 

심볼릭 모드에서 사용하는 문자와 기호의 종류

  • 사용자 카테고리 문자
문자/기호 의미
u 파일 소유자
g 파일 소유자가 속한 그룹
o 파일 소유자와 그룹 이외의 기타 사용자
a 파일을 사용하려는 전체 사용자

 

  • 연산자 기호
문자/기호 의미
+ 파일 접근 권한 부여
- 파일 접근 권한 제거
= 파일 접근 권한 설정 (지정한 권한만 남기고, 나머지는 모두 제거)

 

  • 접근 권한 문자
문자/기호 의미
r 파일 읽기 권한
w 파일 쓰기 권한
x 파일 실행 권한

 

 

심볼릭 모드에서 다양한 파일 접근 권한 조합

 

권한 조합 의미
u+w 파일 소유자에게 쓰기(w) 권한 부여
u-w 파일 소유자에게 쓰기(w) 권한 제거
u=rwx 파일 소유자에게 쓰기(w), 읽기(r), 실행(x) 권한 설정
u+x,go+w 소유자에게 실행(x) 권한 부여와 그룹 및 기타 사용자에게 쓰기(w) 권한 부여
g+w 파일 그룹에게 쓰기(w) 권한 부여
g+wx 파일 그룹에게 쓰기(w)와 실행(x) 권한 부여
go+w 그룹과 기타 사용자에게 쓰기(w) 권한 부여
+wx 파일을 사용하려는 모든 사용자에게 쓰기(w)와 실행(x) 권한 부여
a+rwx 모든 사용자에게 쓰기(w), 읽기(r), 실행(x) 권한 부여
o-r 파일 기타 사용자에게 읽기(r) 권한 제거

 

심볼릭 모드로 권한 변경

ex) chmod u-w access.txt

해당 파일의 소유자 권한 중 쓰기 권한이 제거됨 (-rw-에서 -r--로 변경됨)

파일에 대한 접근 권한을 변경할 때 한꺼번에 선언하려면 기호 모드 사이에는 u+w,o-w와 같이 콤마로 구분하고 공백이 존재해서는 안됨

 

문제 08-01

  1. 주어진 문장을 gedit 창에서 입력하기 (우분투 리눅스가 (줄바꾸고) 정말 재미있습니다.)
  2. 입력한 문장을 story.txt 파일명으로 저장하기
  3. story.txt 파일의 현재 설정된 접근 권한 출력하기
  4. story.txt 파일의 접근 권한을 심볼릭 모드로 파일 소유자에게 실행 권한과 그룹 및 사용자에게 쓰기 권한 부여하기
  5. story.txt 파일에 변경된 접근 권한 출력하기
  6. story.txt 파일의 접근 권한을 심볼릭 모드로 파일 소유자에게 실행 권한과 그룹 및 사용자에게 쓰기 권한 제거하기
  7. story.txt 파일에 변경된 접근 권한 출력하기
$ gedit story.txt
$ ls -l (story.txt)
$ chmod u+x,go+w story.txt
$ ls -l
$ chmod u-x,go-w story.txt
$ ls -l

 

 

숫자 모드


숫자 모드 접근 권한

숫자 모드: 숫자를 이용한 접근 권한 변경 방법

  • 소유자 권한 0~700, 그룹 권한 0~070, 기타 사용자 권한 0~007

2진수(0과 1)의 형태로 권한 여부 설정

  • 0 : 접근 권한 없음
  • 1 : 접근 권한 부여

 

숫자 모드로 파일 접근 권한 표기에 따른 숫자 대응 관계

권한 표기 2진수 8진수 의미 접근 권한 예시

권한 표기 2진수 8진수 의미 접근 권한 예시
rwx 111 7 읽기, 쓰기, 실행 rwx rwx rwx → 777
rw- 110 6 읽기, 쓰기 rwx rw- rw- → 766
r-w 101 5 읽기, 실행 rwx r-x r-x → 755
r-- 100 4 읽기 rw- r-- r-- → 644
-wx 011 3 쓰기, 실행 rwx rwx r-- → 775
-w- 010 2 쓰기 rwx --- --- → 700
--x 001 1 실행 rwx r-x r-x → 755
--- 000 0 권한 없음 r-- --- --- → 400

 

 

숫자 모드로 권한 변경

ex) chmod 666 access.txt

: -rw-rw-rw-로 변경됨 (기존에 -r--rw-r-- 였음)

 

 

문제 08-02

  1. 새로운 빈파일 yesterday.txt 생성하기
  2. yesterday.txt 파일에 설정되어 있는 접근 권한 출력하기
  3. yesterday.txt 파일에 대한 접근 권한을 숫자모드를 이용하여 rwx rwx r-x로 변경하기
  4. 접근 권한이 변경된 yesterday.txt 파일의 접근 권한 출력하기
  5. yesterday.txt 파일 삭제 여부를 물어가며 삭제하기
  6. 삭제된 yesterday.txt 파일이 존재하는지 확인하기
$ gedit yesterday.txt 또는 vim yesterday.txt
$ ls -l
$ chmod 775 yesterday.txt
$ ls -l
$ rm -i yesterday.txt
$ ls -l