리눅스 파일 권한 구조
1. 기본 권한의 구성
리눅스의 파일 권한은 ls -l
명령으로 확인할 수 있습니다. 예를 들어:
-rw-r--r-- 1 hong devteam 1024 Jan 9 10:00 example.txt
항목 | 설명 |
---|---|
-rw-r--r-- |
권한: 소유자(owner), 그룹(group), 기타 사용자(others) 권한. |
1 | 하드 링크의 개수. |
hong | 소유자(owner): 파일의 주인 사용자. |
devteam | 그룹(group): 소유자가 속한 그룹. |
1024 | 파일 크기(바이트 단위). |
Jan 9 10:00 | 파일 수정 날짜와 시간. |
example.txt | 파일 이름. |
2. 권한 비트
권한은 10개의 문자로 구성되며, 각 위치는 다음과 같습니다:
위치 | 설명 |
---|---|
첫 번째 문자 | 파일 유형 (- : 일반 파일, d : 디렉토리, l : 심볼릭 링크 등). |
2-4번째 문자 | 소유자 권한 (rwx ). |
5-7번째 문자 | 그룹 권한 (rwx ). |
8-10번째 문자 | 기타 사용자 권한 (rwx ). |
권한의 종류:
r
: 읽기(Read) = 4w
: 쓰기(Write) = 2x
: 실행(Execute) = 1-
: 권한 없음 = 0
파일 및 디렉토리 권한 관리 명령어
1. 권한 변경: chmod
권한을 변경하는 방법은 다음과 같습니다:
숫자 방식
chmod 764 파일이름
764
의 의미:- 소유자:
rwx
(7 = 4+2+1). - 그룹:
rw-
(6 = 4+2). - 기타 사용자:
r--
(4 = 4).
- 소유자:
문자 방식
chmod u=rwx,g=rw,o=r 파일이름
u
: 소유자(owner).g
: 그룹(group).o
: 기타 사용자(others).
특정 권한 추가/제거:
chmod g+w 파일이름 # 그룹에 쓰기 권한 추가
chmod o-r 파일이름 # 기타 사용자 읽기 권한 제거
---
2. 소유권 변경: chown
소유자를 변경합니다:
sudo chown 새소유자 파일이름
소유자와 그룹을 동시에 변경:
sudo chown 새소유자:새그룹 파일이름
---
3. 그룹 변경: chgrp
그룹을 변경합니다:
sudo chgrp 새그룹 파일이름
---
특수 권한
- SUID: 파일 실행 시 파일 소유자 권한으로 실행.
- SGID: 그룹 권한으로 실행.
- Sticky Bit: 디렉토리에서 파일 삭제 권한을 소유자로 제한.
권한 설정 예:
chmod u+s 파일이름 # SUID 설정
chmod g+s 디렉토리이름 # SGID 설정
chmod +t 디렉토리이름 # Sticky Bit 설정
---
ACL (Access Control List)
ACL을 사용하여 특정 사용자에 대해 세부 권한을 설정할 수 있습니다:
setfacl -m u:사용자:rwx 파일이름 # 사용자에게 읽기, 쓰기, 실행 권한 부여
getfacl 파일이름 # ACL 확인
setfacl -x u:사용자 파일이름 # ACL 제거
---
예제: 특정 권한 추가
# 파일 상태 확인
ls -l example.txt
# 그룹에 쓰기 권한 추가
chmod g+w example.txt
# 결과 확인
ls -l example.txt
결과:
-rw-rw-r-- 1 hong devteam 1024 Jan 9 10:00 example.txt
'Linux' 카테고리의 다른 글
리눅스 패키지(apt)과 압축(tar, gz) (0) | 2025.01.22 |
---|---|
리눅스 프로세스 관리 (ps, top, kill..) (0) | 2025.01.22 |
리눅스 sudo(superuser do) 와 su(substitute user) 명령어 (0) | 2025.01.21 |
리눅스 사용자 계정 (0) | 2025.01.21 |
리눅스 디렉토리 계층 구조 (0) | 2025.01.19 |