Programing/Linux

[리눅스]명령어 권한관련

하얀배터리 2018. 4. 2. 22:59
728x90




[리눅스] 권한관련 명령어




  • 권한의 변경 방법

            chmod
             
             파일이나 디렉터리의 접근 권한을 변경하기
        아래 세부 설명 


접근 권한의 종류

권한
파일
디렉터리
읽기     r
파일을 읽거나 복사 할 수 있다.
ls 명령으로 디렉터리 목록을 볼수 있다. ls 명령의 옵션은 실행 권한이 있어사 사용할 수 있다. 
쓰기     w
파일을 수정, 이동 , 삭제 할 수 있다. (디렉터리에 쓰기 권한이 있어야 한다.)
파일을 생성하거나 삭제 할 수있어야 한다. 
실행     x
파일을 실행할 수 있다(셀 스크립트나 실행 파일의 ㅣ경우)
cd명령을 사용할 수 있다. 파일을 디렉터리로 이동하거나 복사 할 수 있다. 



권한의 표기 방법

읽기  r             쓰기  w        실행  x        권한없는 경우 - 


  • 권한 표기
   rwx rwx rwx  
      소유자     그룹       기타사용자

      예시 1)   r-x r-- --x    소유자는 읽기,실행권한           그룹은 읽기 권한만       기타 사용자는 실행권한만 가지고 있다.


       예시 2)   rwx -w- ---  소유자는 모든 권한                 그룹은 쓰기권한            기타 사용자는 권한이 없음


  • 권한의 변경 방법

            chmod
             
             파일이나 디렉터리의 접근 권한을 변경하기
 
             chmod [옵션]  권한 모드 파일 또는 디렉터리 명

             옵션 -R  : 하위 디렉터리까지 모두 변경 할 수 있다.

             변경 방법은 2가지 모드가 있음

              - 기호 모드 : 접근권한을 변경하기 위해 문자와 기호를 사용하 여권한을 표시

              - 숫자 모드 :  접근권한을 변경하기 위해 숫자를 사용


            기호모드  :  chmod  [사용자 카테고리 문자]  [연산자 기호]   [접근 권한 문자] 

                         에시 ) chmod  [사용자 카테고리 문자]  [연산자 기호]   [접근 권한 문자]
                                                   u, g, o, a                    +, -                 r,w,x

                         에시 ) chmod u+w test                test파일 소유자에 쓰기권한 추가            chmod g+wx test       test 파일  그룹 카테고리에 쓰기와 실행권한 부여
                                                                                                                                    chmod go-x   test       test 파일  그룹과 기타 사용자의 실행권한을 제거 
                                                                                    a =  ugo  (즉 전체)                     chmod a-x   test         test 파일  사용자,그룹, 기타사용자 전체에 실행권한을 제거 
             

       
                         4 2 1     4 2 1    4 2 1
       숫자 모드 :  r w x     r w x     r w x 
                         소유자   그룹      다른사용자
                                       
                           4     1         1     4  2 1 
              예시 )   r  -  x   - - x    r w x                          
                             5        1        7  


                           4 2 1      4 2 1       4  2 1 
              예시 )   r w  x   r w x    r w x                          
                             7          7         7  
 
 
                             chmod 517 test   =   chmod u+rx g+x o+rwx    소유자에게는 읽기와 실행을  그룹에게는 실행만을  다른사용자에게는 모든권한을 부여







          기본 접근 권한 확인

          명령어 

          umask

          기본 접근 권한을 출력하거나 변경 

          umask [옵션] [마스크 값]

          -S : 마스크 값을 문자로 출력 한다. 

          사용 예 :  umask 022         umask 

              아무 인자 없이 umask 명령만 사용할 경우 기본 마스크 값 출력 
             



              값의 의미 :마스크 값은 파일이나 디렉터리 생성 시 부여하지 않을 권한을 지정해놓는 것
                              마스크 값이 002일경우 이는 -------w-이고,  기타 사용자에게 쓰기 권한은 부여하지 않겠다는 뜻
           

  

              umask 0022  ->  디렉터리 755 [777-22]                         ex)  777-027 = 750 -> rwx r-x---
                                       파일       644 [666-22]                         ex)  666-027 = 640 ->  rw-r-----      
                                                                                                   6-7 = -1   음수는 0으로 표기 한다.

             umask - umask 확인 

             umask 숫자  -umask 변경   ex)  umask 077

            

             특수 접근 권한

             접근 권한은 원래 4자리 
            
             생략된 맨 앞자리는 특수 접근 권한을 의미

             맨 앞자리 숫자가 0 이면 일반적인 접근 권한이지만 이 숫자가 1, 2, 4 이면 특수 접근 권한이 설정

                SetUID  : 맨 앞자리가 4            [해당 파일이 싱행되는 동안에는 파일 소유자의 권한으로 실행]

                         사용법  :  맨 앞자리에 4   ex) 4755
                      
                         실습하기
                                            
      1. 755 -> /usr/bin 에서 passwd로 페스워드 바꾸려 하면 불가능
      2. 4755->/usr/bin 에서 passwd로 페스워드 변경 가능
      3. 변경 내용 확인하려변 ls -l  -> grep passwd

                SetGID  : 맨 앞자리가 2           [해당 파일이 실행되는 동안에는 파일 소유 그룹의 권한으로 실행] 
                        
                         사용법 : 맨 앞자리에 2 ex)2755 

                스티기 비트 : 맨 앞자리가 1     [디렉터리에 설정 -> 누구나 파일 생성 가능]
                                        다른사용자가 생성한 파일 삭제 불가
                                  
                                        실습하기 :   777 -> user1 에서 파일 생성 -> user2 에서 삭제가능
                                                        1777 -> user1 에서 파일 생성 -> user2 에서 삭제 불가능

                                     /tmp 디렉터리가 대표적 
               









 하얀배터리 블로그에 작성된 글의 무단 복제 , 수정을 금지 합니다. 


 개시물은 배운 내용을 바탕으로 하여 쓰여진 것이므로 잘못된 내용이 있을 수 있습니다. 잘못된 내용은 지적 바랍니다. 


#하얀배터리 #IT #정보보안 #윈도우 #window #프로그래밍 #programming #html #java #C #javascript #database #jQuery #서버 #보안 #리눅스  











728x90