리눅스 파일 권한

리눅스 파일 권한
Photo by Kevin Horvat / Unsplash

💡
리눅스는 멀티유저 시스템으로, 여러 사용자가 동시에 접속할 수 있다는 점에서 보안 관리가 매우 중요합니다. 리눅스는 이러한 보안을 강화하기 위해 퍼미션(권한) 기능을 제공합니다. 이 퍼미션 기능은 파일이나 디렉터리에 대해 접근을 제어하며, 파일 소유자와 그룹의 개념을 통해 관리됩니다. 이를 통해 여러 사용자가 사용하는 환경에서도 각 사용자의 권한을 적절히 제한할 수 있습니다.

퍼미션의 기본 개념

리눅스에서는 파일이나 디렉터리에 대해 세 가지 기본 권한을 제공합니다:

  • 읽기(Read, r): 파일의 내용을 읽을 수 있는 권한
  • 쓰기(Write, w): 파일을 수정하거나 디렉터리 안에 파일을 생성 및 삭제할 수 있는 권한
  • 실행(Execute, x): 파일을 실행할 수 있는 권한 (주로 스크립트나 프로그램 파일에 해당)

이 권한은 세 가지 주체에 따라 다르게 적용됩니다:

  1. 소유자(owner): 파일이나 디렉터리를 소유한 사용자
  2. 그룹(group): 특정 그룹에 속한 사용자들
  3. 기타(other): 소유자나 그룹에 속하지 않은 모든 사용자

이 세 가지 주체 각각에 대해 읽기, 쓰기, 실행 권한이 부여될 수 있습니다. 예를 들어, 파일의 권한이 rwxr-xr--로 설정된 경우, 소유자는 읽기, 쓰기, 실행 권한을 모두 가지고 있고, 그룹은 읽기와 실행 권한만, 기타 사용자는 읽기 권한만을 가집니다.

https://m.blog.naver.com/islove8587/221945262618

퍼미션 설정 및 확인

리눅스에서 파일의 퍼미션을 설정하거나 확인하기 위해 자주 사용하는 명령어는 다음과 같습니다.

1. ls -l로 퍼미션 확인

파일이나 디렉터리의 권한을 확인하려면 ls -l 명령을 사용합니다. 결과는 아래와 같이 표시됩니다:

ls -l

-rwxr-xr– 1 user group 4096 Sep 5 12:00 example.sh

  • 첫 번째 부분인 -rwxr-xr--이 파일의 퍼미션을 나타냅니다. 이는 소유자(user)가 rwx(읽기, 쓰기, 실행) 권한을, 그룹(group)이 r-x(읽기, 실행) 권한을, 기타 사용자가 r--(읽기) 권한을 가지고 있음을 의미합니다.

2. chmod로 퍼미션 변경

파일의 퍼미션을 변경할 때는 chmod 명령을 사용합니다. 퍼미션은 문자나 숫자로 설정할 수 있습니다.

문자로 퍼미션 변경:

chmod u+x example.sh
  • u+x: 소유자에게 실행 권한을 추가

숫자로 퍼미션 변경:

chmod 755 example.sh
  • 여기서 755rwxr-xr-x와 동일합니다. 숫자는 각 권한을 2진수로 표현한 값을 더한 것으로, r=4, w=2, x=1을 의미합니다.

3. chown으로 소유자 변경

파일이나 디렉터리의 소유자를 변경하려면 chown 명령을 사용합니다.

chown newuser:newgroup example.sh

퍼미션과 보안

퍼미션 시스템은 리눅스 서버의 보안에서 핵심적인 역할을 합니다. 이를 통해 서버에 접속한 여러 사용자가 특정 파일에 접근할 수 있는지를 제어하며, 중요한 데이터나 시스템 파일을 보호할 수 있습니다. 잘못된 권한 설정은 보안 취약점으로 이어질 수 있으므로, 파일과 디렉터리의 퍼미션을 신중하게 관리해야 합니다.