퍼미션 이해하기퍼미션 이해하기

Posted at 2019. 10. 17. 17:02 | Posted in Server
반응형

§.퍼미션 이해하기


1. 퍼미션이란 ? 

퍼미션이란 리눅스는 보안 상의 이유로 다른 사용자들이 자신의 파일을 읽거나 쓰는 것을 제어할 수 있습니다. 이러한 역할을 하는 것을 퍼미션이라고 하는데 윈9x . 와는 다른 점 중에 하나입니다 

퍼미션... 말 그대로 사용자가 파일이나 디렉토리에 접근하기위한 허가 권한을 부여하는 것인데 이것은 접근에 제한을 두기 위한 것이죠.

그럼 아래 그림을 보면서 자세히 알아 보도록 하겠습니다.


퍼미션



처음 보이는 drwx------  파일(디렉토리) . 의 퍼미션을 나타내는 것입니다 

총 10개의 알파벳 문자로 표현을 하게되는데, 맨 앞에 'd' . 는 디렉토리를 나타냅니다.

'd' 없이 '-' . 만 있는 것은 표준 파일을 나타내는 것이며 다음으로 남은 9 . 개의 문자는 파일의 퍼미션을 나타냅니다.

앞에서 부터 순서대로 3 자리 씩 나누게 되는데, 3 앞의 자리는 파일의 소유자가 가지는 권한이며, 다음 3 . 자리는 소유자가 속해 있는 그룹에 대한 퍼미션을 나타냅니다.

그리고, 마지막 3 자리는 모든 사용자 그(룹) .


위 그림에서 -rw-rw-r-- 1 salmon salmon 141 9월 3 14:47 public.html  예를 들어 볼게요.

 -rw-rw-r--

 1

 sswoo

 sswoo

 4096

 10월 17일

 15:47

 public.html

 퍼미션구분

 링크수

 소유자

 소유그룹

 파일크기

 마지막 수정일

 마지막 수정시간

 파일명



Shell 상태에서 퍼미션의 표현은 문자와 숫자로 나타낸다. 숫자로의 표현과 문자로의 표현을 보게 되면 아래와 같습니다.

문자 

 숫자

 구분

 r

 4

 읽기

 w

 2

 쓰기

 x

 1

 실행


실제로 어떤 파일이나 디렉토리의 퍼미션을 확인하기 위해 $ ls -al 명령을 입력 할 경우에는 -rw-rw-r-- , 처럼 문자로 된 것을 확인하게 되지만 해당 파일이나 디렉토리의 퍼미션을 변경하 기 위해서는 위의 문자가 아닌 숫자를 이용해서 권한을 변경하게 됩니다. 이에 대한 예는 아래에서 확인하도록 하겠습니다. 그럼, . 문자로의 표현에서 소유자를 구분하는 것에 대해 살펴보겠습니다.

 -/d/l

 rw-

rw- 

r-- 

 파일구분

 소유자

 소유자

이외사용 


위 표를 조합해서 파일/디렉토리 퍼미션을 표현하게 되면 총 8가지의 경우로 나타낼 수 있습니다.

 퍼미션

 숫자값

 내용

 drwx------

 700

 소유자 만이 디렉토리를 읽고, 쓰고, . 실행 시킬 수 있다

 drwxr-xr-x

 755

 디렉토리에 대해 소유자는 읽기, , 쓰기 실행 모두 권한이 있 고 그, 룹에게는 읽고, , 실행만 그리고 그 외의 사용자에게는 읽고, . 실행할 수 있는 권한이 있다

 -rw-------

 600

 소유자에게만 읽고, . 쓰기가 허용 된다 그룹이나 그외의 사 용자에게는 접근할 수 있는 권한이 없다.

 drwxr-x---

 750

 해당 디렉토리에 대해 소유자는 읽기, , 쓰기 실행하기 권한 이 주어지고 그, . 룹에게는 읽기와 실행 권한만 주어진다 그 외의 사용자는 접근 할 수 없다.

 -rw-r--r--

 644

 소유자는 읽기, 쓰기가 허용되고 그, , 룹에게는 읽기만 그리 고 그외의 사용자에게는 읽기만 허용된다.

 -rw-rw-rw-

 666

 소유자 그, 룹, , 그외의 사용자 모두 읽기 쓰기 권한만 허용 된다.

 -rwxrwxrwx

 777

