chmod 계산기
리눅스 파일 권한을 숫자(755)와 기호(rwxr-xr-x) 형식으로 양방향 변환합니다.
권한 설정
| 주체 | 읽기 (r) | 쓰기 (w) | 실행 (x) | 값 |
|---|---|---|---|---|
| 소유자 (Owner) | 7 | |||
| 그룹 (Group) | 5 | |||
| 기타 (Others) | 5 |
특수 권한
결과
755
rwxr-xr-x
chmod 755 filename
-rwxr-xr-x
숫자로 입력
기호로 입력
프리셋
chmod 계산기 -- 리눅스 파일 권한 완벽 가이드
chmod(change mode)는 리눅스/유닉스 시스템에서 파일이나 디렉토리의 접근 권한을 변경하는 POSIX 표준 명령어입니다. 이 계산기는 숫자(8진수) 표기법과 기호(symbolic) 표기법을 양방향으로 변환하며, 체크박스를 통해 직관적으로 권한을 설정하고 즉시 chmod 명령어를 확인할 수 있습니다.
8진수 표기법의 구조
리눅스 파일 권한은 3개 주체(Owner, Group, Others)에 대해 3개 권한(Read, Write, Execute)을 각각 설정합니다. 각 권한에 가중치를 부여하여 합산하면 0~7의 8진수 값이 됩니다.
| 권한 | 기호 | 가중치 | 설명 |
|---|---|---|---|
| 읽기 | r | 4 | 파일 내용 읽기 / 디렉토리 목록 조회 |
| 쓰기 | w | 2 | 파일 수정 / 디렉토리 내 파일 생성/삭제 |
| 실행 | x | 1 | 파일 실행 / 디렉토리 진입(cd) |
예시: chmod 755 script.sh → 소유자(7=4+2+1=rwx), 그룹(5=4+0+1=r-x), 기타(5=4+0+1=r-x)
기호(Symbolic) 표기법
기호 표기법은 chmod u+rwx,g+rx,o+rx filename 형식으로 권한을 추가(+), 제거(-), 설정(=)합니다. u는 소유자,g는 그룹, o는 기타, a는 모든 주체를 의미합니다. 현재 권한을 기준으로 상대적 변경이 가능하여 스크립트에서 유용합니다.
실무에서 자주 쓰는 권한 설정
| 8진수 | 기호 | 용도 | 보안 등급 |
|---|---|---|---|
| 644 | rw-r--r-- | 웹 파일(HTML, CSS, JS) | 안전 |
| 755 | rwxr-xr-x | 실행 파일, 디렉토리 | 안전 |
| 600 | rw------- | SSH 개인 키, .env 파일 | 최고 |
| 700 | rwx------ | ~/.ssh 디렉토리 | 최고 |
| 775 | rwxrwxr-x | 팀 공유 디렉토리 | 보통 |
| 777 | rwxrwxrwx | 전체 권한(비추천) | 위험 |
특수 권한: SUID, SGID, Sticky Bit
4자리 표기법의 첫 번째 자리는 특수 권한을 나타냅니다.
- SUID (4): 실행 시 파일 소유자의 권한으로 실행.
ls -l에서s로 표시. 예:/usr/bin/passwd - SGID (2): 실행 시 파일 그룹의 권한으로 실행. 디렉토리에 설정하면 새 파일이 그룹을 상속.
- Sticky Bit (1): 디렉토리 내 파일을 소유자만 삭제 가능.
/tmp에 설정(1777).
umask와의 관계
umask는 새로 생성되는 파일/디렉토리의 기본 권한에서 제거할 비트를 지정합니다. 기본 umask가 022이면, 새 파일은 644(666 - 022), 새 디렉토리는 755(777 - 022)로 생성됩니다. 보안을 강화하려면 umask를 027로 설정하여 기타 사용자의 접근을 차단하세요.
보안 주의사항
chmod 777은 모든 사용자에게 읽기/쓰기/실행 권한을 부여하므로 절대 프로덕션에서 사용하지 마세요.- SUID가 설정된 프로그램은 권한 상승 공격의 대상이 될 수 있으므로
find / -perm -4000으로 정기 감사하세요. - 웹 서버(Apache/Nginx)가 접근하는 파일은 소유자를 웹 서버 사용자(www-data)로 설정하세요.
관련 도구
SSH 키 권한 설정이 필요하면 SSH 키 생성기를, Cron 작업 스케줄링은 Cron 표현식 생성기를, Docker 보안 설정은 Dockerfile 생성기를 활용하세요.
참고 자료
- POSIX -- chmod specification (IEEE Std 1003.1)
- Linux man page -- chmod(1), umask(2)
- CIS Benchmarks -- Linux File Permission Guidelines
- OWASP -- File System Security Cheat Sheet