Computer Science

[Linux] 리눅스의 etc 디렉터리

jngsngjn 2024. 12. 13. 17:24

1️⃣ etc 디렉터리란?

(1) 의미

  • /etc 디렉터리는 리눅스 및 유닉스 시스템에서 시스템 설정과 구성 파일을 저장하는 디렉터리이다.
  • 운영체제의 핵심 동작을 제어하거나 사용자와 관련된 다양한 설정 파일이 이곳에 저장된다.
  • 초기 유닉스 시스템에서는 “기타 설정 파일”을 모아두는 디렉터리였으나, 현재는 시스템 설정 파일을 저장하는 주요 디렉터리로 발전했다.

(2) 특징

  • 시스템 전역 설정 저장소
    • 시스템 운영, 네트워크 설정, 사용자 계정 관리 등 운영체제의 동작을 제어하는 파일들이 저장됨
    • 모든 사용자에게 적용되는 설정 포함
    • 개별 사용자 설정(~/.bashrc, ~/.profile)과 달리 시스템 전체 설정 파일이 저장됨
    • 변경 시 모든 사용자와 시스템에 영향을 미침
  • 대부분의 파일은 텍스트 형식으로 작성되어 사람이 읽고 수정하기 쉬움
  • 수정하기 위해 일반적으로 루트 권한이 필요함

2️⃣ 주요 파일과 역할

(1) /etc/bashrc

  • 모든 사용자에게 적용되는 Bash 셸의 별칭(alias)과 함수 설정을 정의
  • 사용자가 Bash 셸을 실행할 때 자동으로 로드
  • 개별 사용자 설정(~/.bashrc)보다 시스템 전체 설정을 저장

(2) /etc/profile

  • 시스템에 로그인한 모든 사용자에게 적용되는 환경변수와 시작 프로그램 설정
  • 로그인 셸이 실행될 때 한 번 로드
  • PATH, LANG 같은 환경변수와 시스템 초기화 스크립트 설정

(3) /etc/passwd

  • 사용자 계정 정보를 저장하는 파일
  • 사용자의 이름, UID(사용자 ID), GID(그룹 ID), 홈 디렉터리, 로그인 셸 등이 포함
  • 일반 텍스트 형식. 시스템에서 모든 사용자가 읽기 가능

(4) /etc/services

  • 네트워크 프로토콜에 할당된 포트 정보를 저장
  • 서비스 이름과 포트 번호 매핑 포함
  • 네트워크 관련 애플리케이션에서 서비스 포트를 참조할 때 사용

(5) /etc/mtab

  • 현재 시스템에 마운트된 파일 시스템 정보 저장
  • 실행 중인 시스템에서 실시간을 마운트된 디스크 정보를 기록
  • 현재는 /proc/mounts로 대체되는 경우가 많음

(6) /etc/fstab

  • 시스템 부팅 시 파일 시스템을 자동으로 마운트하기 위한 정보 저장
  • 파일 시스템의 장치, 마운트 지점, 파일 시스템 종류, 마운트 옵션 등 정의
  • 정적(Static) 파일로, 부팅 시 mount 명령어가 이 파일을 참조

(7) /etc/resolv.conf

  • DNS 서버 정보를 저장하여 도메인 이름을 IP 주소로 변환 시 사용
  • DNS 서버를 설정하여 외부 네트워크와의 이름 해석을 수행
  • 파일 내용을 변경하면 네트워크 설정에 즉시 반영
nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com localdomain
  • nameserver: DNS 서버의 IP 주소 지정. 시스템이 네트워크 요청을 처리할 때 이 nameserver에 질의하여 도메인 이름을 해석
  • search: 짧은 호스트명을 사용할 때 도메인을 자동으로 추가하여 전체 도메인명으로 변환

(8) /etc/hosts

  • 로컬에서 도메인 이름과 IP 주소를 매핑하는 정적 파일
  • DNS 서버를 사용하기 전 이 파일을 먼저 확인하여 이름을 해석
  • 네트워크 연결 없이 로컬에서 도메인 이름을 특정 IP 주소에 매핑 가능
127.0.0.1   localhost
127.0.1.1   myhostname.localdomain myhostname
192.168.1.10   webserver.example.com webserver