DevToolBox무료
블로그

Linux 파일 권한 설명: 완전한 chmod 계산기 가이드

12분 읽기by DevToolBox

Linux 파일 권한은 시스템 보안의 핵심입니다. Unix 시스템의 모든 파일과 디렉터리에는 누가 읽기, 쓰기, 실행할 수 있는지 결정하는 메타데이터가 있습니다. 웹 애플리케이션 배포, 서버 보안 강화, 배포 스크립트 디버깅 등 chmod 명령어파일 권한 숫자의 이해는 필수입니다. 이 포괄적인 chmod 계산기 가이드는 기본 개념부터 특수 비트까지 모든 것을 다룹니다.

인터랙티브 chmod 계산기로 권한을 즉시 시각화하세요.

Chmod Calculator →

1. Linux 파일 권한이란?

Linux의 모든 파일과 디렉터리에는 세 가지 사용자 범주가 있습니다. 소유자는 일반적으로 파일 생성자입니다. 그룹은 접근 권한을 공유하는 사용자 집합입니다. 기타는 시스템의 나머지 모든 사용자를 의미합니다. ls -l 명령어로 권한 문자열을 확인할 수 있습니다.

각 범주에는 세 가지 접근 유형을 부여할 수 있습니다. 읽기 (r)는 파일 내용 보기나 디렉터리 목록 표시를 허용합니다. 쓰기 (w)는 파일 수정이나 디렉터리 내 항목 생성/삭제를 허용합니다. 실행 (x)은 프로그램 실행이나 디렉터리 진입을 허용합니다.

일반적인 <code>ls -l</code> 출력 예시:

-rwxr-xr--  1 alice  developers  4096 Feb 20 deploy.sh

 소유자: rwx (7) | 그룹: r-x (5) | 기타: r-- (4)
 권한 번호: 754

2. 권한 숫자 이해하기 (8진법 표기)

Linux는 각 권한 세트를 0에서 7까지의 8진수로 표현합니다: 읽기 = 4, 쓰기 = 2, 실행 = 1. 755와 같은 세 자리 숫자는 세 범주 모두를 인코딩합니다.

8진수 참조 테이블:

8진수기호의미
0---No permission
1--xExecute only
2-w-Write only
3-wxWrite + Execute
4r--Read only
5r-xRead + Execute
6rw-Read + Write
7rwxRead + Write + Execute

완전한 권한 번호를 계산하려면 각 자릿수를 개별적으로 계산합니다. 예: 소유자 읽기+쓰기 (4+2=6), 그룹 읽기 (4), 기타 없음 (0) = 640.

3. chmod 권한 참조 테이블

가장 많이 사용되는 chmod 권한 조합의 포괄적인 참조 테이블입니다.

8진수기호의미일반적인 용도
777rwxrwxrwx모든 사용자에게 전체 접근임시 디버깅만; 프로덕션에서 절대 사용 금지
755rwxr-xr-x소유자 전체; 그룹/기타 읽기+실행디렉터리, 실행 스크립트, 웹 서버 문서 루트
750rwxr-x---소유자 전체; 그룹 읽기+실행; 기타 없음공유 프로젝트 디렉터리
700rwx------소유자만 전체 접근~/.ssh 디렉터리, 비공개 스크립트
666rw-rw-rw-모든 사용자 읽기+쓰기; 실행 없음거의 사용하지 않음; 임시 공유 파일
644rw-r--r--소유자 읽기+쓰기; 그룹/기타 읽기HTML, CSS, PHP 파일, 설정 파일
640rw-r-----소유자 읽기+쓰기; 그룹 읽기; 기타 없음로그 파일, 민감한 설정
600rw-------소유자만 읽기+쓰기SSH 개인키, .env 파일, 데이터베이스 자격 증명
400r--------소유자만 읽기SSL 인증서, 읽기 전용 시크릿
775rwxrwxr-x소유자 전체; 그룹 전체; 기타 읽기+실행공유 업로드 디렉터리