소유자 그, 룹, 그외 사용자 모두 읽기, , 쓰기 실행 권한이 허 용된다. 


2. 퍼미션 관련 기본 명령어

 2.1 chmod chmod는 change mode . 로 이해하면 됩니다.


즉 파일의 퍼미션을 바꾸기 위해 쓰는 명령어입니다. 


형식은 다음과 같습니다. 

# chmod 퍼미션값 해당 파일 

예를 들자면, 위의 public.html 권한은 로 -rw-rw-r-- 소유자는 읽기, 쓰기 그, , 룹은 읽기 쓰기 그 리고 이외 사용자는 읽기만 허용하고 있습니다. 

이것을 소유자는 읽기, , 쓰기 실행의 퍼미션을 주고 나머지 그룹과 이외 사용자에게는 읽기 권한 만 주고자 한다면 위의 형식을 바탕으로 아래와 같이 실행합니다. 


# chmod 744 public.html . 이렇게 하면 됩니다.


이와 다른 방식으로 퍼미션을 허가 받는 사람을 나타내서 변경할 수도 있습니다. 


# chmod u+x g+x o+w+x public.html . 이렇게 하면 됩니다.

참고로 u는 로 user 소유자, 즉 자기 자신을 말하며, g는 group을 의미하고, o는 other로 이외의 사용자를 의미합니다. 

여기에 사용되는 명령어로는 일반적으로 두 가지를 사용합니다. 

하나는 R 옵션과 나머지 하나는 f . 입니다.

R은 의 Recursive . 약자로 서브 디렉토리까지 모든 파일의 접근 허가를 변경한다 그리고,

f는 로 force . 강제적으로 퍼미션 변경을 수행하는 것입니다.


 2.2 umask umask . 는 시스템 파일이 만들어질 때 허가권의 기본값을 정하기 위해 사용되는 명령어입니다. 일반 적으로 파일의 경우 기본값은 666에서 umask 값이 빠지고, 디렉토리의 경우 777에서 umask값 이 빠지게 됩니다. 

- 기본 umask 알아보는 방법 

# umask 

022 

- umask값 변경 명령 

# umask 변경값 


2.3 chown 

chown은 chmod . 와는 달리 파일의 소유자를 변경하기 위한 명령어입니다 

형식은 아래와 같습니다. 

# chown 소유자명 파일명 

예를 들어, 소유자가 sswoo된 위의 public.html 파일을 소유자가 로 root 변경하고자 한다면 

# chown root public.html . 이렇게 하면 됩니다

# chown root.peter public.html 하면 소유자는 그 root 룹소유자는 로 peter . 변경됩니다.

※ 소유자와 그룹소유자를 한꺼번에 변경할때는 .으로 구분하면 됩니다.


[주요사용옵션-chmod, chown, chgrp]

 옵 션

 내 용

 -c, --change

 작업상태를 자세히 보여주지만, . 바뀐것만 보여준다

 -f, --silent, --quiet

 중요한 오류가 아니면 보여주지 않는다.

 -R, --recusive

 하위 디렉토리도 바꿔준다.

 -v, --verbose

 작업진행상태를 자세하게 설명해 준다.

 --help

 도움말을 보여주고 마친다.

 --version

 버전정보를 보여주고 마친다.


2.4 chgrp 

디렉토리에 있는 파일들 중에서 다른 사용자들과 함께 공유하고자 하는 파일은 해당그룹을 변경해야합니다. 이. 때 사용하는 명령이 chgrp . 입니다 

# chgrp 그룹명 파일명( )

반응형

'Server' 카테고리의 다른 글

su 사용자 제한하기  (0) 2019.10.21
솔라리스 7서버에 apache,mysql,php 설치하기  (0) 2019.10.19
그누보드에서 중국IP 차단하기  (0) 2019.10.07
웹파일 백업 스크립트  (0) 2019.10.07
telnet 막고 ftp만 권한 주기  (0) 2013.09.27

//