Information Security
10 파일의 권한 본문
※
일반 사용자 계정(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 |
x |
자릿수 |
4 |
2 |
1 |
4 |
2 |
1 |
4 |
2 |
1 |
2진수 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
8진수 |
7 |
7 |
7 |
[각각 허가권 필드를 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 |