/etc 디렉토리 안에 뭐가 있는지 제대로 설명해보자

Views: 0

/etc 디렉토리

/etc 디렉토리는 리눅스 서버의 설정 정보를 담고 있는 핵심 위치로, 시스템 부팅, 사용자 계정, 네트워크, 서비스 동작 등에 영향을 준다. 이 글에서는 /etc 내부 주요 폴더와 파일들의 역할을 이해하기 쉽게 정리하고, 서버 운영 시 왜 중요한지 설명한다.

/etc 디렉토리가 중요한 이유

리눅스 시스템에서 /etc 디렉토리는 운영체제의 모든 설정 파일이 모여 있는 공간이다. 서버는 부팅부터 로그인, 네트워크 연결, 서비스 실행까지 모든 과정을 이 디렉토리의 정보를 통해 수행한다. 일반 사용자뿐 아니라 서버 운영자, 개발자 모두 이 구조를 이해해야 시스템 관리와 문제 해결을 빠르게 할 수 있다.

사용자와 인증 관련 파일

/etc/passwd

시스템에 존재하는 모든 사용자 계정 정보가 기록된 파일이다. 각 행은 사용자 이름, UID, GID, 홈 디렉토리, 기본 셸 정보로 구성된다. 실제 비밀번호는 저장되지 않으며 암호화된 값은 다른 파일에 보관된다.

/etc/shadow

사용자 비밀번호의 암호화 값과 비밀번호 만료일 정보가 저장된다. root만 접근할 수 있으며 보안상 매우 중요한 파일이다.

/etc/group

사용자 그룹 정보를 저장하는 파일이다. 특정 사용자들이 같은 권한을 공유할 수 있도록 그룹을 구성할 때 사용된다.

시스템 부팅과 서비스 구동에 관련된 구조

/etc/fstab

서버가 부팅될 때 자동으로 마운트해야 하는 파일 시스템 정보를 저장하는 파일이다. 하드디스크, SSD, 네트워크 드라이브 등을 자동 연결하려면 여기에 지정해야 한다.

/etc/systemd

시스템 서비스와 부팅 프로세스를 관리하는 systemd 설정이 존재한다. 서비스 유닛 파일, 타이머, 로그 설정 등이 포함되며 시스템이 어떻게 시작되고 중지되는지 정의한다.

/etc/init.d

systemd 이전에 사용되던 SysVinit 기반의 서비스 스크립트가 저장된 디렉토리다. 여전히 일부 서비스가 여기에 스크립트를 두고 동작한다.

네트워크와 호스트 설정

/etc/hosts

DNS 서버를 거치지 않고 특정 도메인을 IP 주소로 연결할 수 있도록 저장하는 파일이다. 작은 서버 환경이나 테스트 환경에서 활용된다.

/etc/hostname

서버의 이름을 정의하는 파일이다. 네트워크에서 서버를 구분하는 데 사용되며 시스템 부팅 시 적용된다.

/etc/resolv.conf

DNS 서버 정보를 저장하는 파일이다. 도메인 이름을 IP 주소로 변환할 때 참고되며, 잘못 설정하면 외부 접속이 불가능해진다.

보안과 접근 제어 설정

/etc/ssh/

SSH 서버 설정이 담긴 디렉토리다. 특히 sshd_config 파일은 원격 접속 허용 여부, 포트 번호, 인증 방식 등을 정의한다. 서버 보안 설정의 핵심 파일 중 하나다.

/etc/sudoers

sudo 명령을 사용할 수 있는 사용자와 권한 수준을 설정하는 파일이다. root 권한을 누구에게 허용할 것인지 여기서 정의된다.

/etc/firewalld 또는 /etc/ufw

방화벽 설정이 저장되는 디렉토리 또는 파일 위치다. 포트 차단, IP 허용, 서비스 접근 제어 등에 활용된다.

시스템 환경 변수와 셸 설정

/etc/profile

모든 사용자에게 공통적으로 적용되는 환경 변수와 로그인 셸 설정이 포함된 파일이다. PATH, LANG 같은 값을 전체 시스템에 적용하고 싶을 때 여기에 설정한다.

/etc/bash.bashrc 또는 /etc/bashrc

bash 셸 환경에서 자동으로 실행되는 설정 파일이다. 프롬프트 형태, 명령 별칭(alias), 기본 옵션을 지정할 수 있다.

애플리케이션 설정 관리

/etc/nginx, /etc/apache2

웹 서버 소프트웨어의 설정 파일이 저장되는 디렉토리다. 가상 호스트, SSL 인증서, 포트 번호 등 서버 운영에 필요한 대부분의 설정이 여기에 존재한다.

/etc/mysql, /etc/postgresql

데이터베이스 설정 파일 위치다. 사용자 접근 권한, 포트, 데이터 저장 위치 등을 정의한다.

/etc/crontab

정해진 시간에 특정 작업을 자동 실행하도록 예약하는 설정 파일이다. 로그 백업, 데이터 정리, 스크립트 실행 같은 자동화 작업을 정의한다.

/etc 이해가 필요한 이유

서버 문제의 대부분은 설정 오류에서 시작된다. 서비스가 시작되지 않거나, 네트워크 연결이 안 되거나, 사용자 로그인에 실패할 때 원인을 찾으려면 /etc 파일을 확인해야 한다. 환경 변수 수정, 포트 개방, 자동화 작업 추가 같은 운영 업무도 대부분 /etc를 통해 수행된다. 서버를 안정적으로 운영하려면 이 디렉토리 구조와 주요 파일의 역할을 이해해야 한다.

마무리

/etc 디렉토리는 리눅스 시스템의 중심에 있으며 설정과 운영의 모든 출발점이다. 사용자 정보부터 네트워크, 서비스, 보안, 자동화까지 모든 기능이 이곳과 연결된다. 서버를 관리하거나 서비스를 운영하려면 /etc 구조를 정확히 이해하고 필요할 때 즉시 활용할 수 있어야 한다.