4. chmod 명령어 사용법

chmod 명령어는 파일과 디렉터리 권한을 변경합니다. 숫자(8진수) 모드와 기호 모드 두 가지를 지원합니다.

숫자 모드

숫자 모드에서는 3자리 또는 4자리 8진수를 지정합니다:

chmod 755 script.sh          # rwxr-xr-x
chmod 644 config.json        # rw-r--r--
chmod 600 id_rsa             # rw-------
chmod 400 cert.pem           # r--------
chmod -R 755 /var/www/html   # Recursive on directory

기호 모드

기호 모드는 chmod [ugoa][+-=][rwxXst] 구문을 사용합니다:

  • 대상: u (소유자), g (그룹), o (기타), a (모두)
  • 연산자: + (추가), - (제거), = (정확히 설정)
  • 권한: r (읽기), w (쓰기), x (실행)
chmod u+x script.sh          # Add execute for owner
chmod g-w file.txt           # Remove write from group
chmod o+r document.pdf       # Add read for others
chmod a+x run.sh             # Add execute for all
chmod u=rwx,go=rx dir/       # Owner=rwx, group+others=rx (755)
chmod go-rwx secret.key      # Remove all from group+others

재귀적 chmod

chmod -R로 재귀적으로 변경합니다:

# Set directories to 755 and files to 644 (web server standard)
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;

# Make all .sh files executable
find /opt/scripts -name "*.sh" -exec chmod 755 {} \;

chmod 계산기로 정확한 명령어를 생성하세요:

Chmod Calculator →

5. 개발자를 위한 일반적인 chmod 패턴

파일 유형마다 특정 권한 설정이 필요합니다. 필수 chmod 패턴 참조입니다.

웹 서버 파일

표준: 파일은 644, 디렉터리는 755:

# Web server document root
chmod 755 /var/www/html
chmod 644 /var/www/html/index.html
chmod 644 /var/www/html/style.css
chmod 644 /var/www/html/.htaccess

