리눅스2008. 12. 14. 20:38
반응형
리눅스 파일 소유권과 퍼미션 및 변경

퍼미션:
파일을 사용할 수 있는 방식을 말하며 리눅스에서는 다음의 세가지의 퍼션이 있다.
  1. Read 퍼미션은 파일을 내용을 볼 수 있다.
  2. Write 퍼미션은 파일을 변경하거나 지울 수 있다.
  3. Execute 퍼미션은 파일을 프로그램으로 실행할 수 있다.
리눅스에서 파일이 생성되면 시스템은 기본 퍼미션으로 설정된다. 어떤 사용자에게는 읽기 소유권만 줄 수 있고 또 다른 사용자에게는 읽기/쓰기 퍼미션을 줄 수도있다.

다음은 디렉토리 퍼미션으로 파일 퍼미션과 조금 다른 의미를 가진다.
  1. Read 퍼미션은 디렉토리의 내용을 볼 수 있다.
  2. Write 퍼미션은 디렉토리에 파일을 추가하거나 지울 수 있다.
  3. Execute 퍼미션은 그 디렉토리의 파일 정보를 볼 수 있게 한다.

소유자와 그룹:
리눅스에서는 "소유자", "그룹" 그리고 "타인" 이라는 세가지 레벨의 퍼미션을 가지고 있다. "타인"은 소유자, 그룹의 맴버를 제외하고 시스템에 접근할 수 있는 모든 사람을 지칭한다.

다음은 ls -al 명령어를 실행하여 현재 디렉토리를 출력한 것이다.


첫째 문자 "d"는 디렉토리를 뜻하며, 하이픈(-)은 보통 파일임을 나타낸다. 다음 9자리 문자는 각각 소유자, 그룹 그리고 타인에 대한 퍼미션을 뜻한다. 그리고 다음에 나오는 syjung는 소유자의 이름이고, 그 다음에 나오는 syjung는 그룹 이름이다. 

apache-tomcat-5.5.27-compact.tar 파일의 퍼미션을 보면 rwxrwxrwx 이다. 소유자, 그룹, 타인이 모두 이 파일에 읽기, 쓰기 그리고 실행할 수 있다. 또다른 파일인 eclipse-SDK-3.4.1-linux-gtk.tar 은 -rw-r--r-- 이다. 풀이해 보면 보통 파일에 소유자는 읽기, 쓰기만 가능하고 그룹과 타인은 읽기만 가능하다.


소유자, 그룹 그리고 퍼미션 변경:
[chown] 소유자, 그룹 변경
Usage: chown [OPTION]... [OWNER][:[GROUP]] FILE

example:
chown syjung KKK.txt --> KKK.txt의 소유자를 syjung로 변경
chown -R syjung : clayworks  KKK --> KKK 및 하위 파일까지 소유자와 그룹을 syjung, clayworks로 변경

[chmod] 퍼미션 변경
Usage: chmod [Option]... MODE[,MODE]... FILE
           chmod [Option]... 8진수 -MODE FILE

example:
chmod +(-)x KKK --> KKK 파일의 소유자(u), 그룹(g) 그리고 타인(o) 모두에 x 퍼미션을 추가(삭제)한다.
chmode ug+rw KKK --> 소유자, 그룹에 읽기, 쓰기 퍼미션을 추가한다.

위와 같은 chmod 방식은 "심볼릭모드"라고 한다. 다음은 "절대모드"에 대해 알아 보자. "절대모드"를 이해하기 위해서는 비트(8진수) 관점에서 생각해야 한다.

example:
chmod 444 KKK --> 소유자, 그룹, 타인에 각각 r 퍼미션을 추가한다.
chmod 777 KKK --> 소유자, 그룹, 타인에 rwx 퍼미션을 추가한다.


리눅스를 사용하다 보면 종종 다음과 같은 메시지를 볼 수 있을 것이다.
       Shell-init : permission denied

해당 파일 및 디렉토리에 잘못된 퍼미션이 설정되어 있는 경우에 위와 같은 에러 메시지가 출력된다. 보통, chmod 755 퍼미션을 부여 하면 위와 같은 에러 메시지 대신 정상적으로 파일 및 디렉토리를 사용할 수 있다.
반응형
Posted by pmj0403