OS/Linux 기초

10. 권한_허가권(permission)

yeommm 2019. 8. 26. 14:25

 

리눅스는 멀티 유저 운영체제로서 권한 관리가 매우 중요하다.

 

(1) 권한 확인

ls -l 명령어를 통해 권한을 볼 수 있다.

ex) drwxr-xr-x    2    root root    6  7월 20 19:46 home

      허가권              소유권

 

 

(2) 허가권(permission)

*형식

파일/디렉토리 구분 소유자,사용자(owner)  그룹(group) 일반 사용자(other)
-/d r w x r w x r w x
777= 4 2 1 (*100) 4 2 1 (*10) 4 2 1 (*1)

r: read(읽기)

w: write(쓰기)

x: execute(실행, 접근)

 ->x가 파일에 있을 때는 실행의 의미

 ->x가 디렉토리에 있을 때는 접근의 의미

 ->디렉토리는 접근이 되어야만 안에 있는 파일들을 읽거나 쓸 수 있음 즉, 접근이 우선

 

*정리

허가권은 4부분으로 나뉘며 파일일 경우 -로 시작, 디렉토리일 경우 d로 시작한다.

허가권이란 파일에 대한 접근 권한으로, 권한을 가지는 대상을 owner, group, other로 분류한다.

허가권의 순서는 owner, group, other이며 각각 파일의 소유자, 소유자가 소속된 그룹, 일반 사용자를 뜻한다.

여기서 일반 사용자란 파일과 관련이 없는 사람이라고 생각하면 된다. 

 

대상 각각이 rwx의 순서로 권한을 부여하며 r=4, w=2, x=1을 의미한다. 2진수로 나타낸 값이다.

따라서 rwxrwxrwx라는 허가권을 읽을 때는 777과 같은 숫자로 읽는다. 

 ex) -wxr-xrw- == 356

      755 == rwxr-xr-x

 

*mkdir로 디렉토리를 만들면 허가권의 기본 설정이 755이다.

 

(2) 허가권 변경

파일이나 디렉토리의 권한을 변경

chmod: change modification

chmod [permission] [file/directory]

 

*변경 방법

1. numeric method: 숫자 형태로의 변경

    ex) chmod 623 inittab

 

2. symbolic method: 문자 형태로의 변경

  ->owner : u

  ->group : g

  ->other : o

    ex) 현재 허가권이 356인 inittab 파일의 허가권을 623으로 변경

             623    r w -     - w -    - w x
             356    - w x     r - x     r w -

             --------------------------------
                      u-r       g+r       o+r
                      u+x      g-w       o-x
                                 g+x

 

        -> chmod u-r+x,g+r-w+x,o+r-x inittab  //356에서 623이 되기 위해 필요한 권한 +/-로 조정

 

 

(3) 허가권의 의미

yeommm이라는 사용자 계정의 자세한 정보

위의 그림에 따라 drwx------은 yeommm이라는 사용자 계정의 허가권이다.

계정의 홈 디렉토리의 기본 허가권은 700으로 주인만 읽기, 쓰기, 실행이 가능하다.

이 허가권을 변경해보며 허가권이 가지는 의미를 살펴보자. //여기서 소유권은 신경쓰지 않아도 괜찮다.

허가권(owner부분만 표시) 1. ftp 접속이 되는가? 2. data upload가 되는가?
700(rwx) O O
600(rw-) X X
500(r-x) O X
400(r--) X X
300(-wx) O O
200(-w-) X X
100(--x) O X
000(---) X X

 

-> ftp 접속은 접근의 의미로 허가권 부분에 x가 있는 경우 가능하다. //디렉토리의 x는 접근이기 때문

-> 즉, x를 포함한 허가권, 백의 자리가 홀수인 허가권만 ftp 접속이 가능함을 알 수 있다.

-> 접근이 우선되어야 읽기 or 쓰기가 가능하기 때문에 접근이 되지 않는(x를 포함하지 않는) 허가권은 당연히 data upload가 되지 않음을 알 수 있다.

-> data upload는 쓰기의 의미로 허가권 부분에 w가 있는 경우 가능하다.

-> 따라서 wx를 포함한 허가권만이 ftp접속과 data upload가 모두 가능하다.

 

<FTP 접속>

데이터 전송(upload/download)을 위한 프로그램

Server와 Client의 데이터 전송

 

Upload: server -> client //PUT
Download: client -> server //GET

 

*윈도우에서 리눅스로 연결 //ftp 접속

윈도우의 cmd 창 열기 -> ftp [리눅스 ip주소] 입력 -> id, pw 입력

//윈도우에서 ftp 명령어가 인식되지 않을 경우: c:\windows\system32\ftp ip주소

 

*파일 전송 //data 전송

put [파일명] //업로드: 윈도우 -> 리눅스
get [파일명] //다운로드 : 리눅스 -> 윈도우