리눅스는 권한(Permission) 관리를 통해 자신의 파일 또는 디렉토리를 더 강력하게 보호하고 제어하는 기능을 제공합니다.
소유자 권한, 그룹 권한, 일반 사용자 권한으로 나누어지는데요.
특수한 경우에 사용할 수 있는 Set-UID / Set-GID / Sticky bit 라는 권한 설정 또한 가능합니다.
오늘은 간단하게 리눅스의 권한에 대해 살펴보겠습니다.
Linux Permission
d r w x r - x r - x
이러한 문자를 디렉토리 내 파일 확인을 하다 보신 적 있으시죠?
각 문자를 이렇게 끊어서 보시면 됩니다.
d / r w x / r - x / r- -
먼저 맨 앞의 d는 해당 파일이 일반 파일인지(-) , 디렉토리(d)를 의미하는지를 나타냅니다.
파일 타입에 따라 관리되는 방식이 크게 달라지죠.
디렉토리일 경우 변경/삭제하는데도 여러 옵션과 권한을 요구합니다.
파란색의 rwx는파일 소유자의 권한을 의미합니다.
이때 r은 read(4) , w는 write(2), x는 execute(1) 을 의미하는데요.
옆에 괄호로 적은 숫자는 문자를 이진수로 표현할 때 의미하는 바가 됩니다.
rwx 권한을 가진다면 읽기, 쓰기, 실행 권한 모두를 가진 것이지요.
초록색의 r-x는 그룹의 권한을 의미하며, 해당 그룹에 속한 사용자는 모두 명시된 권한을 사용할 수 있습니다.
이 때는 읽기 및 실행 권한만을 소유한 것이겠죠.
노란색의 r--는 기타 다른 사용자의 권한을 의미합니다.
소유자도, 그룹에 속한 사용자도 아닌 경우로 이 때는 읽기 권한만을 소유한 것입니다.
소유자 또는 root 계정은 해당 파일의 권한을 변경할 수 있습니다.
chmod [option] [permission] [file]
chown [소유자]:[그룹] [file]
chmod 옵션은 해당 파일의 권한을 변경할 수 있는 명령어 입니다.
소유자가 일반 사용자 또는 그룹에 대한 권한을 변경하고자 할 때 사용할 수 있습니다.
이 때 접근권한을 2진수로 간단하게 표현할 수 있는데요.
아까 말씀드린 read = 4 / write = 2 / execute = 1 을 기억하셔야합니다.
chmod 754 file.txt
이렇게 설정하게 되면 파일의 권한이 어떻게 될까요?
-rwxr-xr-w 로 변경됩니다.
숫자 하나마다 순서대로 소유자/그룹/사용자 에 대한 권한을 설정하게 됩니다.
부여하고 싶은 권한이 있으면 그 권한에 해당하는 숫자를 더하고,
부여하지 말아야 하는 권한이 있다면 반대로 그 권한에 해당하는 숫자를 더하지 않으면 됩니다.
아주 간단하죠?
또한 파일 소유자 및 그룹을 변경하고 싶은 경우에는
chown
명령어를 사용하시면 됩니다.
chown 소유자:그룹 파일명
하나의 파일에는 다음과 같이 간단하게 사용 가능하며 원하는 소유자와 그룹으로 변경할 수 있습니다.
이 또한 다양한 옵션이 존재하니 상황에 맞게 사용하시면 됩니다.
linux에는 소유자, 그룹, 다른 사용자를 위한 읽기, 쓰기, 실행 권한을 제어 가능하나 추가 특수한 경우를 위한 권한이 존재합니다.
- Set-UID 권한 비트
파일에 해당 비트가 설정되면 사용자가 파일을 실행했을 때 해당 사용자 권한이 아닌 소유자 권한으로 실행됩니다.
ls -l로 확인 시 소유자 실행 권한이 s 로 표기되어있습니다.
-rwsr-xr-x file
chmod u+s file 명령어 또는 숫자 방식으로 설정할때는 가장 앞에 4를 붙여주어 설정합니다. (ex, chmod 4755 file)
- Set-GID 권한 비트
사용자의 그룹이 아닌 해당 파일의 그룹으로 실행됩니다.
-rwxrwsr-x file
chmod g+s file 명령어 또는 숫자 방식으로 설정할 때는 가장 앞에 2를 붙여주어 설정합니다. (ex, chmod 2755 file)
- Sticky 비트
디렉토리에만 적용이 가능합니다.
모든 사용자가 접근 가능하나, 삭제는 원하지 않을 경우 이를 사용하며, 삭제는 오직 파일을 소유한 소유자만 삭제 가능합니다.
Sticky 비트는 t / T 로 표기되며, 사용자의 실행 권한이 있을 경우 t / 실행 권한이 없을 경우 T 로 표기됩니다.
drwxr-xr-t dir
chmod o+t dir 명령어 또는 숫자 방식으로 설정할 때는 가장 앞에 1을 붙여주어 설정합니다. (ex, chmod 1755 dir)
오늘은 간단하게 권한에 대해 살펴보았습니다.
리눅스의 최고 장점을 잘 이용하여 파일마다 적절하게 권한을 설정해 데이터를 보호하는 모두가 되길 바랍니다.
'IT이야기 > 유용한 IT 지식' 카테고리의 다른 글
구글 애드센스 실패 - 애드고시 실패 후기 (2) (38) | 2023.02.14 |
---|---|
구글 애드센스 실패 - 애드고시 실패 후기 (1) (18) | 2023.02.09 |
챗GPT에게 독도는 누구 땅이냐고 물어봤더니 (6) | 2023.02.07 |
챗GPT에게 자바 스크립트에서의 http request 메소드에 대해 질문을 해보다 (2) | 2023.02.07 |
구글 사이트 등록하기 구글 검색 유입 - 서치 콘솔 (0) | 2023.01.10 |