IT기술/Linux

4-3 리눅스 권한 관리

dobbby 2013. 9. 6. 12:08
반응형

● 리눅스 권한 관리

   - 리눅스는 파일에 권한이 부여되어 있다.  =>  파일 권한

   - 파일 권한 확인


     ]# ls -l                         ┌ 소유그룹(그룹명) 

     drwxr-xr-x   2    root     root     4096  9월  3 04:23 Desktop

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

          └ 파일 권한   └ 소유자(계정)


   - 권한 해석  =>  rwx 권한이 3번 반복(권한이 없는 경우 -로 표시)


    =>      rwxrwxrwx   

              (1) (2) (3)


       1) 소유자 계정에게 적용되는 파일 권한   

       2) 소유그룹에 포함된 계정에게 적용되는 파일 권한

       3) 소유자 및 소유그룹의 계정이 아닌 나머지 계정에게 적용되는 파일 권한 

  

   - 권한 종류

                                      파일                             디렉토리(명령 사용 유무)

      r (read)           파일 내용 확인 유무         읽기 관련 명령 사용 유무(ls, cat, more, grep,...)

      w(write)          파일 내용 수정 유무         쓰기 관련 명령 사용 유무(mkdir, rm, cp, mv,...)

      x(execute)      파일 내용 실행 유무          접근 권한(cd)


     ※ 파일에는 w 권한을 부여하기 위해 반드시 r 권한을 부여한다.

     ※ 디렉토리는 r 또는 w 권한을 부여하기 위해 반드시 x 권한을 부여한다.  


   - 파일 권한 변경  =>  관리자 또는 파일 소유자만 변경 가능


      형식)  ]# chmod  변경옵션  파일명(디렉토리명)

      => 변경 옵션

        1) 변경 적용 대상 :   u(소유자권한)  g(소유그룹권한)  

                                     o(나머지권한)  a(모든계정권한)

        2) 권한 부여 또는 삭제 유무  :   +(권한부여)   -(권한삭제)  =(권한변경)

        3) 권한 종류  :  r(read)  w(write)  x(execute)  => 동시 적용 가능


    ex) ]# mkdir aaa

          ]# ls -l

          ...

          drwxr-xr-x   2 root root     4096 10월  3 12:07 aaa


          ]# chmod g+w aaa   =>  aaa 디렉토리의 소유그룹에 w권한 추가

          ]# ls -l

          ...

          drwxrwxr-x   2 root root     4096 10월  3 12:07 aaa




          ]# chmod o-rx aaa   =>  aaa 디렉토리의 나머지에 rx권한 삭제

          ]# ls -l

          ...

          drwxrwx---   2 root root     4096 10월  3 12:07 aaa


          ]# chmod g=rx,o=r aaa  => aaa 디렉토리의 그룹은 rx권한으로 변경, 나머지는 r권한으로 변경

          ]# ls -l

          ...

          drwxr-xr--   2 root root     4096 10월  3 12:07 aaa




    ex)  lee 및 park 계정 생성


         lee계정 :  /home/lee]$ cd /home/park     =>  허가 거부(/home/park 디렉토리의 권한 때문)

              ※ /home/park  =>  drwx------ 3 park park  4096 10월  3 12:13 park

                   => lee  계정이 /home/park 디렉토리에 접근하기 위해 park 계정이 권한 변경

               



         park 계정  :  /home/park]$ chmod  o+x  /home/park  => x권한 부여




         lee계정 :  /home/lee]$ cd /home/park    =>  가능

                      /home/park]$ ls -l     =>  허가 거부(r권한이 없기 때문)  




         park 계정  :  /home/park]$ chmod  o+r  /home/park  => x권한 부여




         lee계정 :  /home/park]$ ls -l     =>  가능




 ※ 일반계정의 홈디렉토리는 다른 계정들에게 w 권한을 부여하지 않는것을 권장


 - 권한의 8진수 표기법

      =>  r  :  4     w  :  2      x  :  1      -   :   0

      ex)   rwxr-xr-x   =>   755

             rw-r-----   =>   640

             rwx------   =>   700

             r-x--x--x    =>   511



  - 8진수 표기법을 이용한 권한 변경

     형식)  ]#  chmod   변경권한   파일명(디렉토리명)


     ex)    ]# ls -l

             ...

             drwxr-xr-x   2 root root     4096 10월  3 12:07 aaa

             ]# chmod 700 aaa

             ]# ls -l

             ...

             drwx------   2 root root     4096 10월  3 12:07 aaa              




  문제) wall 명령을 관리자만 사용할 수 있도록 권한을 변경하세요.


   ]# whereis wall 

   wall: /usr/bin/wall /usr/share/man/man1/wall.1.gz


   ]# ls -l /usr/bin/wall

   -r-xr-sr-x 1 root tty 10484  9월 18  2008 /usr/bin/wall


   ]# chmod 500 /usr/bin/wall


   ]# ls -l /usr/bin/wall

   -r-x------ 1 root tty 10484  9월 18  2008 /usr/bin/wall





반응형