리눅스 파일 권한 설정 chmod 소유권 chown 및 그룹 소유권 변경
- Computer/우분투
- 2022. 3. 8. 16:48
리눅스 파일 권한 (Permissions)
리눅스는 다양한 사용자가 사용할 수 있는 멀티 유저 시스템입니다. 여러 명의 컴퓨터 사용자가 동시 접근도 가능하고 파일을 관리할 수 있기 때문에 편리한 점도 있지만 보안에도 신경을 써야 합니다. 윈도우나 다른 컴퓨터 시스템에서도 파일 권한이 있긴 하지만 리눅스처럼 복잡하고 까다롭지는 않습니다. 평소에 컴퓨터를 사용하면서 파일 권한에 신경을 쓰면서 작업을 할 일은 없으니 말이죠.
리눅스에는 다음 두 가지 권한이 있습니다.
- 소유권 (Owners) : 특정 파일 또는 디렉터리를 소유하는 권리
- 허가권 (Permissions) : 특정 파일 또는 디렉터리의 접근 권한을 설정 하는 권리
위의 그림의 Permissions 부분이 허가권에 대한 정보입니다. Owners 부분이 소유권에 대한 부분입니다. 소유권은 사용자와 그룹을 표시해줍니다. 우선 허가권에 대해서 알아보면 -rwxrxwrwx 같이 9자리로 되어 있고 맨 앞에 파일 타입(File Type)은 해당 파일이 디렉터리 타입인지, 일반 파일인지 알 수 있습니다.
- r : read (읽기 권한)
- w : write (쓰기 권한)
- e : execute (실행 권한)
CHMOD 명령어 - 허가권 수정
chmod(change mode) 명령은 허가권을 수정할 수 있는 명령어 입니다. 수정은 다음과 같이 문자 모드 또는 숫자 모드로 수정 가능합니다.
- 문자 모드 : u, g, o, a의 소유자에게 +, -, = 등의 명령으로 허가권을 변경합니다.
- 숫자 모드 : 4, 2, 1, 0 등의 숫자를 조합해서 8진수의 값을 만들어 허가권을 변경합니다.
문자모드
▼ 1. 우선 문자 모드로 chmod 명령을 실행하기 위해서 my.txt라는 파일을 생성해보겠습니다. 새로 생성된 파일의 허가권(Permissions)을 보시면 -rx-rw-r-- 로 만들어진 것을 볼 수 있습니다. 9자리 중 소유자와 그룹에 대해서는 읽기 쓰기가 가능하고 그 밖의 사용자는 읽기만 가능하다는 것을 확인할 수 있습니다.
touch my.txt
▼ 2. 이번에는 다음과 같이 명령을 입력합니다.
chmod go+rw my.txt
▼ 3. 파일 권한이 다음과 같이 모든 사용자에 대해서 읽기와 쓰기가 가능하도록 변경되었습니다. 이처럼 문자를 이용한 chmod 명령을 사용하면 쉽게 파일의 권한을 변경할 수 있습니다.
문자모드 - 코드표
문자 | 설명 |
u | 사용자 권한 |
g | 그룹 권한 |
o | 소유자와 그룹을 제외한 사용자에 대한 권한 |
a | 모든 사용자 |
문자 | 설명 |
+ | 현재 모드에 권한 추가 |
- | 현재 모드에서 권한 제거 |
= | 현재 모드로 권한 지정 |
숫자모드
▼ 1. you.txt 라는 파일을 만들어줍니다. 현재 퍼미션을 숫자로 표현하면 664라고 할 수 있습니다. 이제 모든 사용자가 읽기, 쓰기, 실행을 할 수 있도록 다음과 같이 권한을 주겠습니다.
$chmod 777 you.txt
▼ 2. 다음과 같이 rwxrwxrwx로 파일 퍼미션이 변경된 것을 확인할 수 있습니다. 모든 사용자가 읽기, 쓰기, 실행이 가능해졌습니다.
▼ 3. 이번에는 다음과 같이 명령을 입력해보겠습니다. 다음 명령은 소유자 외에는 읽기만 가능하도록 변경합니다.
chmod 744 you.txt
▼ 4. 이제 rwxr--r-- 와 같이 변경된 것을 확인할 수 있습니다. 이처럼 숫자를 이용해서 변경하는 것이 더 편리할 수도 있습니다. 문자든 숫자든 편한 방식으로 사용하면 될 것 같습니다.
숫자 모드에서는 예를 들어 다음과 같은 규칙으로 허가권이 결정됩니다.
[rwx] [rwx] [rwx] = [0] [7] [4] = [---] [rwx] [r--]
[rwx] [rwx] [rwx] = [7] [7] [4] = [rwx] [rwx] [r--]
[rwx] [rwx] [rwx] = [2] [1] [3] = [-w-] [---] [-wx]
[rwx] [rwx] [rwx] = [4] [5] [6] = [r--] [r-x] [rw-]
[rwx] [rwx] [rwx] = [1] [5] [5] = [--x] [r-x] [r-x]
숫자 모드 - 코드표
숫자 | 표기 | 권한 |
0 | --- | 권한 없음 |
1 | --x | 실행 |
2 | -w- | 쓰기 |
3 | -wx | 쓰기, 실행 |
4 | r-- | 읽기 |
5 | r-x | 읽기, 실행 |
6 | rw- | 읽기, 쓰기 |
7 | rwx | 읽기, 쓰기, 실행 |
CHOWN 명령어 - 소유권 변경
마지막으로 소유권을 변경해보겠습니다. 허가권은 사용자 별로 권한을 달리 설정했다면 소유권 변경은 해당 파일 또는 폴더의 소유로 변경할 것인지에 대한 것입니다. [rwx][rwx][rwx] 다시 말해 사용자와 그룹을 누구로 할 것인지에 대한 문제입니다.
▼ 1. 파일의 소유권을 변경하기 위해선 다음과 같이 chown 명령어를 통해서 변경합니다. 사용자:그룹 의 형태의 인자를 받습니다. 두 번째 인자로는 소유권을 변경할 파일명을 받습니다. 폴더가 될 수도 있는데요. 만약 하위 폴더들의 소유권도 변경하고 싶다면 그때는 -R 옵션을 추가해줍니다. 그럼 재귀로 하위의 모든 폴더 및 파일을 해당 소유자로 변경됩니다.
chown root:root you.txt
▼ 2. 명령을 통해 다음과 같이 root 소유자 root 그룹으로 변경된 걸 확인하실 수 있습니다.
리눅스뿐만 아니라 맥, 윈도우등 여러 운영체재에서는 파일 권한 즉 허가권 변경이 매우 중요합니다. 특히나 리눅스 같은 멀티유저 운영체제의 경우 소유권의 중요성도 매우 큽니다. 때문에 리눅스를 사용할 때는 허가권, 소유권에 대해서 분명히 알고 있어야 하죠.
'Computer > 우분투' 카테고리의 다른 글
[ 우분투 ] PS 명령어 프로세스 Kill 명령어 PID, PPID 확인 (0) | 2023.07.15 |
---|---|
[우분투] 리눅스 Linux 타임존(Timezone) KST, UTC 시간대 변경 (0) | 2022.01.22 |
[리눅스] 우분투 사용자 추가 시스템 계정 관리 (useradd, passwd 파일) (0) | 2022.01.19 |
[ 우분투 ] 20.04 슬랙(Slack) 리눅스 .deb 버전 설치하기 (0) | 2021.09.03 |
[ 우분투 ] Microsoft 엣지(edge) 브라우저 설치하기 (0) | 2021.08.25 |