안녕하세요. 이쁜이와 멋쟁이의 "BTC_준호" 입니다.
오늘은 리눅스의 권한에 대해 이야기해볼까 합니다. 파일과 디렉터리에 대한 권한, 그리고 이를 어떻게 설정하고 변경하는지를 알아보도록 하겠습니다. 권한이 어떻게 작동하고 어떻게 조절하는지 이해하는 것은 시스템을 보안하고 제어하는 데 매우 중요합니다.
리눅스 권한 체계 이해하기
리눅스에서 각 파일과 디렉토리는 세 가지 주요 권한 설정을 가지고 있습니다.
소유자(User)의 권한, 그룹(Group)의 권한, 그리고 기타 사용자(Others)의 권한입니다.
- 사용자(User): 파일 또는 디렉토리의 소유자를 나타냅니다. 소유자는 파일을 생성한 사용자입니다.
- 그룹(Group): 특정 작업을 수행하는 사용자 그룹을 의미합니다. 파일은 하나의 그룹에 속하며, 그룹의 모든 사용자는 그룹 권한에 따라 파일에 접근할 수 있습니다.
- 기타 사용자(Others): 파일의 소유자도 그룹의 일원도 아닌 모든 다른 사용자를 의미합니다.
이들 각각에 대해 설정할 수 있는 권한은 읽기(Read), 쓰기(Write), 실행(Execute)의 세 가지가 있습니다.
따라서 파일 권한은 일반적으로 아래와 같은 형식으로 표시됩니다.
-rwxr-xr-x
예시로 위의 문자열은 파일 권한을 나타내는 10개 문자로 구성되어 있습니다.
첫 번째 문자는 파일 타입을 나타냅니다.
리눅스의 파일은 다양한 타입을 가지며, 이는 해당 파일에 대한 맨 앞의 문자를 통해 확인할 수 있습니다:
기호 | 설명 |
- | 일반 파일 |
d | 디렉토리 |
l | 심볼릭 링크 |
s | 소켓 |
p | 파이프 |
b | 블록 특수 파일 |
c | 문자 특수 파일 |
그 다음의 세 그룹의 문자(각 그룹은 3개 문자)는 각각 사용자, 그룹, 그리고 기타 사용자에 대한 권한을 나타냅니다.
r | ✔️ | ✔️ | ✔️ |
w | ✔️ | ❌ | ❌ |
x | ✔️ | ✔️ | ✔️ |
위 표는 -rwxr-xr-x 권한 설정을 나타냅니다.
사용자는 읽기, 쓰기, 실행 권한이 모두 있고, 그룹은 읽기와 실행 권한이 있으며, 기타 사용자는 읽기와 실행 권한이 있습니다.
권한 확인하기
리눅스에서 파일이나 디렉토리의 권한을 확인하려면 ls -l 명령어를 사용합니다. 이 명령어를 실행하면 각 파일이나 디렉토리에 대한 정보가 아래와 같이 표시됩니다.
-rwxr-xr-x 1 user group 4096 Jul 14 10:10 example.txt
이 라인은 다음을 의미합니다:
- -rwxr-xr-x : 파일의 권한 설정
- 1 : 이 파일에 대한 하드 링크의 수
- user : 파일의 소유자
- group : 이 파일이 속한 그룹
- 4096 : 파일의 크기를 바이트로 나타냅니다.
- Jul 14 10:10 : 마지막으로 수정된 날짜와 시간
- example.txt : 파일의 이름
권한 변경하기: chmod
리눅스에서는 chmod 명령어를 사용해 파일 권한을 변경할 수 있습니다.
chmod 명령어는 두 가지 방식으로 사용할 수 있습니다: 절대 모드(숫자를 사용)와 상대 모드(문자를 사용)입니다.
절대 모드에서는 권한을 숫자로 표현합니다. 읽기는 4, 쓰기는 2, 실행은 1입니다. 예를 들어, chmod 754 example.txt 명령은 소유자에게 읽기/쓰기/실행(7=4+2+1) 권한을, 그룹에게는 읽기/실행(5=4+1) 권한을, 그리고 기타 사용자에게는 읽기(4) 권한을 부여합니다.
상대 모드에서는 u(사용자), g(그룹), o(기타 사용자), a(모든 사용자)를 이용해 권한을 변경하며, +(추가), -(제거), =(설정)을 사용하여 권한을 조정합니다. 예를 들어, chmod g+w example.txt는 그룹에 쓰기 권한을 추가하고, chmod o-r example.txt는 기타 사용자의 읽기 권한을 제거합니다.
파일 소유자와 그룹 변경하기: chown, chgrp
리눅스에서는 chown과 chgrp 명령어를 사용해 파일의 소유자와 그룹을 변경할 수 있습니다.
예를 들어, chown newuser example.txt는 파일 example.txt의 소유자를 newuser로 변경하고,
chgrp newgroup example.txt는 해당 파일의 그룹을 newgroup으로 변경합니다.
끝으로...
리눅스의 권한 체계는 처음에는 복잡하게 느껴질 수 있지만, 기본 개념을 이해하고 나면 명확하게 이해하고 사용할 수 있습니다. 올바른 권한 설정은 리눅스 시스템의 보안을 강화하는 데 매우 중요하므로, 권한이 어떻게 작동하는지, 그리고 필요에 따라 어떻게 조절하는지 꼭 알아두어야 합니다. 이를 통해 시스템을 효율적으로 관리하고, 데이터를 안전하게 보호할 수 있습니다.
이해가 어려운 부분이 있거나 추가로 알아보고 싶은 내용이 있다면 댓글로 언제든 질문해주세요.
감사합니다.
'OS > Linux' 카테고리의 다른 글
외부 접속을 위한 ssh계정 생성 및 권한(sudo) (0) | 2023.08.18 |
---|---|
[Liunx]LVM을 사용해 EBS 볼륨 용량 늘리기 (1) | 2023.07.19 |
Linux 시간 동기화 (0) | 2023.07.14 |
[Linux] Swap Memory (0) | 2023.07.07 |
[Linux]포트 이해하기 (0) | 2023.06.26 |
댓글