블로그 이미지
웰컴 광대

카테고리

분류 전체보기 (10)
Life (0)
컴퓨터 (10)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

태그목록

최근에 올라온 글

1. 퍼미션이란?


윈도98과는 달리 멀티유저 운영체제인 리눅스는 보안상의 이유로 다른 사람이 자신의 파일을 읽거나 파일에 다른 내용을 기록하는 것을 막을 수 있습니다. 이런 역할을 하는 것을 퍼미션이라고 합니다. 한 사용자가 다른 사용자의 파일을 마음대로 처리하게 될 수도 있기 때문에 이것을 예방하기 위해서 생성되는 파일이나 디렉토리에 각각의 접근허가권을 두어서 허가한 사용자(그룹)들만이 파일에 대한 접근권한을 가지게 만드는 것입니다. 이들 속성을 이용하여 각 파일 및 디렉토리들을 다른 사람들과 공유하거나 아니면 개인적인 목적으로만 사용할 수 있습니다. 퍼미션은 소유자/소유자가 속한 그룹/그외 유저(그룹)으로 나누어 주어지게 됩니다.

* 그룹(group) 이해하기

유저는 기본적으로 특정 그룹에 소속되어 있습니다. 관리자가 특별히 그룹을 지정하지 않으면 계정 이름이 그룹 이름이 됩니다. 만약 관리자가 관리의 편의를 위해 그룹을 구분지었다면 유저이름과 그룹이름이 다를 수 있습니다. 학교에서 반을 나누는 것과 같다고 생각하면 됩니다.


2. chmod 명령

 

2.1 chmod 란?

chmod 은 파일, 디렉토리, 장치, 프로그램등의 퍼미션(접근권한)을 바꾸는 명령입니다. 접근권한은 소유자, 소유 그룹, 그외 유저(그룹)의 3가지 대상으로 지정할 수 있고 각각의 대상에게 자신의 파일에 대한 읽기(read), 쓰기(write), 실행(execute) 권한을 지정할 수 있습니다.


2.2 chmod 사용하기

먼저 간략한 chmod 의 사용법부터 설명하겠습니다. 파일의 퍼미션을 바꾸려면 로그인 후 다음과 같이 하면 됩니다.

[root@junilove /root]# chmod 퍼미션값 대상

여기서에 퍼미션값은 권한변경대상과 접근권한으로 이루어져 있으면 이걸 다시 3자리 숫자로 표현할 수 있습니다. 대상은 퍼미션을 바꾸려는 파일이나 디렉토리 장치를 말합니다.

예를 들어, test.html 파일을 소유자만 읽기, 쓰기가 가능하고, 소유 그룹과 그외 유저(other)들은 읽기만을 허용하려고 하면 아래와 같이 하면 됩니다.

[root@junilove /root]# chmod 644 test.html


반복되는 특정 디렉토리 안에 모든 파일의 퍼미션을 바꾸려면 명령에 -R 옵션을 사용합니다.

예를 들어, /home/public_html/ 디렉토리와 그안에 있는 모든 파일들의 퍼미션을 755로 할려면 아래와 같이 하면 됩니다.

[root@junilove /root]# chmod -R 755 /home/public_html/


2.3 퍼미션과 값

중요한 파일 퍼미션에 대하여 간단히 설명하겠습니다. 앞서 말했듯이 리눅스에서 모든 파일과 디렉토리는 3가지 대상에 대한 접근권한을 가지고 있습니다. 소유자는 소유자 자신의 파일에 대하여 그룹과 시스템에 있는 모든 유저들에 대한 접근권한을 지정할 수 있습니다. 현재 설정된 퍼미션을 보고 싶으면 ls -l 명령을 하면 됩니다.

[root@junilove /root]$ ls -l

  total 11

  drwx------    2 ty   ty       4096 Jun  9 00:01 mail

  -rw-------    1 ty   ty        557 Jul  4 12:22 mbox

  drwx------    2 ty   ty       4096 Apr  5 20:55 nsmail

  drwx---r-x    4 ty   ty       4096 Jun 11 21:34 public_html

위 화면이 무엇을 의미하는지 아시나요?(^^) 아래에서 설명하겠습니다.

처음 부분은 파일의 퍼미션을 보여줍니다.

drwx---r-x  

처음 문자는 파일의 타입을 나타냅니다. 'd' 는 디렉토리를 의미합니다. '-'는 표준파일입니다.

다음 9 문자는 파일의 퍼미션을 나타냅니다. 처음 3문자는 파일 소유자가 가지는 퍼미션을 나타내고,

두 번째 3문자는 소유자가 속해있는 그룹에 대한 퍼미션을, 마지막 3문자는 모든 유져(그룹)에 대한 퍼미션을 나타냅니다.

drwxr-xr-x

1

root

root

1200

Aug

7

04:02

test.html

파일의 타입과 허가권

링크의 수

소유자

소유그룹

파일의 크기

 마지막 수정일

 마지막 수정 시간

파일이름




