§.퍼미션 이해하기
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 |