파일 또는 디렉터리 액세스 권한을 수정해야 할 때 사용할 주요 도구는 chmod(모드 변경) 명령입니다. 리눅스에서 권한을 변경하는 방법을 이해하는 것은 모든 사용자에게 기본적인 기술입니다. chmod 명령은 이 작업을 위해 두 가지 주요 방법, 즉 기호 모드 (symbolic mode) 와 숫자 모드 (numerical mode) 를 제공합니다.
기호 모드 사용하기
기호 모드는 사용자와 권한을 나타내는 문자를 사용하기 때문에 종종 더 읽기 쉽다고 간주됩니다. 먼저 변경하려는 권한 세트 (사용자, 그룹 또는 기타) 를 지정한 다음, +를 사용하여 권한을 추가하거나 -를 사용하여 권한을 제거합니다.
u(사용자/소유자)g(그룹)o(기타)a(모두: 사용자, 그룹 및 기타)
예제를 통해 리눅스 파일 권한을 변경하는 방법을 살펴보겠습니다.
파일에 대해 사용자에게 실행 권한을 추가하려면 다음을 사용합니다.
chmod u+x myfile
이 명령은 myfile에 대해 사용자 (u) 에게 실행 (x) 권한을 추가 (+) 합니다.
권한을 제거하려면 - 연산자를 사용합니다. 예를 들어, 그룹에 대한 쓰기 권한을 제거하려면 다음과 같이 합니다.
chmod g-w myfile
여러 권한을 한 번에 수정할 수도 있습니다. 다음 명령은 사용자와 그룹 모두에 대해 쓰기 권한을 추가합니다.
chmod ug+w myfile
숫자 (8 진수) 모드 사용하기
리눅스 권한 변경을 위한 또 다른 강력한 방법은 숫자 또는 8 진수 모드를 사용하는 것입니다. 이 방법은 세 자리 숫자를 사용하여 사용자, 그룹 및 기타에 대한 모든 권한을 동시에 설정할 수 있게 해줍니다.
권한은 다음 값으로 표현됩니다.
4: 읽기 (r)2: 쓰기 (w)1: 실행 (x)
권한 세트를 설정하려면 숫자를 더합니다. 예를 들어, 읽기, 쓰기 및 실행 권한을 부여하려면 4 + 2 + 1 = 7을 사용합니다.
일반적인 예를 살펴보겠습니다.
chmod 755 myfile
이 리눅스 권한 변경 명령은 어떻게 작동할까요? 숫자 755를 분석해 보겠습니다.
- 7 (사용자):
4 + 2 + 1-> 사용자는 읽기, 쓰기 및 실행 권한 (rwx) 을 갖습니다. - 5 (그룹):
4 + 0 + 1-> 그룹은 읽기 및 실행 권한 (r-x) 을 갖습니다. - 5 (기타):
4 + 0 + 1-> 다른 모든 사용자는 읽기 및 실행 권한 (r-x) 을 갖습니다.
보안 고려 사항
chmod는 필수적이지만 신중하게 사용해야 합니다. 권한 변경이 미치는 영향을 이해하지 못한 채 변경하면 민감한 파일이 무단 수정 또는 보기에 노출될 수 있습니다. 예를 들어, 777 권한을 재귀적으로 설정하는 것 (chmod -R 777 /some/directory) 은 모든 사용자에게 읽기, 쓰기 및 실행 권한을 부여하는 일반적이지만 위험한 관행입니다. 항상 최소 권한의 원칙을 적용하여 반드시 필요한 권한만 부여해야 합니다.