티스토리 뷰

유닉스 chmod / 파일 권한(Permissions) 설정

유닉스는 파일로 구성되어 있습니다. 종류에는 일반 파일, 디렉토리 파일, 특수 파일이 있습니다. 계층적으로 구성되어 있으며 파일에 대한 권한 관리를 통해 처리 및 접근이 가능합니다. 처음 접하시는 분들은 다소 생소하고 이해가 잘 되지 않을 수 있습니다. 오늘 설명드리는 내용을 읽어 보시면 별거 아니라는 사실을 알 수 있습니다. 그럼 지금부터 설명드리겠습니다.


| 권한 구성

권한을 변경하기 전 파일에 권한이 어떤 형태로 관리가 되고 있는지 알아봐야 합니다. 일반 파일에 권한은 유저(User), 그룹(Group), 다른 사용자(Other) 각각 권한을 부여할 수 있습니다. 사용자별 읽기(Read), 쓰기(Write), 실행(Exceute)로 이루어져 있습니다. 

위의 그림을 통해 확인할 수 있듯이 test_file.log 파일을 보시면 맨 앞에 -rw-r--r-- 부분이 보입니다. 이 부분이 권한 정보가 표시되는 부분입니다. 첫 번째 자리는 해당 파일의 유형을 의미하며 그 뒤 3자리씩 유저, 그룹, 다른 사용자별 권한이 보입니다. 맨 앞의 경우 일반 파일 경우 '-' 링크 파일일 경우 'l' 디렉토리일 경우 'd'로 표시됩니다. 각 사용자별 권한이 있는 권한은 r, w, x로 표시되며 없을 경우는 '-'로 표시됩니다.

| chmod 

파일에 대한 권한 변경은 chmod를 통해서 가능합니다. chmod는 기호 모드와 숫자 모드 기능이 가능합니다. 기호 모드는 g, u, o 사용자의 -, +로 r, w, x를 부여하는 방식입니다. 숫자 모드는 숫자를 활용하여 권한을 변경하는 방법입니다. 예제로 확인해 보겠습니다.


  1. 숫자모드

숫자 모드로 권한을 부여한 예제입니다. test_file.log 파일에 chmod 720 test_file.log로 권한 변경을 하였습니다. 여기서 적용한 720에 대한 숫자는 첫 번째 자리는 사용자, 두 번째 자리는 그룹, 세 번째 자리는 다른 사용자를 의미하며 읽기의 권한은 4, 쓰기의 권한은 2, 실행에 권한은 1의 숫자의 합이 됩니다. 7일 경우 읽기/쓰기/실행 권한 모두 부여한다는 뜻이며, 0이면 읽기/쓰기/실행 권한을 없앤다는 뜻입니다.

  2. 기호모드

기호 모드로 권한을 부여한 예제입니다. test_file.log 파일에 chmod ugo+rx test_file.log로 권한 변경하였습니다. ugo는 위에서 설명하였듯이 사용자, 그룹, 다른 사용자를 의미하며 +로 rx 권한을 부여하였습니다. 여기서 알 수 있는 부분은 기존의 쓰기 권한이 있을 경우 그 권한은 그대로 유지한다는 부분입니다. 사용자별 각각 권한부여 및 권한을 제거할 수 있습니다. chmod u+x,g+rw,o-r test_file.log 이런 식으로 사용자에게는 실행 권한을 부여하고, 그룹에는 읽기/쓰기 권한을 부여, 다른 사용자에게는 읽기 권한을 제거할 수 있습니다.


지금까지 유닉스 chmod를 이용하여 권한 부여 및 제거에 대해서 알아보았습니다. 권한 부여는 시스템의 중요한 부분으로 신중히 이루어져야 합니다. 그럼 모두 즐프하세요~

댓글