권한에 대한 소유권과 허가권에 대한 상세 정보를 보고 싶으시면

아래의 글을 참고하여 주시기 바랍니다^^

 

2011/04/19 - [Linux/Tip & Tech] - Linux 에서 사용하는 소유권/허가권 을 알아보자.

 

그럼 이제 각각의 권한 설정 명령어의 내용을 살펴 보도록 하겠습니다.

============================================================================================================================

- chmod (Change Modification, 허가권(Permission)) -
1. 정의 : 파일 또는 디렉터리의 허가권을 설정

 

2. 형식
  - Numeric  : #chmod [Perm] [파일 / 디렉터리 Name]

  - Symbolic : #chmod [Symbol] [파일 / 디렉터리 Name]

 

============================================================================================================================

- chown (Change Ownership, 소유권(UID/GID)) -
1. 정의 : 파일 또는 디렉터리의 소유권을 설정 (uid, gid)

 

2. 형식
  - #chown [uid.gid] [파일 / 디렉터리 Name]
  - #chown [uid:gid] [파일 / 디렉터리 Name]

 

     [ 추가사항 ]
        - #chown root. [File/Dir]
             : 소유권 변경시 '.' 또는':' 뒤에 아무것도 없으면 입력했던 Uid 값을 기준으로 "/etc/passwd" 안에 존재하는

               gid를 검색하여 "/etc/group" 존재하는 gid의 그룹명으로 자동 입력되게 된다.

        - #chown .root [File/Dir]

             : 소유권 변경시 '.' 또는':' 앞에 아무것도 없으면 그룹 권한만 적용됨 (chgrp 와 동일한 기능)

 

============================================================================================================================

☆권한 설정시 꼭 알아두기!!!☆

※ 모든 권한의 적용은 현재 로그인을 하는 사용자를 기준으로 적용 및 확인한다.


※ 권한 중 허가권보다 소유권이 우선한다.
   - 로그인한 사용자가 소유권의 UID/GID 에 모두 해당되는 경우는 Uid 의 권한을 적용받음
   - 로그인한 사용자가 소유권의 UID/GID 에 모두 해당되지 않을 때 other의 권한을 적용받음

      ( 권한적용 = Uid > Gid > Other)


※ ftp 및 Terminal (원격접속 서비스) 의 경우

Info

W

X

Dir 

목록출력

(ls, dir 등) 

업로드, 쓰기, 삭제

(FTP[put], mkdir, touch, rmdir, rm 등)

접근, Login, 필수권한

File

내용출력

(cat, more 등) 

업로드, 쓰기, 삭제

(FTP[put], mkdir, touch, rmdir, rm 등)

실행(#/$ 상태로 입력여부)

 - 허가권 설정시 Dir 의 경우는 ["x" -> "r" -> "w"] 순서로, File 의 경우 ["r" -> "w" -> "x"] 해석을 하면 관리가 용이하다. 


※ Web의 출력에 대한 사항

    -> 정상적으로 출력하기 위해 필요한 권한 (2가지 모두 충족해야함)
        * 해당 디렉터리의 경로에 other 부분의 'X' 권한 적용 여부
        * 해당 디렉터리의 경로안에 있는 파일의 other 부분의 'R' 권한 적용

 

============================================================================================================================

- umask -
1. 정의 : 파일 또는 디렉터리 생성시 기본값을 설정/확인할 수 있는 명령어

 

2. 형식
  - #umask [Perm] 

  - 공식 : [ "맥스값"-"UMASK"="기본값" ]

 

    - Max Permission -
     Dir : 777 ('x'는 접근권한으로 생성시 접근이 가능해야 함)
    File : 666 ('x'는 실행에 대한 권한을 가지므로 최초 생성시
                  실행파일로 생성되지 못하게 설정됨)

 

 - 계산법 -

      DIR  : rwxrwxrwx  (777)

     FILE : rw-rw-rw-  (666)
UMASK  : ---rwx-w-  (072)
       dir  = rwx---r-x  (705)
        file = rw----r--  (604)

 


 [ 추가사항 ]
  * "/etc/profile" 에 의해 umask 기본값은 아래와 같이 적용되어 있다.
     - 사용자(users) : umask 002
     - 관리자(root) : umask 022

 

  ex) noose 로그인

     noose]$umask

     umask 0002
     noose]$ touch ./file
         rw-rw-r--   file   : 기본값으로 생성된 허가권 (664)
     noose]$ mkdir ./dir
         rwxrwxr-x  dir    : 기본값으로 생성된 허가권 (775)

 

       root 로그인

     root]# umask

     umask 0022
     root]# touch ./file
         rw-r--r--   file   : 기본값으로 생성된 허가권 (644)
     root]# mkdir ./dir
         rwxr-xr-x  dir    : 기본값으로 생성된 허가권 (755)

 

============================================================================================================================

- 특수권한(stickybit, SetUID, SetGID) -

  ※ 특수권한의 표현식
1. SetUID (4000)
   - 'x' 의 권한 O : rws rwx rwx
   - 'x' 의 권한 X : rwS rw- rw-

2. SetGID (2000)
   - 'x' 의 권한 O : rwx rws rwx
   - 'x' 의 권한 X : rw- rwS rw-

3. StickyBit (1000)
   - 'x' 의 권한 O : rwx rwx rwt
   - 'x' 의 권한 X : rw- rw- rwT

 

  => 'x'의 권한이 있으면 소문자로 / 'x'의 권한이 없으면 대문자로 출력

 

 

  ※ 특수권한의 형식
    - #chmod [SPerm] [ File / Dir ]

 

============================================================================================================================

  ◎ stickybit
1. 정의 : 디렉터리에 쓰기권한이 있어 해당디렉터리내 파일에 권한이 없어도 삭제할 수 있는 사항을
            방지하기 위해 사용(stickybit 설정은 디렉터리에만 가능)

 

2. 형식
    - #chmod 1XXX [ Dir ]

 

============================================================================================================================

  ◎ SetUID/SetGID
1. 정의 : 실행파일을 실행하려는 다른 사용자가 해당 실행파일의 소유자/소유그룹의 권한을
            빌려서 실행하고자 할 때 사용한다.

 

2. 형식
   - #chmod 4XXX [ 해당 File ] : SetUid 적용
   - #chmod 2XXX [ 해당 File ] : SetGid 적용


AND