Information Security

10 파일의 권한 본문

Linux

10 파일의 권한

leeeeye321 2017. 9. 22. 16:45

일반 사용자 계정(TEST-USER) 추가

 

 

해당 사용자 정보가 저장되어 있는 /etc/passwd 파일을 열어서 추가한 계정의 정보 중 UID 필드에 값을 0으로 변경 후 저장

 

-TEST-USER 계정으로 전환

★ 커널은 해당 사용자의 UID를 보고 어떤 사용자인지를 판단한다.

UID 0번은 root 계정이므로 TEST-USER로 전환해도 프롬프트에 root 계정으로 나온다. 

 


 

사용자 및 그룹 파일 무결성 검사

1. 사용자 계정 관련 파일

#pwck

-/etc/passwd, /etc/shadow 파일의 필드 검사

 

2. 그룹 계정 관련 파일

#grpck

-/etc/group, /etc/gshadow 파일의 필드 검사

 


 

Shadow System

-passwd 파일은 일반 사용자도 읽을 수 있는 파일이어서 보안상 문제가 생길 수 있으므로 shadow 파일에 암호를 저장하는 시스템

 

-/etc/passwd 파일 확인

-암호가 저장되는 2번째 필드가 보통 x로 작성되어 있다.

x는 shadow 파일에 암호가 저장되어 있음을 의미한다.

 

#pwunconv

-Shadow System 기능 비활성화

 

-패스워드가 노출된다.

-shadow 기능 비활성화 상태에서는 암호를 변경할 수 없다.

 

#pwconv

-Shadow System 기능 활성화

 

다시 shadow 기능으로 패스워드를 숨긴다.

 


 

파일의 권한

-리눅스의 모든 파일에는 권한이 설정되어 있으며, 권한은 소유권허가권으로 구성되어 있다.

 

소유권(Ownership)

-파일을 소유한 권한

 

/bin/ls 파일의 소유권 확인(ls -l == ll) 

 

소유권 변경 명령어

 #chown(CHange OWNership)

#chown [소유계정]:[소유그룹] [파일]

 

-테스트용 디렉터리 생성

-생성한 디렉터리로 이동

 

-테스트용 파일 생성 후 소유권 확인

-기본적으로 파일의 소유권은 해당 파일을 생성한 계정의 UID/GID 값에 의해서 결정된다.

root 계정으로 생성한 파일 -> UID/GID : 0 -> 파일 소유권 : root

 

테스트용 그룹 생성

 

WEB-ADMIN 그룹의 GID와 동일한 값을 가지는 web-admin 계정 생성

 

WEB-USER의 GID 확인

 

WEB-USER의 GID 이용하여 계정 생성

 

[UID] : [GID]

 

web-admin1 계정으로 전환

 

파일 생성 후 소유권 확인

 

다시 root 계정으로 돌아옴

 

file1의 소유권

 

#chown [소유계정]:[소유그룹] [파일]

소유 계정 필드만 변경

 

소유계정 소유 그룹 모두 변경

 

소유 그룹 필드만 변경

 

: 대신 . 으로 구분하여 변경할 수도 있다.

 


 

허가권(Permission)

허가권 필드 확인

 

[허가권 필드]

-총 3개의 필드로 구성

각 필드마다 사용자(u), 그룹(g), 기타 사용자(o)가 파일을 읽고(r), 쓰고(w), 실행(x)할 수 있는 여부를 문자로 표현한 것이다.

 

[r w x의 의미] 

 

허가권 변경 명령어

chmod(CHange MODe)

-해당 명령어에는 2가지 모드가 있다.

 

1. 기호 모드(상대값/Symbolic Mode) : 사람이 사용하기 편함

ex) rwx r-x r-x TEST1     // 기존 허가권

 

-> chmod go+w TEST1

->chmod g+w,o+w TEST1

->chmod a+rwx TEST1

 (위의 세 가지 중 하나를 입력)

 

rwx rwx rwx TEST1    // 변경 후 허가권

 

문제) file1의 소유자는 해당 파일을 읽고 쓸 수 있으며, 소유 그룹은 읽기 권한만 있다.

그리고 그 외 사용자들은 권한이 없다.

-위의 권한으로 변경하기

 

기존 허가권

 

허가권 변경

 

허가권 확인

-file1의 소유자: 읽고(r) 쓸(w) 수 있음

-소유 그룹: 읽기(r)

-그 외 사용자: 권한 없음(---)

 

2. 숫자 모드(절댓값/Absolute Mode) : 컴퓨터가 사용하기 편함

-각각의 허가권 필드를 8진수로 표기하는 방법

-완전한 표기법은 4자리이나, 보통 3자리만 사용

 

 허가권

필드

  사용자

 그룹 

 기타 사용자 

 기호

 r

w 

x 

r 

w 

x 

r

w 

 자릿

 4

2

1 

4 

2 

1 

4 

2 

 1

 2진수

 1

1 

1 

1 

1 

1 

1 

1 

1 

 8진수

 

[각각 허가권 필드를 8진수로 표기하기]

r w x    r - -    r - x

r w x == 4+2+1 = 7

r - - ==  4+0+0 = 4

r - x == 4+0+1 = 5

-존재하는 권한의 자릿수를 더한다.

 

ex) file1의 허가권 변경하기

rwx r-x r-x -> 755 

 

rwx rwx r-- -> 774

 

r-- r-- --- -> 440

 

문제) /etc/shadow 파일을 web-admin1 계정이 읽을 수 있도록 권한을 변경하기(3가지 방법)

(단, 기타 사용자 필드 권한은 수정하지 않는다.)

 

(1) 소유계정 변경

/etc/shadow의 기존 권한 확인

 

파일 소유권을 web-admin1으로 변경

 

파일을 소유한 계정(web-admin1)에게 읽기 권한 부여

 

권한 확인

 

web-admin1 계정으로 전환

 

...

...

/etc/shadow 파일 읽기 가능!

 

(2) 소유그룹 변경

기존 권한

 

소유 그룹을 WEB-ADMIN으로 변경

 

파일을 소유한 그룹(WEB-ADMIN)에게 읽기 권한 부여

 

권한 확인

 

web-admin1 계정으로 전환

 

...

...

-/etc/shadow 파일을 소유한 WEB-ADMIN 그룹은 해당 파일을 읽을 수 있다.

 

-WEB-ADMIN 그룹에 속한 계정 web-admin1도 파일을 읽을 수 있다.

 

(3) web-admin1 계정을 root 그룹에 포함 시키기 

 

web-admin1 계정을 root 그룹에 포함 시키기

 

그룹에 읽기 권한 부여

 

또 계정 전환 후 확인해보면 읽기가 가능하다는 것을 확인할 수 있다.

'Linux' 카테고리의 다른 글

11-2 특수 허가권(SetUID, SetGID, Sticky)  (0) 2017.09.23
11-1 UMASK  (0) 2017.09.23
09-3 사용자 계정 관리 명령어(group)  (0) 2017.09.21
09-2 사용자 계정 관리 명령어(user)  (0) 2017.09.21
09-1 사용자 계정 관리  (0) 2017.09.20