운영체제란?
- kernel: 하드웨어를 제어하는 핵심 코드
- shell (application): 다른 application을 구동 시킴, kernel과 application의 인터페이스 역할
- system (kernel): kernel의 기능을 사용하는 경우
- user (kernel의 도움이 필요 없는 영역): 대부분의 프로세스는 user+system으로 동작, 하드웨어 기능의 처리는 system call이 담당(kernel 기능 사용)
shell, User interface
- Linux는 기본적으로 bash라는 쉘을 사용
UNIX 계정의 종류
- System account
- root 및 system service 전용 계정
- system service 전용 계정은 로그인 불가 (web server, ssh 서버와 같은 서비스 구동을 위한 계정)
- normal account
- 계층을 나누는 이유?
- 권한을 분리하고, 접근할 수 있는 디렉터리와 파일, 프로세스를 구분하기 위함
user, group 관리 명령어
- user
- useradd
- usermod, userdel
- id, whoami
- su
- passwd
- group
- groupadd, groupmod, groupdel
- newgrp
- gpasswd
Tip! login shell
- root 계정으로 사용자를 변경할 때 ‘su’뒤에 ‘-’을 꼭 붙여야한다!
- ‘-’를 쓰지 않는 경우 환경 변수의 유저명이 변경되지 않는다.
man page
- man [option]
- e.g. man useradd, man -f(검색) printf
- 표기법
- 무괄호, < >: 필수 항목
- [ ]: 선택가능 항목