
개요
리눅스는 다중 사용자 시스템으로 설계되었습니다. 여러 사용자가 동시에 시스템을 사용하는 환경에서는 파일과 데이터의 안전한 보호가 매우 중요합니다. 이를 위해 리눅스는 파일 접근 권한(File Permission) 시스템을 도입했습니다.
본 글에서는 리눅스의 파일 접근 권한(File Permission) 시스템에 대해서 정리하고자 합니다.
파일 접근 권한의 기본 구조
리눅스에서는 모든 파일에 대해 세 가지 범주의 사용자를 구분하여 서로 다른 접근 권한을 부여할 수 있습니다.
1. 소유자 (Owner)
- 파일을 소유한 사용자
2. 그룹 (Group)
- 파일에 지정된 그룹에 속한 사용자들
3. 기타 사용자 (Others)
- 소유자나
그룹에 속하지 않은모든 사용자
권한의 종류
각 범주의 사용자에 대해 다음 세 가지 권한을 설정할 수 있습니다.
- 읽기 권한 (r)
- 쓰기 권한 (w)
- 실행 권한 (x)
파일에서의 권한 의미
- 읽기(r): 파일의 내용을 읽을 수 있음
- 쓰기(w): 파일의 내용을 수정할 수 있음
- 실행(x): 파일을 실행할 수 있음
디렉토리에서의 권한 의미
- 읽기(r): 디렉토리 내용을 볼 수 있음
- 쓰기(w): 디렉토리 내 파일을 생성/삭제할 수 있음
- 실행(x): 디렉토리에 접근할 수 있음
접근 권한 8진수 표기법
리눅스는 권한을 8진수로 표현할 수 있습니다.
# 파일 생성
$ touch test.txt
# 소유자:rwx(7), 그룹:r-x(5), 기타사용자:r--(4) 권한 설정
$ chmod 754 test.txt
$ ls -l test.txt
-rwxr-xr-- 1 user group 0 Feb 13 10:00 test.txt
# 소유자:rw-(6), 그룹:r--(4), 기타사용자:r--(4) 권한 설정
$ chmod 644 test.txt
$ ls -l test.txt
-rw-r--r-- 1 user group 0 Feb 13 10:00 test.txt
- 읽기(r) = 4
- 쓰기(w) = 2
- 실행(x) = 1
권한 변경
chmod 명령어 : 권한 변경
1. 숫자를 사용한 방법
chmod 755 file # rwxr-xr-x
chmod 644 file # rw-r--r--
chmod 700 file # rwx------
2. 문자를 사용한 방법
chmod u+x file # 소유자에게 실행 권한 추가
chmod g-w file # 그룹의 쓰기 권한 제거
chmod o+r file # 기타 사용자에게 읽기 권한 추가
chmod a+x file # 모든 사용자에게 실행 권한 추가
- 사용자 지정 문자
- u : user(소유자)
- g : group(그룹)
- o : others(기타 사용자)
- a : all(모든 사용자)
- 연산자
- + : 권한 추가
- - : 권한 제거
- = : 권한 설정
- 권한 문자
- r : 읽기 권한
- w : 쓰기 권한
- x : 실행 권한
chown 명령어 : 소유자 or 그룹 변경
chown user:group file # 소유자와 그룹 모두 변경
chown user file # 소유자만 변경
chown :group file # 그룹만 변경
권한 설정 시 주의사항
- 보안을 위한 권한 설정
- 설정 파일: 600 또는 640
- 실행 파일: 755
- 일반 문서: 644
- 중요 데이터: 600
- 일반적인 실수 피하기
- 777 권한 사용 자제 (모든 사용자에게 모든 권한 부여)
- 홈 디렉토리 권한 관리 (700 또는 750 권장)
- 로그 파일 권한 관리 (644 또는 640 권장)
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2025.02.15 - MySQL에서 OR 연산자 이외의 조건문 활용법: IN, CASE WHEN, FIND_IN_SET (0) | 2025.02.15 |
---|---|
[TIL, 일일 회고] 2025.02.14 - 리눅스 : umask 명령어란❓ (0) | 2025.02.14 |
[TIL, 일일 회고] 2025.02.12 - 리눅스 크론탭(Linux Crontab) (0) | 2025.02.12 |
[TIL, 일일 회고] 2025.02.11 - ORDER BY의 숫자의 의미 (0) | 2025.02.11 |
[TIL, 일일 회고] 2025.02.10 - API와 Endpoint 차이점 알아보기 (0) | 2025.02.10 |

