리눅스 기초 (Linux Basics)

리눅스 이해 및 설치

  • 리눅스 시스템의 전반적인 구조와 작동 방식을 이해하고, 배포판을 선택하여 시스템에 설치하는 과정을 포함합니다.

기본 명령어

umask

  • 파일이나 디렉터리 생성 시 부여되는 기본 권한(Permission)을 제어하는 명령어입니다.
  • 기본값은 8진수로 표현되며, 시스템의 최대 권한 값에서 umask 값을 뺀 값이 최종 권한이 됩니다.
    • 파일 기본 최대 권한: 666 (rw-rw-rw-)
    • 디렉터리 기본 최대 권한: 777 (rwxrwxrwx)
  • -S 옵션: 접근 권한의 기본값을 r, w, x 형태로 보기 쉽게 출력합니다.

chmod, chown, chgrp

  • chmod: 파일이나 디렉터리의 접근 권한을 변경합니다.
  • chown: 파일이나 디렉터리의 소유자를 변경합니다.
  • chgrp: 파일이나 디렉터리의 소유 그룹을 변경합니다.

공통 옵션

  • -c: 변경이 적용된 파일의 정보만 자세히 보여줍니다.
  • -v: 모든 작업 상태를 자세히 보여줍니다.
  • -f: 변경되지 않은 파일에 대한 오류 메시지를 보여주지 않습니다.
  • -R: 지정된 경로와 그 하위의 모든 파일 및 디렉터리에 변경 사항을 재귀적으로 적용합니다.
  • -h (—no-dereference): 심볼릭 링크 파일 자체의 소유권이나 그룹을 변경합니다. (이 옵션이 없으면 원본 파일이 변경됩니다.)

특수 권한 (Special Permissions)

  • 일반적인 읽기(r), 쓰기(w), 실행(x) 외에 부여되는 특별한 권한입니다.

Set-UID와 Set-GID

  • 파일 실행 시, 일시적으로 파일의 소유자(Set-UID)나 그룹(Set-GID)의 권한으로 실행되도록 하는 권한입니다.
  • 예를 들어, 일반 사용자가 자신의 비밀번호를 변경하려면 /etc/shadow 파일에 접근해야 하지만 권한이 없습니다. 이때 /usr/bin/passwd 명령어에 Set-UID가 설정되어 있어, 명령어를 실행하는 동안에는 root의 권한으로 파일을 수정할 수 있게 됩니다.
  • 특징: 강력한 권한을 부여하므로 보안상 취약점이 될 수 있어 신중하게 사용해야 합니다.

Sticky-Bit

  • 주로 /tmp와 같이 여러 사용자가 파일을 생성하고 삭제하는 공용 디렉터리에 설정됩니다.
  • 특징: Sticky-Bit가 설정된 디렉터리 안에서는 파일 소유자 자신과 root만이 해당 파일을 삭제할 수 있습니다. 다른 사용자는 쓰기 권한이 있더라도 파일을 삭제할 수 없습니다.