Patrick's 데이터 세상

Linux - 퍼미션(권한) 본문

Programming/Linux

Linux - 퍼미션(권한)

patrick610 2020. 6. 23. 00:37
반응형
SMALL

특정 파일이나 디렉터리에 대해 읽기, 기록하기, 삭제하기 등 권한을 설정해 놓은 것입니다.



퍼미션 특징

퍼미션 의미 파일 디렉터리
r 읽기(read) 권한 파일 읽기 디렉터리의 내용을 볼 수 있음
w 쓰기(write) 권한 파일 저장, 삭제 디렉터리에 파일저장, 디렉터리 이름 변경, 삭제 가능
x 실행(execution) 권한 파일 실행 디렉터리에 접근 할 수 있음
s SetUID, SetGID 권한 파일 소유자, 그룹 소유자의 권한으로 실행
t Sticky Bit 권한 공유 디렉터리로 사용됨

 



실제 퍼미션의 확인

> ls -l

각각의 파일은 총 7가지의 속정을 가지게 되는데 각 부분의 의미하는 바는 다음과 같습니다.

1. 파일 퍼미션 : 접근 권한 명시

2. 링크 카운터 : 해당하는 데이터블록에 연결되어진 파일의 개수

3. 파일의 소유자

4. 파일그룹 소유자

5. 파일 사이즈

6. 최종 변경 일시

7. 파일 이름

 

위와 같은 정보에서 퍼미션 부분을 보면 다음과 같습니다.

d

r

w

x

r

-

x

r

-

x

A: 파일유형

B: 소유자 권한

C: 그룹 소유자 권한

D: 일반 사용자 권한

위와 같은 정보를 바탕으로 해당하는 파일은 디렉토리이며 소유자는 읽고 쓰고 실행할 수 있고 그룹 소유자는 읽고 실행만 가능하며 일반 사용자는 읽고 실행 할 수 있다는 것을 알 수 있습니다.

 

A: 파일유형

해당하는 파일의 종류를 명시하는 부분이며 한 개의 문자로 표현합니다. 시스템에서는 파일은 크게 일반 파일과 특수 파일로 구분할 수 있고 일반 파일에는 텍스트, 실행, 데이터 파일이 포함되고 특수 파일에는 블록파일, 캐릭터파일, 링크 파일등이 해당됩니다.

 

문자의 의미

문자

의미

-

일반파일을 의미

b

블록구조의 특수파일 (/dev/sda)

c

입출력에 사용되는 특수파일을 의미 (dev/console)

d

디렉터리를 의미

l

심볼릭 링크파일 (symbolic link file) 의미

다중사용자시스템에서는 파일의 보안을 위하여 퍼미션을 설정해야 하고 경우에 따라서 퍼미션을 조정해야 하는 경우가 생길 수 있습니다. 퍼미션을 변경하는 명령은 chmod가 있고 파일의퍼미션을 변경하는 방법에는 캐릭터 방식과 8진수를 이용하는 방법이 있습니다.

 

 퍼미션 변경하기

 

더보기

chmod [변경될 퍼미션값] [변경할 파일]

chmod [변경될 퍼미션값] [변경할 파일]

- 특정 파일 또는 디렉토리의 퍼미션 수정



 [퍼미션 값 구하는 방법]

  • 각 퍼미션 기호를 숫자로 변환 합니다.   ( r = 4 , w = 2 , x = 1 ) 

 

예) r  -  x 인 경우 4  0  1

 

  • 변환한 숫자를 합산합니다.
예) 4  0  1 인 경우  4+0+1 = 5

이런식으로 하나의 퍼미션을 숫자값으로 변환하면 됩니다..


rwxr-xr-x 이면 
rwx(소유자),  r-x(그룹),  r-x(공개) 세자리씩 끊고, 4+2+1  | 4+0+1 | 4+0+1  숫자변환 뒤 합산하면 "755" 라는 퍼미션값이 나옵니다.


그래서 " 
chmod 755 conory.text " 명령을 실행하면 conory.text 파일이 755에 해당되는 퍼미션으로 변경됩니다.

그리고 디렉토리도 이 방법으로 퍼미션을 변경할 수 있습니다.


디렉토리의 경우 "-R" 옵션을 사용하면 하위 디렉토리의 모든 디렉토리및 파일의 퍼미션이 변경됩니다.

예) " chmod -R 777 conory " conory 디렉토리의 하위에 위치한 모든 파일및 디렉토리 퍼미션이 777로 변경됩니다.

 

 

소유자 변경하기

 

더보기

chown [변경할 소유자] [변경할 파일]

 

ex) chown -R oracle:dba log.text

chown [변경할 소유자] [변경할 파일]

 

ex) chown -R oracle:dba log.text



변경할 소유자에 oracle(소유자).dba(소유자 그룹)으로 표기하여 소유자와 소유자 그룹을 지정할 수 있습니다.

 

 



반응형
LIST

'Programming > Linux' 카테고리의 다른 글

Linux - 파일 관련 명령어  (0) 2020.06.24
Linux - 명령어 모음  (0) 2020.06.23
Linux - 디렉터리 / 파일 생성 명령어  (0) 2020.06.23
Linux - vi 편집기  (0) 2020.06.23
리눅스 기본 명령어  (0) 2020.06.23
Comments