d

rwx

r-x

r-x

파일의 타입

소유자 권한

소유자 그룹 권한

그외 유저 권한

d : 디렉토리
- : 표준파일
l : 링크파일





 다음은 퍼미션을 표현하는 문자에 대한 설명입니다. 또한, 각각의 퍼미션 문자는 대응하는 값을 가지고 있습니다.

 문자

의미

 r

읽기

4

 w

쓰기 (추가, 수정, 리네임 등)

2

 x

실행

1


그리고 이 값들을 결합시켜서 퍼미션을 지정합니다.

퍼미션

의미

---

0

 퍼미션 없음

--x

1

 실행

r--

4

 읽기 전용

r-x

5

 읽기, 실행

rw-

6

 읽기, 쓰기

rwx

7

 읽기, 쓰기, 실행


아래에 3자리 숫자를 조합하여 만들 수 있는 중요한 퍼미션 몇가지를 적어보았습니다. 기본 보안과 관련된 것이니 꼭 알아둡시다.

퍼미션

의미

-rw-------

600

 소유자만 읽기 쓰기 퍼미션을 가집니다. 그 밖에 누구에게도 어떠한 접근권한도 주지 않습니다.

-rw-r--r--

644

 소유자는 읽기, 쓰기 퍼미션을 가집니다. 그룹과 그 외 유저는 오직 읽기 퍼미션만을 가집니다.

-rw-rw-rw-

666

 *매우 위험* 모두에 대하여 읽기 쓰기 권한을 줍니다.  다른 유저가 당신의 파일을 고칠 수 있습니다.

 -rwx------

700

 소유자만 읽기, 쓰기, 실행권한을 가집니다. 소유자가 프로그램을 실행할 때 사용됩니다.

-rwx--x--x

711

 소유자는 읽기, 쓰기, 실행을 할수 있는 퍼미션입니다.  그룹과 그외는 오직 실행만 할 수 있고, 읽기와 쓰기는 되지 않습니다.

-rwxr-xr-x

755

 소유자는 읽기, 쓰기, 실행권한을 가집니다. 그룹과 그 외 유저는 읽기, 실행 권한을 줍니다. (홈페이지 계정에 사용됩니다.)

-rwxrwxrwx

777

 *매우 위험* 모두에게 읽기, 쓰기, 실행 퍼미션을 줍니다. 다른 유저가 파일을 수정할수 있고 이로 인해 문제가 생길수 있습니다.

drwx------

700

 소유자만이 디렉토리의 읽기, 쓰기가 됩니다.

drwx--x--x

711

 이 퍼미션은 디렉토리를 다른 유저의 접근으로부터 보호합니다. 오직 소유자만이 이 디렉토리안의 내용물을 보거나 수정할수 있고 다른 유저나 그룹들은 그것을 읽지는 못합니다.

drwxr-xr-x

755

 이 디렉토리는 소유자만이 바꿀수 있지만 모든 유저들이 그안의 내용을 볼 수 있습니다. (홈페이지 계정에 사용됩니다.)


3. chown 명령

 

3.1 chown 이란?

파일에 대한 소유자를 바꾸기 위해서는 chown명령을 사용합니다. 이명령은 root 만이 사용할 수 있습니다. chown을 사용하면 소유자를 바꾸면서 소유 그룹도 바꿀 수 있습니다.


3.2 chown 사용하기

파일의 소유자를 바꿀려면 root로 로그인 후에 다음과 같이 하면 됩니다.

  [root@junilove /root]# chown 소유자이름 파일이름

소유자 이름은 유저의 로그인 이름을 말하는 겁니다. 또, 파일 이름은 소유자를 바꿀 파일 이름을 나타냅니다.

예를 들어서, index.html 의 소유자를 root에서 juni로 바꿀려면 다음과 같이 하면 됩니다.

[root@junilove /root]# chown juni index.html


 또한 서브디렉토리와 파일까지 포함해서 소유자를 바꾸려면 -R 옵션을 사용하면 됩니다. 예를 들어, public_htmlf 디렉토리와 그 안의 모든 서브디렉토리와 파일의 소유자를 juni로 바꾸려면 다음과 같이 하면 됩니다.

  [root@junilove /root]# chown -R juni public_html


 또다른 옵션으로 파일의 소유자와 그룹을 같이 바꾸려면 다음과 같이 하면 됩니다.  

  [root@junilove /root]# chown 소유자.그룹 파일이름

아래의 예제는 test.html 디렉토리의 소유자는 juni로 그룹은 juni로 바꾸는 예제 입니다.

  [root@junilove /root]# chown juni.juni test.html


그리고 소유 그룹만을 바꾸기 원한다면 chgrp 명령을 사용하면 됩니다. chgrp의 사용예는 다음과 같습니다.

  [root@junilove /root]# chgrp juni test.html

test.html 의 소유 그룹을 juni로 바꾸는 명령입니다.

[출처] 퍼미션|작성자 소심옵션

Posted by 광대
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함