티스토리 뷰



linux 기초 권한 확인과 변경하기









권한(퍼미션 이라고 하겠습니다.)은 시스템에서 유지되는 퍼미션이라고 생각하시면 됩니다.

리눅스에서 퍼미션을 설정하고 사용하는 이유는 내가 만든 파일이나 디렉터리를 다른 사람(일반 사용자)이 마음대로 

수정하거나 삭제하는 것을 막기위함에 있습니다.







또한 내가(소유자) 설정한 유저들간에 읽기만 할 수 있게 공유 할 파일인데 내가 내 파일을 잘못 수정 할 수도 있고,

"이 파일을 만든 사람은 누구지?" 라는 소유의 문제도 생길 수 있습니다.


리눅스는 많은 사용자들이 사용하는 서버용 운영체제이기 때문에 윈도우보다 퍼미션기능이 많이 활성화 되어 있습니다.

이러한 여러 사태에 대해 퍼미션은 리눅스 사용자들에게 있어 매우 중요한 설정일 수 있습니다.


>>실제로 root의 권한을 획득하는것이 시스템 해킹의 가장 큰 목적이라고 할 수 있습니다.<<








↑간단하게 ls  -al 명령어를 통해 모든 파일에 대한 퍼미션 정보를 볼 수 있습니다. 앞에 박스 내용이 파일에대한 퍼미션입니다. 지



#ls -al : 현재위치에있는 모든파일들을 자세히 보여줍니다. (숨길파일 포함)

#ls -l : 현재위치에있는 파일들을 자세히 보여줍니다. (숨길파일x)









1. d : 파일의 종류(-:일반파일, d:디렉터리)  #html.은 디렉터리 임을 알 수 있습니다.

2. rwxr-xr-x : 파일을 읽고 쓰고 실행할 수 있는 접근 권한을 표시합니다. # 이는 사용자 카페고리별로 세 문자씩 

   하나의 세트로 표기한 것입니다.

    

    rwx 소유자의 권한(User) [읽기,쓰기,실행 권한 모두 가짐]

    r-x :  그룹의 권한(Group) [읽기와 실행 권한만 가짐]

    r-x :  기타 사용자의 권한(Other) [읽기와 실행 권한만 가짐]


4. 하드링크의 개수 (하드 링크란? 파일의 바로가기 파일이라고 생각하시면 됩니다.)

5. 파일 소유자의 로그인 ID

    - 리눅스에서 모든 파일은 소유자가 있습니다. 시스템 관련된 파일은 대부분 루트(root) 계정이 소유자이고, 일반 파일은 해당 파일을 생성한      사용자가 소유자 입니다.

6. 파일 소유자의 그룹 이름( 일반적으로 파일 소유자의 로그인 ID와 같습니다. )

    - 사용자가 속한 기본 그룹은 시스템 관리자가 사용자를 등록할 때 결정합니다. 사용자가 임의로 자신의 그룹을 바꿀 수 없으며 

        반드시 시스템 관리자에게 변경을 요청해야 합니다. 사용자가 속한 그룹을 알기위한 명령어:group

7. 파일의 크기(바이트 단위)

8. 파일이 마지막으로 수정된 날짜

9. 파일의 이름



카테 고리 별로 접근 권한은 읽기(r)-쓰기(w)-실행(x)의 순서로 표기하며 해당 권한이 없을 경우 -로 표기 합니다.


 - r 은 파일이나 디렉터리의 내용을 읽어 들이는 것과 관련이 있습니다.

 - w 는 파일의 내용을 수정,변경하거나 디렉터리의 내용을 생성 및 삭제하는 것과 관련이 있습니다.

 - x 는 파일에서 x가 있다면 실행파일, x가 없다면 문서파일을 의미하고, 디렉터리와 파일 모두 접근 권한과 관련이 있습니다.




※접근을 할 수 있어야 파일 과 디렉터리를 읽을 수 있고 읽을 수 있어야 수정하거나, 삭제할 수 있습니다.

즉 접근 권한이 보장 되어야 합니다.



권한 부여하기 : #> chmod [옵션] [퍼미션] [파일 및 디렉터리]





↑chmod 명령어를 통해 소유자, 그룹, 사용자 모두에게 읽기,쓰기, 실행의 권한을 주었다. 숫자로 환산할 때는 권한이 있으면 1, 권한이 없으면 0으로 바꾼후 이를 2진수 세 자리로 간주하여 8진수로 환산하면 권한 묶음을 0~7의 숫자중 하나로 표기 가능하다.



★ 권한 묶음(rwx)을 숫자로 환산하기


 접근 권한과 숫자의 대응관계!

 접근 권한 

 환산 

 숫자 

 의미 

 rwx

 111 → 4+2+1

 7 

 읽기,쓰기, 실행 

 rw- 

 110 → 4+2+0

 6

 읽기 쓰기 

 r-x

 101 → 4+0+1 

 5 

 읽기, 실행 

 r--

 100 → 4+0+0 

 4 

 읽기 

 -wx 

 011 → 0+2+1 

 3 

 쓰기, 실행 

 -w- 

 010 → 0+2+0 

 2

 쓰기 

 --x 

 001 → 0+0+1 

 1 

 실행

  --- 

 000 → 0+0+0

 0 

 권한이 없음 



자주 사용되는 접근권한의 예!

 접근권한

 8진수 모드 

 접근 권한 

 8진수 모드 

 rwxrwxrwx 

 777 

 rw-r--r-- 

 644 

 rwxr-xr-x 

 755 

 rwx------ 

 700 

 rw-rw-rw 

 666 

 rw-r----- 

 640 

 r-xr-xr-x 

 555 

 r-------- 

 400 

 





기호를 이용한권한 부여하기 



↑기호를 이용해 더 간단하게 권한을 부여할 수 있다.


↑익숙해 진다면 숫자를 사용하는 것 보다 간편하다.


↑ ,(콤마)을 이용해 동시에 권한 부여 가능



☆기호모드에서 사용되는 문자와 기호

 구분

 문자/기호 

 의미 

  사용자 카테고리 문자

 u

 소유자 

 g 

 그룹 

 o 

 기타 사용자

 a 

 전체 사용자 

  연산자 기호

 + 

 권한 부여 

 - 

 권한 제거 

 =

 접근 권한 설정 

  접근 권한 문자

 r 

 읽기 권한 

 w 

 쓰기 권한 

 x 

 실행 권한