쌓고 쌓다

[Linux] 파일 권한 본문

프로그래밍/리눅스

[Linux] 파일 권한

승민아 2022. 3. 15. 21:33

"ls -al" 명령어로 파일들을 자세히 보면 앞부분에 권한 정보가 있다.

아래와 같은 형태이다.

drwxr-xr-x

앞의 첫 한자리는 File type을 갖는다. 그후 3개씩 각 영역을 나눠 Owner, Group, Others로 나눈다.

File type

  • - : 일반파일
  • d : 디렉토리
  • l : 링크 파일
  • b : Block device file
  • c : Character device file

Owners : 파일 또는 디렉토리의 창조자이다. (나)

Group : Owner의 그룹이다 ( 개발자들 )

Other : Owner과 Group이 아닌 모든 유저들 ( 우리 대학교 학생들 )

 

각 Permission은 3개씩 나눠지는데 모두 3칸은

r w x로 이루어져 있다.

각 칸에 해당 스펠링 (r, w, x)가 있다면 권한이 있다는것이고, -라면 없다는 것이다. 

  • r : 읽기
  • w : 쓰기
  • x : 실행
권한 파일 디렉토리
읽기 읽거나 복사 가능 ls 명령으로 목록 보기 가능(ls 명령은
실행 권한이 있어야 사용 가능)
쓰기 수정, 이동, 삭제 가능 파일을 생성하거나 삭제 가능
실행 파일 실행 가능 cd 명령 사용 가능, 파일을 디렉토리로 이동하거나 복사 가능

 

chmod command

: 파일의 권한을 수정 가능한 명령이다.

chmod [-option] mode filename
  • 반드시 파일의 이름을 포함해야한다.
  • 와일드 카드( * / ? )를 같이 사용 가능

chmod 기호 모드로 권한 변경하기

chmod [사용자 카테고리 문자][연산자기호][접근 권한문자] 파일명
  • chmod ugo+rwx myfile : ugo(소유자, 그룹, 이외사람)에 + (권한 추가) 를하며 rmw(읽고, 쓰고, 실행)을 추가한다.
  • chomod g+r customers : 그룹에 읽기 권한을 추가한다 파일명은 customers이다.
  • chmod go-wx account_info : 그룹,그외 사람들에게 쓰고,실행 권한을 제거하며 그 파일명은 account_info이다.

 

사용자 카테고리 문자

  • u : 파일 소유자
  • g : 소유자가 속한 그룹
  • o : 소유자와 그룹이외의 사람
  • a : 전체 사용자

 

연산자 기호

  • + : 권한 부여
  • - : 권한 제거
  • = : 접근권한 설정

 

접근 권한 문자

  • r : 읽기 권한
  • w : 쓰기 권한
  • x : 실행 권한

chmod 숫자로 권한 변경하기

chmod [숫자][숫자][숫자] 파일명

각 [ ] 박스의 숫자는 0~7의 값을 갖습니다. ( r = 4, w = 2, x = 1 )

예로 r - x 권한의 경우 4 0 1 이므로

해당 박스에는 4+0+1 인 5를 넣어준다면 r - w 를 뜻하는 겁니다.

 

추가적인 예로 rwxr-xr-x이면 Owner, group, others로 3자리씩 끊습니다.

[rwx][r-x][r-x] 이겠지요 이것은 아래와 같습니다

[4+2+1][4+0+1][4+0+1] => [7][5][5] 이므로 그냥 755 라고 쓰면 됩니다.

즉 member.txt라는 파일의 권한을 rwxr-xr-x로 변경할려면

아래처럼 명령을 실행합니다.

chmod 755 member.txt

 

000(rwx)

+ 이진코드로 010 즉, rwx가 010이면 쓰기만 1이므로 쓰기만 가능하다는 뜻이고

010은 2이므로 w = 2 라는 겁니다.

r = 4 의 경우 이진으로 100이니 100은 4+0+0이라서 4입니다.

 

Example)

chmod 711 data

위의 코드는 711으로 Owner은 "7"11에서 7로,

4+2+1 = 7을 갖는거라 읽고 쓰고 실행이 가능합니다

Group은 7"1"1으로 0+0+1 = 1이라 실행만 가능합니다

Others는 71"1"으로 0+0+1 = 1이라 실행만 가능합니다.

 

642는

Owner(6) : 읽기, 쓰기 가능

Group(4) : 읽기만 가능

Other(2) : 쓰기만 가능입니다. 

'프로그래밍 > 리눅스' 카테고리의 다른 글

[Linux] uniq 명령어  (0) 2022.04.06
[Linux] 파일 조작  (0) 2022.04.05
[Linux] 리다이렉션 ( Redirection )  (0) 2022.04.05
[Linux]Vi 에디터  (0) 2022.03.22
[Linux] 파일 시스템  (0) 2022.03.15
Comments