2023. 5. 22. 15:21ㆍ학습/Computer Science
질문 예시
- Linux의 구성요소
- Linux의 기본 디렉토리 구조
- Linux의 퍼미션 값 틀
- Linux 보안 설정에서 권장하는 UMASK 022는 무엇이고 이유는?
Linux 개요
- Linux는 1991년 Linus Torvals가 개발.
- Unix 운영체제를 기반으로 만들어진 유닉스의 클론 운영체제라 할 수 있음.
- Unix와 마찬가지로 다중 사용자, 다중작업 다중 스레드를 지원하는 네트워크 운영체제를 의미
- Linux는 자유 소프트 라이센스로 누구나 소스코드를 활용, 수정 및 재배포가 가능해서 지속적인 업그레이드가 이루어진다.
- 리눅스 커널, GNU소프트웨어 및 여러가지 자유 소프트웨어로 구성된 운영체제로 현재 전 세계적으로 300여가지의 배포판이 존재한다. 리눅스 배포판은 사용자에 따라 결정할 수 있는 폭이 넓다.
- 상용 또는 비상용 분류/ 사용자에 따른 분류/ 구동환경/용도/지원 플랫폼 차이 등 으로 나눌 수 있다.
- 리눅스 배포판의 대표적인 것으로는 회사차원에서 관리하고 배포하는 대표적인 배포판은 레드햇, 우분투, 수세가 존재, 커뮤니티차원에서 관리하는 대표적인 배포판은 데비안, 젠투, 페도라가 존재한다
Linux 구성요소
- 커널(kernel)
- 메모리관리, 프로세스 관리, 장치관리등 컴퓨터의 모든 자원을 제어하는 기능 수행
- 쉘(Shell)
- 사용자가 입력한 문장을 읽어 요청을 실행하며 커널이 명령어를 해석해 결과를 수행한 후 결과를 다른 프로그램이나 커널로 전송
- 사용자와 커널의 중간다리 역활 수행. (Linux는 Bash 쉘을 기본)
- 디렉토리(directory)
- 파일을 가지고 있거나 또 다른 다렉토리를 가지고 있는 그룹을 의미, 파일 시스템에 의해 관리
Linux 디렉토리
- /
- FHS의 가장 최상단 디렉토리이며 ROOT 디렉토리 라고도 함.
- 시스템의 근간을 이루는 가장 중요한 디렉토리로 파티션 설정 시 반드시 존재해야 하며 절대 경로의 기준이 되는 디렉토리
- /bin
- 리눅스의 기본적인 명령어가 저장된 디렉토리
- 시스템을 운영하는데 기본적인 명령어들이 모여있다.
- 서브 디렉토리가 없다.
- /home
- 사용자 홈 디렉토리, 일반 사용자의 홈 디렉토리가 만들어 지는 곳
- /boot
- 부트 설정 파일과 lilo를 제외한 부트 관련 모든 파일을 모아놓은 디렉토리
- /dev
- 시스템의 모든 디바이스를 엑세스 할 수 있는 파일들을 모아놓은 디렉토리
- /etc
- 호스트의 설정 파일을 모아놓은 디렉토리
- /user
- 일반 사용자들을 위한 대부부분의 프로그램 라이브러리 파일이 위치한다.
- /user/bin : 일반 사용자들이 사용가능한 명령어 파일들이 존재하는 디렉토리
- /user/local : 새로운 프로그램들이 설치되는 공간
- /lib
- 시스템 부트 때 필요하거나 /bin 디렉토리 내 명령어들의 실행에 필요한 공유 라이브러리들을 모아놓은 디렉토리
Linux 권한 (Permission)
8 진수를 사용하며 r=4, w=2, x=1 (read, write, execute)
d
A: 파일유형
r,w,x
B; 소유자 권한
r - x
C: 그룹 소유자 권한
r - x
D: 일반 사용자 권한
-(일반파일), b(특수파일), c(입출력에 사용되는 특수파일), d(디렉토리), l(심블릭 링크)
# mkdir testdir
# ls -ld testdir
drwxr-xr-x. 2 root root 4096 2023-05-15 18:29 testdir/
현재 파일/디렉토리의 권한은 755 상태 (4+2+1/ 4+1 / 4+1)
# chmod 644 testdir
# ls -ld testdir
drw-r--r--. 2 root root 4096 2023-05-15 18:29 testdir/
Linux , umask 022
umask 는 파일이나 디렉토리 생성 시 초기 접근 권한을 설정할 때 사용함.
초기 파일의 권한은 666이고 디렉토리는 777이다.
여기에 umask 값을 뺴서 초기 파일 권한을 설정할 수 있다. 터미널에 umask를 입력하면 umask 값을 확인할 수 있다.
umask 값이 022 라면 파일의 초기 접근 권한은 644, 디렉토리의 초기 접근 권한은 755
Linux 주요 명령어
- pwd : {Print Work Directory} , 현재 작업 중인 도렉토리 보여줌
- ls : {list segements}, 파일과 디렉토리에 대한 정보 제공 ( ls -al, ls -aC, ls -R)
- du : {check disk}, 자신의 하드디스크사용량 정보 제공
- cd : {change directory}, cd..(상위 디렉토리로 이동), cd {디렉토리이름} (자신의 하위 디렉토리 {디렉토리이름}으로 이동)
- cp : {copy}, cp in.txt in.old (in.txt파일을 in.old 파일로 복사)
- mv: {move}, cp in.txt mv in.old (in.txt파일을 in.old 파일로 이동)
- chmod: 파일/디렉토리의 권한을 변경
- alias : 길이가 긴 리눅스 명령어를 간단한 별명으로 대체 지정 (alias is 'ls -al')
- df : 디스크 공간에 필수 정보를 표시
- mkdir : 디렉토리 생성, mkdir down( 현재 위치에 down 이라는 디렉토리 생성)
- cat : 파일의 내용을 화면에 출력하거나 파일을 만드는 명령 (도스의 TYPE 명령)
'학습 > Computer Science' 카테고리의 다른 글
웹 서버(Web Server)와 웹 애플리케이션 서버(Web Application Server) (0) | 2023.06.15 |
---|---|
트랜잭션(transaction) 제어 (0) | 2023.06.14 |
객체 지향 기술의 구성 요소 (0) | 2023.06.14 |
CS - 가상메모리 (0) | 2023.05.29 |
OS(Operating System) 정리 (0) | 2023.05.22 |