# PHP / application files
chmod 644 /var/www/html/app/*.php
chmod 755 /var/www/html/app/storage

스크립트와 실행 파일

공유 스크립트는 755, 비공개는 700:

# Shared executable scripts
chmod 755 deploy.sh
chmod 755 /usr/local/bin/my-tool

# Private scripts (owner only)
chmod 700 backup-db.sh
chmod 700 cleanup.sh

SSH 키와 설정

SSH는 권한에 매우 엄격합니다:

chmod 700 ~/.ssh                 # SSH directory
chmod 600 ~/.ssh/id_rsa          # Private key
chmod 600 ~/.ssh/id_ed25519      # Private key (Ed25519)
chmod 644 ~/.ssh/id_rsa.pub      # Public key
chmod 600 ~/.ssh/authorized_keys # Authorized keys
chmod 600 ~/.ssh/config          # SSH config file

환경 및 시크릿 파일

API 키가 포함된 파일은 소유자만 접근 가능해야 합니다:

chmod 600 .env                   # Environment variables
chmod 600 .env.production        # Production secrets
chmod 600 database.yml           # Database credentials
chmod 600 credentials.json       # API credentials
chmod 400 ssl-cert.pem           # SSL certificate (read-only)

업로드 디렉터리

업로드 디렉터리에는 그룹 쓰기 권한이 필요합니다:

chmod 775 /var/www/html/uploads
chmod 775 /var/www/html/tmp
chmod 775 /var/www/html/cache

# Ensure web server group owns the directory
# chown www-data:www-data /var/www/html/uploads

6. 특수 권한: setuid, setgid, 스티키 비트

표준 9비트 외에 Linux는 실행 동작을 수정하는 3개의 특수 비트를 지원합니다.

setuid (SUID) -- 4000

프로세스가 파일 소유자의 권한으로 실행됩니다. 예: /usr/bin/passwd.

setgid (SGID) -- 2000

디렉터리에서 새 파일이 자동으로 디렉터리의 그룹을 상속합니다.

스티키 비트 -- 1000

파일 소유자 또는 root만 삭제 가능. 예: /tmp (1777).

특수 권한 설정:

# SUID: run as file owner
chmod 4755 /usr/bin/passwd
chmod u+s /usr/bin/my-tool

# SGID: inherit group on directory
chmod 2755 /shared/project
chmod g+s /shared/project

# Sticky Bit: prevent deletion by others
chmod 1777 /tmp
chmod +t /shared/uploads

# Combine: SGID + standard permissions
chmod 2775 /team/shared-dir

# Find files with special permissions
find / -perm -4000 -type f 2>/dev/null  # Find SUID files
find / -perm -2000 -type f 2>/dev/null  # Find SGID files
find / -perm -1000 -type d 2>/dev/null  # Find sticky dirs

7. 파일 권한 모범 사례

파일 권한은 중요한 방어 계층입니다.

최소 권한 원칙을 따르세요. 필요한 최소한의 권한만 부여하세요.

프로덕션에서 chmod 777은 절대 사용하지 마세요. 모든 사용자에게 전체 접근을 부여합니다.

정기적으로 권한을 감사하세요. find / -perm -777 -type f를 사용하세요.

world-readable 대신 그룹을 사용하세요.

재귀적 chmod에 주의하세요. 항상 경로를 확인하세요.

권한 요구사항을 문서화하세요.

umask로 안전한 기본값을 설정하세요. umask 027을 설정하세요.

chmod 계산기 도구로 빠르고 정확한 권한을 결정하세요.

8. 자주 묻는 질문

chmod 755의 의미는?

chmod 755는 소유자에게 전체 접근(rwx = 7), 그룹과 기타에게 읽기와 실행 접근(r-x = 5)을 설정합니다. 실행 스크립트와 디렉터리의 표준 권한입니다.

chmod 755와 644의 차이는?

chmod 755 (rwxr-xr-x)는 모든 범주에 실행을 허용하며 디렉터리와 스크립트용입니다. chmod 644 (rw-r--r--)는 실행을 제거하고 쓰기를 소유자로 제한하며 일반 파일용입니다.

Linux에서 파일 권한을 확인하는 방법은?

ls -la 명령어로 자세한 정보를 확인합니다. stat 명령어로 더 상세한 정보를 볼 수 있습니다.

가장 안전한 파일 권한은?

실용적으로 400(소유자 읽기만) 또는 600(소유자 읽기+쓰기만)이 가장 제한적인 유용한 권한입니다.

Mac에서 chmod를 사용할 수 있나요?

네. macOS는 BSD Unix 기반이며 Linux와 동일한 구문으로 chmod를 완전히 지원합니다.

무료 온라인 chmod 계산기로 정확한 값을 계산하세요.

Chmod Calculator →
Apache 설정을 위한 htaccess 생성기도 확인하세요.강력한 비밀번호가 필요하세요? 비밀번호 생성기를 사용해보세요.
𝕏 Twitterin LinkedIn
도움이 되었나요?

최신 소식 받기

주간 개발 팁과 새 도구 알림을 받으세요.

스팸 없음. 언제든 구독 해지 가능.

Try These Related Tools

🔐Chmod Calculator.ht.htaccess Generator🔑Password Generator

Related Articles

Linux 파일 권한 설명: chmod 777, 755, 644 의미

Linux 파일 권한, chmod 명령어, 8진수 표기법을 이해합니다.

Linux chmod, chown, chgrp: 파일 권한 가이드

Linux 파일 권한 완전 가이드: chmod 숫자/기호 모드, chown, chgrp, 특수 권한(setuid, setgid, sticky bit).

SSH Keygen: Ed25519 vs RSA 가이드

ssh-keygen으로 SSH 키 생성하기. Ed25519와 RSA 비교, 키 크기 이해, SSH 키 관리 모범 사례.