맞춤검색
2009.03.10 16:49

chmod, permission state 바꾸기

Permission

ls -l 명령을 주면, permission state에 관한 것을 볼 수 있다.
우선 맨 왼쪽부터
퍼미션 | 링크수 | uid(사용자) | gid(그룹) | 파일크기 | 만들어진 날짜 와 시간 | 파일이름
이렇게 구성된 리스트이다.

퍼미션 - 사용권한이다.
총 10자리로 구성되어 있다.


-  ---  ---  ---

첫번째 자리는 파일유형이다. d일때는 디렉토리,  l은 링크파일, b은 블럭파일 등이 있다.

두번째(2-4자리)는 소유자(User)의 허가권으로 읽고  쓰고 실행하는 권한을 나타냅니다.
세번째(5-7자리)는 소유그룹(Group)의 허가권으로 읽고  쓰고 실행하는 권한을 나타냅니다.
네번째(8-10자리)는 다른사용자(Other)의 허가권으로 읽고  쓰고 실행하는 권한을 나타냅니다.
권한이 있을경우 읽기 권한은 r, 쓰기 권한은 w, 실행하는 권한은 x로 나타냅니다.

만약 자신에 맞는 소속에 권한이 없을경우.
chmod:  .:  허가 거부됨.
이런 메세지가 나오게 됩니다.
----------------------------------------------------------------------------------------

1.chmod - 파일 사용권한 조정
퍼미션 변경을 위한 명령어
우선 퍼미션은 그 파일의 소유자나 슈퍼유저가 할수 있습니다.

 

   chmod [퍼미션값 or 퍼미션변경값] 파일명  

디렉토리구조에도 절대경로와 상대경로가 있듯이 이방식에도 2가지 방식이있습니다. 파일 타입을 제외한 퍼미션은 총 9자리인데, 그중 사용자,그룹,다른유저의 퍼미션이 각각 3자리씩 나눠 갔게 됩니다. 3자리는 순서대로 읽기권한,쓰기권한,실행권한을 나타냅니다.

- --- --- ---

파일      읽기  쓰기 실행      읽기  쓰기 실행    읽기  쓰기 실행

타입      권한  권한 권한      권한  권한 권한    권한  권한 권한

            소유자(User)      소유그룹(Group)    다른사용자(Other)

 

읽기 권한에 대한 값은 4

쓰기권한의값은 2

실행권한의 값은 1입니다.

 

즉.  r__ 읽기 권한 줄경우는 4

      rw_ 읽기 쓰기권한은 6(4+2)

      r_x 읽기 실행권한을 줄경우 5(4+1)

      rwx 읽기 쓰기 실행 권한 다줄경우 7(4+2+1)입니다.

 

이렇게 각각의 3종류의 소유자,소유그룹,다른사용자 3그룹의 권한값을 합하여 허가권을 선언하게 됩니다.

 

    chmod 755 testA     

testA 허가권을 755로 선언합니다.(소유자는 읽고쓰고실행,그룹은 읽고실행,다른유저도 읽고실행)

  -rwxr-xr-x  1  root  root  12   6월 5일 22:34  testA 

 

대충 이렇게 나오게 됩니다.

 

위에서 절대 경로처럼 현재 값과는 상관없이 값을 지정해줬다면 밑에선 현재 값에 상대적인 값을 지정해 주도록 합니다.

 

      chmod o+w testA  

 

이 방식은 u(user), g(group),o(other) 소속에 r(읽기),w(쓰기),x(실행)권한을 더하고 빼는 방식입니다.

 

  -rwxr-xr-x  1  root  root  12   6월 5일 22:34  testA 

 

      chmod u-w testA  

위는 소유자그룹에서 쓰기기능을 빼는것입니다.

      chmod g+w testA  

 위는 소유그룹에서 쓰기기능을 추가하는것입니다.

옵    션

            의     미

-R, --recursive

디렉토리 안의 파일을 모두 변경한다.


특수 목적 접근 모드

--------------------------------------------------------------------------

   코 드   |          비트명               |절대적 방법 |      의       미

--------------------------------------------------------------------------

      t       |        sticky bit             |     1000       |실행후에도 메모리에 상주

--------------------------------------------------------------------------

     s       |SetGID(set group ID)  |     2000       |프로세스 실행 당시의 GID로 설정

--------------------------------------------------------------------------

     s       |SetUID(set user ID)    |     4000       |프로세스 실행 당시의 UID로 설정

--------------------------------------------------------------------------

 

2. chown - 파일 소유자 변경

파일의 소유자나 소유그룹을 변경시키는 명령어

 

chown [옵션] [소유자:소유그룹] [파일명]

# chown sample:report west.txt

             소유자   소유그룹   파일명

Trackback 1 Comment 0