리눅스 배포판 상관없이 통하는 ‘공통 설정 파일’ 핵심 정리

리눅스는 우분투(Ubuntu), 레드햇(RHEL), 센트OS(CentOS) 등 수많은 배포판이 존재합니다. 배포판마다 패키지 설치 명령어(apt, yum)나 네트워크 설정 방식은 조금씩 다를 수 있습니다.

하지만 다행히도 리눅스에는 **FHS(Filesystem Hierarchy Standard)**라는 표준이 있어, 시스템의 뼈대가 되는 핵심 설정 파일들의 위치와 역할은 99% 동일합니다.

오늘은 리눅스 관리자라면 머릿속에 꼭 넣어두어야 할 리눅스 공통 설정 파일들을 기능별로 분류하여 정리해 드립니다. 이 글을 즐겨찾기 해두고 필요할 때마다 꺼내 보세요.


1. 사용자 및 권한 관리 (User & Auth)

리눅스 서버 보안의 시작이자 끝입니다. 사용자 계정과 관련된 파일들은 모두 /etc 디렉토리에 모여 있습니다.

/etc/passwd

  • 기능: 시스템의 모든 계정 정보를 담고 있습니다. (아이디, UID, GID, 홈 디렉토리, 쉘 정보)
  • 특징: 누구나 읽을 수(Read) 있습니다. 따라서 보안상 실제 비밀번호는 이곳에 저장되지 않습니다.

/etc/shadow

  • 기능: 사용자들의 비밀번호가 **암호화(Hash)**되어 저장된 파일입니다.
  • 특징: 오직 관리자(root) 권한으로만 읽을 수 있어 보안을 유지합니다.

/etc/group

  • 기능: 사용자 그룹(Group) 정보를 정의합니다.
  • 활용: 특정 사용자를 docker 그룹이나 sudo 그룹에 포함되었는지 확인할 때 주로 열어봅니다.

/etc/sudoers

  • 기능: 일반 사용자에게 관리자 권한(sudo)을 어디까지 허용할지 정의합니다.
  • 주의: 이 파일은 권한 설정이 꼬이면 sudo 명령 자체가 먹통이 될 수 있으므로, 반드시 visudo 명령어를 통해 편집해야 문법 오류를 방지할 수 있습니다.

2. 네트워크 및 호스트 설정 (Network & Host)

네트워크 인터페이스 설정(IP 할당 등)은 배포판마다 차이가 크지만, 아래 파일들은 공통적으로 사용됩니다.

/etc/hosts

  • 기능: IP 주소와 도메인 이름을 1:1로 매핑해주는 ‘로컬 전화번호부’입니다.
  • 활용: DNS 서버를 거치지 않고 특정 도메인을 테스트 서버 IP로 연결할 때 유용합니다.

Bash

# /etc/hosts 예시
127.0.0.1   localhost
192.168.0.5 my-test-server.com

/etc/resolv.conf

  • 기능: 시스템이 사용할 DNS 서버(Nameserver) 주소를 지정합니다.
  • 활용: 인터넷은 되는데 도메인 접속이 안 될 때, 이곳에 구글 DNS(8.8.8.8) 등을 추가하여 해결하곤 합니다.

/etc/hostname

  • 기능: 해당 리눅스 시스템의 고유한 이름(호스트명)을 저장합니다. 터미널 프롬프트에 뜨는 이름이 바로 이것입니다.

3. 시스템 부팅 및 하드웨어 (System & Hardware)

/etc/fstab (File System Table)

  • 기능: 리눅스 부팅 시 어떤 디스크(파티션)를 어디에 연결(Mount)할지 정의합니다.
  • 중요: 이 파일 설정이 잘못되면 부팅 자체가 안 될 수 있는 매우 중요한 파일입니다. (수정 전 백업 필수!)

/etc/sysctl.conf

  • 기능: 리눅스 커널(Kernel) 파라미터를 실시간으로 제어하고 영구 적용하는 파일입니다.
  • 활용: 서버의 네트워크 성능 튜닝, 보안 설정 강화, 메모리 관리 정책 등을 수정할 때 사용합니다.

4. 작업 예약 및 자동화 (Automation)

/etc/crontab

  • 기능: 특정 시간이나 날짜에 반복적으로 명령어를 실행하도록 예약하는 스케줄러 설정 파일입니다.
  • 활용: 매일 새벽 3시에 서버 백업하기, 매주 로그 파일 정리하기 등을 자동화할 때 사용합니다.

Bash

# crontab 기본 구조
# 분 시 일 월 요일 사용자 명령어
00 03 * * * root /root/backup.sh

5. 환경 변수 및 쉘 설정 (Shell Environment)

로그인할 때마다 적용되는 환경 설정을 다룹니다.

파일 경로적용 범위설명
/etc/profile전체 사용자시스템에 로그인하는 모든 사용자에게 공통으로 적용되는 환경 변수 설정.
/etc/bashrc전체 사용자쉘(Bash)이 실행될 때마다 적용되는 함수나 별칭(Alias) 설정. (배포판에 따라 /etc/bash.bashrc일 수 있음)
~/.bashrc개인 사용자특정 사용자의 홈 디렉토리에 있으며, 그 사용자에게만 적용되는 개인 설정.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*

Categories