개요
리눅스는 다중 사용자 시스템으로 설계되었습니다. 여러 사용자가 동시에 시스템을 사용하는 환경에서는 파일과 데이터의 안전한 보호가 매우 중요합니다. 이를 위해 리눅스는 파일 접근 권한(File Permission) 시스템을 도입했습니다.
본 글에서는 리눅스의 파일 접근 권한(File Permission) 시스템에 대해서 정리하고자 합니다.
파일 접근 권한의 기본 구조
리눅스에서는 모든 파일에 대해 세 가지 범주의 사용자를 구분하여 서로 다른 접근 권한을 부여할 수 있습니다.
1. 소유자 (Owner)
- 파일을 소유한 사용자
2. 그룹 (Group)
- 파일에 지정된 그룹에 속한 사용자들
3. 기타 사용자 (Others)
- 소유자나
그룹에 속하지 않은모든 사용자
권한의 종류
각 범주의 사용자에 대해 다음 세 가지 권한을 설정할 수 있습니다.
- 읽기 권한 (r)
- 쓰기 권한 (w)
- 실행 권한 (x)
파일에서의 권한 의미
- 읽기(r): 파일의 내용을 읽을 수 있음
- 쓰기(w): 파일의 내용을 수정할 수 있음
- 실행(x): 파일을 실행할 수 있음
디렉토리에서의 권한 의미
- 읽기(r): 디렉토리 내용을 볼 수 있음
- 쓰기(w): 디렉토리 내 파일을 생성/삭제할 수 있음
- 실행(x): 디렉토리에 접근할 수 있음
접근 권한 8진수 표기법
리눅스는 권한을 8진수로 표현할 수 있습니다.
# 파일 생성
$ touch test.txt
# 소유자:rwx(7), 그룹:r-x(5), 기타사용자:r--(4) 권한 설정
$ chmod 754 test.txt
$ ls -l test.txt
-rwxr-xr-- 1 user group 0 Feb 13 10:00 test.txt
# 소유자:rw-(6), 그룹:r--(4), 기타사용자:r--(4) 권한 설정
$ chmod 644 test.txt
$ ls -l test.txt
-rw-r--r-- 1 user group 0 Feb 13 10:00 test.txt
- 읽기(r) = 4
- 쓰기(w) = 2
- 실행(x) = 1
권한 변경
chmod 명령어 : 권한 변경
1. 숫자를 사용한 방법
chmod 755 file # rwxr-xr-x
chmod 644 file # rw-r--r--
chmod 700 file # rwx------
2. 문자를 사용한 방법
chmod u+x file # 소유자에게 실행 권한 추가
chmod g-w file # 그룹의 쓰기 권한 제거
chmod o+r file # 기타 사용자에게 읽기 권한 추가
chmod a+x file # 모든 사용자에게 실행 권한 추가
- 사용자 지정 문자
- u : user(소유자)
- g : group(그룹)
- o : others(기타 사용자)
- a : all(모든 사용자)
- 연산자
- + : 권한 추가
- - : 권한 제거
- = : 권한 설정
- 권한 문자
- r : 읽기 권한
- w : 쓰기 권한
- x : 실행 권한
chown 명령어 : 소유자 or 그룹 변경
chown user:group file # 소유자와 그룹 모두 변경
chown user file # 소유자만 변경
chown :group file # 그룹만 변경
권한 설정 시 주의사항
- 보안을 위한 권한 설정
- 설정 파일: 600 또는 640
- 실행 파일: 755
- 일반 문서: 644
- 중요 데이터: 600
- 일반적인 실수 피하기
- 777 권한 사용 자제 (모든 사용자에게 모든 권한 부여)
- 홈 디렉토리 권한 관리 (700 또는 750 권장)
- 로그 파일 권한 관리 (644 또는 640 권장)
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2025.02.15 - MySQL에서 OR 연산자 이외의 조건문 활용법: IN, CASE WHEN, FIND_IN_SET (0) | 2025.02.15 |
---|---|
[TIL, 일일 회고] 2025.02.14 - 리눅스 : umask 명령어란❓ (0) | 2025.02.14 |
[TIL, 일일 회고] 2025.02.12 - 리눅스 크론탭(Linux Crontab) (0) | 2025.02.12 |
[TIL, 일일 회고] 2025.02.11 - ORDER BY의 숫자의 의미 (0) | 2025.02.11 |
[TIL, 일일 회고] 2025.02.10 - API와 Endpoint 차이점 알아보기 (0) | 2025.02.10 |