Post

[Linux] 리눅스 `/etc` 디렉토리

Linux 리눅스 `/etc` 디렉토리

[Linux] 리눅스 `/etc` 디렉토리



📂 /etc 디렉토리란?

/etc 디렉토리는 리눅스 시스템의 주요 설정 파일(configuration files)이 저장된 디렉토리
운영 체제의 동작을 제어하는 각종 설정 파일시스템 및 애플리케이션의 구성 정보/etc에 위치


/etc 디렉토리의 역할

  • 시스템 전역 설정 파일 저장 (/home처럼 개별 사용자가 아닌, 시스템 전체에 영향을 줌)
  • 네트워크, 사용자, 서비스, 보안 관련 설정 파일 포함
  • 데몬(서버 프로그램) 및 서비스 설정 파일 존재
  • 일반적으로 텍스트 파일(.conf, .cfg, .ini, .xml 등) 형태로 저장됨

📂 /etc의 주요 하위 디렉토리 및 파일

🔹 시스템 및 사용자 관리

파일/디렉토리설명
/etc/passwd시스템 사용자 계정 정보
/etc/group사용자 그룹 정보
/etc/shadow암호화된 사용자 비밀번호 저장
/etc/fstab부팅 시 마운트할 파일 시스템 정보

🔹 네트워크 및 호스트 관련 설정

파일/디렉토리설명
/etc/hosts도메인-아이피 매핑 정보 (로컬 DNS 역할)
/etc/resolv.confDNS 서버 설정
/etc/hostname시스템 호스트명 저장
/etc/network/interfaces네트워크 인터페이스 설정 (Debian 계열)
/etc/sysconfig/network-scripts/네트워크 인터페이스 설정 (RHEL 계열)

🔹 서비스 및 데몬(백그라운드 프로세스) 관련 설정

파일/디렉토리설명
/etc/systemd/systemd 서비스 관리 설정
/etc/init.d/SysVinit 기반 서비스 스크립트
/etc/crontab예약 작업(Cron jobs) 설정

🔹 보안 및 접근 제어

파일/디렉토리설명
/etc/sudoerssudo 권한 설정 파일 (수정 시 visudo 사용해야 함)
/etc/ssh/sshd_configSSH 서버 설정
/etc/firewalld/방화벽 설정 (RHEL 계열)

🔹 애플리케이션 및 패키지 설정

파일/디렉토리설명
/etc/nginx/nginx.confNginx 웹 서버 설정
/etc/apache2/apache2.confApache 웹 서버 설정
/etc/mysql/my.cnfMySQL 데이터베이스 설정

/etc의 특징

  1. 전역 설정을 저장
    • /etc에 있는 설정 파일은 시스템 전체에 영향을 미침
    • 사용자 개인 설정은 ~/.config/, ~/.bashrc 같은 홈 디렉토리에 저장됨
  2. 기본적으로 읽기 전용 (일반 사용자 수정 불가)
    • 대부분의 /etc 파일은 root 또는 sudo 권한이 있어야 수정 가능함
    • 예를 들어, /etc/nginx/nginx.conf 파일을 수정하려면:
      1
      
      sudo nano /etc/nginx/nginx.conf
      
  3. 설정을 변경하면 서비스 재시작 필요
    • 설정 파일을 수정한 후, 관련 서비스를 재시작해야 변경이 적용됨
      1
      
      sudo systemctl restart nginx
      

🎯 /etc 디렉토리의 중요성

  • 리눅스 시스템의 핵심 설정 파일을 관리하는 공간
  • 시스템 설정 변경 시 반드시 백업이 필요 (잘못 수정하면 시스템이 부팅되지 않을 수도 있음!)
  • 애플리케이션의 기본 설정 파일 저장소로 사용됨

📌 /etc 디렉토리 이름의 의미

/etc 디렉토리의 이름은 원래 “etcetera”(기타 등등)에서 유래
초기 Unix 시스템에서는 운영 체제의 기본 실행 파일이 /bin, /sbin, /lib 등과 같이 분명한 역할을 가진 디렉토리에 저장되었고,
이외의 기타 설정 파일/etc에 저장되었기 때문에 “etc”라는 이름이 붙었음


✅ 초기 의미: “기타 등등 (Etcetera)”

  • Unix가 처음 개발될 때, /etc는 단순히 “운영 체제에서 필요한 기타 설정 파일이 모여 있는 디렉토리”였음
  • 즉, /bin, /sbin, /lib 같은 명확한 역할이 있는 디렉토리와 달리, 범용적인 설정 파일을 보관하는 곳이었음

하지만 시간이 지나면서 /etc는 단순한 “기타 파일”이 아니라, 중요한 시스템 설정 파일의 저장소로 자리 잡았음


✅ 현재 의미: “Editable Text Configuration”

오늘날 /etc의 의미는 단순한 “기타 등등”이 아니라,
“Editable Text Configuration” (수정 가능한 설정 파일 저장소)로 해석되기도 함

🔹 /etc의 특징

  1. 모든 시스템 설정 파일이 저장됨
    • /etc는 시스템 전역 설정을 포함하는 중요한 디렉토리
    • 사용자 계정, 네트워크 설정, 서비스 구성 등 모든 설정이 여기에 있음
  2. 설정 파일은 대부분 텍스트 파일로 되어 있음
    • 설정 파일을 쉽게 읽고 수정할 수 있도록 .conf, .cfg 등의 텍스트 형식으로 저장됨
  3. 초기 Unix 설계에서 중요한 위치
    • 시간이 지나면서, “그냥 기타 파일 모음”이 아니라 “운영 체제의 핵심 설정을 관리하는 디렉토리”로 발전

🎯 결론

  • /etc는 처음에는 “기타 설정 파일”을 저장하는 디렉토리였음
  • 시간이 지나면서, “운영 체제의 중요한 설정 파일을 관리하는 디렉토리”가 되었음
  • 현재는 “Editable Text Configuration” (수정 가능한 설정 파일 저장소)로 해석되기도 함
This post is licensed under CC BY 4.0 by the author.