OS/Linux 기초

11. 권한_소유권(ownership)

yeommm 2019. 8. 28. 00:45

 

(1) 소유권

더보기

노란색 부분이 소유권!

소유권이란 말 그대로 소유자(사용자)가 가진 권한으로 허가권에서 owner부분의 권한을 가진 대상을 뜻한다.

 

*형식

UID GID
root root

-> ls -l 명령어를 통해 볼 수 있는 노란색 부분에서 앞 부분을 UID, 뒷 부분을 GID라고 한다.

-> UID는 user id로 사용자, 즉 현재 로그인 되어 있는 계정의 id 이다.

-> GID는 group id로 사용자가 속해 있는 그룹이다.

 

=> 소유권을 통해 허가권에 대한 소유자를 알 수 있다.

 

 

(2) 소유권 변경

허가권에 대한 소유자 변경

chown [UID]:[GID] [file/directory]

 

1. 단순 변경

    ex) chown user1:user1 ./a       

    ex) chown root:user1 ./a   

       

2. UID, GID를 따로 지정하지 않으면 UID만 변경된다.

    ex) chown user1 ./a    //UID=user1, GID 변경x

 

3. : 대신에 . 을 사용해도 된다.

    ex) chown user1.user1 ./a    //chown user1:user1 ./a 과 동일

 -> .에 사용하면 GID만 변경된다.

    ex) chown .user1 ./a    //UID 변경x, GID=user1

 -> .에 사용하면 UID, GID 모두 변경된다.

    ex) chown user1. ./a    //UID=user1, GID=user1

 

 

(3) 권한 실습

표에 나와있는 허가권과 소유권을 동시에 비교하면서 다음 다섯가지의 작업이 가능한지 불가능한지를 체크한다.

/export/home/korea/html 과 /var/www/html/ 의 허가권, 소유권을 변경해보며 패턴을 찾아낸다.

 

*사전 작업

리눅스 접속은 root계정으로, ftp 접속은 korea계정으로 한다.

user1의 홈 디렉토리를 /export/home/korea로 설정한다.

윈도우에 index.html이라는 테스트 파일을 하나 생성한다.

/export/home/korea 안에 html 디렉토리를 생성한다.

/export/home/korea/html 과 /var/www/html/ 의 허가권, 소유권을 항상 동일하게 설정하고 진행한다.

 

*확인 사항 //번호 순서대로 확인할 것

1. ftp 접속이 되는가?
2. html 디렉토리가 보이는가?
3. html 디렉토리로 이동이 되는가?
4. data upload 가 되는가?
5. site 출력이 되는가?

 

*방법

1. cmd -> ftp ip주소 입력

2. cmd -> ls -l 명령어를 통해 html이 보이는지 확인

3. cmd -> cd ./html/ 명령 이후 pwd를 통해 html 디렉리로 이동되는지 확인

4. cmd -> put index.html (windows -> linux로 파일 전송)

5. Explorer 주소창에 ip 주소 입력한 후 index.html의 내용이 출력되는지 확인

//755 korea:root의 경우 실습 예시

1~4번 까지 모두성공한 case

 

허가권 / 소유권 root : root root : korea korea : root korea : korea
755 (rwxr-xr-x) O O O X X O O O X X O O O O O O O O O O
570 (r-xrwx---) O O X X X O O O O X O O O X X O O O X X
375 (-wxrwxr-x) O O O X X O O O O O O O O O O O O O O O
455 (r--r-xr-x) O O O X X O O O X X O O X X X O O X X X
001 (--------x) O O O X X O O X X X O O X X X O O X X X
010 (-----x---) O O X X X O O O X X O O X X X O O X X X
273 (-w-rwx-wx) O O O X X O O O O O O O X X X O O X X X
135 (--x-wxr-x) O O O X X O O O O O O O O X X O O O X X
705 (rwx---r-x) O O O X X O O X X X O O O O O O O O O O
316 (-wx--xrw-) O O X X X O O O X X O O O O X O O O O X
770 (rwxrwx---) O O X X X O O O O X O O O O X O O O O X
644 (rw-r--r--) O O X X X O O X X X O O X X X O O X X X
027 (----w-rwx) O O O O O O O X X X O O X X X O O X X X
500 (r-x------) O O X X X O O X X X O O O X X O O O X X
507 (r-x---rwx) O O O O O O O X X X O O O X X O O O X X

 

*패턴 풀이

우선 ftp 접속자인 korea의 위치를 파악해야 한다.

허가권 korea의 위치
root:root other
root:korea group
korea:root user(owner)
korea:korea user(owner)

=> UID와 GID가 동일하면 UID 권한으로 실행된다. 즉, korea:root 와 korea:korea의 권한이 같다.

 

1. ftp 접속이 되는가? 

  -> korea 사용자의 홈 디렉토리(/export/home/korea)의 x권한

2. html 디렉토리가 보이는가? 

  -> korea 사용자의 홈 디렉토리의 r권한
3. html 디렉토리로 이동이 되는가? 

  -> html 디렉토리에 대한 ftp 접속자(korea)의 x권한
4. data upload 가 되는가? 

  -> html 디렉토리에 대한 ftp 접속자(korea)의 w권한
5. site 출력이 되는가?

  -> site 접근자(other)의 x권한

 

*정리

-> 일반적으로 korea 사용자의 홈 디렉토리는 755 korea:korea 이므로 UID인 korea의 권한, 즉 owner의 권한(7)을 보면 된다. 이에 따라 1번과 2번은 모두 가능함을 알 수 있다.

-> html의 소유권이 바뀜에 따라 ftp 접속자인 korea의 위치가 바뀌므로 3~5번의 성공 여부는 각 허가권에 따른다.

-> 1~5번의 순서에 따라 진행된다. 3번이 안 되면 그 이후의 순서인 4, 5번은 당연히 불가능하다.