-
Shell & Kernel의 역할 / Linux 시스템 사용자 정보 확인Engineer information security 2020. 10. 6. 23:59반응형
Shell과 Kernel은 리눅스를 시작하면 항상 나오는 단어인 거 같다.
그리고 이 두가지와 사용자의 관계는 아래와 같다.
Shell Kernel의 역할 User : 명령어를 입력하는 사용자를 의미한다.
Shell : 명령어 해석기. User의 명령어를 Kernel이 알 수 있도록 해석
Kernel의 응답을 User가 알 수 있도록 해석
Kernel : 시스템을 통제하는 컴퓨터의 핵심이다.
다음은 리눅스 시스템 사용자 정보를 확인하는 방법이다.
가상화로 만들어 놓은 CentOS에서 사용자 관련 정보를 출력하는 명령어를 입력하였다.
명령어는 cat /etc/passwd 이다.
리눅스 passwd Linux는 사용자의 생성/삭제/변경 등등의 정보를 /etc/passwd 파일에 저장한다.
위에서 보이는 root 계정은 super user이다. 모든 권한을 다 가지고 있다.
윈도우의 Administrator와 같다고 생각하면 될 거 같다.
콜론 구문자를 이용해 총 7개로 나눠져 있으며, 각각의 의미가 있다.
root 계정을 예를 들어 설명해 보겠다.
root: x: 0: 0: root: / root: /bin/bash
콜론 구분자로 분리된 각각을 설명하면,
① root : 계정명.
② x : 패스워드. x로 나타나는 이유는 shadow 패스워드 사용 중이기 때문이다.
③ 0 : User ID(UID)
④ 0 : Group ID(GID)
⑤ root : 코멘트이다. 사용자의 추가 정보를 입력
⑥ root : 사용자의 홈 디렉터리 위치
⑦ /bin/bash : 로그인 쉘
이 중에서도 ③,④ 번의 보안에 특별히 유의 해야 한다.
UID / GID가 0인 경우 시스템에서는 root의 권한을 가진 것과 같은 상태로 인식되기 때문이다.
보안을 위해 이 파일의 주기적인 점검을 통해 불필요한 ID가 존재하는지, UID와 GID가 0인 계정이 존재하는지
확인을 하는 것이 필요하다.
정리하자면
Shell은 User와 Kernel 사이에서 명령어를 해석
Linux의 계정 정보는 etc/passwd 파일에 저장(절대 패스워드가 저장되는 것이 아님을 기억하자)
보안을 위해 UID / GID 값이 0인 계정이 존재하는지 주기적으로 확인
반응형'Engineer information security' 카테고리의 다른 글
1계층 통신장비(Hub & Repeater) , 그리고 신호 전달 방식 (0) 2020.10.10 OSI 7 Layer Model & TCP IP Model (0) 2020.10.07 네트워크 정의 및 목적 & LAN / WAN & Protocol & IETF & RFC문서 (0) 2020.10.06 패스워드 크래킹(Password Cracking) (0) 2020.10.05 SID(Security ID) / 윈도우 인증 알고리즘(LM/NTLM hash/NTLMv2 hash) (0) 2020.10.04