CS - Linux) Linux 리눅스 기본

2023. 5. 22. 15:21학습/Computer Science

질문 예시

  1. Linux의 구성요소
  2. Linux의 기본 디렉토리 구조
  3. Linux의 퍼미션 값 틀
  4. Linux 보안 설정에서 권장하는 UMASK 022는 무엇이고 이유는?

 

 

Linux 개요
  •  Linux는 1991년 Linus Torvals가 개발.
  • Unix 운영체제를 기반으로 만들어진 유닉스의 클론 운영체제라 할 수 있음.
  • Unix와 마찬가지로 다중 사용자, 다중작업 다중 스레드를 지원하는 네트워크 운영체제를 의미
  • Linux는 자유 소프트 라이센스로 누구나 소스코드를 활용, 수정 및 재배포가 가능해서 지속적인 업그레이드가 이루어진다.
  • 리눅스 커널, GNU소프트웨어 및 여러가지 자유 소프트웨어로 구성된 운영체제로 현재 전 세계적으로 300여가지의 배포판이 존재한다. 리눅스 배포판은 사용자에 따라 결정할 수 있는 폭이 넓다.
  • 상용 또는 비상용 분류/ 사용자에 따른 분류/ 구동환경/용도/지원 플랫폼 차이 등 으로 나눌 수 있다.
  • 리눅스 배포판의 대표적인 것으로는 회사차원에서 관리하고 배포하는 대표적인 배포판은 레드햇, 우분투, 수세가 존재, 커뮤니티차원에서 관리하는 대표적인 배포판은 데비안, 젠투, 페도라가 존재한다

 

Linux 구성요소
  1. 커널(kernel)
    1. 메모리관리, 프로세스 관리, 장치관리등 컴퓨터의 모든 자원을 제어하는 기능 수행
  2. 쉘(Shell)
    1. 사용자가 입력한 문장을 읽어 요청을 실행하며 커널이 명령어를 해석해 결과를 수행한 후 결과를 다른 프로그램이나 커널로 전송
    2. 사용자와 커널의 중간다리 역활 수행. (Linux는 Bash 쉘을 기본)
  3. 디렉토리(directory)
    1. 파일을 가지고 있거나 또 다른 다렉토리를 가지고 있는 그룹을 의미, 파일 시스템에 의해 관리

 

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 명령)

728x90