리눅스 파일 시스템에서 파일과 디렉터리의 소유권 및 허가권(권한)은 시스템 보안과 관리를 중요한 요소입니다.
이번 포스팅에서는 기본적인 소유권과 권한 변경 명령어인 chown과 chmod에 대해 설명하겠습니다
ls -l
위의 명령어를 통해서 파일과 디렉토리의 사용자와 그룹을 확인가능하고 다양한 다른 정보를 알 수 있습니다.
drwxr-xr-x. 2 root root 6 5월 20 19:03 다운로드
위의 다운로드 디렉터리의 정보를 해석해 보자면
가장 먼저 앞에 있는 d의 경우는 디렉터리를 의미합니다.
( d:디렉터리, -:일반파일을 뜻함 , c : 장치파일 l:링크 파일)
그 뒤로 rwx는 각각 r은 읽기, w는 쓰기, x는 실행권한을 의미합니다.
root root는 각각 소유자 소유그룹을 의미합니다.
d rwxr-xr-x. 2 root root 6 5월 20 19:03 다운로드
종류 허가권 링크수 소유자 소유그룹 크기 생성일 확장자
위의 표처럼 정리가 됩니다.
파일 허가권
파일 허가권의 경우는 기본적으로 rwx로 표현되는데 각각
- r: 읽기 - 4 / 파일 내용을 읽을 수 있는 권한.
- w: 쓰기 - 2 / 파일 내용을 수정할 수 있는 권한.
- x: 실행 - 1 / 파일을 실행할 수 있는 권한. (디렉터리의 경우 해당 디렉터리로 접근할 수 있는 권한)
을 의미하고 -의 경우는 권환이 없을음 나타냅니다.
이러한 허가권은 위에서 확인가능하듯이 3번 반복되는데 각각
- 소유자 = u (Owner)
- 소유그룹 = g (Group)
- 기타 사용자= o (Others)
이렇게 3가지로 의미됩니다
# 위의 다운로드의 허가권인 rwxr-xr-x는
# rwx r-x r-x 이렇게 3개로 나누어지고
# 각각 소유자는 읽기,쓰기,실행의 권한을가지고
#소유그룹과 기타그룹은 읽기,실행의 권한을 가집니다.
이러한 허가권은 chmod 명령어를 통해서 변경하고 수정이 가능합니다.
수정하는 방법으로는 문자모드와 숫자모드 2가지의 변경방법이 있습니다.
먼저 문자모드의 경우는
chmod [user]±[permission] 파일명
# +는 추가
# -는 제거
# =는 동일
위의 명령어를 통해서 my디렉터리의 소유자의 읽기 권한이 없어진 것을 확인가능합니다.
이번에는 숫자모드로 변경을 해보겠습니다.
chmod [숫자] [파일명]
# 숫자 = 0, 1, 2, 4 를 조합해서만 가능*3
# 0= 권한 없음
# 1= 실행
# 2= 쓰기
# 4= 읽기
위의 규칙대로 777을 적용하게 되면 my 디렉터리는 소유자, 소유그룹, 기타사용자는 읽기,쓰기,실행의 권한을 가집니다.
리눅스 파일 소유권 개념
리눅스 시스템에서 모든 파일과 디렉토리는 특정 사용자와 그룹에 소유됩니다.
- 소유자 (Owner): 파일을 생성한 사용자로, 기본적으로 가장 많은 권한을 가집니다.
- 그룹 (Group): 소유자가 속한 그룹이며, 해당 그룹에 속한 사용자들이 설정된 권한을 가집니다.
기본적으로 파일을 생성한 사용자의 소유자와 그룹과 동일합니다.
이러한 소유권은 chown 명령어를 통해서 파일의 소유권 변경을 변경이 가능합니다
chown [옵션] [새로운 소유자]:[새로운 그룹] 파일명
chown 명령어는 파일이나 디렉터리의 소유자 또는 소유 그룹을 변경하는 데 사용됩니다.
위처럼 'my'라는 디렉토리의 소유자를 root에서 ban이라는 사용자로 변경하였습니다.
소유자뿐만이 아니라 소유그룹 또한 동시에 변경가능합니다.
중요옵션으로는 -R이 있는데 디렉터리의 하위파일들 전부 소유권을 한 번에 변경가능합니다.
리눅스의 소유권과 권한을 제대로 이해하고 사용하는 것은 시스템 보안을 유지하고 효율적으로 관리할 수 있습니다.
chown과 chmod 명령어를 사용하여 파일과 디렉터리의 소유자 및 권한을 적절히 활용할 수 있습니다.
다음 포스팅에서는 umask와 특수권한에 대해서 포스팅하도록 하겠습니다.
이상으로 이번 포스팅을 마치도록 하겠습니다.
'Linux' 카테고리의 다른 글
데몬(Daemon)과 패키지 관리 도구(dnf,yum,rpm) (0) | 2024.08.14 |
---|---|
umask와 특수권한 (0) | 2024.08.13 |
리눅스-그룹관리 (0) | 2024.08.08 |
리눅스-사용자 관리 (0) | 2024.08.08 |
vi에디터 (0) | 2024.06.21 |