리눅스 파일 소유자와 권한 설정하는 방법 (chown, chmod)

리눅스는 소유자, 소유그룹, 권한을 기준 삼아 계정별로 디렉토리 또는 파일의 접근을 제어합니다.

 

리눅스 최상단에 있는 계정은 root입니다. 사용자는 root 말고도 다른 계정을 추가해서 사용할 수 있습니다. 이 글에선 test라는 계정을 만들었다고 가정하고 설명드리겠습니다.

 

ll 명령어를 사용하면 해당 디렉토리에 있는 디렉토리 및 파일의 소유자, 소유그룹, 권한을 모두 확인할 수 있습니다.

$ ll
drwxrwxr-x 2 root root 4096 Jan 16 20:28 root_directory
-rw-rw-r-- 1 test test 1024 Feb 15 17:34 test_file
  • 맨 앞은 디렉토리인지 파일인지를 구분하는 표시입니다. d는 root_directory가 디렉토리 임을, -는 test_file이 파일임을 나타냅니다.
  • d 또는 - 뒤에 오는 알파벳은 권한을 의미합니다. 3개씩 나누어 보면 됩니다. 첫 3개는 소유자의 권한, 그다음 3개는 소유그룹의 권한, 세 번째는 그 외 사용자의 권한입니다.
  • r w x는 각각 read(읽기) write(쓰기) execute(실행) 권한을 의미합니다.
  • root root / test test는 소유자와 소유그룹을 의미합니다.

해석 방법

이를 바탕으로 위의 라인을 해석하면 아래와 같습니다.

  • 첫번째 줄 : root_directory는 디렉토리(폴더)이며 소유자와 소유그룹이 root입니다. 소유자는 읽기(r), 쓰기(w), 실행(e) 권한이 있습니다. 소유그룹도 읽기(r), 쓰기(w), 실행(e) 권한이 있습니다. 그 외 사용자는 읽기(r), 실행(e) 권한이 있습니다.
  • 두번째 줄 : test_file은 파일이며 소유자와 소유그룹은 test입니다. 소유자와 소유그룹 모두 읽기(r), 쓰기(w) 권한이 있고, 그 외 사용자는 읽기(r) 권한이 있습니다.

소유자와 소유그룹 설정 방법

소유자, 소유그룹 설정은 chown 명령어를 사용합니다. change owner를 의미하는 명령어입니다.

$ chown test:test root_directory
$ chown -R test:test root_directory
  • root_directory의 소유자와 소유그룹을 test로 변경한다는 뜻입니다.
  • -R을 붙이면 하위 디렉토리에 모두 적용됩니다.

권한 설정 방법

디렉토리와 파일에 대한 권한 설정은 chmod 명령어를 사용합니다. change mode를 의미하는 명령어입니다.

$ chmod 755 root_directory
$ chmod -R 755 root_directory
  • 3개의 숫자는 순서대로 소유자, 소유그룹, 그 외 사용자에 부여할 권한 수준을 의미합니다. 위의 라인은 소유자에게는 rwx 권한을, 소유그룹과 그외 사용자에게는 r-x 권한을 부여한다는 의미입니다. 숫자별 자세한 권한은 아래와 같습니다.
  • 7 : rwx
  • 6 : rw-
  • 5 : r-x
  • 4 : r--
  • 3 : -wx
  • 2 : -w-
  • 1 : --x
  • 0 : ---

리눅스 권한 설정의 중요성

리눅스는 서버 컴퓨터로 많이 사용되는 OS입니다. 일반 사용자에게 권한을 너무 관대하게 부여하면 자칫 실수 또는 악의적인 의도로 서버에 타격을 줄 수 있는 만큼 신중하게 권한을 다룰 필요가 있습니다.

반응형

댓글

Designed by JB FACTORY