관리 메뉴

NineTwo meet you

[리눅스 기초] 퍼미션 이해 및 사용 본문

CS/리눅스

[리눅스 기초] 퍼미션 이해 및 사용

NineTwo 2020. 7. 27. 23:35
반응형

퍼미션

유닉스/리눅스 시스템의 모든 파일과 디렉터리는 퍼미션들의 집합으로 구성되어있으며 다중 사용자 환경에서 이는 가장 기초적인 보안 방법이라 할 수 있다.

퍼미션은 시스템상에 존재하는 파일에 대한 읽기, 쓰기, 실행에 대한 접근부여 여부를 결정하며

ls -l과 ls -n명령으로 확인 할 수 있다.


파일의 속성

속성 설명
- regular file 일반 파일로 바이너리 파일이거나 아스키 텍스트 파일입니다.
d directory file 디레토리 파일입니다.
b block device file 블록 장치 파일입니다.
c character device file 캐릭터 장치 파일 즉 원시 장치 파일입니다.
D Door file 도어 파일 입니다.
s socket file 소켓 파일 입니다.
l symbolic link file 심볼릭 링크 파일(소프트 링크) 파일입니다.
p pipe file 파이프 파일 입니다.

사용자 구분

항목 설명
User 사용자 파일과 디렉토리의 소유자, 파일이나, 디렉토리를 생성한 사용자가 일반적으로 소유자가 되거나 명령을 통해 변경이 가능하다.
Group 그룹 사용자가 속한 논리 그룹으로 파일이나 디렉토리를 생성한 사용자의 기본그룹으로 지정되거나, 명령을 통해 변경 가능하다.
Others 기타 소유자나 그룹에 속하지 않은 사용자

파일과 디렉토리의 퍼미션

퍼미션 문자 파일 디렉토리
읽기 r 파일의 내용을 확인하거나 복사할 수 있다.
ls, cat, more, head, tail, wc
ls 명령어를 사용하여 디렉토리 내용을 확인 할 수 있다.
쓰기 w 파일의 내용을 수정할 수 있다.
vi editer 
실행 권한이 있는 경우 디렉토리 내의 파일을 추가하거나 삭제할 수 있다.
touch, mkdir, rm
실행 x 실행파일의 경우 실행할 수 있다.
쉘 스크립트 파일의 경우 읽기와 실행 퍼미션을 가지고 있다면 실행 할 수 있다.
cd 명령어를 이용하여 디렉토리에 접근할 수 있다.
읽기 권한이 있다면 ls -l 명열으로 디렉토리 내용을 확일 할 수 있다.

퍼미션 결정 과정

1)    id 명령어로 현재 사용자의 UID와 GID를 확인한다.

2)    ls -l이나 ls -n 명령어로 파일이나 디렉터리의 UID와 GID를 확인한다.

 

if    사용자 UID == 파일 UID

        User permission 을 부여 받음

else if    사용자 GID == 파일 GID

        Group permission을 부여 받음

else

        User Other Permission을 부여 받음


chmod

파일의 소유자나 root사용자 권한으로 퍼미션 변경을 수행할 수 있는 명령어다.

$chmod mode filename
mode
who op permission
u 사용자
g 그룹
o 기타
a 모든 사용자
+ 퍼미션 추가
- 퍼미션 삭제
= 퍼미션 추가
r 읽기
w 쓰기
x 실행

8진수 모드 권한 집합

8진수 퍼미션 집합
7 rwx
6 rw-
5 r-x
4 r--
3 -wx
2 -w-
1 --x
0 ---

umask

파일과 디렉토리는 생성될 때 기본 권한으로 생성된다.

이러한 기본 권한은 umask에 의해 설정되며 변경도 가능하다.

 

 

umask 변경시 => 디렉터리 권한 값은 full - umask

                   => file은 디렉터리 권한 값 -1

 


chown

파일이나 디렉토리의 소유자와 소유 그룹을 변경하는 명령어다.

-R옵션 사용시 하위 목록도 다 같이 변경된다.

#chown (-R) 바꿀 소유자:바꿀 소유 그룹 filename

 

반응형
Comments