권한 표기 이해
CODE
-rwxr-xr-- 1 alice developers 4096 May 27 10:00 script.sh
│└──┘└──┘└──┘
│ U G O U=소유자(User), G=그룹(Group), O=기타(Other)
│
└─ 파일 타입 (- 파일, d 디렉터리, l 링크)
r = 읽기(4) w = 쓰기(2) x = 실행(1) - = 없음(0)chmod — 권한 변경
Bash
# 숫자 표기
chmod 755 script.sh # rwxr-xr-x
chmod 644 file.txt # rw-r--r--
chmod 600 secret.key # rw-------
chmod 777 dir/ # rwxrwxrwx (위험)
# 기호 표기
chmod u+x script.sh # 소유자에 실행 추가
chmod g-w file.txt # 그룹에서 쓰기 제거
chmod o=r file.txt # 기타에 읽기만
chmod a+r file.txt # 모든 사람에 읽기 추가
chmod ug=rw,o= file.txt # 소유자·그룹 rw, 기타 없음
# 재귀 적용
chmod -R 755 /var/www/html
# 파일은 644, 디렉터리는 755로 구분 적용
find /var/www -type f -exec chmod 644 {} \;
find /var/www -type d -exec chmod 755 {} \;chown — 소유자 변경
Bash
# 소유자 변경
chown alice file.txt
# 소유자:그룹 동시 변경
chown alice:developers file.txt
# 그룹만 변경
chown :developers file.txt
chgrp developers file.txt
# 재귀 적용
chown -R deploy:www-data /var/www/myapp특수 권한 비트
Bash
# SUID — 소유자 권한으로 실행
chmod u+s /usr/bin/sudo # ls -la 시 -rwsr-xr-x
# SGID — 그룹 권한으로 실행 / 디렉터리 내 파일 그룹 상속
chmod g+s /shared/dir/
# Sticky Bit — 소유자만 삭제 가능 (/tmp 등)
chmod +t /tmp
ls -ld /tmp # drwxrwxrwt
# 숫자로: 4=SUID, 2=SGID, 1=Sticky
chmod 4755 mybin # SUID + 755
chmod 1777 /tmp # Sticky + 777umask — 기본 권한 마스크
Bash
# 현재 umask 확인
umask # 0022 (기본값)
# 파일 기본권한 = 666 - umask = 644
# 디렉터리 기본권한 = 777 - umask = 755
# 더 엄격한 umask (그룹·기타 읽기도 금지)
umask 077 # 파일 600, 디렉터리 700
# 영구 적용
echo "umask 022" >> ~/.bashrcACL — 세밀한 권한 제어
표준 권한(UGO)으로 처리하기 어려운 복잡한 시나리오에 사용합니다.
Bash
# ACL 패키지 설치
sudo apt install -y acl
# ACL 설정
setfacl -m u:bob:rw file.txt # bob에게 rw 권한
setfacl -m g:devops:rx /project/ # devops 그룹에 rx
setfacl -m o::- file.txt # 기타에 권한 없음
# 기본 ACL (디렉터리 — 새 파일에 자동 적용)
setfacl -d -m u:ci:rw /deploy/
# ACL 확인
getfacl file.txt
getfacl -R /project/
# ACL 삭제
setfacl -x u:bob file.txt # 특정 사용자 ACL 제거
setfacl -b file.txt # 모든 ACL 제거
# 복사·백업
getfacl -R /project/ > acl_backup.txt
setfacl --restore=acl_backup.txt편집 안내 · Editorial Note
이 가이드는 AI 도구를 활용해 초안을 구성하고 사람이 명령어·문맥을 검토해 발행했습니다. 운영체제와 도구 버전에 따라 결과가 달라질 수 있으므로 적용 전 공식 문서를 함께 확인하세요. 오류를 발견하시면 이메일로 제보해 주세요.
질문 & 답변 (Q&A)
이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.