1. shell 이란?
- shell은 사용자와 컴퓨터 하드웨어 또는 운영체제 사이의 interface다.
- 사용자가 컴퓨터와 소통할 수 있도록 사용자가 입력한 명령어를 해석하여 커널에게 전달하는 역할을 한다.
2. shell의 종류
a) Bash(Born again shell)
- GNU 프로젝트의 일환으로 개발된 shell
- 리눅스의 기본(default) shell
b) Korn shell
- UNIX에서 가장 많이 쓰이는 shell
- 이 외에 C - shell, Bourne - shell 등이 존재한다.
- shell 마다 명령어의 형식이 조금씩 다르다.
- 하지만 UNIX를 기반에 두고 있기에 어느정도 일맥상통한 부분이 존재한다.
3. Bash의 기본 명령어 - 다중 사용자
- 터미널을 이용해 AWS에 생성한 리눅스 서버에 접속하여 실습해보는 것을 추천합니다.
1) whoami
2) passwd
- AWS에서 리눅스 서버를 생성할 때, 패스워드를 입력한 적이 없다.
- AWS 측에서 ubuntu라는 아이디만 생성한 것이다.
- 그러므로 AWS를 통해 리눅스 서버를 사용한다면, passwd 명령어를 입력하더라도 위의 사진과 같은 결과를 얻을 수 있다.
3) useradd 와 adduser
- 무슨 소리인지 잘 모르겠다. 쉬운 이해를 위해 아래 사진을 참고하자.
- pwd 명령어를 입력하면 현재 위치한 경로를 알 수 있다.
- 위의 사진에서 보이는 바와 같이 /home/ubuntu에 위치해 있다.
- 재미있는 부분은 username과 디렉토리의 이름이 동일하다는 것이다.
- useradd를 사용하면, 이처럼 username으로 이루어진 디렉토리를 생성한다.
- adduser를 사용하면, 사용자는 생성되지만 username으로 된 디렉토리는 생성되지 않는다.
- adduser 명령어를 사용하면 위의 사진과 같은 결과가 출력될 것이다.
- 이는 root(최상위 관리자)가 아니라면 사용할 수 없는 명령어라는 의미다.
- 그렇다면 어떻게 root 권한을 얻을 수 있을까?
- sudo라는 일종의 지름길이 존재한다.
4) sudo
- sudo 라는 명령어를 다른 명령어와 함께 사용하면, root 권한을 얻을 수 있다.
- 하지만 sudo가 아무나 사용할 수 있는 명령어라면, root가 존재할 이유가 없지 않은가?
- 그러므로 sudo 명령어를 사용할 수 있는 사용자를 관리하는 명부가 따로 존재한다.
- AWS에서 생성한 ubuntu라는 사용자는 sudo 명령어를 사용할 수 있도록 설정이 되어있다.
- 그러므로 sudo 명령어를 사용하여 새로운 user를 생성해보자.
5) su
'컴퓨터공학기초 개념 > 시스템 프로그래밍' 카테고리의 다른 글
7. shell - 파일 권한 및 관리(2) (0) | 2021.09.07 |
---|---|
6. shell - 파일 권한 및 관리(1) (0) | 2021.09.07 |
4. 리눅스의 기본구성 (0) | 2021.09.06 |
3. AWS EC2 - IP생성 및 서버접속 (0) | 2021.09.03 |
2. AWS EC2 - 인스턴스(서버) 생성하기 (0) | 2021.09.03 |
댓글