리눅스 파일 권한
💡
리눅스는 멀티유저 시스템으로, 여러 사용자가 동시에 접속할 수 있다는 점에서 보안 관리가 매우 중요합니다. 리눅스는 이러한 보안을 강화하기 위해 퍼미션(권한) 기능을 제공합니다. 이 퍼미션 기능은 파일이나 디렉터리에 대해 접근을 제어하며, 파일 소유자와 그룹의 개념을 통해 관리됩니다. 이를 통해 여러 사용자가 사용하는 환경에서도 각 사용자의 권한을 적절히 제한할 수 있습니다.
퍼미션의 기본 개념
리눅스에서는 파일이나 디렉터리에 대해 세 가지 기본 권한을 제공합니다:
- 읽기(Read, r): 파일의 내용을 읽을 수 있는 권한
- 쓰기(Write, w): 파일을 수정하거나 디렉터리 안에 파일을 생성 및 삭제할 수 있는 권한
- 실행(Execute, x): 파일을 실행할 수 있는 권한 (주로 스크립트나 프로그램 파일에 해당)
이 권한은 세 가지 주체에 따라 다르게 적용됩니다:
- 소유자(owner): 파일이나 디렉터리를 소유한 사용자
- 그룹(group): 특정 그룹에 속한 사용자들
- 기타(other): 소유자나 그룹에 속하지 않은 모든 사용자
이 세 가지 주체 각각에 대해 읽기, 쓰기, 실행 권한이 부여될 수 있습니다. 예를 들어, 파일의 권한이 rwxr-xr--
로 설정된 경우, 소유자는 읽기, 쓰기, 실행 권한을 모두 가지고 있고, 그룹은 읽기와 실행 권한만, 기타 사용자는 읽기 권한만을 가집니다.
퍼미션 설정 및 확인
리눅스에서 파일의 퍼미션을 설정하거나 확인하기 위해 자주 사용하는 명령어는 다음과 같습니다.
1. ls -l
로 퍼미션 확인
파일이나 디렉터리의 권한을 확인하려면 ls -l
명령을 사용합니다. 결과는 아래와 같이 표시됩니다:
- 첫 번째 부분인
-rwxr-xr--
이 파일의 퍼미션을 나타냅니다. 이는 소유자(user)가rwx
(읽기, 쓰기, 실행) 권한을, 그룹(group)이r-x
(읽기, 실행) 권한을, 기타 사용자가r--
(읽기) 권한을 가지고 있음을 의미합니다.
2. chmod
로 퍼미션 변경
파일의 퍼미션을 변경할 때는 chmod
명령을 사용합니다. 퍼미션은 문자나 숫자로 설정할 수 있습니다.
문자로 퍼미션 변경:
chmod u+x example.sh
u+x
: 소유자에게 실행 권한을 추가
숫자로 퍼미션 변경:
chmod 755 example.sh
- 여기서
755
는rwxr-xr-x
와 동일합니다. 숫자는 각 권한을 2진수로 표현한 값을 더한 것으로,r=4
,w=2
,x=1
을 의미합니다.
3. chown
으로 소유자 변경
파일이나 디렉터리의 소유자를 변경하려면 chown
명령을 사용합니다.
chown newuser:newgroup example.sh
퍼미션과 보안
퍼미션 시스템은 리눅스 서버의 보안에서 핵심적인 역할을 합니다. 이를 통해 서버에 접속한 여러 사용자가 특정 파일에 접근할 수 있는지를 제어하며, 중요한 데이터나 시스템 파일을 보호할 수 있습니다. 잘못된 권한 설정은 보안 취약점으로 이어질 수 있으므로, 파일과 디렉터리의 퍼미션을 신중하게 관리해야 합니다.